diff options
author | Jim Grosbach <grosbach@apple.com> | 2011-11-14 22:28:39 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2011-11-14 22:28:39 +0000 |
commit | 02e3d9268fe456ebe4fe6ae277507bb7933ec3df (patch) | |
tree | 3028eb299e2e5eee648158ee99b2aea77e18166c /lib/Target/ARM/ARMInstrFormats.td | |
parent | f7228f703886834f5e3822d084481f524f62930f (diff) | |
download | llvm-02e3d9268fe456ebe4fe6ae277507bb7933ec3df.tar.gz llvm-02e3d9268fe456ebe4fe6ae277507bb7933ec3df.tar.bz2 llvm-02e3d9268fe456ebe4fe6ae277507bb7933ec3df.tar.xz |
ARM assembly parsing type suffix options for VLDR/VSTR.
rdar://10435076
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144575 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrFormats.td')
-rw-r--r-- | lib/Target/ARM/ARMInstrFormats.td | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td index 12cb4640f6..6d5b6a4615 100644 --- a/lib/Target/ARM/ARMInstrFormats.td +++ b/lib/Target/ARM/ARMInstrFormats.td @@ -1991,3 +1991,22 @@ class NVDupLane<bits<4> op19_16, bit op6, dag oops, dag iops, class NEONFPPat<dag pattern, dag result> : Pat<pattern, result> { list<Predicate> Predicates = [HasNEON,UseNEONForFP]; } + +// VFP/NEON Instruction aliases for type suffices. +class VFPDataTypeInstAlias<string opc, string dt, string asm, dag Result> : + InstAlias<!strconcat(opc, dt, asm), Result>; +multiclass VFPDT32InstAlias<string opc, string asm, dag Result> { + def I32 : VFPDataTypeInstAlias<opc, ".i32", asm, Result>; + def S32 : VFPDataTypeInstAlias<opc, ".s32", asm, Result>; + def U32 : VFPDataTypeInstAlias<opc, ".u32", asm, Result>; + def F32 : VFPDataTypeInstAlias<opc, ".f32", asm, Result>; + def F : VFPDataTypeInstAlias<opc, ".f", asm, Result>; +} +multiclass VFPDT64InstAlias<string opc, string asm, dag Result> { + def I64 : VFPDataTypeInstAlias<opc, ".i64", asm, Result>; + def S64 : VFPDataTypeInstAlias<opc, ".s64", asm, Result>; + def U64 : VFPDataTypeInstAlias<opc, ".u64", asm, Result>; + def F64 : VFPDataTypeInstAlias<opc, ".f64", asm, Result>; + def D : VFPDataTypeInstAlias<opc, ".d", asm, Result>; +} + |