summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMInstrFormats.td
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-08-22 18:04:24 +0000
committerJim Grosbach <grosbach@apple.com>2011-08-22 18:04:24 +0000
commita33b31be451472e72e6dd88851061e239ad54606 (patch)
tree938586d075e5708c201018a8e037d5a5606be725 /lib/Target/ARM/ARMInstrFormats.td
parentb113ec55e897c85fda606409c1eedec4f89ec53f (diff)
downloadllvm-a33b31be451472e72e6dd88851061e239ad54606.tar.gz
llvm-a33b31be451472e72e6dd88851061e239ad54606.tar.bz2
llvm-a33b31be451472e72e6dd88851061e239ad54606.tar.xz
Clean up predicates on ARM target instruction aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138249 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrFormats.td')
-rw-r--r--lib/Target/ARM/ARMInstrFormats.td11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td
index 0f4b2648cf..eba55944d2 100644
--- a/lib/Target/ARM/ARMInstrFormats.td
+++ b/lib/Target/ARM/ARMInstrFormats.td
@@ -219,9 +219,20 @@ def shr_imm64 : Operand<i32> {
}
//===----------------------------------------------------------------------===//
+// ARM Assembler alias templates.
+//
+class ARMInstAlias<string Asm, dag Result, bit Emit = 0b1>
+ : InstAlias<Asm, Result, Emit>, Requires<[IsARM]>;
+class tInstAlias<string Asm, dag Result, bit Emit = 0b1>
+ : InstAlias<Asm, Result, Emit>, Requires<[IsThumb]>;
+class t2InstAlias<string Asm, dag Result, bit Emit = 0b1>
+ : InstAlias<Asm, Result, Emit>, Requires<[IsThumb2]>;
+
+//===----------------------------------------------------------------------===//
// ARM Instruction templates.
//
+
class InstTemplate<AddrMode am, int sz, IndexMode im,
Format f, Domain d, string cstr, InstrItinClass itin>
: Instruction {