summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorHao Liu <Hao.Liu@arm.com>2014-04-28 07:36:12 +0000
committerHao Liu <Hao.Liu@arm.com>2014-04-28 07:36:12 +0000
commita19a2e2da61fb60009f822625fecfde80758062a (patch)
tree58896803238991be1b6d8d760562c59a597041bd /clang/test/CodeGen
parent437c3f518857a83776a8d149e581672db0c532c5 (diff)
downloadbcm5719-llvm-a19a2e2da61fb60009f822625fecfde80758062a.tar.gz
bcm5719-llvm-a19a2e2da61fb60009f822625fecfde80758062a.zip
[ARM64]Fix a bug cannot select UQSHL/SQSHL with constant i64 shift amount.
llvm-svn: 207401
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/arm64-scalar-test.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/CodeGen/arm64-scalar-test.c b/clang/test/CodeGen/arm64-scalar-test.c
index a2231be7ad6..a956c845f94 100644
--- a/clang/test/CodeGen/arm64-scalar-test.c
+++ b/clang/test/CodeGen/arm64-scalar-test.c
@@ -114,6 +114,12 @@ int64_t test_vqshld_s64(int64_t a, int64_t b) {
// CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
}
+// CHECK: test_vqshld_s64_i
+int64_t test_vqshld_s64_i(int64_t a) {
+ return vqshld_s64(a, 36);
+// CHECK: sqshl {{d[0-9]+}}, {{d[0-9]+}}, #36
+}
+
// CHECK: test_vqshlb_u8
uint8_t test_vqshlb_u8(uint8_t a, uint8_t b) {
return vqshlb_u8(a, b);
@@ -138,6 +144,12 @@ uint64_t test_vqshld_u64(uint64_t a, uint64_t b) {
// CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, {{d[0-9]+}}
}
+// CHECK: test_vqshld_u64_i
+uint64_t test_vqshld_u64_i(uint64_t a) {
+ return vqshld_u64(a, 36);
+// CHECK: uqshl {{d[0-9]+}}, {{d[0-9]+}}, #36
+}
+
// CHECK: test_vshld_u64
uint64_t test_vshld_u64(uint64_t a, uint64_t b) {
return vshld_u64(a, b);
OpenPOWER on IntegriCloud