@@ -19,8 +19,8 @@ define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) {
1919
2020define i32 @bar (i32 %a , i32 %b , i32 %c , i32 %d ) {
2121; CHECK-LABEL: @bar(
22- ; CHECK-NEXT: [[E_NOT :%.*]] = icmp slt i32 [[A:%.*]], [[B:%.*]]
23- ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[E_NOT ]], i32 [[C:%.*]], i32 [[D:%.*]]
22+ ; CHECK-NEXT: [[E :%.*]] = icmp slt i32 [[A:%.*]], [[B:%.*]]
23+ ; CHECK-NEXT: [[TMP1:%.*]] = select i1 [[E ]], i32 [[C:%.*]], i32 [[D:%.*]]
2424; CHECK-NEXT: ret i32 [[TMP1]]
2525;
2626 %e = icmp slt i32 %a , %b
@@ -69,8 +69,8 @@ define i32 @fold_inverted_icmp_preds(i32 %a, i32 %b, i32 %c, i32 %d) {
6969; CHECK-LABEL: @fold_inverted_icmp_preds(
7070; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 [[A:%.*]], [[B:%.*]]
7171; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[CMP1]], i32 [[C:%.*]], i32 0
72- ; CHECK-NEXT: [[CMP2_NOT :%.*]] = icmp slt i32 [[A]], [[B]]
73- ; CHECK-NEXT: [[SEL2:%.*]] = select i1 [[CMP2_NOT ]], i32 0, i32 [[D:%.*]]
72+ ; CHECK-NEXT: [[CMP2 :%.*]] = icmp slt i32 [[A]], [[B]]
73+ ; CHECK-NEXT: [[SEL2:%.*]] = select i1 [[CMP2 ]], i32 0, i32 [[D:%.*]]
7474; CHECK-NEXT: [[OR:%.*]] = or i32 [[SEL1]], [[SEL2]]
7575; CHECK-NEXT: ret i32 [[OR]]
7676;
@@ -88,8 +88,8 @@ define i32 @fold_inverted_icmp_preds_reverse(i32 %a, i32 %b, i32 %c, i32 %d) {
8888; CHECK-LABEL: @fold_inverted_icmp_preds_reverse(
8989; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 [[A:%.*]], [[B:%.*]]
9090; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[CMP1]], i32 0, i32 [[C:%.*]]
91- ; CHECK-NEXT: [[CMP2_NOT :%.*]] = icmp slt i32 [[A]], [[B]]
92- ; CHECK-NEXT: [[SEL2:%.*]] = select i1 [[CMP2_NOT ]], i32 [[D:%.*]], i32 0
91+ ; CHECK-NEXT: [[CMP2 :%.*]] = icmp slt i32 [[A]], [[B]]
92+ ; CHECK-NEXT: [[SEL2:%.*]] = select i1 [[CMP2 ]], i32 [[D:%.*]], i32 0
9393; CHECK-NEXT: [[OR:%.*]] = or i32 [[SEL1]], [[SEL2]]
9494; CHECK-NEXT: ret i32 [[OR]]
9595;
@@ -124,8 +124,8 @@ define i32 @fold_inverted_fcmp_preds(float %a, float %b, i32 %c, i32 %d) {
124124
125125define <2 x i32 > @fold_inverted_icmp_vector_preds (<2 x i32 > %a , <2 x i32 > %b , <2 x i32 > %c , <2 x i32 > %d ) {
126126; CHECK-LABEL: @fold_inverted_icmp_vector_preds(
127- ; CHECK-NEXT: [[CMP1_NOT :%.*]] = icmp eq <2 x i32> [[A:%.*]], [[B:%.*]]
128- ; CHECK-NEXT: [[SEL1:%.*]] = select <2 x i1> [[CMP1_NOT ]], <2 x i32> zeroinitializer, <2 x i32> [[C:%.*]]
127+ ; CHECK-NEXT: [[CMP1 :%.*]] = icmp eq <2 x i32> [[A:%.*]], [[B:%.*]]
128+ ; CHECK-NEXT: [[SEL1:%.*]] = select <2 x i1> [[CMP1 ]], <2 x i32> zeroinitializer, <2 x i32> [[C:%.*]]
129129; CHECK-NEXT: [[CMP2:%.*]] = icmp eq <2 x i32> [[A]], [[B]]
130130; CHECK-NEXT: [[SEL2:%.*]] = select <2 x i1> [[CMP2]], <2 x i32> [[D:%.*]], <2 x i32> zeroinitializer
131131; CHECK-NEXT: [[OR:%.*]] = or <2 x i32> [[SEL1]], [[SEL2]]
@@ -535,9 +535,9 @@ define <4 x i32> @vec_sel_xor_multi_use(<4 x i32> %a, <4 x i32> %b, <4 x i1> %c)
535535
536536define i32 @allSignBits (i32 %cond , i32 %tval , i32 %fval ) {
537537; CHECK-LABEL: @allSignBits(
538- ; CHECK-NEXT: [[DOTNOT :%.*]] = icmp slt i32 [[COND:%.*]], 0
539- ; CHECK-NEXT: [[TMP1 :%.*]] = select i1 [[DOTNOT ]], i32 [[TVAL :%.*]], i32 [[FVAL :%.*]]
540- ; CHECK-NEXT: ret i32 [[TMP1 ]]
538+ ; CHECK-NEXT: [[TMP1 :%.*]] = icmp sgt i32 [[COND:%.*]], -1
539+ ; CHECK-NEXT: [[TMP2 :%.*]] = select i1 [[TMP1 ]], i32 [[FVAL :%.*]], i32 [[TVAL :%.*]]
540+ ; CHECK-NEXT: ret i32 [[TMP2 ]]
541541;
542542 %bitmask = ashr i32 %cond , 31
543543 %not_bitmask = xor i32 %bitmask , -1
@@ -549,9 +549,9 @@ define i32 @allSignBits(i32 %cond, i32 %tval, i32 %fval) {
549549
550550define <4 x i8 > @allSignBits_vec (<4 x i8 > %cond , <4 x i8 > %tval , <4 x i8 > %fval ) {
551551; CHECK-LABEL: @allSignBits_vec(
552- ; CHECK-NEXT: [[DOTNOT :%.*]] = icmp sgt <4 x i8> [[COND:%.*]], <i8 -1, i8 -1, i8 -1, i8 -1>
553- ; CHECK-NEXT: [[TMP1 :%.*]] = select <4 x i1> [[DOTNOT ]], <4 x i8> [[FVAL:%.*]], <4 x i8> [[TVAL:%.*]]
554- ; CHECK-NEXT: ret <4 x i8> [[TMP1 ]]
552+ ; CHECK-NEXT: [[TMP1 :%.*]] = icmp sgt <4 x i8> [[COND:%.*]], <i8 -1, i8 -1, i8 -1, i8 -1>
553+ ; CHECK-NEXT: [[TMP2 :%.*]] = select <4 x i1> [[TMP1 ]], <4 x i8> [[FVAL:%.*]], <4 x i8> [[TVAL:%.*]]
554+ ; CHECK-NEXT: ret <4 x i8> [[TMP2 ]]
555555;
556556 %bitmask = ashr <4 x i8 > %cond , <i8 7 , i8 7 , i8 7 , i8 7 >
557557 %not_bitmask = xor <4 x i8 > %bitmask , <i8 -1 , i8 -1 , i8 -1 , i8 -1 >
0 commit comments