mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-17 21:35:07 +00:00
ARM assembly parsing for data type suffices on NEON VMOV aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144722 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
de631128d6
commit
5b2fb2083c
@ -2041,9 +2041,26 @@ multiclass VFPDT64InstAlias<string opc, string asm, dag Result> {
|
|||||||
def _64 : VFPDataTypeInstAlias<opc, ".64", asm, Result>;
|
def _64 : VFPDataTypeInstAlias<opc, ".64", asm, Result>;
|
||||||
defm : VFPDT64ReqInstAlias<opc, asm, Result>;
|
defm : VFPDT64ReqInstAlias<opc, asm, Result>;
|
||||||
}
|
}
|
||||||
|
multiclass VFPDT64NoF64ReqInstAlias<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 D : VFPDataTypeInstAlias<opc, ".d", asm, Result>;
|
||||||
|
}
|
||||||
|
// VFPDT64ReqInstAlias plus plain ".64"
|
||||||
|
multiclass VFPDT64NoF64InstAlias<string opc, string asm, dag Result> {
|
||||||
|
def _64 : VFPDataTypeInstAlias<opc, ".64", asm, Result>;
|
||||||
|
defm : VFPDT64ReqInstAlias<opc, asm, Result>;
|
||||||
|
}
|
||||||
multiclass VFPDTAnyInstAlias<string opc, string asm, dag Result> {
|
multiclass VFPDTAnyInstAlias<string opc, string asm, dag Result> {
|
||||||
defm : VFPDT8InstAlias<opc, asm, Result>;
|
defm : VFPDT8InstAlias<opc, asm, Result>;
|
||||||
defm : VFPDT16InstAlias<opc, asm, Result>;
|
defm : VFPDT16InstAlias<opc, asm, Result>;
|
||||||
defm : VFPDT32InstAlias<opc, asm, Result>;
|
defm : VFPDT32InstAlias<opc, asm, Result>;
|
||||||
defm : VFPDT64InstAlias<opc, asm, Result>;
|
defm : VFPDT64InstAlias<opc, asm, Result>;
|
||||||
}
|
}
|
||||||
|
multiclass VFPDTAnyNoF64InstAlias<string opc, string asm, dag Result> {
|
||||||
|
defm : VFPDT8InstAlias<opc, asm, Result>;
|
||||||
|
defm : VFPDT16InstAlias<opc, asm, Result>;
|
||||||
|
defm : VFPDT32InstAlias<opc, asm, Result>;
|
||||||
|
defm : VFPDT64NoF64InstAlias<opc, asm, Result>;
|
||||||
|
}
|
||||||
|
@ -4469,6 +4469,10 @@ def : InstAlias<"vmov${p} $Vd, $Vm",
|
|||||||
(VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
|
(VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
|
||||||
def : InstAlias<"vmov${p} $Vd, $Vm",
|
def : InstAlias<"vmov${p} $Vd, $Vm",
|
||||||
(VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
|
(VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
|
||||||
|
defm : VFPDTAnyNoF64InstAlias<"vmov${p}", "$Vd, $Vm",
|
||||||
|
(VORRd DPR:$Vd, DPR:$Vm, DPR:$Vm, pred:$p)>;
|
||||||
|
defm : VFPDTAnyNoF64InstAlias<"vmov${p}", "$Vd, $Vm",
|
||||||
|
(VORRq QPR:$Vd, QPR:$Vm, QPR:$Vm, pred:$p)>;
|
||||||
|
|
||||||
// VMOV : Vector Move (Immediate)
|
// VMOV : Vector Move (Immediate)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user