@@ -23,10 +23,10 @@ define void @vp_sext(ptr noalias %a, ptr noalias %b, i64 %N) {
23
23
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
24
24
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
25
25
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
26
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[SEXT:%.+]]> = sext ir<[[LD1]]> to i64
26
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[SEXT:%.+]]> = call llvm.vp.sext( ir<[[LD1]]>, vp<[[EVL]]>)
27
27
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
28
28
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
29
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[SEXT]]>, vp<[[EVL]]>
29
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[SEXT]]>, vp<[[EVL]]>
30
30
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
31
31
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
32
32
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -73,10 +73,10 @@ define void @vp_zext(ptr noalias %a, ptr noalias %b, i64 %N) {
73
73
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
74
74
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
75
75
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
76
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[ZEXT:%.+]]> = zext ir<[[LD1]]> to i64
76
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[ZEXT:%.+]]> = call llvm.vp.zext( ir<[[LD1]]>, vp<[[EVL]]>)
77
77
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
78
78
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
79
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[ZEXT]]>, vp<[[EVL]]>
79
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[ZEXT]]>, vp<[[EVL]]>
80
80
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
81
81
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
82
82
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -121,10 +121,10 @@ define void @vp_truncate(ptr noalias %a, ptr noalias %b, i64 %N) {
121
121
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
122
122
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
123
123
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
124
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[TRUNC:%.+]]> = trunc ir<[[LD1]]> to i16
124
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[TRUNC:%.+]]> = call llvm.vp.trunc( ir<[[LD1]]>, vp<[[EVL]]>)
125
125
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
126
126
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
127
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[TRUNC]]>, vp<[[EVL]]>
127
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[TRUNC]]>, vp<[[EVL]]>
128
128
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
129
129
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
130
130
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -169,10 +169,10 @@ define void @vp_fpext(ptr noalias %a, ptr noalias %b, i64 %N) {
169
169
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
170
170
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
171
171
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
172
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[FPEXT:%.+]]> = fpext ir<[[LD1]]> to
172
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[FPEXT:%.+]]> = call llvm.vp.fpext( ir<[[LD1]]>, vp<[[EVL]]>)
173
173
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
174
174
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
175
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[FPEXT]]>, vp<[[EVL]]>
175
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[FPEXT]]>, vp<[[EVL]]>
176
176
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
177
177
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
178
178
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -217,10 +217,10 @@ define void @vp_fptrunct(ptr noalias %a, ptr noalias %b, i64 %N) {
217
217
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
218
218
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
219
219
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
220
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[FPTRUNC:%.+]]> = fptrunc ir<[[LD1]]> to float
220
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[FPTRUNC:%.+]]> = call llvm.vp.fptrunc( ir<[[LD1]]>, vp<[[EVL]]>)
221
221
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
222
222
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
223
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[FPTRUNC]]>, vp<[[EVL]]>
223
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[FPTRUNC]]>, vp<[[EVL]]>
224
224
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
225
225
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
226
226
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -265,10 +265,10 @@ define void @vp_fptosi(ptr noalias %a, ptr noalias %b, i64 %N) {
265
265
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
266
266
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
267
267
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
268
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[FPTOSI:%.+]]> = fptoui ir<[[LD1]]> to i32
268
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[FPTOSI:%.+]]> = call llvm.vp.fptoui( ir<[[LD1]]>, vp<[[EVL]]>)
269
269
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
270
270
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
271
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[FPTOSI]]>, vp<[[EVL]]>
271
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[FPTOSI]]>, vp<[[EVL]]>
272
272
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
273
273
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
274
274
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -313,10 +313,10 @@ define void @vp_inttofp(ptr noalias %a, ptr noalias %b, i64 %N) {
313
313
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
314
314
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
315
315
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
316
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[SITOFP:%.+]]> = sitofp ir<[[LD1]]> to float
316
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[SITOFP:%.+]]> = call llvm.vp.sitofp( ir<[[LD1]]>, vp<[[EVL]]>)
317
317
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
318
318
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
319
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[SITOFP]]>, vp<[[EVL]]>
319
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[SITOFP]]>, vp<[[EVL]]>
320
320
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
321
321
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
322
322
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
@@ -361,10 +361,10 @@ define void @vp_uinttofp(ptr noalias %a, ptr noalias %b, i64 %N) {
361
361
; IF-EVL-NEXT: CLONE ir<[[GEP1:%.+]]> = getelementptr inbounds ir<%b>, vp<[[ST]]>
362
362
; IF-EVL-NEXT: vp<[[PTR1:%[0-9]+]]> = vector-pointer ir<[[GEP1]]>
363
363
; IF-EVL-NEXT: WIDEN ir<[[LD1:%.+]]> = vp.load vp<[[PTR1]]>, vp<[[EVL]]>
364
- ; IF-EVL-NEXT: WIDEN-CAST ir <[[UITOFP:%.+]]> = uitofp ir<[[LD1]]> to float
364
+ ; IF-EVL-NEXT: WIDEN-INTRINSIC vp <[[UITOFP:%.+]]> = call llvm.vp.uitofp( ir<[[LD1]]>, vp<[[EVL]]>)
365
365
; IF-EVL-NEXT: CLONE ir<[[GEP2:%.+]]> = getelementptr inbounds ir<%a>, vp<[[ST]]>
366
366
; IF-EVL-NEXT: vp<[[PTR2:%[0-9]+]]> = vector-pointer ir<[[GEP2]]>
367
- ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, ir <[[UITOFP]]>, vp<[[EVL]]>
367
+ ; IF-EVL-NEXT: WIDEN vp.store vp<[[PTR2]]>, vp <[[UITOFP]]>, vp<[[EVL]]>
368
368
; IF-EVL-NEXT: SCALAR-CAST vp<[[CAST:%[0-9]+]]> = zext vp<[[EVL]]> to i64
369
369
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT]]> = add vp<[[CAST]]>, vp<[[EVL_PHI]]>
370
370
; IF-EVL-NEXT: EMIT vp<[[IV_NEXT_EXIT:%.+]]> = add vp<[[IV]]>, vp<[[VFUF]]>
0 commit comments