1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00

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

rdar://14194152

llvm-svn: 184244
This commit is contained in:
Jim Grosbach 2013-06-18 21:49:21 +00:00
parent 396d02068a
commit 0f0c0ac8be
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]