diff options
| author | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-11-01 14:46:20 +0000 |
|---|---|---|
| committer | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2016-11-01 14:46:20 +0000 |
| commit | 05ce4ca0dd8c43d86f3c5f9b4f55c9ce95ee5a73 (patch) | |
| tree | 8444471416c47db7a5045bb8a103c1b7caf34021 /clang/test/CodeGen/builtins-ppc-p9vector.c | |
| parent | 69587324e8e9b37a5a55ef2ff9536b8af76749a8 (diff) | |
| download | bcm5719-llvm-05ce4ca0dd8c43d86f3c5f9b4f55c9ce95ee5a73.tar.gz bcm5719-llvm-05ce4ca0dd8c43d86f3c5f9b4f55c9ce95ee5a73.zip | |
[PowerPC] Implement vector shift builtins - clang portion
This patch corresponds to review https://reviews.llvm.org/D26092.
Committing on behalf of Tony Jiang.
llvm-svn: 285694
Diffstat (limited to 'clang/test/CodeGen/builtins-ppc-p9vector.c')
| -rw-r--r-- | clang/test/CodeGen/builtins-ppc-p9vector.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/clang/test/CodeGen/builtins-ppc-p9vector.c b/clang/test/CodeGen/builtins-ppc-p9vector.c index 5cbdde2341d..32c84f1c7f4 100644 --- a/clang/test/CodeGen/builtins-ppc-p9vector.c +++ b/clang/test/CodeGen/builtins-ppc-p9vector.c @@ -756,7 +756,6 @@ signed int test62(void) { // CHECK-LE-NEXT: ret i32 return vec_cnttz_lsbb (vuca); } - vector unsigned int test63(void) { // CHECK-BE: @llvm.ppc.altivec.vprtybw(<4 x i32> // CHECK-BE-NEXT: ret <4 x i32> @@ -764,7 +763,6 @@ vector unsigned int test63(void) { // CHECK-NEXT: ret <4 x i32> return vec_parity_lsbb (vuia); } - vector unsigned int test64(void) { // CHECK-BE: @llvm.ppc.altivec.vprtybw(<4 x i32> // CHECK-BE-NEXT: ret <4 x i32> @@ -772,7 +770,6 @@ vector unsigned int test64(void) { // CHECK-NEXT: ret <4 x i32> return vec_parity_lsbb (vsia); } - vector unsigned long long test65(void) { // CHECK-BE: @llvm.ppc.altivec.vprtybd(<2 x i64> // CHECK-BE-NEXT: ret <2 x i64> @@ -780,7 +777,6 @@ vector unsigned long long test65(void) { // CHECK-NEXT: ret <2 x i64> return vec_parity_lsbb (vula); } - vector unsigned long long test66(void) { // CHECK-BE: @llvm.ppc.altivec.vprtybd(<2 x i64> // CHECK-BE-NEXT: ret <2 x i64> @@ -795,7 +791,6 @@ vector unsigned __int128 test67(void) { // CHECK-NEXT: ret <1 x i128> return vec_parity_lsbb (vui128a); } - vector unsigned __int128 test68(void) { // CHECK-BE: @llvm.ppc.altivec.vprtybq(<1 x i128> // CHECK-BE-NEXT: ret <1 x i128> @@ -803,7 +798,6 @@ vector unsigned __int128 test68(void) { // CHECK-NEXT: ret <1 x i128> return vec_parity_lsbb (vsi128a); } - vector unsigned char test69(void) { // CHECK-BE: call <16 x i8> @llvm.ppc.altivec.vabsdub(<16 x i8> {{.+}}, <16 x i8> {{.+}}) // CHECK: call <16 x i8> @llvm.ppc.altivec.vabsdub(<16 x i8> {{.+}}, <16 x i8> {{.+}}) @@ -819,3 +813,18 @@ vector unsigned int test71(void) { // CHECK: call <4 x i32> @llvm.ppc.altivec.vabsduw(<4 x i32> {{.+}}, <4 x i32> {{.+}}) return vec_absd(vuia, vuib); } +vector unsigned char test72(void) { +// CHECK-BE: @llvm.ppc.altivec.vslv(<16 x i8> +// CHECK-BE-NEXT: ret <16 x i8> +// CHECK: @llvm.ppc.altivec.vslv(<16 x i8> +// CHECK-NEXT: ret <16 x i8> + return vec_slv (vuca, vucb); +} +vector unsigned char test73(void) { +// CHECK-BE: @llvm.ppc.altivec.vsrv(<16 x i8> +// CHECK-BE-NEXT: ret <16 x i8> +// CHECK: @llvm.ppc.altivec.vsrv(<16 x i8> +// CHECK-NEXT: ret <16 x i8> + return vec_srv (vuca, vucb); +} + |

