https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60554

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from Uroš Bizjak <ubizjak at gmail dot com> ---
(In reply to Luchezar Belev from comment #2)
> sorry, the above code to be correct "setg %al" should be "seta %al" instead.
> 
> also in the compiler-generated code, the testl instruction is still
> redundant, but when it is removed the following "setg %al" should be
> replaced with "seta %al".
> Maybe this is too complicated for a compiler to figure out though.

None of the above will work. Please see available conditions for the SETcc
instruction [1]. You can try with a debugger to see which flags are set in
various operations for some characteristic input values and how SETcc insn
reacts to those flags.

[1] http://www.felixcloutier.com/x86/SETcc.html

Reply via email to