summaryrefslogtreecommitdiffstats
path: root/llvm/lib
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
commit585ce30b8b792a16e1f441381bf4c1d61fef0696 (patch)
tree2181793c970bc350d1b1732b5df295306c66bb37 /llvm/lib
parentb86fdbe7e38a4e71cdda12cce2253e1f3235743a (diff)
downloadbcm5719-llvm-585ce30b8b792a16e1f441381bf4c1d61fef0696.tar.gz
bcm5719-llvm-585ce30b8b792a16e1f441381bf4c1d61fef0696.zip
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 llvm-svn: 146007
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrFormats.td20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrFormats.td b/llvm/lib/Target/ARM/ARMInstrFormats.td
index 27f2b67fcd9..7bfd5f5cba8 100644
--- a/llvm/lib/Target/ARM/ARMInstrFormats.td
+++ b/llvm/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">;
OpenPOWER on IntegriCloud