diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/aarch64-neon-intrinsics.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/CodeGen/aarch64-neon-intrinsics.c b/clang/test/CodeGen/aarch64-neon-intrinsics.c index c73e87d6ac6..4c2f3cc1016 100644 --- a/clang/test/CodeGen/aarch64-neon-intrinsics.c +++ b/clang/test/CodeGen/aarch64-neon-intrinsics.c @@ -7538,24 +7538,48 @@ int64_t test_vsrad_n_s64(int64_t a, int64_t b) { return (int64_t)vsrad_n_s64(a, b, 63); } +int64x1_t test_vsra_n_s64(int64x1_t a, int64x1_t b) { +// CHECK: test_vsra_n_s64 +// CHECK: ssra d{{[0-9]+}}, d{{[0-9]+}}, #1 + return vsra_n_s64(a, b, 1); +} + uint64_t test_vsrad_n_u64(uint64_t a, uint64_t b) { // CHECK-LABEL: test_vsrad_n_u64 // CHECK: usra {{d[0-9]+}}, {{d[0-9]+}}, #63 return (uint64_t)vsrad_n_u64(a, b, 63); } +uint64x1_t test_vsra_n_u64(uint64x1_t a, uint64x1_t b) { +// CHECK: test_vsra_n_u64 +// CHECK: usra d{{[0-9]+}}, d{{[0-9]+}}, #1 + return vsra_n_u64(a, b, 1); +} + int64_t test_vrsrad_n_s64(int64_t a, int64_t b) { // CHECK-LABEL: test_vrsrad_n_s64 // CHECK: srsra {{d[0-9]+}}, {{d[0-9]+}}, #63 return (int64_t)vrsrad_n_s64(a, b, 63); } +int64x1_t test_vrsra_n_s64(int64x1_t a, int64x1_t b) { +// CHECK: test_vrsra_n_s64 +// CHECK: srsra d{{[0-9]+}}, d{{[0-9]+}}, #1 + return vrsra_n_s64(a, b, 1); +} + uint64_t test_vrsrad_n_u64(uint64_t a, uint64_t b) { // CHECK-LABEL: test_vrsrad_n_u64 // CHECK: ursra {{d[0-9]+}}, {{d[0-9]+}}, #63 return (uint64_t)vrsrad_n_u64(a, b, 63); } +uint64x1_t test_vrsra_n_u64(uint64x1_t a, uint64x1_t b) { +// CHECK: test_vrsra_n_u64 +// CHECK: ursra d{{[0-9]+}}, d{{[0-9]+}}, #1 + return vrsra_n_u64(a, b, 1); +} + int64_t test_vshld_n_s64(int64_t a) { // CHECK-LABEL: test_vshld_n_s64 // CHECK: shl {{d[0-9]+}}, {{d[0-9]+}}, #0 |