1- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
2- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
3- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
4- // RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
1+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
2+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
3+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
4+ // RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
5+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
6+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
7+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -emit-llvm -o - -Wall -Werror | FileCheck %s
8+ // RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +xop -fno-signed-char -emit-llvm -o - -Wall -Werror | FileCheck %s
59
610
711#include <x86intrin.h>
@@ -46,25 +50,25 @@ __m128i test_mm_macc_epi32(__m128i a, __m128i b, __m128i c) {
4650
4751__m128i test_mm_maccslo_epi32 (__m128i a , __m128i b , __m128i c ) {
4852 // CHECK-LABEL: test_mm_maccslo_epi32
49- // CHECK: call <2 x i64> @llvm.x86.xop.vpmacssdql(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
53+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpmacssdql(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
5054 return _mm_maccslo_epi32 (a , b , c );
5155}
5256
5357__m128i test_mm_macclo_epi32 (__m128i a , __m128i b , __m128i c ) {
5458 // CHECK-LABEL: test_mm_macclo_epi32
55- // CHECK: call <2 x i64> @llvm.x86.xop.vpmacsdql(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
59+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpmacsdql(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
5660 return _mm_macclo_epi32 (a , b , c );
5761}
5862
5963__m128i test_mm_maccshi_epi32 (__m128i a , __m128i b , __m128i c ) {
6064 // CHECK-LABEL: test_mm_maccshi_epi32
61- // CHECK: call <2 x i64> @llvm.x86.xop.vpmacssdqh(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
65+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpmacssdqh(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
6266 return _mm_maccshi_epi32 (a , b , c );
6367}
6468
6569__m128i test_mm_macchi_epi32 (__m128i a , __m128i b , __m128i c ) {
6670 // CHECK-LABEL: test_mm_macchi_epi32
67- // CHECK: call <2 x i64> @llvm.x86.xop.vpmacsdqh(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
71+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpmacsdqh(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <2 x i64> %{{.*}})
6872 return _mm_macchi_epi32 (a , b , c );
6973}
7074
@@ -94,7 +98,7 @@ __m128i test_mm_haddd_epi8(__m128i a) {
9498
9599__m128i test_mm_haddq_epi8 (__m128i a ) {
96100 // CHECK-LABEL: test_mm_haddq_epi8
97- // CHECK: call <2 x i64> @llvm.x86.xop.vphaddbq(<16 x i8> %{{.*}})
101+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphaddbq(<16 x i8> %{{.*}})
98102 return _mm_haddq_epi8 (a );
99103}
100104
@@ -106,13 +110,13 @@ __m128i test_mm_haddd_epi16(__m128i a) {
106110
107111__m128i test_mm_haddq_epi16 (__m128i a ) {
108112 // CHECK-LABEL: test_mm_haddq_epi16
109- // CHECK: call <2 x i64> @llvm.x86.xop.vphaddwq(<8 x i16> %{{.*}})
113+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphaddwq(<8 x i16> %{{.*}})
110114 return _mm_haddq_epi16 (a );
111115}
112116
113117__m128i test_mm_haddq_epi32 (__m128i a ) {
114118 // CHECK-LABEL: test_mm_haddq_epi32
115- // CHECK: call <2 x i64> @llvm.x86.xop.vphadddq(<4 x i32> %{{.*}})
119+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphadddq(<4 x i32> %{{.*}})
116120 return _mm_haddq_epi32 (a );
117121}
118122
@@ -130,7 +134,7 @@ __m128i test_mm_haddd_epu8(__m128i a) {
130134
131135__m128i test_mm_haddq_epu8 (__m128i a ) {
132136 // CHECK-LABEL: test_mm_haddq_epu8
133- // CHECK: call <2 x i64> @llvm.x86.xop.vphaddubq(<16 x i8> %{{.*}})
137+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphaddubq(<16 x i8> %{{.*}})
134138 return _mm_haddq_epu8 (a );
135139}
136140
@@ -142,13 +146,13 @@ __m128i test_mm_haddd_epu16(__m128i a) {
142146
143147__m128i test_mm_haddq_epu16 (__m128i a ) {
144148 // CHECK-LABEL: test_mm_haddq_epu16
145- // CHECK: call <2 x i64> @llvm.x86.xop.vphadduwq(<8 x i16> %{{.*}})
149+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphadduwq(<8 x i16> %{{.*}})
146150 return _mm_haddq_epu16 (a );
147151}
148152
149153__m128i test_mm_haddq_epu32 (__m128i a ) {
150154 // CHECK-LABEL: test_mm_haddq_epu32
151- // CHECK: call <2 x i64> @llvm.x86.xop.vphaddudq(<4 x i32> %{{.*}})
155+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphaddudq(<4 x i32> %{{.*}})
152156 return _mm_haddq_epu32 (a );
153157}
154158
@@ -166,7 +170,7 @@ __m128i test_mm_hsubd_epi16(__m128i a) {
166170
167171__m128i test_mm_hsubq_epi32 (__m128i a ) {
168172 // CHECK-LABEL: test_mm_hsubq_epi32
169- // CHECK: call <2 x i64> @llvm.x86.xop.vphsubdq(<4 x i32> %{{.*}})
173+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vphsubdq(<4 x i32> %{{.*}})
170174 return _mm_hsubq_epi32 (a );
171175}
172176
@@ -214,7 +218,7 @@ __m128i test_mm_rot_epi32(__m128i a, __m128i b) {
214218
215219__m128i test_mm_rot_epi64 (__m128i a , __m128i b ) {
216220 // CHECK-LABEL: test_mm_rot_epi64
217- // CHECK: call <2 x i64> @llvm.fshl.v2i64(<2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}})
221+ // CHECK: call {{.*}} <2 x i64> @llvm.fshl.v2i64(<2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}})
218222 return _mm_rot_epi64 (a , b );
219223}
220224
@@ -238,7 +242,7 @@ __m128i test_mm_roti_epi32(__m128i a) {
238242
239243__m128i test_mm_roti_epi64 (__m128i a ) {
240244 // CHECK-LABEL: test_mm_roti_epi64
241- // CHECK: call <2 x i64> @llvm.fshl.v2i64(<2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> splat (i64 100))
245+ // CHECK: call {{.*}} <2 x i64> @llvm.fshl.v2i64(<2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> splat (i64 100))
242246 return _mm_roti_epi64 (a , 100 );
243247}
244248
@@ -262,7 +266,7 @@ __m128i test_mm_shl_epi32(__m128i a, __m128i b) {
262266
263267__m128i test_mm_shl_epi64 (__m128i a , __m128i b ) {
264268 // CHECK-LABEL: test_mm_shl_epi64
265- // CHECK: call <2 x i64> @llvm.x86.xop.vpshlq(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
269+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpshlq(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
266270 return _mm_shl_epi64 (a , b );
267271}
268272
@@ -286,7 +290,7 @@ __m128i test_mm_sha_epi32(__m128i a, __m128i b) {
286290
287291__m128i test_mm_sha_epi64 (__m128i a , __m128i b ) {
288292 // CHECK-LABEL: test_mm_sha_epi64
289- // CHECK: call <2 x i64> @llvm.x86.xop.vpshaq(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
293+ // CHECK: call {{.*}} <2 x i64> @llvm.x86.xop.vpshaq(<2 x i64> %{{.*}}, <2 x i64> %{{.*}})
290294 return _mm_sha_epi64 (a , b );
291295}
292296
@@ -372,36 +376,36 @@ __m256 test_mm256_permute2_ps(__m256 a, __m256 b, __m256i c) {
372376
373377__m128 test_mm_frcz_ss (__m128 a ) {
374378 // CHECK-LABEL: test_mm_frcz_ss
375- // CHECK: call <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> %{{.*}})
379+ // CHECK: call {{.*}} <4 x float> @llvm.x86.xop.vfrcz.ss(<4 x float> %{{.*}})
376380 return _mm_frcz_ss (a );
377381}
378382
379383__m128d test_mm_frcz_sd (__m128d a ) {
380384 // CHECK-LABEL: test_mm_frcz_sd
381- // CHECK: call <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> %{{.*}})
385+ // CHECK: call {{.*}} <2 x double> @llvm.x86.xop.vfrcz.sd(<2 x double> %{{.*}})
382386 return _mm_frcz_sd (a );
383387}
384388
385389__m128 test_mm_frcz_ps (__m128 a ) {
386390 // CHECK-LABEL: test_mm_frcz_ps
387- // CHECK: call <4 x float> @llvm.x86.xop.vfrcz.ps(<4 x float> %{{.*}})
391+ // CHECK: call {{.*}} <4 x float> @llvm.x86.xop.vfrcz.ps(<4 x float> %{{.*}})
388392 return _mm_frcz_ps (a );
389393}
390394
391395__m128d test_mm_frcz_pd (__m128d a ) {
392396 // CHECK-LABEL: test_mm_frcz_pd
393- // CHECK: call <2 x double> @llvm.x86.xop.vfrcz.pd(<2 x double> %{{.*}})
397+ // CHECK: call {{.*}} <2 x double> @llvm.x86.xop.vfrcz.pd(<2 x double> %{{.*}})
394398 return _mm_frcz_pd (a );
395399}
396400
397401__m256 test_mm256_frcz_ps (__m256 a ) {
398402 // CHECK-LABEL: test_mm256_frcz_ps
399- // CHECK: call <8 x float> @llvm.x86.xop.vfrcz.ps.256(<8 x float> %{{.*}})
403+ // CHECK: call {{.*}} <8 x float> @llvm.x86.xop.vfrcz.ps.256(<8 x float> %{{.*}})
400404 return _mm256_frcz_ps (a );
401405}
402406
403407__m256d test_mm256_frcz_pd (__m256d a ) {
404408 // CHECK-LABEL: test_mm256_frcz_pd
405- // CHECK: call <4 x double> @llvm.x86.xop.vfrcz.pd.256(<4 x double> %{{.*}})
409+ // CHECK: call {{.*}} <4 x double> @llvm.x86.xop.vfrcz.pd.256(<4 x double> %{{.*}})
406410 return _mm256_frcz_pd (a );
407411}
0 commit comments