===================================================================
@@ -964,7 +964,7 @@
(compare:CC (match_operand:SDWIM 1 "nonimmediate_operand")
(match_operand:SDWIM 2 "<general_operand>")))
(set (pc) (if_then_else
- (match_operator 0 "ordered_comparison_operator"
+ (match_operator 0 "comparison_operator"
[(reg:CC FLAGS_REG) (const_int 0)])
(label_ref (match_operand 3))
(pc)))]
@@ -982,7 +982,7 @@
(compare:CC (match_operand:SWIM 2 "nonimmediate_operand")
(match_operand:SWIM 3 "<general_operand>")))
(set (match_operand:QI 0 "register_operand")
- (match_operator 1 "ordered_comparison_operator"
+ (match_operator 1 "comparison_operator"
[(reg:CC FLAGS_REG) (const_int 0)]))]
""
{
@@ -16120,7 +16120,7 @@
(define_expand "mov<mode>cc"
[(set (match_operand:SWIM 0 "register_operand")
- (if_then_else:SWIM (match_operand 1 "ordered_comparison_operator")
+ (if_then_else:SWIM (match_operand 1 "comparison_operator")
(match_operand:SWIM 2 "<general_operand>")
(match_operand:SWIM 3 "<general_operand>")))]
""
===================================================================
@@ -0,0 +1,14 @@
+/* PR target/53346 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -march=opteron" } */
+/* { dg-final { scan-assembler "cmov" } } */
+float a[10000];
+float b[10000];
+t()
+{
+ int mi = 0,i;
+ for (i=0;i<1000;i++)
+ if (a[i]<b[i])
+ mi = i;
+ return mi;
+}