mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
ARM NEON VCLT(register) is a pseudo aliasing VCGT(register).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146039 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d552a644be
commit
470855b24f
@ -5396,3 +5396,34 @@ defm : VFPDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
|
||||
defm : VFPDTAnyInstAlias<"vmov${p}", "$Vd, $Vm",
|
||||
(VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
|
||||
|
||||
// VCLT (register) is an assembler alias for VCGT w/ the operands reversed.
|
||||
// D-register versions.
|
||||
def : NEONInstAlias<"vclt${p}.s8 $Dd, $Dn, $Dm",
|
||||
(VCGTsv8i8 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.s16 $Dd, $Dn, $Dm",
|
||||
(VCGTsv4i16 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.s32 $Dd, $Dn, $Dm",
|
||||
(VCGTsv2i32 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u8 $Dd, $Dn, $Dm",
|
||||
(VCGTuv8i8 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u16 $Dd, $Dn, $Dm",
|
||||
(VCGTuv4i16 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u32 $Dd, $Dn, $Dm",
|
||||
(VCGTuv2i32 DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.f32 $Dd, $Dn, $Dm",
|
||||
(VCGTfd DPR:$Dd, DPR:$Dm, DPR:$Dn, pred:$p)>;
|
||||
// Q-register versions.
|
||||
def : NEONInstAlias<"vclt${p}.s8 $Qd, $Qn, $Qm",
|
||||
(VCGTsv16i8 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.s16 $Qd, $Qn, $Qm",
|
||||
(VCGTsv8i16 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.s32 $Qd, $Qn, $Qm",
|
||||
(VCGTsv4i32 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u8 $Qd, $Qn, $Qm",
|
||||
(VCGTuv16i8 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u16 $Qd, $Qn, $Qm",
|
||||
(VCGTuv8i16 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.u32 $Qd, $Qn, $Qm",
|
||||
(VCGTuv4i32 QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
def : NEONInstAlias<"vclt${p}.f32 $Qd, $Qn, $Qm",
|
||||
(VCGTfq QPR:$Qd, QPR:$Qm, QPR:$Qn, pred:$p)>;
|
||||
|
@ -111,3 +111,36 @@
|
||||
@ CHECK: vcle.s8 d16, d16, #0 @ encoding: [0xa0,0x01,0xf1,0xf3]
|
||||
@ CHECK: vcgt.s8 d16, d16, #0 @ encoding: [0x20,0x00,0xf1,0xf3]
|
||||
@ CHECK: vclt.s8 d16, d16, #0 @ encoding: [0x20,0x02,0xf1,0xf3]
|
||||
|
||||
|
||||
vclt.s8 q12, q13, q3
|
||||
vclt.s16 q12, q13, q3
|
||||
vclt.s32 q12, q13, q3
|
||||
vclt.u8 q12, q13, q3
|
||||
vclt.u16 q12, q13, q3
|
||||
vclt.u32 q12, q13, q3
|
||||
vclt.f32 q12, q13, q3
|
||||
|
||||
vclt.s8 d12, d13, d3
|
||||
vclt.s16 d12, d13, d3
|
||||
vclt.s32 d12, d13, d3
|
||||
vclt.u8 d12, d13, d3
|
||||
vclt.u16 d12, d13, d3
|
||||
vclt.u32 d12, d13, d3
|
||||
vclt.f32 d12, d13, d3
|
||||
|
||||
@ CHECK: vcgt.s8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf2]
|
||||
@ CHECK: vcgt.s16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf2]
|
||||
@ CHECK: vcgt.s32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf2]
|
||||
@ CHECK: vcgt.u8 q12, q3, q13 @ encoding: [0x6a,0x83,0x46,0xf3]
|
||||
@ CHECK: vcgt.u16 q12, q3, q13 @ encoding: [0x6a,0x83,0x56,0xf3]
|
||||
@ CHECK: vcgt.u32 q12, q3, q13 @ encoding: [0x6a,0x83,0x66,0xf3]
|
||||
@ CHECK: vcgt.f32 q12, q3, q13 @ encoding: [0x6a,0x8e,0x66,0xf3]
|
||||
|
||||
@ CHECK: vcgt.s8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf2]
|
||||
@ CHECK: vcgt.s16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf2]
|
||||
@ CHECK: vcgt.s32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf2]
|
||||
@ CHECK: vcgt.u8 d12, d3, d13 @ encoding: [0x0d,0xc3,0x03,0xf3]
|
||||
@ CHECK: vcgt.u16 d12, d3, d13 @ encoding: [0x0d,0xc3,0x13,0xf3]
|
||||
@ CHECK: vcgt.u32 d12, d3, d13 @ encoding: [0x0d,0xc3,0x23,0xf3]
|
||||
@ CHECK: vcgt.f32 d12, d3, d13 @ encoding: [0x0d,0xce,0x23,0xf3]
|
||||
|
Loading…
Reference in New Issue
Block a user