i386 fix

Jan Hubicka hubicka@atrey.karlin.mff.cuni.cz
Sun Mar 26 15:29:00 GMT 2000


> On Sun, 26 Mar 2000, Jan Hubicka wrote:
> 
> > and gets combined with CCNOmode neg pattern. NEG instruction (according
> > to Zack comments) don't set carry flag and resulting code don't work.
> 
> neg certainly does set the carry flag on x86.  `neg x' is equivalent to
> `x = 0 - x', and the carry is set appropriately for this operation.
> ie. carry flag will be set for non-zero x, cleared for zero x.

OK
I see, the actual problem is, that CF is set as carry flag and not as
flag ltu. We will need to avoid such noncanonical comparisons against
zero or introduce new CCmode for arithmetic patterns other than MINUS.
Richard: Do you have some idea for proper fix?

HOnza
> 
> -- 
> Linuxcare.  Support for the Revolution.
> 


More information about the Gcc-patches mailing list