summaryrefslogtreecommitdiff
path: root/lib/Target/AArch64
diff options
context:
space:
mode:
authorArtyom Skrobov <Artyom.Skrobov@arm.com>2014-05-29 11:34:50 +0000
committerArtyom Skrobov <Artyom.Skrobov@arm.com>2014-05-29 11:34:50 +0000
commit897fd5f0edd15ddfc569d3f4ff2a4bcbbb644af2 (patch)
tree4311f1f522bd06f332f060d70c0200cf16605b89 /lib/Target/AArch64
parent684122e84ed10cde3e462ea073345f2d1b165e07 (diff)
downloadllvm-897fd5f0edd15ddfc569d3f4ff2a4bcbbb644af2.tar.gz
llvm-897fd5f0edd15ddfc569d3f4ff2a4bcbbb644af2.tar.bz2
llvm-897fd5f0edd15ddfc569d3f4ff2a4bcbbb644af2.tar.xz
Restore getInvertedCondCode() from the phased-out backend, fixing disassembly for NV
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209803 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64')
-rw-r--r--lib/Target/AArch64/Utils/AArch64BaseInfo.h20
1 files changed, 3 insertions, 17 deletions
diff --git a/lib/Target/AArch64/Utils/AArch64BaseInfo.h b/lib/Target/AArch64/Utils/AArch64BaseInfo.h
index 9e4c389cc2..9d2ce21c96 100644
--- a/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+++ b/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.