aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2015-02-25 14:20:13 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2015-02-25 14:20:13 +0000
commiteeaccc07751f304cfe79fa5b7706264f6d56f5a5 (patch)
tree78f77e45c436abd28adb09738785c4122202f286 /gcc
parent788753c90b48e29945f8059e1af697a0df64aa25 (diff)
downloadgcc-eeaccc07751f304cfe79fa5b7706264f6d56f5a5.zip
gcc-eeaccc07751f304cfe79fa5b7706264f6d56f5a5.tar.gz
gcc-eeaccc07751f304cfe79fa5b7706264f6d56f5a5.tar.bz2
[AArch64] Fix illegal assembly 'eon v1, v2, v3'
PR target/64997 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P as split condition; force split via '#' in output pattern. From-SVN: r220969
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.md6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d4304cd..1e2b609 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/64997
+ * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
+ as split condition; force split via '#' in output pattern.
+
2015-02-25 Richard Biener <rguenther@suse.de>
Kai Tietz <ktietz@redhat.com>
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 8f157ce2..7103e0d 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -3065,8 +3065,10 @@
(not:GPI (xor:GPI (match_operand:GPI 1 "register_operand" "r,?w")
(match_operand:GPI 2 "register_operand" "r,w"))))]
""
- "eon\\t%<w>0, %<w>1, %<w>2" ;; For GPR registers (only).
- "reload_completed && (which_alternative == 1)" ;; For SIMD registers.
+ "@
+ eon\\t%<w>0, %<w>1, %<w>2
+ #"
+ "reload_completed && FP_REGNUM_P (REGNO (operands[0]))" ;; For SIMD registers.
[(set (match_operand:GPI 0 "register_operand" "=w")
(xor:GPI (match_operand:GPI 1 "register_operand" "w")
(match_operand:GPI 2 "register_operand" "w")))