]> granicus.if.org Git - clang/commitdiff
[AArch64] The shift right/left and insert immediate builtins expect 3
authorChad Rosier <mcrosier@codeaurora.org>
Mon, 11 Nov 2013 19:11:19 +0000 (19:11 +0000)
committerChad Rosier <mcrosier@codeaurora.org>
Mon, 11 Nov 2013 19:11:19 +0000 (19:11 +0000)
source operands, a vector, an element to insert, and a shift amount.

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

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

index 32bca46726d28298679ad120c3b028730ac40073..cfde22717fd8be949bdad3f1be2e69fb912e08a9 100644 (file)
@@ -859,9 +859,9 @@ def SCALAR_SQSHL_N: SInst<"vqshl_n", "ssi", "ScSsSiSlSUcSUsSUiSUl">;
 def SCALAR_SQSHLU_N: SInst<"vqshlu_n", "ssi", "ScSsSiSl">;
 
 // Shift Right And Insert (Immediate)
-def SCALAR_SRI_N: SInst<"vsri_n", "ssi", "SlSUl">;
+def SCALAR_SRI_N: SInst<"vsri_n", "sssi", "SlSUl">;
 // Shift Left And Insert (Immediate)
-def SCALAR_SLI_N: SInst<"vsli_n", "ssi", "SlSUl">;
+def SCALAR_SLI_N: SInst<"vsli_n", "sssi", "SlSUl">;
 
 // Signed/Unsigned Saturating Shift Right Narrow (Immediate)
 def SCALAR_SQSHRN_N: SInst<"vqshrn_n", "zsi", "SsSiSlSUsSUiSUl">;
index c59b6ec94fa1c5d968f0d817e93b687583f2656e..3030bd96a262065ebd52cc219a1241afe1b4b2dd 100644 (file)
@@ -7616,28 +7616,28 @@ int64_t test_vqshlud_n_s64(int64_t a) {
   return (int64_t)vqshlud_n_s64(a, 63);
 }
 
-int64_t test_vsrid_n_s64(int64_t a) {
+int64_t test_vsrid_n_s64(int64_t a, int64_t b) {
 // CHECK-LABEL: test_vsrid_n_s64
 // CHECK: sri {{d[0-9]+}}, {{d[0-9]+}}, #63
-  return (int64_t)vsrid_n_s64(a, 63);
+  return (int64_t)vsrid_n_s64(a, b, 63);
 }
 
-uint64_t test_vsrid_n_u64(uint64_t a) {
+uint64_t test_vsrid_n_u64(uint64_t a, uint64_t b) {
 // CHECK-LABEL: test_vsrid_n_u64
 // CHECK: sri {{d[0-9]+}}, {{d[0-9]+}}, #63
-  return (uint64_t)vsrid_n_u64(a, 63);
+  return (uint64_t)vsrid_n_u64(a, b, 63);
 }
 
-int64_t test_vslid_n_s64(int64_t a) {
+int64_t test_vslid_n_s64(int64_t a, int64_t b) {
 // CHECK-LABEL: test_vslid_n_s64
 // CHECK: sli {{d[0-9]+}}, {{d[0-9]+}}, #63
-  return (int64_t)vslid_n_s64(a, 63);
+  return (int64_t)vslid_n_s64(a, b, 63);
 }
 
-uint64_t test_vslid_n_u64(uint64_t a) {
+uint64_t test_vslid_n_u64(uint64_t a, uint64_t b) {
 // CHECK-LABEL: test_vslid_n_u64
 // CHECK: sli {{d[0-9]+}}, {{d[0-9]+}}, #63
-  return (uint64_t)vslid_n_u64(a, 63);
+  return (uint64_t)vslid_n_u64(a, b, 63);
 }
 
 int8_t test_vqshrnh_n_s16(int16_t a) {