diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index b1cd52382a8..8c7beafd758 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -1812,7 +1812,7 @@ (compare:CC (match_operand:BF 1 "cmp_fp_expander_operand") (match_operand:BF 2 "cmp_fp_expander_operand"))) (set (pc) (if_then_else - (match_operator 0 "comparison_operator" + (match_operator 0 "ix86_fp_comparison_operator" [(reg:CC FLAGS_REG) (const_int 0)]) (label_ref (match_operand 3)) diff --git a/gcc/testsuite/gcc.target/i386/pr117452.c b/gcc/testsuite/gcc.target/i386/pr117452.c new file mode 100644 index 00000000000..4042b4f0a57 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr117452.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-march=x86-64-v3 -mavx10.2 -Ofast" } */ + +__bf16 b; +int x; + +void +foo () +{ + if (x < b) + x = 0; +}