Hello all,

I have an issue with BImode.

I am working on a backend port for a machine with a 1-bit boolean register file, to hold boolean
variables. [gcc 9.2.0]

I tried following very simple piece of code on it:

_Bool check_test(int a, int b)
{
_Bool check =  (a > b) ;
return(check) ;
}

Then, when I look at the first step of RTL mapping (check_test2.c.233*), I see following statement:

(insn 10 9 11 2 (set (reg:QI 79)
        (reg:BI 81)) "check_test2.c":3:7 -1
     (nil))

Now the backend cannot handle that. A 'set' for the backend, requires the source and destination
type to be identical, which they are not.

I traced this down, and, ultimately, I found that in 'tree.h' , there is no such thing as a BI type. Q. How should I resolve this ?. There seems to be an issue with the support of the BI type, and
I dont understand it well enough to know what is going on.

Best Regards,

Henri.


Reply via email to