mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-24 08:24:33 +00:00
Add correct NEON encodings for vsra and vrsra.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117458 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1730,18 +1730,18 @@ class N2VNSh<bit op24, bit op23, bits<4> op11_8, bit op7, bit op6, bit op4,
|
||||
// both double- and quad-register.
|
||||
class N2VDShAdd<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
|
||||
string OpcodeStr, string Dt, ValueType Ty, SDNode ShOp>
|
||||
: N2VImm<op24, op23, op11_8, op7, 0, op4, (outs DPR:$dst),
|
||||
(ins DPR:$src1, DPR:$src2, i32imm:$SIMM), N2RegVShRFrm, IIC_VPALiD,
|
||||
OpcodeStr, Dt, "$dst, $src2, $SIMM", "$src1 = $dst",
|
||||
[(set DPR:$dst, (Ty (add DPR:$src1,
|
||||
(Ty (ShOp DPR:$src2, (i32 imm:$SIMM))))))]>;
|
||||
: N2VImm<op24, op23, op11_8, op7, 0, op4, (outs DPR:$Vd),
|
||||
(ins DPR:$src1, DPR:$Vm, i32imm:$SIMM), N2RegVShRFrm, IIC_VPALiD,
|
||||
OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
|
||||
[(set DPR:$Vd, (Ty (add DPR:$src1,
|
||||
(Ty (ShOp DPR:$Vm, (i32 imm:$SIMM))))))]>;
|
||||
class N2VQShAdd<bit op24, bit op23, bits<4> op11_8, bit op7, bit op4,
|
||||
string OpcodeStr, string Dt, ValueType Ty, SDNode ShOp>
|
||||
: N2VImm<op24, op23, op11_8, op7, 1, op4, (outs QPR:$dst),
|
||||
(ins QPR:$src1, QPR:$src2, i32imm:$SIMM), N2RegVShRFrm, IIC_VPALiD,
|
||||
OpcodeStr, Dt, "$dst, $src2, $SIMM", "$src1 = $dst",
|
||||
[(set QPR:$dst, (Ty (add QPR:$src1,
|
||||
(Ty (ShOp QPR:$src2, (i32 imm:$SIMM))))))]>;
|
||||
: N2VImm<op24, op23, op11_8, op7, 1, op4, (outs QPR:$Vd),
|
||||
(ins QPR:$src1, QPR:$Vm, i32imm:$SIMM), N2RegVShRFrm, IIC_VPALiD,
|
||||
OpcodeStr, Dt, "$Vd, $Vm, $SIMM", "$src1 = $Vd",
|
||||
[(set QPR:$Vd, (Ty (add QPR:$src1,
|
||||
(Ty (ShOp QPR:$Vm, (i32 imm:$SIMM))))))]>;
|
||||
|
||||
// Shift by immediate and insert,
|
||||
// both double- and quad-register.
|
||||
|
Reference in New Issue
Block a user