Skip to content

Commit f297069

Browse files
committed
Add signext to cases
1 parent 574c969 commit f297069

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

llvm/lib/Target/PowerPC/PPCISelLowering.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14563,9 +14563,7 @@ SDValue PPCTargetLowering::combineSetCC(SDNode *N, DAGCombinerInfo &DCI) const {
1456314563
};
1456414564
// ult (add x -0x80000000) -0x100000000 -> ne x (sext:i64 (trunc:i32 x))
1456514565
// ult (add x -0x8000) -0x10000 -> ne x (sext:i64 (trunc:i16 x))
14566-
// ult (add x -0x80) -0x100 -> ne x (sext:i64 (trunc:i8 x))
14567-
// ult (add x -0x80) -0x100 -> ne x (sext:i32 (trunc:i16 x))
14568-
// ult (add x -0x80) -0x100 -> ne x (sext:i16 (trunc:i8 x))
14566+
// ult (add x -0x80) -0x100 -> ne x (sext:i64/i32/i16 (trunc:i8/i16/i8 x))
1456914567
if (LHS.getOpcode() == ISD::ADD) {
1457014568
const auto *Addend = dyn_cast<ConstantSDNode>(LHS.getOperand(1));
1457114569
const auto *RhsC = dyn_cast<ConstantSDNode>(RHS);

llvm/test/CodeGen/PowerPC/setcc-to-sub.ll

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ entry:
131131
ret i1 %cmp
132132
}
133133

134-
define zeroext i1 @test8(i32 %a) {
134+
define zeroext i1 @test8(i32 signext %a) {
135135
; CHECK-LABEL: test8:
136136
; CHECK: # %bb.0: # %entry
137137
; CHECK-NEXT: extsb 4, 3
@@ -146,7 +146,7 @@ entry:
146146
ret i1 %cmp
147147
}
148148

149-
define zeroext i1 @test9(i32 %a) {
149+
define zeroext i1 @test9(i32 signext %a) {
150150
; CHECK-LABEL: test9:
151151
; CHECK: # %bb.0: # %entry
152152
; CHECK-NEXT: extsb 4, 3
@@ -161,13 +161,11 @@ entry:
161161
ret i1 %cmp
162162
}
163163

164-
define zeroext i1 @test10(i16 %a) {
164+
define zeroext i1 @test10(i16 signext %a) {
165165
; CHECK-LABEL: test10:
166166
; CHECK: # %bb.0: # %entry
167-
; CHECK-NEXT: clrlwi 4, 3, 16
168-
; CHECK-NEXT: extsb 3, 3
169-
; CHECK-NEXT: clrlwi 3, 3, 16
170-
; CHECK-NEXT: xor 3, 4, 3
167+
; CHECK-NEXT: extsb 4, 3
168+
; CHECK-NEXT: xor 3, 3, 4
171169
; CHECK-NEXT: cntlzw 3, 3
172170
; CHECK-NEXT: srwi 3, 3, 5
173171
; CHECK-NEXT: xori 3, 3, 1

0 commit comments

Comments
 (0)