This patch fixes a defective macro definition, based on correct
definition in similar testcases. The test currently passes
through luck rather than correctness.
OK for commit?
Cheers,
Ian
2014-05-08 Ian Bolton <ian.bol...@arm.com>
gcc/testsuite
* gcc.target/aarch64/vdup_lane_2.c (force_simd): Emit an
actual instruction to move into the allocated register.
diff --git a/gcc/testsuite/gcc.target/aarch64/vdup_lane_2.c
b/gcc/testsuite/gcc.target/aarch64/vdup_lane_2.c
index 7c04e75..2072c79 100644
--- a/gcc/testsuite/gcc.target/aarch64/vdup_lane_2.c
+++ b/gcc/testsuite/gcc.target/aarch64/vdup_lane_2.c
@@ -4,10 +4,11 @@
#include <arm_neon.h>
-#define force_simd(V1) asm volatile ("" \
- : "=w"(V1) \
- : "w"(V1) \
- : /* No clobbers */)
+/* Used to force a variable to a SIMD register. */
+#define force_simd(V1) asm volatile ("orr %0.16b, %1.16b, %1.16b" \
+ : "=w"(V1) \
+ : "w"(V1) \
+ : /* No clobbers */);
extern void abort (void);