aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2011-12-07 01:17:58 +0000
committerJim Grosbach <grosbach@apple.com>2011-12-07 01:17:58 +0000
commit9f3d220c632a9c18b424248592d2bc7b023956d2 (patch)
tree85300b2856e2b384512c2a19c6df3e68274c99d4 /lib/Target/ARM
parenta3f331bd81f9d468654635df4428ecc8d8ebb5ea (diff)
downloadexternal_llvm-9f3d220c632a9c18b424248592d2bc7b023956d2.zip
external_llvm-9f3d220c632a9c18b424248592d2bc7b023956d2.tar.gz
external_llvm-9f3d220c632a9c18b424248592d2bc7b023956d2.tar.bz2
ARM Implement ARM ARM Table A7-3 via TokenAlias.
Data type suffix aliasing. Previously handled via lots of instruction aliases. Cleanup of those forthcoming. rdar://10435076 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146007 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM')
-rw-r--r--lib/Target/ARM/ARMInstrFormats.td20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td
index 27f2b67..7bfd5f5 100644
--- a/lib/Target/ARM/ARMInstrFormats.td
+++ b/lib/Target/ARM/ARMInstrFormats.td
@@ -2143,3 +2143,23 @@ multiclass NEONDTAnyNoF64AsmPseudoInst<string opc, string asm, dag iops> {
defm _ : NEONDT32AsmPseudoInst<opc, asm, iops>;
defm _ : NEONDT64NoF64AsmPseudoInst<opc, asm, iops>;
}
+
+// Data type suffix token aliases. Implements Table A7-3 in the ARM ARM.
+def : TokenAlias<".s8", ".i8">;
+def : TokenAlias<".u8", ".i8">;
+def : TokenAlias<".s16", ".i16">;
+def : TokenAlias<".u16", ".i16">;
+def : TokenAlias<".s32", ".i32">;
+def : TokenAlias<".u32", ".i32">;
+
+def : TokenAlias<".i8", ".8">;
+def : TokenAlias<".i16", ".16">;
+def : TokenAlias<".i32", ".32">;
+
+def : TokenAlias<".p8", ".8">;
+def : TokenAlias<".p16", ".16">;
+
+def : TokenAlias<".f32", ".32">;
+def : TokenAlias<".f64", ".64">;
+def : TokenAlias<".f", ".f32">;
+def : TokenAlias<".d", ".f64">;