@@ -11,10 +11,7 @@ target triple = "aarch64-unknown-linux-gnu"
1111define void @test_widen (ptr noalias %a , ptr readnone %b ) #4 {
1212; TFNONE-LABEL: @test_widen(
1313; 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:%.*]]
1815; TFNONE: vector.ph:
1916; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
2017; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -146,10 +143,7 @@ for.cond.cleanup:
146143define void @test_if_then (ptr noalias %a , ptr readnone %b ) #4 {
147144; TFNONE-LABEL: @test_if_then(
148145; 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:%.*]]
153147; TFNONE: vector.ph:
154148; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
155149; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -310,10 +304,7 @@ for.cond.cleanup:
310304define void @test_widen_if_then_else (ptr noalias %a , ptr readnone %b ) #4 {
311305; TFNONE-LABEL: @test_widen_if_then_else(
312306; 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:%.*]]
317308; TFNONE: vector.ph:
318309; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
319310; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -490,10 +481,7 @@ for.cond.cleanup:
490481define void @test_widen_nomask (ptr noalias %a , ptr readnone %b ) #4 {
491482; TFNONE-LABEL: @test_widen_nomask(
492483; 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:%.*]]
497485; TFNONE: vector.ph:
498486; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
499487; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -548,11 +536,6 @@ define void @test_widen_nomask(ptr noalias %a, ptr readnone %b) #4 {
548536;
549537; TFFALLBACK-LABEL: @test_widen_nomask(
550538; 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:
556539; TFFALLBACK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
557540; TFFALLBACK-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
558541; 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 {
561544; TFFALLBACK-NEXT: [[TMP5:%.*]] = mul i64 [[TMP4]], 2
562545; TFFALLBACK-NEXT: br label [[VECTOR_BODY:%.*]]
563546; 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]] ]
565548; TFFALLBACK-NEXT: [[TMP6:%.*]] = getelementptr i64, ptr [[B:%.*]], i64 [[INDEX]]
566549; TFFALLBACK-NEXT: [[WIDE_LOAD:%.*]] = load <vscale x 2 x i64>, ptr [[TMP6]], align 8
567550; TFFALLBACK-NEXT: [[TMP7:%.*]] = call <vscale x 2 x i64> @foo_vector_nomask(<vscale x 2 x i64> [[WIDE_LOAD]])
568551; TFFALLBACK-NEXT: [[TMP8:%.*]] = getelementptr inbounds i64, ptr [[A:%.*]], i64 [[INDEX]]
569552; TFFALLBACK-NEXT: store <vscale x 2 x i64> [[TMP7]], ptr [[TMP8]], align 8
570553; TFFALLBACK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], [[TMP5]]
571554; 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]+]]
576556; 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 ]] ]
578558; TFFALLBACK-NEXT: [[GEP:%.*]] = getelementptr i64, ptr [[B]], i64 [[INDVARS_IV]]
579559; TFFALLBACK-NEXT: [[LOAD:%.*]] = load i64, ptr [[GEP]], align 8
580560; TFFALLBACK-NEXT: [[CALL:%.*]] = call i64 @foo(i64 [[LOAD]]) #[[ATTR5:[0-9]+]]
@@ -626,10 +606,7 @@ for.cond.cleanup:
626606define void @test_widen_optmask (ptr noalias %a , ptr readnone %b ) #4 {
627607; TFNONE-LABEL: @test_widen_optmask(
628608; 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:%.*]]
633610; TFNONE: vector.ph:
634611; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
635612; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
@@ -791,10 +768,7 @@ for.cond.cleanup:
791768define double @test_widen_fmuladd_and_call (ptr noalias %a , ptr readnone %b , double %m ) #4 {
792769; TFNONE-LABEL: @test_widen_fmuladd_and_call(
793770; 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:%.*]]
798772; TFNONE: vector.ph:
799773; TFNONE-NEXT: [[TMP2:%.*]] = call i64 @llvm.vscale.i64()
800774; TFNONE-NEXT: [[TMP3:%.*]] = mul i64 [[TMP2]], 2
0 commit comments