Use sltiu instead of sltu when a register operand and immediate are compared.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Akira Hatanaka 2011-10-11 20:44:43 +00:00
parent fbab2206cf
commit b07a3d6897
2 changed files with 2 additions and 2 deletions

View File

@ -242,7 +242,7 @@ defm : BrcondPats<CPU64Regs, BEQ64, BNE64, SLT64, SLTu64, SLTi64, SLTiu64,
// setcc patterns
def : Pat<(seteq CPU64Regs:$lhs, CPU64Regs:$rhs),
(SLTu64 (DXOR CPU64Regs:$lhs, CPU64Regs:$rhs), 1)>;
(SLTiu64 (DXOR CPU64Regs:$lhs, CPU64Regs:$rhs), 1)>;
def : Pat<(setne CPU64Regs:$lhs, CPU64Regs:$rhs),
(SLTu64 ZERO_64, (DXOR CPU64Regs:$lhs, CPU64Regs:$rhs))>;

View File

@ -954,7 +954,7 @@ defm : MovnPats<CPURegs, MOVN_I>;
// setcc patterns
def : Pat<(seteq CPURegs:$lhs, CPURegs:$rhs),
(SLTu (XOR CPURegs:$lhs, CPURegs:$rhs), 1)>;
(SLTiu (XOR CPURegs:$lhs, CPURegs:$rhs), 1)>;
def : Pat<(setne CPURegs:$lhs, CPURegs:$rhs),
(SLTu ZERO, (XOR CPURegs:$lhs, CPURegs:$rhs))>;