diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp index 6077c18463240..57daf5833bab4 100644 --- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp @@ -481,7 +481,9 @@ bool ARMBaseInstrInfo::SubsumesPredicate(ArrayRef Pred1, case ARMCC::GE: return CC2 == ARMCC::GT; case ARMCC::LE: - return CC2 == ARMCC::LT; + return CC2 == ARMCC::LT || CC2 == ARMCC::EQ; + case ARMCC::NE: + return CC2 == ARMCC::HI || CC2 == ARMCC::GT; } }