@@ -55,9 +55,7 @@ define void @test_widen(ptr noalias %a, ptr readnone %b) #4 {
55
55
; TFCOMMON-NEXT: entry:
56
56
; TFCOMMON-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
57
57
; TFCOMMON-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
58
- ; TFCOMMON-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
59
- ; TFCOMMON-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
60
- ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
58
+ ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
61
59
; TFCOMMON-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
62
60
; TFCOMMON-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
63
61
; TFCOMMON-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -85,9 +83,7 @@ define void @test_widen(ptr noalias %a, ptr readnone %b) #4 {
85
83
; TFA_INTERLEAVE-NEXT: entry:
86
84
; TFA_INTERLEAVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
87
85
; TFA_INTERLEAVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 4
88
- ; TFA_INTERLEAVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
89
- ; TFA_INTERLEAVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 4
90
- ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
86
+ ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
91
87
; TFA_INTERLEAVE-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
92
88
; TFA_INTERLEAVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
93
89
; TFA_INTERLEAVE-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -203,9 +199,7 @@ define void @test_if_then(ptr noalias %a, ptr readnone %b) #4 {
203
199
; TFCOMMON-NEXT: entry:
204
200
; TFCOMMON-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
205
201
; TFCOMMON-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
206
- ; TFCOMMON-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
207
- ; TFCOMMON-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
208
- ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
202
+ ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
209
203
; TFCOMMON-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
210
204
; TFCOMMON-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
211
205
; TFCOMMON-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -238,9 +232,7 @@ define void @test_if_then(ptr noalias %a, ptr readnone %b) #4 {
238
232
; TFA_INTERLEAVE-NEXT: entry:
239
233
; TFA_INTERLEAVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
240
234
; TFA_INTERLEAVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 4
241
- ; TFA_INTERLEAVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
242
- ; TFA_INTERLEAVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 4
243
- ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
235
+ ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
244
236
; TFA_INTERLEAVE-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
245
237
; TFA_INTERLEAVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
246
238
; TFA_INTERLEAVE-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -381,9 +373,7 @@ define void @test_widen_if_then_else(ptr noalias %a, ptr readnone %b) #4 {
381
373
; TFCOMMON-NEXT: entry:
382
374
; TFCOMMON-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
383
375
; TFCOMMON-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
384
- ; TFCOMMON-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
385
- ; TFCOMMON-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
386
- ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
376
+ ; TFCOMMON-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
387
377
; TFCOMMON-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
388
378
; TFCOMMON-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
389
379
; TFCOMMON-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -417,9 +407,7 @@ define void @test_widen_if_then_else(ptr noalias %a, ptr readnone %b) #4 {
417
407
; TFA_INTERLEAVE-NEXT: entry:
418
408
; TFA_INTERLEAVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
419
409
; TFA_INTERLEAVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 4
420
- ; TFA_INTERLEAVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
421
- ; TFA_INTERLEAVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 4
422
- ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
410
+ ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
423
411
; TFA_INTERLEAVE-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
424
412
; TFA_INTERLEAVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
425
413
; TFA_INTERLEAVE-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -688,9 +676,7 @@ define void @test_widen_optmask(ptr noalias %a, ptr readnone %b) #4 {
688
676
; TFALWAYS-NEXT: entry:
689
677
; TFALWAYS-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
690
678
; TFALWAYS-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
691
- ; TFALWAYS-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
692
- ; TFALWAYS-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
693
- ; TFALWAYS-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
679
+ ; TFALWAYS-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
694
680
; TFALWAYS-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
695
681
; TFALWAYS-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
696
682
; TFALWAYS-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -718,9 +704,7 @@ define void @test_widen_optmask(ptr noalias %a, ptr readnone %b) #4 {
718
704
; TFFALLBACK-NEXT: entry:
719
705
; TFFALLBACK-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
720
706
; TFFALLBACK-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
721
- ; TFFALLBACK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
722
- ; TFFALLBACK-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
723
- ; TFFALLBACK-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
707
+ ; TFFALLBACK-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
724
708
; TFFALLBACK-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
725
709
; TFFALLBACK-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
726
710
; TFFALLBACK-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -748,9 +732,7 @@ define void @test_widen_optmask(ptr noalias %a, ptr readnone %b) #4 {
748
732
; TFA_INTERLEAVE-NEXT: entry:
749
733
; TFA_INTERLEAVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
750
734
; TFA_INTERLEAVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 4
751
- ; TFA_INTERLEAVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
752
- ; TFA_INTERLEAVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 4
753
- ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
735
+ ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
754
736
; TFA_INTERLEAVE-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
755
737
; TFA_INTERLEAVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
756
738
; TFA_INTERLEAVE-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -870,9 +852,7 @@ define double @test_widen_fmuladd_and_call(ptr noalias %a, ptr readnone %b, doub
870
852
; TFALWAYS-NEXT: entry:
871
853
; TFALWAYS-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
872
854
; TFALWAYS-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
873
- ; TFALWAYS-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
874
- ; TFALWAYS-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
875
- ; TFALWAYS-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
855
+ ; TFALWAYS-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
876
856
; TFALWAYS-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
877
857
; TFALWAYS-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
878
858
; TFALWAYS-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -907,9 +887,7 @@ define double @test_widen_fmuladd_and_call(ptr noalias %a, ptr readnone %b, doub
907
887
; TFFALLBACK-NEXT: entry:
908
888
; TFFALLBACK-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
909
889
; TFFALLBACK-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
910
- ; TFFALLBACK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
911
- ; TFFALLBACK-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
912
- ; TFFALLBACK-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
890
+ ; TFFALLBACK-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
913
891
; TFFALLBACK-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
914
892
; TFFALLBACK-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
915
893
; TFFALLBACK-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
@@ -944,9 +922,7 @@ define double @test_widen_fmuladd_and_call(ptr noalias %a, ptr readnone %b, doub
944
922
; TFA_INTERLEAVE-NEXT: entry:
945
923
; TFA_INTERLEAVE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
946
924
; TFA_INTERLEAVE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 4
947
- ; TFA_INTERLEAVE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
948
- ; TFA_INTERLEAVE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 4
949
- ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP3]], 1
925
+ ; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = sub i64 [[TMP1]], 1
950
926
; TFA_INTERLEAVE-NEXT: [[N_RND_UP:%.*]] = add i64 1025, [[TMP4]]
951
927
; TFA_INTERLEAVE-NEXT: [[N_MOD_VF:%.*]] = urem i64 [[N_RND_UP]], [[TMP1]]
952
928
; TFA_INTERLEAVE-NEXT: [[N_VEC:%.*]] = sub i64 [[N_RND_UP]], [[N_MOD_VF]]
0 commit comments