Add XOP shift and compare intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158300 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/xop-builtins.c b/test/CodeGen/xop-builtins.c
index af77348..44042bd 100644
--- a/test/CodeGen/xop-builtins.c
+++ b/test/CodeGen/xop-builtins.c
@@ -194,3 +194,83 @@
// 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);
+}