[AArch64] Fix force_simd macro in vdup_lane_2
authorDavid Sherwood <david.sherwood@arm.com>
Mon, 15 Sep 2014 09:57:46 +0000 (09:57 +0000)
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>
Mon, 15 Sep 2014 09:57:46 +0000 (09:57 +0000)
gcc/

* gcc.target/aarch64/vdup_lane_2.c (force_simd): Emit simd mov.

From-SVN: r215260

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/vdup_lane_2.c

index 1e9aefb54ee651b2a6c1efafb9a3ba12d7e63aa0..5f3c8db9bb0be43da8958224ea6374afeaf9676c 100644 (file)
@@ -1,3 +1,7 @@
+2014-09-14  David Sherwood  <david.sherwood@arm.com>
+
+       * gcc.target/aarch64/vdup_lane_2.c (force_simd): Emit simd mov.
+
 2014-09-14  James Clarke  <jrtc27@jrtc27.com>
 
        PR target/61407
index c4183ce1a321fed892cd67fd002de09697a86ed5..43ff5cc3717a9a416e3644b73a9f9d432d29d84f 100644 (file)
@@ -4,10 +4,10 @@
 
 #include <arm_neon.h>
 
-#define force_simd(V1)   asm volatile (""      \
-          : "=w"(V1)                           \
-          : "w"(V1)                            \
-          : /* No clobbers */)
+#define force_simd(V1) asm volatile ("mov %d0, %1.d[0]" \
+         : "=w"(V1)                                     \
+         : "w"(V1)                                      \
+         : /* No clobbers */)
 
 extern void abort (void);