diff options
| author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-05-29 11:34:50 +0000 |
|---|---|---|
| committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-05-29 11:34:50 +0000 |
| commit | 0d22e2afe712fa777b618d88098e4b090913ee00 (patch) | |
| tree | abf002ea87fbb140a17b053a5c5f6e83348b0daf /llvm/lib/Target/AArch64/Utils | |
| parent | 7e9e31ebaf9d63d921e4e3f3c48a1536c145eebb (diff) | |
| download | bcm5719-llvm-0d22e2afe712fa777b618d88098e4b090913ee00.tar.gz bcm5719-llvm-0d22e2afe712fa777b618d88098e4b090913ee00.zip | |
Restore getInvertedCondCode() from the phased-out backend, fixing disassembly for NV
llvm-svn: 209803
Diffstat (limited to 'llvm/lib/Target/AArch64/Utils')
| -rw-r--r-- | llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h index 9e4c389cc2e..9d2ce21c962 100644 --- a/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h +++ b/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h @@ -233,23 +233,9 @@ inline static const char *getCondCodeName(CondCode Code) { } inline static CondCode getInvertedCondCode(CondCode Code) { - switch (Code) { - default: llvm_unreachable("Unknown condition code"); - case EQ: return NE; - case NE: return EQ; - case HS: return LO; - case LO: return HS; - case MI: return PL; - case PL: return MI; - case VS: return VC; - case VC: return VS; - case HI: return LS; - case LS: return HI; - case GE: return LT; - case LT: return GE; - case GT: return LE; - case LE: return GT; - } + // To reverse a condition it's necessary to only invert the low bit: + + return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1); } /// Given a condition code, return NZCV flags that would satisfy that condition. |

