aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorTejas Belagod <tejas.belagod@arm.com>2013-11-22 15:27:23 +0000
committerTejas Belagod <belagod@gcc.gnu.org>2013-11-22 15:27:23 +0000
commit635ad37e5a2406b5c7831bb820392aa173e0e433 (patch)
treee52ebaf4ce39f8f0007448f67ec4239936ad982d /gcc/config
parent8400e75ec451d9ecaf58ec1c07a29824a31a2e0a (diff)
downloadgcc-635ad37e5a2406b5c7831bb820392aa173e0e433.zip
gcc-635ad37e5a2406b5c7831bb820392aa173e0e433.tar.gz
gcc-635ad37e5a2406b5c7831bb820392aa173e0e433.tar.bz2
aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads and stores to be ABI compliant.
2013-11-22 Tejas Belagod <tejas.belagod@arm.com> gcc/ * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Fix loads and stores to be ABI compliant. From-SVN: r205266
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/aarch64/aarch64-simd.md16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index b9ebdf5..19ef203 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -85,17 +85,17 @@
(define_insn "*aarch64_simd_mov<mode>"
[(set (match_operand:VD 0 "aarch64_simd_nonimmediate_operand"
- "=w, Utv, w, ?r, ?w, ?r, w")
+ "=w, m, w, ?r, ?w, ?r, w")
(match_operand:VD 1 "aarch64_simd_general_operand"
- "Utv, w, w, w, r, r, Dn"))]
+ "m, w, w, w, r, r, Dn"))]
"TARGET_SIMD
&& (register_operand (operands[0], <MODE>mode)
|| register_operand (operands[1], <MODE>mode))"
{
switch (which_alternative)
{
- case 0: return "ld1\t{%0.<Vtype>}, %1";
- case 1: return "st1\t{%1.<Vtype>}, %0";
+ case 0: return "ldr\\t%d0, %1";
+ case 1: return "str\\t%d1, %0";
case 2: return "orr\t%0.<Vbtype>, %1.<Vbtype>, %1.<Vbtype>";
case 3: return "umov\t%0, %1.d[0]";
case 4: return "ins\t%0.d[0], %1";
@@ -113,9 +113,9 @@
(define_insn "*aarch64_simd_mov<mode>"
[(set (match_operand:VQ 0 "aarch64_simd_nonimmediate_operand"
- "=w, Utv, w, ?r, ?w, ?r, w")
+ "=w, m, w, ?r, ?w, ?r, w")
(match_operand:VQ 1 "aarch64_simd_general_operand"
- "Utv, w, w, w, r, r, Dn"))]
+ "m, w, w, w, r, r, Dn"))]
"TARGET_SIMD
&& (register_operand (operands[0], <MODE>mode)
|| register_operand (operands[1], <MODE>mode))"
@@ -123,9 +123,9 @@
switch (which_alternative)
{
case 0:
- return "ld1\t{%0.<Vtype>}, %1";
+ return "ldr\\t%q0, %1";
case 1:
- return "st1\t{%1.<Vtype>}, %0";
+ return "str\\t%q1, %0";
case 2:
return "orr\t%0.<Vbtype>, %1.<Vbtype>, %1.<Vbtype>";
case 3: