]> granicus.if.org Git - clang/commitdiff
[AArch64]Add 2 intrinsics vmov_n_p64/vmovq_n_p64, the alias for vdup_n_p64/vdup_n_p64.
authorHao Liu <Hao.Liu@arm.com>
Fri, 31 Oct 2014 02:41:37 +0000 (02:41 +0000)
committerHao Liu <Hao.Liu@arm.com>
Fri, 31 Oct 2014 02:41:37 +0000 (02:41 +0000)
As this change is too small, commit it directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220946 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/arm_neon.td
test/CodeGen/aarch64-poly64.c

index ce3b6094b1cab49195375a7b13c6922b96019437..933f204bfb527266044547c60e0d552c45cccc89 100644 (file)
@@ -1077,7 +1077,7 @@ def VDUP_LANE2: WOpInst<"vdup_laneq", "dji",
                   "csilUcUsUiUlPcPshfdQcQsQiQlQPcQPsQUcQUsQUiQUlQhQfQdPlQPl",
                         OP_DUP_LN>;
 def DUP_N   : WOpInst<"vdup_n", "ds", "dQdPlQPl", OP_DUP>;
-def MOV_N   : WOpInst<"vmov_n", "ds", "dQd", OP_DUP>;
+def MOV_N   : WOpInst<"vmov_n", "ds", "dQdPlQPl", OP_DUP>;
 
 ////////////////////////////////////////////////////////////////////////////////
 def COMBINE : NoTestOpInst<"vcombine", "kdd", "dPl", OP_CONC>;
index 290cc69bd43fba11152437bfa20898f820697062..a14162c05353106ff6b008dbb46d3e2e833ac8ae 100644 (file)
@@ -102,6 +102,18 @@ poly64x2_t test_vdupq_n_p64(poly64_t a) {
   // CHECK: dup {{v[0-9]+}}.2d, {{x[0-9]+}}
 }
 
+poly64x1_t test_vmov_n_p64(poly64_t a) {
+  // CHECK-LABEL: test_vmov_n_p64
+  return vmov_n_p64(a);
+  // CHECK: fmov {{d[0-9]+}}, {{x[0-9]+}}
+}
+
+poly64x2_t test_vmovq_n_p64(poly64_t a) {
+  // CHECK-LABEL: test_vmovq_n_p64
+  return vmovq_n_p64(a);
+  // CHECK: dup {{v[0-9]+}}.2d, {{x[0-9]+}}
+}
+
 poly64x1_t test_vdup_lane_p64(poly64x1_t vec) {
   // CHECK-LABEL: test_vdup_lane_p64
   return vdup_lane_p64(vec, 0);