ARM Implement ARM ARM Table A7-3 via TokenAlias.
authorJim Grosbach <grosbach@apple.com>
Wed, 7 Dec 2011 01:17:58 +0000 (01:17 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 7 Dec 2011 01:17:58 +0000 (01:17 +0000)
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

lib/Target/ARM/ARMInstrFormats.td

index 27f2b67fcd9c010773f79901c1523970cd7a27f3..7bfd5f5cba86058d4c6c104b0d03ecc1e3b11129 100644 (file)
@@ -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">;