Skip to content

Commit d52b40c

Browse files
committed
Use flag NE instead of MI
1 parent f4fb9b8 commit d52b40c

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11631,9 +11631,9 @@ SDValue AArch64TargetLowering::LowerSELECT_CC(
1163111631
}
1163211632

1163311633
// Check for sign bit test patterns that can use TST optimization.
11634-
// (SELECT_CC setlt, singn_extend_inreg, 0, tval, fval)
11634+
// (SELECT_CC setlt, sign_extend_inreg, 0, tval, fval)
1163511635
// -> TST %operand, sign_bit; CSEL
11636-
// (SELECT_CC setlt, singn_extend, 0, tval, fval)
11636+
// (SELECT_CC setlt, sign_extend, 0, tval, fval)
1163711637
// -> TST %operand, sign_bit; CSEL
1163811638
if (CC == ISD::SETLT && RHSC && RHSC->isZero() && LHS.hasOneUse() &&
1163911639
(LHS.getOpcode() == ISD::SIGN_EXTEND_INREG ||
@@ -11667,7 +11667,7 @@ SDValue AArch64TargetLowering::LowerSELECT_CC(
1166711667

1166811668
SDValue Flags = TST.getValue(1);
1166911669
return DAG.getNode(AArch64ISD::CSEL, DL, TVal.getValueType(), TVal,
11670-
FVal, DAG.getConstant(AArch64CC::MI, DL, MVT::i32),
11670+
FVal, DAG.getConstant(AArch64CC::NE, DL, MVT::i32),
1167111671
Flags);
1167211672
}
1167311673
}

llvm/test/CodeGen/AArch64/check-sign-bit-before-extension.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ define i32 @g_i8_sign_extend_inreg(i8 %in, i32 %a, i32 %b) nounwind {
7979
; CHECK-LABEL: g_i8_sign_extend_inreg:
8080
; CHECK: // %bb.0: // %entry
8181
; CHECK-NEXT: tst w0, #0x80
82-
; CHECK-NEXT: csel w8, w1, w2, mi
82+
; CHECK-NEXT: csel w8, w1, w2, ne
8383
; CHECK-NEXT: add w0, w8, w0, uxtb
8484
; CHECK-NEXT: ret
8585
entry:
@@ -100,7 +100,7 @@ define i32 @g_i16_sign_extend_inreg(i16 %in, i32 %a, i32 %b) nounwind {
100100
; CHECK-LABEL: g_i16_sign_extend_inreg:
101101
; CHECK: // %bb.0: // %entry
102102
; CHECK-NEXT: tst w0, #0x8000
103-
; CHECK-NEXT: csel w8, w1, w2, mi
103+
; CHECK-NEXT: csel w8, w1, w2, ne
104104
; CHECK-NEXT: add w0, w8, w0, uxth
105105
; CHECK-NEXT: ret
106106
entry:
@@ -166,7 +166,7 @@ define i64 @g_i32_sign_extend_i64(i32 %in, i64 %a, i64 %b) nounwind {
166166
; CHECK-LABEL: g_i32_sign_extend_i64:
167167
; CHECK: // %bb.0: // %entry
168168
; CHECK-NEXT: tst w0, #0x80000000
169-
; CHECK-NEXT: csel x8, x1, x2, mi
169+
; CHECK-NEXT: csel x8, x1, x2, ne
170170
; CHECK-NEXT: add x0, x8, w0, uxtw
171171
; CHECK-NEXT: ret
172172
entry:

llvm/test/CodeGen/AArch64/icmp.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2105,7 +2105,7 @@ define i32 @i8_signbit_tst_constants(i8 %x, i8 %y) {
21052105
; CHECK-SD-NEXT: mov w8, #42 // =0x2a
21062106
; CHECK-SD-NEXT: tst w9, #0x80
21072107
; CHECK-SD-NEXT: mov w9, #20894 // =0x519e
2108-
; CHECK-SD-NEXT: csel w0, w9, w8, mi
2108+
; CHECK-SD-NEXT: csel w0, w9, w8, ne
21092109
; CHECK-SD-NEXT: ret
21102110
;
21112111
; CHECK-GI-LABEL: i8_signbit_tst_constants:
@@ -2129,7 +2129,7 @@ define i32 @i8_signbit_variables(i8 %x, i8 %y, i32 %a, i32 %b) {
21292129
; CHECK-SD: // %bb.0:
21302130
; CHECK-SD-NEXT: add w8, w0, w1
21312131
; CHECK-SD-NEXT: tst w8, #0x80
2132-
; CHECK-SD-NEXT: csel w0, w2, w3, mi
2132+
; CHECK-SD-NEXT: csel w0, w2, w3, ne
21332133
; CHECK-SD-NEXT: ret
21342134
;
21352135
; CHECK-GI-LABEL: i8_signbit_variables:

llvm/test/CodeGen/AArch64/vecreduce-bool.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ define i32 @reduce_and_v1i8(<1 x i8> %a0, i32 %a1, i32 %a2) nounwind {
2828
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
2929
; CHECK-NEXT: umov w8, v0.b[0]
3030
; CHECK-NEXT: tst w8, #0x80
31-
; CHECK-NEXT: csel w0, w0, w1, mi
31+
; CHECK-NEXT: csel w0, w0, w1, ne
3232
; CHECK-NEXT: ret
3333
%x = icmp slt <1 x i8> %a0, zeroinitializer
3434
%y = call i1 @llvm.vector.reduce.and.v1i1(<1 x i1> %x)
@@ -122,7 +122,7 @@ define i32 @reduce_and_v1i16(<1 x i16> %a0, i32 %a1, i32 %a2) nounwind {
122122
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
123123
; CHECK-NEXT: umov w8, v0.h[0]
124124
; CHECK-NEXT: tst w8, #0x8000
125-
; CHECK-NEXT: csel w0, w0, w1, mi
125+
; CHECK-NEXT: csel w0, w0, w1, ne
126126
; CHECK-NEXT: ret
127127
%x = icmp slt <1 x i16> %a0, zeroinitializer
128128
%y = call i1 @llvm.vector.reduce.and.v1i1(<1 x i1> %x)
@@ -307,7 +307,7 @@ define i32 @reduce_or_v1i8(<1 x i8> %a0, i32 %a1, i32 %a2) nounwind {
307307
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
308308
; CHECK-NEXT: umov w8, v0.b[0]
309309
; CHECK-NEXT: tst w8, #0x80
310-
; CHECK-NEXT: csel w0, w0, w1, mi
310+
; CHECK-NEXT: csel w0, w0, w1, ne
311311
; CHECK-NEXT: ret
312312
%x = icmp slt <1 x i8> %a0, zeroinitializer
313313
%y = call i1 @llvm.vector.reduce.or.v1i1(<1 x i1> %x)
@@ -401,7 +401,7 @@ define i32 @reduce_or_v1i16(<1 x i16> %a0, i32 %a1, i32 %a2) nounwind {
401401
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
402402
; CHECK-NEXT: umov w8, v0.h[0]
403403
; CHECK-NEXT: tst w8, #0x8000
404-
; CHECK-NEXT: csel w0, w0, w1, mi
404+
; CHECK-NEXT: csel w0, w0, w1, ne
405405
; CHECK-NEXT: ret
406406
%x = icmp slt <1 x i16> %a0, zeroinitializer
407407
%y = call i1 @llvm.vector.reduce.or.v1i1(<1 x i1> %x)
@@ -586,7 +586,7 @@ define i32 @reduce_xor_v1i8(<1 x i8> %a0, i32 %a1, i32 %a2) nounwind {
586586
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
587587
; CHECK-NEXT: umov w8, v0.b[0]
588588
; CHECK-NEXT: tst w8, #0x80
589-
; CHECK-NEXT: csel w0, w0, w1, mi
589+
; CHECK-NEXT: csel w0, w0, w1, ne
590590
; CHECK-NEXT: ret
591591
%x = icmp slt <1 x i8> %a0, zeroinitializer
592592
%y = call i1 @llvm.vector.reduce.xor.v1i1(<1 x i1> %x)
@@ -681,7 +681,7 @@ define i32 @reduce_xor_v1i16(<1 x i16> %a0, i32 %a1, i32 %a2) nounwind {
681681
; CHECK-NEXT: // kill: def $d0 killed $d0 def $q0
682682
; CHECK-NEXT: umov w8, v0.h[0]
683683
; CHECK-NEXT: tst w8, #0x8000
684-
; CHECK-NEXT: csel w0, w0, w1, mi
684+
; CHECK-NEXT: csel w0, w0, w1, ne
685685
; CHECK-NEXT: ret
686686
%x = icmp slt <1 x i16> %a0, zeroinitializer
687687
%y = call i1 @llvm.vector.reduce.xor.v1i1(<1 x i1> %x)

0 commit comments

Comments
 (0)