Ignore decode table conflicts in the tMOVgpr2tgpr, tMOVgpr2gpr, and tMOVtgpr2gpr
authorBill Wendling <isanbard@gmail.com>
Fri, 3 Dec 2010 01:55:30 +0000 (01:55 +0000)
committerBill Wendling <isanbard@gmail.com>
Fri, 3 Dec 2010 01:55:30 +0000 (01:55 +0000)
instructions. They are handled as special moves, but encoded as a normal move.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120779 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/ARMDecoderEmitter.cpp

index 64e25c9ad8c344baa3fd374d37cd676cc5950ca7..22b2c037368dffb0fafcc1aabc2a0c64b3094703 100644 (file)
@@ -1731,6 +1731,13 @@ ARMDEBackend::populateInstruction(const CodeGenInstruction &CGI,
         Name == "tSpill" || Name == "tLDRcp" || Name == "tRestore" ||
         Name == "t2LEApcrelJT" || Name == "t2MOVCCi16")
       return false;
+
+    // tMOVgpr2tgpr, tMOVgpr2gpr, and tMOVtgpr2gpr are used by the code
+    // generator for special kinds of moves, but are encoded the same. Safely
+    // ignore them here.
+    if (Name == "tMOVgpr2tgpr" || Name == "tMOVgpr2gpr" ||
+        Name == "tMOVtgpr2gpr")
+      return false;
   }
 
   // Dumps the instruction encoding format.