1- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
2- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
3- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
4- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
1+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
2+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
3+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
4+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
5+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
6+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK,X64
7+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
8+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +sse4.2 -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s --check-prefixes=CHECK
59
610
711#include <immintrin.h>
1014
1115int test_mm_cmpestra (__m128i A , int LA , __m128i B , int LB ) {
1216 // CHECK-LABEL: test_mm_cmpestra
13- // CHECK: call i32 @llvm.x86.sse42.pcmpestria128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
17+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestria128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
1418 return _mm_cmpestra (A , LA , B , LB , 7 );
1519}
1620
1721int test_mm_cmpestrc (__m128i A , int LA , __m128i B , int LB ) {
1822 // CHECK-LABEL: test_mm_cmpestrc
19- // CHECK: call i32 @llvm.x86.sse42.pcmpestric128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
23+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestric128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
2024 return _mm_cmpestrc (A , LA , B , LB , 7 );
2125}
2226
2327int test_mm_cmpestri (__m128i A , int LA , __m128i B , int LB ) {
2428 // CHECK-LABEL: test_mm_cmpestri
25- // CHECK: call i32 @llvm.x86.sse42.pcmpestri128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
29+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestri128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
2630 return _mm_cmpestri (A , LA , B , LB , 7 );
2731}
2832
@@ -34,19 +38,19 @@ __m128i test_mm_cmpestrm(__m128i A, int LA, __m128i B, int LB) {
3438
3539int test_mm_cmpestro (__m128i A , int LA , __m128i B , int LB ) {
3640 // CHECK-LABEL: test_mm_cmpestro
37- // CHECK: call i32 @llvm.x86.sse42.pcmpestrio128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
41+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestrio128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
3842 return _mm_cmpestro (A , LA , B , LB , 7 );
3943}
4044
4145int test_mm_cmpestrs (__m128i A , int LA , __m128i B , int LB ) {
4246 // CHECK-LABEL: test_mm_cmpestrs
43- // CHECK: call i32 @llvm.x86.sse42.pcmpestris128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
47+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestris128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
4448 return _mm_cmpestrs (A , LA , B , LB , 7 );
4549}
4650
4751int test_mm_cmpestrz (__m128i A , int LA , __m128i B , int LB ) {
4852 // CHECK-LABEL: test_mm_cmpestrz
49- // CHECK: call i32 @llvm.x86.sse42.pcmpestriz128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
53+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpestriz128(<16 x i8> %{{.*}}, i32 %{{.*}}, <16 x i8> %{{.*}}, i32 %{{.*}}, i8 7)
5054 return _mm_cmpestrz (A , LA , B , LB , 7 );
5155}
5256
@@ -58,19 +62,19 @@ __m128i test_mm_cmpgt_epi64(__m128i A, __m128i B) {
5862
5963int test_mm_cmpistra (__m128i A , __m128i B ) {
6064 // CHECK-LABEL: test_mm_cmpistra
61- // CHECK: call i32 @llvm.x86.sse42.pcmpistria128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
65+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistria128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
6266 return _mm_cmpistra (A , B , 7 );
6367}
6468
6569int test_mm_cmpistrc (__m128i A , __m128i B ) {
6670 // CHECK-LABEL: test_mm_cmpistrc
67- // CHECK: call i32 @llvm.x86.sse42.pcmpistric128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
71+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistric128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
6872 return _mm_cmpistrc (A , B , 7 );
6973}
7074
7175int test_mm_cmpistri (__m128i A , __m128i B ) {
7276 // CHECK-LABEL: test_mm_cmpistri
73- // CHECK: call i32 @llvm.x86.sse42.pcmpistri128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
77+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistri128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
7478 return _mm_cmpistri (A , B , 7 );
7579}
7680
@@ -82,44 +86,44 @@ __m128i test_mm_cmpistrm(__m128i A, __m128i B) {
8286
8387int test_mm_cmpistro (__m128i A , __m128i B ) {
8488 // CHECK-LABEL: test_mm_cmpistro
85- // CHECK: call i32 @llvm.x86.sse42.pcmpistrio128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
89+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistrio128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
8690 return _mm_cmpistro (A , B , 7 );
8791}
8892
8993int test_mm_cmpistrs (__m128i A , __m128i B ) {
9094 // CHECK-LABEL: test_mm_cmpistrs
91- // CHECK: call i32 @llvm.x86.sse42.pcmpistris128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
95+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistris128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
9296 return _mm_cmpistrs (A , B , 7 );
9397}
9498
9599int test_mm_cmpistrz (__m128i A , __m128i B ) {
96100 // CHECK-LABEL: test_mm_cmpistrz
97- // CHECK: call i32 @llvm.x86.sse42.pcmpistriz128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
101+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.pcmpistriz128(<16 x i8> %{{.*}}, <16 x i8> %{{.*}}, i8 7)
98102 return _mm_cmpistrz (A , B , 7 );
99103}
100104
101105unsigned int test_mm_crc32_u8 (unsigned int CRC , unsigned char V ) {
102106 // CHECK-LABEL: test_mm_crc32_u8
103- // CHECK: call i32 @llvm.x86.sse42.crc32.32.8(i32 %{{.*}}, i8 %{{.*}})
107+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.crc32.32.8(i32 %{{.*}}, i8 %{{.*}})
104108 return _mm_crc32_u8 (CRC , V );
105109}
106110
107111unsigned int test_mm_crc32_u16 (unsigned int CRC , unsigned short V ) {
108112 // CHECK-LABEL: test_mm_crc32_u16
109- // CHECK: call i32 @llvm.x86.sse42.crc32.32.16(i32 %{{.*}}, i16 %{{.*}})
113+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.crc32.32.16(i32 %{{.*}}, i16 %{{.*}})
110114 return _mm_crc32_u16 (CRC , V );
111115}
112116
113117unsigned int test_mm_crc32_u32 (unsigned int CRC , unsigned int V ) {
114118 // CHECK-LABEL: test_mm_crc32_u32
115- // CHECK: call i32 @llvm.x86.sse42.crc32.32.32(i32 %{{.*}}, i32 %{{.*}})
119+ // CHECK: call {{.*}} i32 @llvm.x86.sse42.crc32.32.32(i32 %{{.*}}, i32 %{{.*}})
116120 return _mm_crc32_u32 (CRC , V );
117121}
118122
119123#ifdef __x86_64__
120124unsigned long long test_mm_crc32_u64 (unsigned long long CRC , unsigned long long V ) {
121125 // X64-LABEL: test_mm_crc32_u64
122- // X64: call i64 @llvm.x86.sse42.crc32.64.64(i64 %{{.*}}, i64 %{{.*}})
126+ // X64: call {{.*}} i64 @llvm.x86.sse42.crc32.64.64(i64 %{{.*}}, i64 %{{.*}})
123127 return _mm_crc32_u64 (CRC , V );
124128}
125129#endif
0 commit comments