ARM: Add optional datatype suffix to NEON mvn asm syntax.

rdar://14194152

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184244 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Grosbach 2013-06-18 21:49:21 +00:00
parent a7bd8549fd
commit a95e3091eb
2 changed files with 45 additions and 1 deletions

View File

@ -6698,12 +6698,17 @@ def VST4qWB_register_Asm_32 :
(ins VecListFourQ:$list, addrmode6:$addr,
rGPR:$Rm, pred:$p)>;
// VMOV takes an optional datatype suffix
// VMOV/VMVN takes an optional datatype suffix
defm : NEONDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
(VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
defm : NEONDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
(VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
defm : NEONDTAnyInstAlias<"vmvn${p}", "$Vd, $Vm",
(VMVNd DPR:$Vd, DPR:$Vm, pred:$p)>;
defm : NEONDTAnyInstAlias<"vmvn${p}", "$Vd, $Vm",
(VMVNq QPR:$Vd, QPR:$Vm, pred:$p)>;
// VCLT (register) is an assembler alias for VCGT w/ the operands reversed.
// D-register versions.
def : NEONInstAlias<"vcle${p}.s8 $Dd, $Dn, $Dm",

View File

@ -128,3 +128,42 @@
@ CHECK: vmov.8 d18[1], r1 @ encoding: [0xb0,0x1b,0x42,0xee]
@ CHECK: vmov.16 d18[1], r1 @ encoding: [0xf0,0x1b,0x02,0xee]
@ CHECK: vmov.32 d18[1], r1 @ encoding: [0x90,0x1b,0x22,0xee]
vmvn.8 d1, d2
vmvn.16 d1, d2
vmvn.32 d1, d2
vmvn.64 d1, d2
vmvn.i8 d1, d2
vmvn.i16 d1, d2
vmvn.i32 d1, d2
vmvn.i64 d1, d2
vmvn.s8 d1, d2
vmvn.s16 d1, d2
vmvn.s32 d1, d2
vmvn.s64 d1, d2
vmvn.u8 d1, d2
vmvn.u16 d1, d2
vmvn.u32 d1, d2
vmvn.u64 d1, d2
vmvn.f32 d1, d2
vmvn.f64 d1, d2
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]
@ CHECK: vmvn d1, d2 @ encoding: [0x82,0x15,0xb0,0xf3]