aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2012-03-07 00:52:41 +0000
committerJim Grosbach <grosbach@apple.com>2012-03-07 00:52:41 +0000
commit0104dd3ffd75b9620610b63eaa72f573f5a20752 (patch)
treec8a7501b943cb04073dd5ca38573b75df7f8db4d /lib/Target
parentff3164a1893c61dc0b7169dba9705c2d8e80dfec (diff)
downloadexternal_llvm-0104dd3ffd75b9620610b63eaa72f573f5a20752.zip
external_llvm-0104dd3ffd75b9620610b63eaa72f573f5a20752.tar.gz
external_llvm-0104dd3ffd75b9620610b63eaa72f573f5a20752.tar.bz2
ARM pre-v6 alias for 'nop' to 'mov r0, r0'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152185 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 0b1406e..e216024 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -5252,6 +5252,10 @@ def : ARMInstAlias<"mul${s}${p} $Rn, $Rm",
def : ARMInstAlias<"neg${s}${p} $Rd, $Rm",
(RSBri GPR:$Rd, GPR:$Rm, 0, pred:$p, cc_out:$s)>;
+// Pre-v6, 'mov r0, r0' was used as a NOP encoding.
+def : InstAlias<"nop${p}", (MOVr R0, R0, pred:$p, zero_reg)>,
+ Requires<[IsARM, NoV6]>;
+
// 'it' blocks in ARM mode just validate the predicates. The IT itself
// is discarded.
def ITasm : ARMAsmPseudo<"it$mask $cc", (ins it_pred:$cc, it_mask:$mask)>;