summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-10-07 22:14:01 +0000
committerJim Grosbach <grosbach@apple.com>2010-10-07 22:14:01 +0000
commit0e99219e03b1e41addb374edbe7b6098f7c071a3 (patch)
tree9eaa0ebf27635b9f59e7288cad09aa51cca39d5f
parentd6d4b42ba473657b6d30242962f0d0fb23fe126e (diff)
downloadllvm-0e99219e03b1e41addb374edbe7b6098f7c071a3.tar.gz
llvm-0e99219e03b1e41addb374edbe7b6098f7c071a3.tar.bz2
llvm-0e99219e03b1e41addb374edbe7b6098f7c071a3.tar.xz
Move checking for t2MOVCCi16 to the right place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115994 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--utils/TableGen/ARMDecoderEmitter.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/TableGen/ARMDecoderEmitter.cpp b/utils/TableGen/ARMDecoderEmitter.cpp
index 7c4de494c7..02218c6291 100644
--- a/utils/TableGen/ARMDecoderEmitter.cpp
+++ b/utils/TableGen/ARMDecoderEmitter.cpp
@@ -1610,13 +1610,13 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
// better off using the generic RSCri and RSCrs instructions.
if (Name == "RSCSri" || Name == "RSCSrs") return false;
- // MOVCCr, MOVCCs, MOVCCi, MOVCCi16, t2MOVCCi16, FCYPScc, FCYPDcc,
- // FNEGScc, and FNEGDcc are used in the compiler to implement CMOVs.
+ // MOVCCr, MOVCCs, MOVCCi, MOVCCi16, FCYPScc, FCYPDcc, FNEGScc, and
+ // FNEGDcc are used in the compiler to implement conditional moves.
// We can ignore them in favor of their more generic versions of
// instructions. See also SDNode *ARMDAGToDAGISel::Select(SDValue Op).
- if (Name == "MOVCCr" || Name == "MOVCCs" || Name == "MOVCCi" ||
- Name == "MOVCCi16" || Name == "t2MOVCCi16" || Name == "FCPYScc" ||
- Name == "FCPYDcc" || Name == "FNEGScc" || Name == "FNEGDcc")
+ if (Name == "MOVCCr" || Name == "MOVCCs" || Name == "MOVCCi" ||
+ Name == "MOVCCi16" || Name == "FCPYScc" || Name == "FCPYDcc" ||
+ Name == "FNEGScc" || Name == "FNEGDcc")
return false;
// Ditto for VMOVDcc, VMOVScc, VNEGDcc, and VNEGScc.
@@ -1734,6 +1734,7 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
// tLDRcp conflicts with tLDRspi
// tRestore conflicts with tLDRspi
// t2LEApcrelJT conflicts with t2LEApcrel
+ // t2MOVCCi16 conflicts with tMOVi16
if (Name == "tBfar" ||
/* Name == "tCMNz" || */ Name == "tCMPzi8" || Name == "tCMPzr" ||
Name == "tCMPzhir" || /* Name == "t2CMNzrr" || Name == "t2CMNzrs" ||
@@ -1741,7 +1742,7 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
Name == "t2CMPzri" || Name == "tPOP_RET" || Name == "t2LDM_RET" ||
Name == "tMOVCCi" || Name == "tMOVCCr" || Name == "tBR_JTr" ||
Name == "tSpill" || Name == "tLDRcp" || Name == "tRestore" ||
- Name == "t2LEApcrelJT")
+ Name == "t2LEApcrelJT" || Name == "t2MOVCCi16")
return false;
}