aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/aarch64/aarch64-simd.md4
-rw-r--r--gcc/config/aarch64/aarch64.md4
3 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1fc622b..c9ee703 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,13 @@
2017-06-21 Wilco Dijkstra <wdijkstr@arm.com>
+ * config/aarch64/aarch64.md (movti_aarch64):
+ Emit mov rather than orr.
+ (movtf_aarch64): Likewise.
+ * config/aarch64/aarch64-simd.md (aarch64_simd_mov):
+ Emit mov rather than orr.
+
+2017-06-21 Wilco Dijkstra <wdijkstr@arm.com>
+
* config/aarch64/aarch64-simd.md (aarch64_simd_dup):
Swap alternatives, make integer dup more expensive.
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index c949465..264a9c0 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -105,7 +105,7 @@
{
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 2: return "mov\t%0.<Vbtype>, %1.<Vbtype>";
case 3: return "umov\t%0, %1.d[0]";
case 4: return "fmov\t%d0, %1";
case 5: return "mov\t%0, %1";
@@ -136,7 +136,7 @@
case 1:
return "str\\t%q1, %0";
case 2:
- return "orr\t%0.<Vbtype>, %1.<Vbtype>, %1.<Vbtype>";
+ return "mov\t%0.<Vbtype>, %1.<Vbtype>";
case 3:
case 4:
case 5:
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 1a721bf..6bdbf65 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -1017,7 +1017,7 @@
#
#
#
- orr\\t%0.16b, %1.16b, %1.16b
+ mov\\t%0.16b, %1.16b
ldp\\t%0, %H0, %1
stp\\t%1, %H1, %0
stp\\txzr, xzr, %0
@@ -1131,7 +1131,7 @@
"TARGET_FLOAT && (register_operand (operands[0], TFmode)
|| aarch64_reg_or_fp_zero (operands[1], TFmode))"
"@
- orr\\t%0.16b, %1.16b, %1.16b
+ mov\\t%0.16b, %1.16b
#
#
#