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
5
9
6
10
7
11
#include <x86intrin.h>
@@ -46,25 +50,25 @@ __m128i test_mm_macc_epi32(__m128i a, __m128i b, __m128i c) {
46
50
47
51
__m128i test_mm_maccslo_epi32 (__m128i a , __m128i b , __m128i c ) {
48
52
// 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> %{{.*}})
50
54
return _mm_maccslo_epi32 (a , b , c );
51
55
}
52
56
53
57
__m128i test_mm_macclo_epi32 (__m128i a , __m128i b , __m128i c ) {
54
58
// 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> %{{.*}})
56
60
return _mm_macclo_epi32 (a , b , c );
57
61
}
58
62
59
63
__m128i test_mm_maccshi_epi32 (__m128i a , __m128i b , __m128i c ) {
60
64
// 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> %{{.*}})
62
66
return _mm_maccshi_epi32 (a , b , c );
63
67
}
64
68
65
69
__m128i test_mm_macchi_epi32 (__m128i a , __m128i b , __m128i c ) {
66
70
// 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> %{{.*}})
68
72
return _mm_macchi_epi32 (a , b , c );
69
73
}
70
74
@@ -94,7 +98,7 @@ __m128i test_mm_haddd_epi8(__m128i a) {
94
98
95
99
__m128i test_mm_haddq_epi8 (__m128i a ) {
96
100
// 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> %{{.*}})
98
102
return _mm_haddq_epi8 (a );
99
103
}
100
104
@@ -106,13 +110,13 @@ __m128i test_mm_haddd_epi16(__m128i a) {
106
110
107
111
__m128i test_mm_haddq_epi16 (__m128i a ) {
108
112
// 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> %{{.*}})
110
114
return _mm_haddq_epi16 (a );
111
115
}
112
116
113
117
__m128i test_mm_haddq_epi32 (__m128i a ) {
114
118
// 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> %{{.*}})
116
120
return _mm_haddq_epi32 (a );
117
121
}
118
122
@@ -130,7 +134,7 @@ __m128i test_mm_haddd_epu8(__m128i a) {
130
134
131
135
__m128i test_mm_haddq_epu8 (__m128i a ) {
132
136
// 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> %{{.*}})
134
138
return _mm_haddq_epu8 (a );
135
139
}
136
140
@@ -142,13 +146,13 @@ __m128i test_mm_haddd_epu16(__m128i a) {
142
146
143
147
__m128i test_mm_haddq_epu16 (__m128i a ) {
144
148
// 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> %{{.*}})
146
150
return _mm_haddq_epu16 (a );
147
151
}
148
152
149
153
__m128i test_mm_haddq_epu32 (__m128i a ) {
150
154
// 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> %{{.*}})
152
156
return _mm_haddq_epu32 (a );
153
157
}
154
158
@@ -166,7 +170,7 @@ __m128i test_mm_hsubd_epi16(__m128i a) {
166
170
167
171
__m128i test_mm_hsubq_epi32 (__m128i a ) {
168
172
// 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> %{{.*}})
170
174
return _mm_hsubq_epi32 (a );
171
175
}
172
176
@@ -214,7 +218,7 @@ __m128i test_mm_rot_epi32(__m128i a, __m128i b) {
214
218
215
219
__m128i test_mm_rot_epi64 (__m128i a , __m128i b ) {
216
220
// 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> %{{.*}})
218
222
return _mm_rot_epi64 (a , b );
219
223
}
220
224
@@ -238,7 +242,7 @@ __m128i test_mm_roti_epi32(__m128i a) {
238
242
239
243
__m128i test_mm_roti_epi64 (__m128i a ) {
240
244
// 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))
242
246
return _mm_roti_epi64 (a , 100 );
243
247
}
244
248
@@ -262,7 +266,7 @@ __m128i test_mm_shl_epi32(__m128i a, __m128i b) {
262
266
263
267
__m128i test_mm_shl_epi64 (__m128i a , __m128i b ) {
264
268
// 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> %{{.*}})
266
270
return _mm_shl_epi64 (a , b );
267
271
}
268
272
@@ -286,7 +290,7 @@ __m128i test_mm_sha_epi32(__m128i a, __m128i b) {
286
290
287
291
__m128i test_mm_sha_epi64 (__m128i a , __m128i b ) {
288
292
// 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> %{{.*}})
290
294
return _mm_sha_epi64 (a , b );
291
295
}
292
296
@@ -372,36 +376,36 @@ __m256 test_mm256_permute2_ps(__m256 a, __m256 b, __m256i c) {
372
376
373
377
__m128 test_mm_frcz_ss (__m128 a ) {
374
378
// 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> %{{.*}})
376
380
return _mm_frcz_ss (a );
377
381
}
378
382
379
383
__m128d test_mm_frcz_sd (__m128d a ) {
380
384
// 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> %{{.*}})
382
386
return _mm_frcz_sd (a );
383
387
}
384
388
385
389
__m128 test_mm_frcz_ps (__m128 a ) {
386
390
// 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> %{{.*}})
388
392
return _mm_frcz_ps (a );
389
393
}
390
394
391
395
__m128d test_mm_frcz_pd (__m128d a ) {
392
396
// 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> %{{.*}})
394
398
return _mm_frcz_pd (a );
395
399
}
396
400
397
401
__m256 test_mm256_frcz_ps (__m256 a ) {
398
402
// 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> %{{.*}})
400
404
return _mm256_frcz_ps (a );
401
405
}
402
406
403
407
__m256d test_mm256_frcz_pd (__m256d a ) {
404
408
// 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> %{{.*}})
406
410
return _mm256_frcz_pd (a );
407
411
}
0 commit comments