]> git.ipfire.org Git - thirdparty/gcc.git/commit
ifcvt: Fix rtl checking due to reversed_comparison_code returning UNKNOWN [PR124062]
authorAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Wed, 11 Feb 2026 21:24:04 +0000 (13:24 -0800)
committerAndrew Pinski <andrew.pinski@oss.qualcomm.com>
Thu, 12 Feb 2026 09:25:07 +0000 (01:25 -0800)
commit04159cca134b196d07bcbe7b71e8096ba1f3eda3
treeb18ea09cb6b749f0b192c3f5dd1fbda583372b70
parentca3cdf95748238afd30d3c9e4d140f5b12a06bcd
ifcvt: Fix rtl checking due to reversed_comparison_code returning UNKNOWN [PR124062]

This was an oversight on my part (after r16-6435-g594f2cbf30f0a3)
where I forgot that sometimes reversed_comparison_code will return
UNKNOWN when the floating point comparison can't be reversed.
This seems only to show up with RTL checking only; at least as far
as I can tell because it is rejected later on but I could be wrong.

Bootstrapped and tested on x86_64-linux-gnu.

PR rtl-optimization/124062

gcc/ChangeLog:

* ifcvt.cc (noce_try_cond_arith): Check the conditional code
for UNKNOWN.

gcc/testsuite/ChangeLog:

* gcc.dg/torture/pr124062-1.c: New test.

Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
gcc/ifcvt.cc
gcc/testsuite/gcc.dg/torture/pr124062-1.c [new file with mode: 0644]