@@ -996,37 +996,37 @@ define void @test_widen_exp_v2(ptr noalias %p2, ptr noalias %p, i64 %n) #5 {
996996; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK_ENTRY1:%.*]] = icmp ult i64 1, [[TMP0]]
997997; TFA_INTERLEAVE-NEXT: br label %[[VECTOR_BODY:.*]]
998998; TFA_INTERLEAVE: [[VECTOR_BODY]]:
999- ; TFA_INTERLEAVE-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ [[TMP27 :%.*]], %[[PRED_STORE_CONTINUE5 :.*]] ]
1000- ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK:%.*]] = phi i1 [ [[ACTIVE_LANE_MASK_ENTRY]], %[[ENTRY]] ], [ [[ACTIVE_LANE_MASK_NEXT:%.*]], %[[PRED_STORE_CONTINUE5 ]] ]
1001- ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK2:%.*]] = phi i1 [ [[ACTIVE_LANE_MASK_ENTRY1]], %[[ENTRY]] ], [ [[ACTIVE_LANE_MASK_NEXT6:%.*]], %[[PRED_STORE_CONTINUE5 ]] ]
999+ ; TFA_INTERLEAVE-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ [[INDEX_NEXT :%.*]], %[[TMP19 :.*]] ]
1000+ ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK:%.*]] = phi i1 [ [[ACTIVE_LANE_MASK_ENTRY]], %[[ENTRY]] ], [ [[ACTIVE_LANE_MASK_NEXT:%.*]], %[[TMP19 ]] ]
1001+ ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK2:%.*]] = phi i1 [ [[ACTIVE_LANE_MASK_ENTRY1]], %[[ENTRY]] ], [ [[ACTIVE_LANE_MASK_NEXT6:%.*]], %[[TMP19 ]] ]
10021002; TFA_INTERLEAVE-NEXT: [[TMP4:%.*]] = load double, ptr [[P2]], align 8
10031003; TFA_INTERLEAVE-NEXT: [[TMP5:%.*]] = tail call double @llvm.exp.f64(double [[TMP4]]) #[[ATTR7:[0-9]+]]
1004- ; TFA_INTERLEAVE-NEXT: [[TMP8 :%.*]] = tail call double @llvm.exp.f64(double [[TMP4]]) #[[ATTR7]]
1005- ; TFA_INTERLEAVE-NEXT: [[TMP6 :%.*]] = fcmp ogt double [[TMP5]], 0.000000e+00
1006- ; TFA_INTERLEAVE-NEXT: [[TMP9 :%.*]] = fcmp ogt double [[TMP8 ]], 0.000000e+00
1007- ; TFA_INTERLEAVE-NEXT: [[TMP18 :%.*]] = xor i1 [[TMP6 ]], true
1008- ; TFA_INTERLEAVE-NEXT: [[TMP20 :%.*]] = xor i1 [[TMP9 ]], true
1009- ; TFA_INTERLEAVE-NEXT: [[TMP10 :%.*]] = select i1 [[ACTIVE_LANE_MASK]], i1 [[TMP18 ]], i1 false
1010- ; TFA_INTERLEAVE-NEXT: [[TMP21 :%.*]] = select i1 [[ACTIVE_LANE_MASK2]], i1 [[TMP20 ]], i1 false
1011- ; TFA_INTERLEAVE-NEXT: [[TMP26 :%.*]] = select i1 [[TMP10 ]], double 1.000000e+00, double 0.000000e+00
1012- ; TFA_INTERLEAVE-NEXT: [[PREDPHI3:%.*]] = select i1 [[TMP21 ]], double 1.000000e+00, double 0.000000e+00
1013- ; TFA_INTERLEAVE-NEXT: [[SPEC_SELECT:%.*]] = select i1 [[ACTIVE_LANE_MASK2]], double [[PREDPHI3]], double [[TMP26 ]]
1004+ ; TFA_INTERLEAVE-NEXT: [[TMP6 :%.*]] = tail call double @llvm.exp.f64(double [[TMP4]]) #[[ATTR7]]
1005+ ; TFA_INTERLEAVE-NEXT: [[TMP7 :%.*]] = fcmp ogt double [[TMP5]], 0.000000e+00
1006+ ; TFA_INTERLEAVE-NEXT: [[TMP8 :%.*]] = fcmp ogt double [[TMP6 ]], 0.000000e+00
1007+ ; TFA_INTERLEAVE-NEXT: [[TMP9 :%.*]] = xor i1 [[TMP7 ]], true
1008+ ; TFA_INTERLEAVE-NEXT: [[TMP10 :%.*]] = xor i1 [[TMP8 ]], true
1009+ ; TFA_INTERLEAVE-NEXT: [[TMP11 :%.*]] = select i1 [[ACTIVE_LANE_MASK]], i1 [[TMP9 ]], i1 false
1010+ ; TFA_INTERLEAVE-NEXT: [[TMP12 :%.*]] = select i1 [[ACTIVE_LANE_MASK2]], i1 [[TMP10 ]], i1 false
1011+ ; TFA_INTERLEAVE-NEXT: [[PREDPHI :%.*]] = select i1 [[TMP11 ]], double 1.000000e+00, double 0.000000e+00
1012+ ; TFA_INTERLEAVE-NEXT: [[PREDPHI3:%.*]] = select i1 [[TMP12 ]], double 1.000000e+00, double 0.000000e+00
1013+ ; TFA_INTERLEAVE-NEXT: [[SPEC_SELECT:%.*]] = select i1 [[ACTIVE_LANE_MASK2]], double [[PREDPHI3]], double [[PREDPHI ]]
10141014; TFA_INTERLEAVE-NEXT: [[TMP13:%.*]] = xor i1 [[ACTIVE_LANE_MASK]], true
10151015; TFA_INTERLEAVE-NEXT: [[TMP14:%.*]] = xor i1 [[ACTIVE_LANE_MASK2]], true
10161016; TFA_INTERLEAVE-NEXT: [[TMP15:%.*]] = xor i1 [[TMP13]], true
10171017; TFA_INTERLEAVE-NEXT: [[TMP16:%.*]] = xor i1 [[TMP14]], true
10181018; TFA_INTERLEAVE-NEXT: [[TMP17:%.*]] = or i1 [[TMP15]], [[TMP16]]
1019- ; TFA_INTERLEAVE-NEXT: br i1 [[TMP17]], label %[[BB18:.*]], label %[[PRED_STORE_CONTINUE5 ]]
1019+ ; TFA_INTERLEAVE-NEXT: br i1 [[TMP17]], label %[[BB18:.*]], label %[[TMP19 ]]
10201020; TFA_INTERLEAVE: [[BB18]]:
10211021; TFA_INTERLEAVE-NEXT: store double [[SPEC_SELECT]], ptr [[P]], align 8
1022- ; TFA_INTERLEAVE-NEXT: br label %[[PRED_STORE_CONTINUE5 ]]
1023- ; TFA_INTERLEAVE: [[PRED_STORE_CONTINUE5 ]]:
1024- ; TFA_INTERLEAVE-NEXT: [[TMP27 ]] = add i64 [[INDEX]], 2
1025- ; TFA_INTERLEAVE-NEXT: [[TMP11 :%.*]] = add i64 [[INDEX]], 1
1022+ ; TFA_INTERLEAVE-NEXT: br label %[[TMP19 ]]
1023+ ; TFA_INTERLEAVE: [[TMP19 ]]:
1024+ ; TFA_INTERLEAVE-NEXT: [[INDEX_NEXT ]] = add i64 [[INDEX]], 2
1025+ ; TFA_INTERLEAVE-NEXT: [[TMP20 :%.*]] = add i64 [[INDEX]], 1
10261026; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK_NEXT]] = icmp ult i64 [[INDEX]], [[TMP3]]
1027- ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK_NEXT6]] = icmp ult i64 [[TMP11 ]], [[TMP3]]
1028- ; TFA_INTERLEAVE-NEXT: [[TMP12 :%.*]] = xor i1 [[ACTIVE_LANE_MASK_NEXT]], true
1029- ; TFA_INTERLEAVE-NEXT: br i1 [[TMP12 ]], label %[[END:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP7:![0-9]+]]
1027+ ; TFA_INTERLEAVE-NEXT: [[ACTIVE_LANE_MASK_NEXT6]] = icmp ult i64 [[TMP20 ]], [[TMP3]]
1028+ ; TFA_INTERLEAVE-NEXT: [[TMP21 :%.*]] = xor i1 [[ACTIVE_LANE_MASK_NEXT]], true
1029+ ; TFA_INTERLEAVE-NEXT: br i1 [[TMP21 ]], label %[[END:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP7:![0-9]+]]
10301030; TFA_INTERLEAVE: [[END]]:
10311031; TFA_INTERLEAVE-NEXT: ret void
10321032;
0 commit comments