@@ -7,7 +7,7 @@ target triple = "x86_64-unknown-linux-gnu"
7
7
8
8
; This should promote
9
9
define internal fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer512 (ptr %arg , ptr readonly %arg1 ) #0 {
10
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer512_call_avx512_legal512_prefer512
10
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer512_call_avx512_legal512_prefer512.argprom
11
11
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
12
12
; CHECK-NEXT: bb:
13
13
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -27,7 +27,7 @@ define void @avx512_legal512_prefer512_call_avx512_legal512_prefer512(ptr %arg)
27
27
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
28
28
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
29
29
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
30
- ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer512(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
30
+ ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer512.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
31
31
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
32
32
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
33
33
; CHECK-NEXT: ret void
44
44
45
45
; This should promote
46
46
define internal fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer256 (ptr %arg , ptr readonly %arg1 ) #1 {
47
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer256_call_avx512_legal512_prefer256
47
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer256_call_avx512_legal512_prefer256.argprom
48
48
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
49
49
; CHECK-NEXT: bb:
50
50
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -64,7 +64,7 @@ define void @avx512_legal512_prefer256_call_avx512_legal512_prefer256(ptr %arg)
64
64
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
65
65
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
66
66
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
67
- ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer256(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
67
+ ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer256.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
68
68
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
69
69
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
70
70
; CHECK-NEXT: ret void
81
81
82
82
; This should promote
83
83
define internal fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer256 (ptr %arg , ptr readonly %arg1 ) #1 {
84
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer512_call_avx512_legal512_prefer256
84
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer512_call_avx512_legal512_prefer256.argprom
85
85
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
86
86
; CHECK-NEXT: bb:
87
87
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -101,7 +101,7 @@ define void @avx512_legal512_prefer512_call_avx512_legal512_prefer256(ptr %arg)
101
101
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
102
102
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
103
103
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
104
- ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer256(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
104
+ ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer512_call_avx512_legal512_prefer256.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
105
105
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
106
106
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
107
107
; CHECK-NEXT: ret void
118
118
119
119
; This should promote
120
120
define internal fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer512 (ptr %arg , ptr readonly %arg1 ) #0 {
121
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer256_call_avx512_legal512_prefer512
121
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx512_legal512_prefer256_call_avx512_legal512_prefer512.argprom
122
122
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
123
123
; CHECK-NEXT: bb:
124
124
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -138,7 +138,7 @@ define void @avx512_legal512_prefer256_call_avx512_legal512_prefer512(ptr %arg)
138
138
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
139
139
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
140
140
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
141
- ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer512(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
141
+ ; CHECK-NEXT: call fastcc void @callee_avx512_legal512_prefer256_call_avx512_legal512_prefer512.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
142
142
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
143
143
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
144
144
; CHECK-NEXT: ret void
229
229
230
230
; This should promote
231
231
define internal fastcc void @callee_avx2_legal256_prefer256_call_avx2_legal512_prefer256 (ptr %arg , ptr readonly %arg1 ) #3 {
232
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx2_legal256_prefer256_call_avx2_legal512_prefer256
232
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx2_legal256_prefer256_call_avx2_legal512_prefer256.argprom
233
233
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
234
234
; CHECK-NEXT: bb:
235
235
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -249,7 +249,7 @@ define void @avx2_legal256_prefer256_call_avx2_legal512_prefer256(ptr %arg) #4 {
249
249
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
250
250
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
251
251
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
252
- ; CHECK-NEXT: call fastcc void @callee_avx2_legal256_prefer256_call_avx2_legal512_prefer256(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
252
+ ; CHECK-NEXT: call fastcc void @callee_avx2_legal256_prefer256_call_avx2_legal512_prefer256.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
253
253
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
254
254
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
255
255
; CHECK-NEXT: ret void
266
266
267
267
; This should promote
268
268
define internal fastcc void @callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256 (ptr %arg , ptr readonly %arg1 ) #4 {
269
- ; CHECK-LABEL: define {{[^@]+}}@callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256
269
+ ; CHECK-LABEL: define {{[^@]+}}@callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256.argprom
270
270
; CHECK-SAME: (ptr [[ARG:%.*]], <8 x i64> [[ARG1_VAL:%.*]])
271
271
; CHECK-NEXT: bb:
272
272
; CHECK-NEXT: store <8 x i64> [[ARG1_VAL]], ptr [[ARG]]
@@ -286,7 +286,7 @@ define void @avx2_legal512_prefer256_call_avx2_legal256_prefer256(ptr %arg) #3 {
286
286
; CHECK-NEXT: [[TMP2:%.*]] = alloca <8 x i64>, align 32
287
287
; CHECK-NEXT: call void @llvm.memset.p0.i64(ptr align 32 [[TMP]], i8 0, i64 32, i1 false)
288
288
; CHECK-NEXT: [[TMP_VAL:%.*]] = load <8 x i64>, ptr [[TMP]]
289
- ; CHECK-NEXT: call fastcc void @callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256(ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
289
+ ; CHECK-NEXT: call fastcc void @callee_avx2_legal512_prefer256_call_avx2_legal256_prefer256.argprom (ptr [[TMP2]], <8 x i64> [[TMP_VAL]])
290
290
; CHECK-NEXT: [[TMP4:%.*]] = load <8 x i64>, ptr [[TMP2]], align 32
291
291
; CHECK-NEXT: store <8 x i64> [[TMP4]], ptr [[ARG]], align 2
292
292
; CHECK-NEXT: ret void
303
303
304
304
; If the arguments are scalar, its ok to promote.
305
305
define internal i32 @scalar_callee_avx512_legal256_prefer256_call_avx512_legal512_prefer256 (ptr %X , ptr %Y ) #2 {
306
- ; CHECK-LABEL: define {{[^@]+}}@scalar_callee_avx512_legal256_prefer256_call_avx512_legal512_prefer256
306
+ ; CHECK-LABEL: define {{[^@]+}}@scalar_callee_avx512_legal256_prefer256_call_avx512_legal512_prefer256.argprom
307
307
; CHECK-SAME: (i32 [[X_VAL:%.*]], i32 [[Y_VAL:%.*]])
308
308
; CHECK-NEXT: [[C:%.*]] = add i32 [[X_VAL]], [[Y_VAL]]
309
309
; CHECK-NEXT: ret i32 [[C]]
@@ -321,7 +321,7 @@ define i32 @scalar_avx512_legal256_prefer256_call_avx512_legal512_prefer256(ptr
321
321
; CHECK-NEXT: store i32 1, ptr [[A]]
322
322
; CHECK-NEXT: [[A_VAL:%.*]] = load i32, ptr [[A]]
323
323
; CHECK-NEXT: [[B_VAL:%.*]] = load i32, ptr [[B]]
324
- ; CHECK-NEXT: [[C:%.*]] = call i32 @scalar_callee_avx512_legal256_prefer256_call_avx512_legal512_prefer256(i32 [[A_VAL]], i32 [[B_VAL]])
324
+ ; CHECK-NEXT: [[C:%.*]] = call i32 @scalar_callee_avx512_legal256_prefer256_call_avx512_legal512_prefer256.argprom (i32 [[A_VAL]], i32 [[B_VAL]])
325
325
; CHECK-NEXT: ret i32 [[C]]
326
326
;
327
327
%A = alloca i32
@@ -332,7 +332,7 @@ define i32 @scalar_avx512_legal256_prefer256_call_avx512_legal512_prefer256(ptr
332
332
333
333
; If the arguments are scalar, its ok to promote.
334
334
define internal i32 @scalar_callee_avx512_legal512_prefer256_call_avx512_legal256_prefer256 (ptr %X , ptr %Y ) #2 {
335
- ; CHECK-LABEL: define {{[^@]+}}@scalar_callee_avx512_legal512_prefer256_call_avx512_legal256_prefer256
335
+ ; CHECK-LABEL: define {{[^@]+}}@scalar_callee_avx512_legal512_prefer256_call_avx512_legal256_prefer256.argprom
336
336
; CHECK-SAME: (i32 [[X_VAL:%.*]], i32 [[Y_VAL:%.*]])
337
337
; CHECK-NEXT: [[C:%.*]] = add i32 [[X_VAL]], [[Y_VAL]]
338
338
; CHECK-NEXT: ret i32 [[C]]
@@ -350,7 +350,7 @@ define i32 @scalar_avx512_legal512_prefer256_call_avx512_legal256_prefer256(ptr
350
350
; CHECK-NEXT: store i32 1, ptr [[A]]
351
351
; CHECK-NEXT: [[A_VAL:%.*]] = load i32, ptr [[A]]
352
352
; CHECK-NEXT: [[B_VAL:%.*]] = load i32, ptr [[B]]
353
- ; CHECK-NEXT: [[C:%.*]] = call i32 @scalar_callee_avx512_legal512_prefer256_call_avx512_legal256_prefer256(i32 [[A_VAL]], i32 [[B_VAL]])
353
+ ; CHECK-NEXT: [[C:%.*]] = call i32 @scalar_callee_avx512_legal512_prefer256_call_avx512_legal256_prefer256.argprom (i32 [[A_VAL]], i32 [[B_VAL]])
354
354
; CHECK-NEXT: ret i32 [[C]]
355
355
;
356
356
%A = alloca i32
0 commit comments