aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/xop-builtins.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-06-11 07:01:43 +0000
committerCraig Topper <craig.topper@gmail.com>2012-06-11 07:01:43 +0000
commitecbc00929cde5db985b38682b1f62fcc62b3a2fe (patch)
tree817576277707972aabbcc90f0520f185d3a89a08 /test/CodeGen/xop-builtins.c
parent17d26a6c1f2cb921d0000c337b4967699dc928fd (diff)
Add XOP shift and compare intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158300 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/xop-builtins.c')
-rw-r--r--test/CodeGen/xop-builtins.c80
1 files changed, 80 insertions, 0 deletions
diff --git a/test/CodeGen/xop-builtins.c b/test/CodeGen/xop-builtins.c
index af7734809f..44042bd285 100644
--- a/test/CodeGen/xop-builtins.c
+++ b/test/CodeGen/xop-builtins.c
@@ -194,3 +194,83 @@ __m128i test_mm_roti_epi64(__m128i a) {
// CHECK: @llvm.x86.xop.vprotqi
return _mm_roti_epi64(a, 100);
}
+
+__m128i test_mm_shl_epi8(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshlb
+ return _mm_shl_epi8(a, b);
+}
+
+__m128i test_mm_shl_epi16(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshlw
+ return _mm_shl_epi16(a, b);
+}
+
+__m128i test_mm_shl_epi32(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshld
+ return _mm_shl_epi32(a, b);
+}
+
+__m128i test_mm_shl_epi64(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshlq
+ return _mm_shl_epi64(a, b);
+}
+
+__m128i test_mm_sha_epi8(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshab
+ return _mm_sha_epi8(a, b);
+}
+
+__m128i test_mm_sha_epi16(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshaw
+ return _mm_sha_epi16(a, b);
+}
+
+__m128i test_mm_sha_epi32(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshad
+ return _mm_sha_epi32(a, b);
+}
+
+__m128i test_mm_sha_epi64(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpshaq
+ return _mm_sha_epi64(a, b);
+}
+
+__m128i test_mm_com_epu8(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomub
+ return _mm_com_epu8(a, b, 0);
+}
+
+__m128i test_mm_com_epu16(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomuw
+ return _mm_com_epu16(a, b, 0);
+}
+
+__m128i test_mm_com_epu32(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomud
+ return _mm_com_epu32(a, b, 0);
+}
+
+__m128i test_mm_com_epu64(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomuq
+ return _mm_com_epu64(a, b, 0);
+}
+
+__m128i test_mm_com_epi8(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomb
+ return _mm_com_epi8(a, b, 0);
+}
+
+__m128i test_mm_com_epi16(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomw
+ return _mm_com_epi16(a, b, 0);
+}
+
+__m128i test_mm_com_epi32(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomd
+ return _mm_com_epi32(a, b, 0);
+}
+
+__m128i test_mm_com_epi64(__m128i a, __m128i b) {
+ // CHECK: @llvm.x86.xop.vpcomq
+ return _mm_com_epi64(a, b, 0);
+}