mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
ARM: stop passing unused values up the TableGen hierarchy.
It's bad enough that I have to look up 5 different levels of TableGen class definitions to work out what bits go where in a simple NEON instruction anyway, without having to keep track of umpteen unused parameters. llvm-svn: 207420
This commit is contained in:
parent
4d0ea07e27
commit
21c22ee6cd
@ -2029,7 +2029,7 @@ class N2V<bits<2> op24_23, bits<2> op21_20, bits<2> op19_18, bits<2> op17_16,
|
||||
// Same as N2V but not predicated.
|
||||
class N2Vnp<bits<2> op19_18, bits<2> op17_16, bits<3> op10_8, bit op7, bit op6,
|
||||
dag oops, dag iops, InstrItinClass itin, string OpcodeStr,
|
||||
string Dt, ValueType ResTy, ValueType OpTy, list<dag> pattern>
|
||||
string Dt, list<dag> pattern>
|
||||
: NeonInp<oops, iops, AddrModeNone, IndexModeNone, N2RegFrm, itin,
|
||||
OpcodeStr, Dt, "$Vd, $Vm", "", pattern> {
|
||||
bits<5> Vd;
|
||||
@ -2138,8 +2138,7 @@ class N3V<bit op24, bit op23, bits<2> op21_20, bits<4> op11_8, bit op6, bit op4,
|
||||
|
||||
class N3Vnp<bits<5> op27_23, bits<2> op21_20, bits<4> op11_8, bit op6,
|
||||
bit op4, dag oops, dag iops,Format f, InstrItinClass itin,
|
||||
string OpcodeStr, string Dt, ValueType ResTy, ValueType OpTy,
|
||||
SDPatternOperator IntOp, bit Commutable, list<dag> pattern>
|
||||
string OpcodeStr, string Dt, list<dag> pattern>
|
||||
: NeonInp<oops, iops, AddrModeNone, IndexModeNone, f, itin, OpcodeStr,
|
||||
Dt, "$Vd, $Vn, $Vm", "", pattern> {
|
||||
bits<5> Vd;
|
||||
|
@ -2456,14 +2456,14 @@ class N2VDIntnp<bits<2> op17_16, bits<3> op10_8, bit op7,
|
||||
InstrItinClass itin, string OpcodeStr, string Dt,
|
||||
ValueType ResTy, ValueType OpTy, SDPatternOperator IntOp>
|
||||
: N2Vnp<0b10, op17_16, op10_8, op7, 0, (outs DPR:$Vd), (ins DPR:$Vm),
|
||||
itin, OpcodeStr, Dt, ResTy, OpTy,
|
||||
itin, OpcodeStr, Dt,
|
||||
[(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vm))))]>;
|
||||
|
||||
class N2VQIntnp<bits<2> op17_16, bits<3> op10_8, bit op7,
|
||||
InstrItinClass itin, string OpcodeStr, string Dt,
|
||||
ValueType ResTy, ValueType OpTy, SDPatternOperator IntOp>
|
||||
: N2Vnp<0b10, op17_16, op10_8, op7, 1, (outs QPR:$Vd), (ins QPR:$Vm),
|
||||
itin, OpcodeStr, Dt, ResTy, OpTy,
|
||||
itin, OpcodeStr, Dt,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
|
||||
|
||||
// Similar to NV2VQIntnp with some more encoding bits exposed (crypto).
|
||||
@ -2471,7 +2471,7 @@ class N2VQIntXnp<bits<2> op19_18, bits<2> op17_16, bits<3> op10_8, bit op6,
|
||||
bit op7, InstrItinClass itin, string OpcodeStr, string Dt,
|
||||
ValueType ResTy, ValueType OpTy, SDPatternOperator IntOp>
|
||||
: N2Vnp<op19_18, op17_16, op10_8, op7, op6, (outs QPR:$Vd), (ins QPR:$Vm),
|
||||
itin, OpcodeStr, Dt, ResTy, OpTy,
|
||||
itin, OpcodeStr, Dt,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vm))))]>;
|
||||
|
||||
// Same as N2VQIntXnp but with Vd as a src register.
|
||||
@ -2480,7 +2480,7 @@ class N2VQIntX2np<bits<2> op19_18, bits<2> op17_16, bits<3> op10_8, bit op6,
|
||||
ValueType ResTy, ValueType OpTy, SDPatternOperator IntOp>
|
||||
: N2Vnp<op19_18, op17_16, op10_8, op7, op6,
|
||||
(outs QPR:$Vd), (ins QPR:$src, QPR:$Vm),
|
||||
itin, OpcodeStr, Dt, ResTy, OpTy,
|
||||
itin, OpcodeStr, Dt,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$src), (OpTy QPR:$Vm))))]> {
|
||||
let Constraints = "$src = $Vd";
|
||||
}
|
||||
@ -2654,7 +2654,6 @@ class N3VDIntnp<bits<5> op27_23, bits<2> op21_20, bits<4> op11_8, bit op6,
|
||||
SDPatternOperator IntOp, bit Commutable>
|
||||
: N3Vnp<op27_23, op21_20, op11_8, op6, op4,
|
||||
(outs DPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
|
||||
ResTy, OpTy, IntOp, Commutable,
|
||||
[(set DPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
|
||||
|
||||
class N3VDIntSL<bits<2> op21_20, bits<4> op11_8, InstrItinClass itin,
|
||||
@ -2708,7 +2707,6 @@ class N3VQIntnp<bits<5> op27_23, bits<2> op21_20, bits<4> op11_8, bit op6,
|
||||
SDPatternOperator IntOp, bit Commutable>
|
||||
: N3Vnp<op27_23, op21_20, op11_8, op6, op4,
|
||||
(outs QPR:$Vd), (ins QPR:$Vn, QPR:$Vm), f, itin, OpcodeStr, Dt,
|
||||
ResTy, OpTy, IntOp, Commutable,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$Vn), (OpTy QPR:$Vm))))]>;
|
||||
|
||||
// Same as N3VQIntnp but with Vd as a src register.
|
||||
@ -2717,8 +2715,8 @@ class N3VQInt3np<bits<5> op27_23, bits<2> op21_20, bits<4> op11_8, bit op6,
|
||||
string Dt, ValueType ResTy, ValueType OpTy,
|
||||
SDPatternOperator IntOp, bit Commutable>
|
||||
: N3Vnp<op27_23, op21_20, op11_8, op6, op4,
|
||||
(outs QPR:$Vd), (ins QPR:$src, QPR:$Vn, QPR:$Vm), f, itin, OpcodeStr,
|
||||
Dt, ResTy, OpTy, IntOp, Commutable,
|
||||
(outs QPR:$Vd), (ins QPR:$src, QPR:$Vn, QPR:$Vm),
|
||||
f, itin, OpcodeStr, Dt,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy QPR:$src), (OpTy QPR:$Vn),
|
||||
(OpTy QPR:$Vm))))]> {
|
||||
let Constraints = "$src = $Vd";
|
||||
@ -3038,7 +3036,6 @@ class N3VLIntnp<bits<5> op27_23, bits<2> op21_20, bits<4> op11_8, bit op6,
|
||||
SDPatternOperator IntOp, bit Commutable>
|
||||
: N3Vnp<op27_23, op21_20, op11_8, op6, op4,
|
||||
(outs QPR:$Vd), (ins DPR:$Vn, DPR:$Vm), N3RegFrm, itin, OpcodeStr, Dt,
|
||||
ResTy, OpTy, IntOp, Commutable,
|
||||
[(set QPR:$Vd, (ResTy (IntOp (OpTy DPR:$Vn), (OpTy DPR:$Vm))))]>;
|
||||
|
||||
class N3VLIntSL<bit op24, bits<2> op21_20, bits<4> op11_8, InstrItinClass itin,
|
||||
|
Loading…
x
Reference in New Issue
Block a user