r198195 - For AArch64 Neon, simplify scalar dup by lane0 for fp.

Jiangning Liu jiangning.liu at arm.com
Sun Dec 29 18:45:09 PST 2013


Author: jiangning
Date: Sun Dec 29 20:45:09 2013
New Revision: 198195

URL: http://llvm.org/viewvc/llvm-project?rev=198195&view=rev
Log:
For AArch64 Neon, simplify scalar dup by lane0 for fp.

Modified:
    cfe/trunk/test/CodeGen/aarch64-neon-copy.c

Modified: cfe/trunk/test/CodeGen/aarch64-neon-copy.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/aarch64-neon-copy.c?rev=198195&r1=198194&r2=198195&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/aarch64-neon-copy.c (original)
+++ cfe/trunk/test/CodeGen/aarch64-neon-copy.c Sun Dec 29 20:45:09 2013
@@ -1317,3 +1317,51 @@ float16x8_t test_vsetq_lane_f16_4(float1
 // CHECK: ins {{v[0-9]+}}.h[7],  {{w[0-9]+}}
 }
 
+// CHECK-LABEL: test_vdup_laneq_p64:
+poly64x1_t test_vdup_laneq_p64(poly64x2_t vec) {
+  return vdup_laneq_p64(vec, 0);
+// CHECK-NEXT: ret
+}
+
+// CHECK-LABEL: test_vdup_laneq_p64_1
+poly64x1_t test_vdup_laneq_p64_1(poly64x2_t vec) {
+  return vdup_laneq_p64(vec, 1);
+// CHECK: dup {{d[0-9]+}}, {{v[0-9]+}}.d[1]
+}
+
+// CHECK-LABEL: test_vget_lane_f32
+float32_t test_vget_lane_f32_1(float32x2_t v) {
+  return vget_lane_f32(v, 1);
+// CHECK: dup {{s[0-9]+}}, {{v[0-9]+}}.s[1]
+}
+
+// CHECK-LABEL: test_vget_lane_f64:
+float64_t test_vget_lane_f64(float64x1_t v) {
+  return vget_lane_f64(v, 0);
+// CHECK-NEXT: ret
+}
+
+// CHECK-LABEL: test_vgetq_lane_f64_1
+float64_t test_vgetq_lane_f64_1(float64x2_t v) {
+  return vgetq_lane_f64(v, 1);
+// CHECK: dup {{d[0-9]+}}, {{v[0-9]+}}.d[1]
+}
+
+// CHECK-LABEL: test_vget_lane_f32:
+float32_t test_vget_lane_f32(float32x2_t v) {
+  return vget_lane_f32(v, 0);
+// CHECK-NEXT: ret
+}
+
+// CHECK-LABEL: test_vgetq_lane_f32:
+float32_t test_vgetq_lane_f32(float32x4_t v) {
+  return vgetq_lane_f32(v, 0);
+// CHECK-NEXT: ret
+}
+
+// CHECK-LABEL: test_vgetq_lane_f64:
+float64_t test_vgetq_lane_f64(float64x2_t v) {
+  return vgetq_lane_f64(v, 0);
+// CHECK-NEXT: ret
+}
+





More information about the cfe-commits mailing list