aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2016-01-22 09:21:41 -0800
committerRichard Henderson <rth@gcc.gnu.org>2016-01-22 09:21:41 -0800
commitd9c981c88aa52321acc786c00bf77d8c3faaeecf (patch)
tree39cf1e1d13ce8bd561997900abc31b550c8267e5 /gcc
parent017360184d9eabff8d1479b3ed09bd1a5b11ff11 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.md7
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>")]