[Bug target/104982] [12 Regression] FAIL: gcc.target/i386/bt-5.c by r12-7687

crazylht at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Mar 21 09:16:55 GMT 2022


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

--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Hongtao.liu from comment #2)
> 334Failed to match this instruction:
> 335(set (reg/v:SI 88 [ z ])
> 336    (if_then_else:SI (eq (zero_extract:SI (reg:SI 92)
> 337                (const_int 1 [0x1])
> 338                (zero_extend:SI (subreg:QI (reg:SI 93) 0)))
> 339            (const_int 0 [0]))
> 340        (reg:SI 95)
> 341        (reg:SI 94)))
And it's equal to

> 335(set (reg/v:SI 88 [ z ])
> 336    (if_then_else:SI (ne (zero_extract:SI (reg:SI 92)
> 337                (const_int 1 [0x1])
> 338                (zero_extend:SI (subreg:QI (reg:SI 93) 0)))
> 339            (const_int 0 [0]))
> 340        (reg:SI 94)
> 341        (reg:SI 95)))

by swapping 'then' and 'else' rtx.

Guess generic part won't give a second try for such reversed condition?


More information about the Gcc-bugs mailing list