@@ -11,10 +11,7 @@ target triple = "aarch64-unknown-linux-gnu"
11
11
define void @test_widen (ptr noalias %a , ptr readnone %b ) #4 {
12
12
; TFNONE-LABEL: @test_widen(
13
13
; TFNONE-NEXT: entry:
14
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
15
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
16
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
17
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
14
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
18
15
; TFNONE: vector.ph:
19
16
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
20
17
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -146,10 +143,7 @@ for.cond.cleanup:
146
143
define void @test_if_then (ptr noalias %a , ptr readnone %b ) #4 {
147
144
; TFNONE-LABEL: @test_if_then(
148
145
; TFNONE-NEXT: entry:
149
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
150
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
151
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
152
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
146
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
153
147
; TFNONE: vector.ph:
154
148
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
155
149
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -310,10 +304,7 @@ for.cond.cleanup:
310
304
define void @test_widen_if_then_else (ptr noalias %a , ptr readnone %b ) #4 {
311
305
; TFNONE-LABEL: @test_widen_if_then_else(
312
306
; TFNONE-NEXT: entry:
313
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
314
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
315
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
316
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
307
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
317
308
; TFNONE: vector.ph:
318
309
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
319
310
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -490,10 +481,7 @@ for.cond.cleanup:
490
481
define void @test_widen_nomask (ptr noalias %a , ptr readnone %b ) #4 {
491
482
; TFNONE-LABEL: @test_widen_nomask(
492
483
; TFNONE-NEXT: entry:
493
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
494
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
495
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
496
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
484
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
497
485
; TFNONE: vector.ph:
498
486
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
499
487
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -548,11 +536,6 @@ define void @test_widen_nomask(ptr noalias %a, ptr readnone %b) #4 {
548
536
;
549
537
; TFFALLBACK-LABEL: @test_widen_nomask(
550
538
; TFFALLBACK-NEXT: entry:
551
- ; TFFALLBACK-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
552
- ; TFFALLBACK-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
553
- ; TFFALLBACK-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
554
- ; TFFALLBACK-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
555
- ; TFFALLBACK: vector.ph:
556
539
; TFFALLBACK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
557
540
; TFFALLBACK-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
558
541
; TFFALLBACK-NEXT: [[N_MOD_VF:%.*]] = urem i64 1025, [[TMP3]]
@@ -561,20 +544,17 @@ define void @test_widen_nomask(ptr noalias %a, ptr readnone %b) #4 {
561
544
; TFFALLBACK-NEXT: [[TMP5:%.*]] = mul i64 [[TMP4]], 2
562
545
; TFFALLBACK-NEXT: br label [[VECTOR_BODY:%.*]]
563
546
; TFFALLBACK: vector.body:
564
- ; TFFALLBACK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
547
+ ; TFFALLBACK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH:%.* ]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
565
548
; TFFALLBACK-NEXT: [[TMP6:%.*]] = getelementptr i64, ptr [[B:%.*]], i64 [[INDEX]]
566
549
; TFFALLBACK-NEXT: [[WIDE_LOAD:%.*]] = load <vscale x 2 x i64>, ptr [[TMP6]], align 8
567
550
; TFFALLBACK-NEXT: [[TMP7:%.*]] = call <vscale x 2 x i64> @foo_vector_nomask(<vscale x 2 x i64> [[WIDE_LOAD]])
568
551
; TFFALLBACK-NEXT: [[TMP8:%.*]] = getelementptr inbounds i64, ptr [[A:%.*]], i64 [[INDEX]]
569
552
; TFFALLBACK-NEXT: store <vscale x 2 x i64> [[TMP7]], ptr [[TMP8]], align 8
570
553
; TFFALLBACK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP5]]
571
554
; TFFALLBACK-NEXT: [[TMP9:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
572
- ; TFFALLBACK-NEXT: br i1 [[TMP9]], label [[SCALAR_PH]], label [[VECTOR_BODY]], !llvm.loop [[LOOP5:![0-9]+]]
573
- ; TFFALLBACK: scalar.ph:
574
- ; TFFALLBACK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[N_VEC]], [[VECTOR_BODY]] ]
575
- ; TFFALLBACK-NEXT: br label [[FOR_BODY:%.*]]
555
+ ; TFFALLBACK-NEXT: br i1 [[TMP9]], label [[FOR_BODY:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP5:![0-9]+]]
576
556
; TFFALLBACK: for.body:
577
- ; TFFALLBACK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[BC_RESUME_VAL ]], [[SCALAR_PH ]] ], [ [[INDVARS_IV_NEXT:%.* ]], [[FOR_BODY ]] ]
557
+ ; TFFALLBACK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[INDVARS_IV_NEXT:%.* ]], [[FOR_BODY ]] ], [ [[N_VEC ]], [[VECTOR_BODY ]] ]
578
558
; TFFALLBACK-NEXT: [[GEP:%.*]] = getelementptr i64, ptr [[B]], i64 [[INDVARS_IV]]
579
559
; TFFALLBACK-NEXT: [[LOAD:%.*]] = load i64, ptr [[GEP]], align 8
580
560
; TFFALLBACK-NEXT: [[CALL:%.*]] = call i64 @foo(i64 [[LOAD]]) #[[ATTR5:[0-9]+]]
@@ -626,10 +606,7 @@ for.cond.cleanup:
626
606
define void @test_widen_optmask (ptr noalias %a , ptr readnone %b ) #4 {
627
607
; TFNONE-LABEL: @test_widen_optmask(
628
608
; TFNONE-NEXT: entry:
629
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
630
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
631
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
632
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
609
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
633
610
; TFNONE: vector.ph:
634
611
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
635
612
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -791,10 +768,7 @@ for.cond.cleanup:
791
768
define double @test_widen_fmuladd_and_call (ptr noalias %a , ptr readnone %b , double %m ) #4 {
792
769
; TFNONE-LABEL: @test_widen_fmuladd_and_call(
793
770
; TFNONE-NEXT: entry:
794
- ; TFNONE-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
795
- ; TFNONE-NEXT: [[TMP1:%.*]] = mul i64 [[TMP0]], 2
796
- ; TFNONE-NEXT: [[MIN_ITERS_CHECK:%.*]] = icmp ult i64 1025, [[TMP1]]
797
- ; TFNONE-NEXT: br i1 [[MIN_ITERS_CHECK]], label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
771
+ ; TFNONE-NEXT: br i1 false, label [[SCALAR_PH:%.*]], label [[VECTOR_PH:%.*]]
798
772
; TFNONE: vector.ph:
799
773
; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
800
774
; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
0 commit comments