mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 21:32:10 +00:00
ARM: Add VACLT and VACLE assembly aliases.
These are aliases for VACGT and VACGE, respectively, with the source operands reversed. rdar://13638090 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179575 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
23e00ae631
commit
d0132ba722
@ -4316,6 +4316,24 @@ def VACGTq : N3VQInt<1, 0, 0b10, 0b1110, 1, N3RegFrm, IIC_VBINQ, "vacgt",
|
||||
defm VTST : N3V_QHS<0, 0, 0b1000, 1, IIC_VBINi4D, IIC_VBINi4D, IIC_VBINi4Q,
|
||||
IIC_VBINi4Q, "vtst", "", NEONvtst, 1>;
|
||||
|
||||
def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
|
||||
(VACGTd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
|
||||
def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vn, $Vm",
|
||||
(VACGTq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
|
||||
def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
|
||||
(VACGEd DPR:$Vd, DPR:$Vm, DPR:$Vn, pred:$p)>;
|
||||
def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vn, $Vm",
|
||||
(VACGEq QPR:$Vd, QPR:$Vm, QPR:$Vn, pred:$p)>;
|
||||
|
||||
def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vm",
|
||||
(VACGTd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
|
||||
def: NEONInstAlias<"vaclt${p}.f32 $Vd, $Vm",
|
||||
(VACGTq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
|
||||
def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vm",
|
||||
(VACGEd DPR:$Vd, DPR:$Vm, DPR:$Vd, pred:$p)>;
|
||||
def: NEONInstAlias<"vacle${p}.f32 $Vd, $Vm",
|
||||
(VACGEq QPR:$Vd, QPR:$Vm, QPR:$Vd, pred:$p)>;
|
||||
|
||||
// Vector Bitwise Operations.
|
||||
|
||||
def vnotd : PatFrag<(ops node:$in),
|
||||
|
@ -4745,6 +4745,7 @@ StringRef ARMAsmParser::splitMnemonic(StringRef Mnemonic,
|
||||
Mnemonic == "mls" || Mnemonic == "smmls" || Mnemonic == "vcls" ||
|
||||
Mnemonic == "vmls" || Mnemonic == "vnmls" || Mnemonic == "vacge" ||
|
||||
Mnemonic == "vcge" || Mnemonic == "vclt" || Mnemonic == "vacgt" ||
|
||||
Mnemonic == "vaclt" || Mnemonic == "vacle" ||
|
||||
Mnemonic == "vcgt" || Mnemonic == "vcle" || Mnemonic == "smlal" ||
|
||||
Mnemonic == "umaal" || Mnemonic == "umlal" || Mnemonic == "vabal" ||
|
||||
Mnemonic == "vmlal" || Mnemonic == "vpadal" || Mnemonic == "vqdmlal" ||
|
||||
|
@ -174,3 +174,24 @@
|
||||
@ CHECK: vcge.u16 q8, q9, q8 @ encoding: [0xf0,0x03,0x52,0xf3]
|
||||
@ CHECK: vcge.u32 q8, q9, q8 @ encoding: [0xf0,0x03,0x62,0xf3]
|
||||
@ CHECK: vcge.f32 q8, q9, q8 @ encoding: [0xe0,0x0e,0x42,0xf3]
|
||||
|
||||
|
||||
@ VACLT is an alias for VACGT w/ the source operands reversed.
|
||||
@ VACLE is an alias for VACGE w/ the source operands reversed.
|
||||
vaclt.f32 q9, q11, q12
|
||||
vaclt.f32 d9, d11, d12
|
||||
vaclt.f32 q11, q12
|
||||
vaclt.f32 d11, d12
|
||||
vacle.f32 q9, q11, q12
|
||||
vacle.f32 d9, d11, d12
|
||||
vacle.f32 q11, q12
|
||||
vacle.f32 d11, d12
|
||||
|
||||
@ CHECK: vacgt.f32 q9, q12, q11 @ encoding: [0xf6,0x2e,0x68,0xf3]
|
||||
@ CHECK: vacgt.f32 d9, d12, d11 @ encoding: [0x1b,0x9e,0x2c,0xf3]
|
||||
@ CHECK: vacgt.f32 q11, q12, q11 @ encoding: [0xf6,0x6e,0x68,0xf3]
|
||||
@ CHECK: vacgt.f32 d11, d12, d11 @ encoding: [0x1b,0xbe,0x2c,0xf3]
|
||||
@ CHECK: vacge.f32 q9, q12, q11 @ encoding: [0xf6,0x2e,0x48,0xf3]
|
||||
@ CHECK: vacge.f32 d9, d12, d11 @ encoding: [0x1b,0x9e,0x0c,0xf3]
|
||||
@ CHECK: vacge.f32 q11, q12, q11 @ encoding: [0xf6,0x6e,0x48,0xf3]
|
||||
@ CHECK: vacge.f32 d11, d12, d11 @ encoding: [0x1b,0xbe,0x0c,0xf3]
|
||||
|
Loading…
Reference in New Issue
Block a user