* config/aarch64/aarch64.md (UNSPEC_NZCV): New. (ccmp, fccmp, fccmpe): Use it. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 2f543aa..71fc514 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -129,6 +129,7 @@ UNSPEC_RSQRT UNSPEC_RSQRTE UNSPEC_RSQRTS + UNSPEC_NZCV ]) (define_c_enum "unspecv" [ @@ -280,7 +281,7 @@ (compare:CC (match_operand:GPI 2 "register_operand" "r,r,r") (match_operand:GPI 3 "aarch64_ccmp_operand" "r,Uss,Usn")) - (match_operand 5 "immediate_operand")))] + (unspec:CC [(match_operand 5 "immediate_operand")] UNSPEC_NZCV)))] "" "@ ccmp\\t%2, %3, %k5, %m4 @@ -298,7 +299,7 @@ (compare:CCFP (match_operand:GPF 2 "register_operand" "w") (match_operand:GPF 3 "register_operand" "w")) - (match_operand 5 "immediate_operand")))] + (unspec:CCFP [(match_operand 5 "immediate_operand")] UNSPEC_NZCV)))] "TARGET_FLOAT" "fccmp\\t%2, %3, %k5, %m4" [(set_attr "type" "fcmp")] @@ -313,7 +314,7 @@ (compare:CCFPE (match_operand:GPF 2 "register_operand" "w") (match_operand:GPF 3 "register_operand" "w")) - (match_operand 5 "immediate_operand")))] + (unspec:CCFPE [(match_operand 5 "immediate_operand")] UNSPEC_NZCV)))] "TARGET_FLOAT" "fccmpe\\t%2, %3, %k5, %m4" [(set_attr "type" "fcmp")]