@@ -76,11 +76,8 @@ define void @vscale_mul_8(ptr noalias noundef readonly captures(none) %a, ptr n
76
76
; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <vscale x 4 x float>, ptr [[TMP16]], align 4
77
77
; CHECK-NEXT: [[TMP17:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD]], [[WIDE_LOAD2]]
78
78
; CHECK-NEXT: [[TMP18:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD1]], [[WIDE_LOAD3]]
79
- ; CHECK-NEXT: [[TMP20:%.*]] = call i64 @llvm.vscale.i64()
80
- ; CHECK-NEXT: [[TMP21:%.*]] = shl nuw i64 [[TMP20]], 2
81
- ; CHECK-NEXT: [[TMP22:%.*]] = getelementptr inbounds nuw float, ptr [[B]], i64 [[TMP21]]
82
79
; CHECK-NEXT: store <vscale x 4 x float> [[TMP17]], ptr [[B]], align 4
83
- ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP22 ]], align 4
80
+ ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP16 ]], align 4
84
81
; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[MUL1]], [[N_VEC]]
85
82
; CHECK-NEXT: br i1 [[CMP_N]], label %[[FOR_COND_CLEANUP:.*]], label %[[FOR_BODY:.*]]
86
83
; CHECK: [[FOR_COND_CLEANUP]]:
@@ -216,11 +213,8 @@ define void @vscale_mul_31(ptr noalias noundef readonly captures(none) %a, ptr n
216
213
; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <vscale x 4 x float>, ptr [[TMP16]], align 4
217
214
; CHECK-NEXT: [[TMP17:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD]], [[WIDE_LOAD2]]
218
215
; CHECK-NEXT: [[TMP18:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD1]], [[WIDE_LOAD3]]
219
- ; CHECK-NEXT: [[TMP19:%.*]] = call i64 @llvm.vscale.i64()
220
- ; CHECK-NEXT: [[TMP20:%.*]] = shl nuw i64 [[TMP19]], 2
221
- ; CHECK-NEXT: [[TMP21:%.*]] = getelementptr inbounds nuw float, ptr [[TMP12]], i64 [[TMP20]]
222
216
; CHECK-NEXT: store <vscale x 4 x float> [[TMP17]], ptr [[TMP12]], align 4
223
- ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP21 ]], align 4
217
+ ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP16 ]], align 4
224
218
; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP4]]
225
219
; CHECK-NEXT: [[TMP22:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
226
220
; CHECK-NEXT: br i1 [[TMP22]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP6:![0-9]+]]
@@ -296,11 +290,8 @@ define void @vscale_mul_64(ptr noalias noundef readonly captures(none) %a, ptr n
296
290
; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <vscale x 4 x float>, ptr [[TMP16]], align 4
297
291
; CHECK-NEXT: [[TMP17:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD]], [[WIDE_LOAD2]]
298
292
; CHECK-NEXT: [[TMP18:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD1]], [[WIDE_LOAD3]]
299
- ; CHECK-NEXT: [[TMP19:%.*]] = call i64 @llvm.vscale.i64()
300
- ; CHECK-NEXT: [[TMP20:%.*]] = shl nuw i64 [[TMP19]], 2
301
- ; CHECK-NEXT: [[TMP21:%.*]] = getelementptr inbounds nuw float, ptr [[TMP12]], i64 [[TMP20]]
302
293
; CHECK-NEXT: store <vscale x 4 x float> [[TMP17]], ptr [[TMP12]], align 4
303
- ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP21 ]], align 4
294
+ ; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP16 ]], align 4
304
295
; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP4]]
305
296
; CHECK-NEXT: [[TMP22:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
306
297
; CHECK-NEXT: br i1 [[TMP22]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP8:![0-9]+]]
@@ -378,11 +369,8 @@ define void @trip_count_with_overflow(ptr noalias noundef readonly captures(none
378
369
; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <vscale x 4 x float>, ptr [[TMP17]], align 4
379
370
; CHECK-NEXT: [[TMP18:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD]], [[WIDE_LOAD2]]
380
371
; CHECK-NEXT: [[TMP19:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD1]], [[WIDE_LOAD3]]
381
- ; CHECK-NEXT: [[TMP20:%.*]] = call i64 @llvm.vscale.i64()
382
- ; CHECK-NEXT: [[TMP21:%.*]] = shl nuw i64 [[TMP20]], 2
383
- ; CHECK-NEXT: [[TMP22:%.*]] = getelementptr inbounds nuw float, ptr [[TMP13]], i64 [[TMP21]]
384
372
; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP13]], align 4
385
- ; CHECK-NEXT: store <vscale x 4 x float> [[TMP19]], ptr [[TMP22 ]], align 4
373
+ ; CHECK-NEXT: store <vscale x 4 x float> [[TMP19]], ptr [[TMP17 ]], align 4
386
374
; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP5]]
387
375
; CHECK-NEXT: [[TMP23:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
388
376
; CHECK-NEXT: br i1 [[TMP23]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP10:![0-9]+]]
@@ -455,11 +443,8 @@ define void @trip_count_too_big_for_element_count(ptr noalias noundef readonly c
455
443
; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <vscale x 4 x float>, ptr [[TMP17]], align 4
456
444
; CHECK-NEXT: [[TMP18:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD]], [[WIDE_LOAD2]]
457
445
; CHECK-NEXT: [[TMP19:%.*]] = fmul <vscale x 4 x float> [[WIDE_LOAD1]], [[WIDE_LOAD3]]
458
- ; CHECK-NEXT: [[TMP20:%.*]] = call i64 @llvm.vscale.i64()
459
- ; CHECK-NEXT: [[TMP21:%.*]] = shl nuw i64 [[TMP20]], 2
460
- ; CHECK-NEXT: [[TMP22:%.*]] = getelementptr inbounds nuw float, ptr [[TMP13]], i64 [[TMP21]]
461
446
; CHECK-NEXT: store <vscale x 4 x float> [[TMP18]], ptr [[TMP13]], align 4
462
- ; CHECK-NEXT: store <vscale x 4 x float> [[TMP19]], ptr [[TMP22 ]], align 4
447
+ ; CHECK-NEXT: store <vscale x 4 x float> [[TMP19]], ptr [[TMP17 ]], align 4
463
448
; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP5]]
464
449
; CHECK-NEXT: [[TMP23:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
465
450
; CHECK-NEXT: br i1 [[TMP23]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP12:![0-9]+]]
0 commit comments