diff options
author | Richard Henderson <rth@redhat.com> | 2016-01-22 09:21:41 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2016-01-22 09:21:41 -0800 |
commit | d9c981c88aa52321acc786c00bf77d8c3faaeecf (patch) | |
tree | 39cf1e1d13ce8bd561997900abc31b550c8267e5 /gcc | |
parent | 017360184d9eabff8d1479b3ed09bd1a5b11ff11 (diff) | |
download | gcc-d9c981c88aa52321acc786c00bf77d8c3faaeecf.zip gcc-d9c981c88aa52321acc786c00bf77d8c3faaeecf.tar.gz gcc-d9c981c88aa52321acc786c00bf77d8c3faaeecf.tar.bz2 |
re PR target/69416 (Nonsense rtl checking failure)
PR target/69416
* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
From-SVN: r232737
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.md | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a5665f..85cde94 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-01-22 Richard Henderson <rth@redhat.com> + + PR target/69416 + * config/aarch64/aarch64.md (UNSPEC_NZCV): New. + (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it. + 2016-01-22 Michael Matz <matz@suse.de> * system.h (string, algorithm): Include only conditionally. 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%<w>2, %<w>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%<s>2, %<s>3, %k5, %m4" [(set_attr "type" "fcmp<s>")] @@ -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%<s>2, %<s>3, %k5, %m4" [(set_attr "type" "fcmp<s>")] |