tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Tinycc-devel] Jump optimization questions - commit: 8227db3a


From: Ekaitz Zarraga
Subject: Re: [Tinycc-devel] Jump optimization questions - commit: 8227db3a
Date: Thu, 11 Aug 2022 11:36:33 +0000

Hi,

I think I have it mostly working following your advice but I cannot find how to 
map v->cmp_r to the field that was storing that information before the commit.

In the gjmp_cond in riscv:

``` c
ST_FUNC int gjmp_cond(int op, int t)
{
    int tmp;
    int a = vtop->cmp_r & 0xff;
    int b = (vtop->cmp_r >> 8) & 0xff;
    switch (op) {
```

What do I need to replace `a` and `b` with to use the previous register access 
but I can't find how to do that.

Could you please help me?

Thank you,
Ekaitz


------- Original Message -------
On Wednesday, August 10th, 2022 at 1:53 PM, Ekaitz Zarraga <ekaitz@elenq.tech> 
wrote:


> Hi,
>
>
> On Wednesday, August 10th, 2022 at 1:43 PM, grischka grishka@gmx.de wrote:
>
>
>
> > On 09.08.2022 20:39, Ekaitz Zarraga wrote:
> >
> > > Hi all,
> > >
> > > I'm working on the RISC-V bootstrapping efforts for Guix, and I have to 
> > > backport the RISC-V backend to an older TinyCC version we have patched in 
> > > order to be able to build it with a simpler compiler.
> >
> > I wonder why not just apply these patches to the newer tcc then?
>
>
> Mostly because the compiler we use to compile TinyCC does not provide all the 
> C constructs modern TinyCC is using nowadays, so we can't use it now.
> We may be able to do it in the future, but our current compiler chain does 
> not allow us to do that.
>
> > > The process worked mostly ok, but I can't understand very well the `gtst` 
> > > function in the generation part, and I need to write it from scratch as 
> > > the commit 8227db3a changed how the tests and jumps are managed.
> >
> > Actually that commit was to put the former gtst() function in its pieces,
> > now gjmp_cond(t, op) to handle VT_CMP, and gjmp_append(n, t) for the
> > former VT_JMP "optimization" part.
>
>
> Do you mean the commit was done to split the function in two?
> I'll take a deeper look and see if I can undo it properly.
>
> Thanks for the help
>
> _______________________________________________
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]