forked from OSchip/llvm-project
[mips][sched] Added class for WSBH
Summary: No functional change since no InstrItinData is provided. Reviewers: vkalintiris Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12190 llvm-svn: 248257
This commit is contained in:
parent
e6f54ef5d0
commit
254f387723
|
@ -805,8 +805,8 @@ let DecoderNamespace = "MicroMips", Predicates = [InMicroMips] in {
|
|||
SEB_FM_MM<0x0ec>, ISA_MIPS32R2;
|
||||
|
||||
/// Word Swap Bytes Within Halfwords
|
||||
def WSBH_MM : MMRel, SubwordSwap<"wsbh", GPR32Opnd>, SEB_FM_MM<0x1ec>,
|
||||
ISA_MIPS32R2;
|
||||
def WSBH_MM : MMRel, SubwordSwap<"wsbh", GPR32Opnd, II_WSBH>,
|
||||
SEB_FM_MM<0x1ec>, ISA_MIPS32R2;
|
||||
|
||||
def EXT_MM : MMRel, ExtBase<"ext", GPR32Opnd, uimm5, MipsExt>,
|
||||
EXT_FM_MM<0x2c>;
|
||||
|
|
|
@ -1048,9 +1048,10 @@ class SignExtInReg<string opstr, ValueType vt, RegisterOperand RO,
|
|||
[(set RO:$rd, (sext_inreg RO:$rt, vt))], itin, FrmR, opstr>;
|
||||
|
||||
// Subword Swap
|
||||
class SubwordSwap<string opstr, RegisterOperand RO>:
|
||||
InstSE<(outs RO:$rd), (ins RO:$rt), !strconcat(opstr, "\t$rd, $rt"), [],
|
||||
NoItinerary, FrmR, opstr> {
|
||||
class SubwordSwap<string opstr, RegisterOperand RO,
|
||||
InstrItinClass itin = NoItinerary>:
|
||||
InstSE<(outs RO:$rd), (ins RO:$rt), !strconcat(opstr, "\t$rd, $rt"), [], itin,
|
||||
FrmR, opstr> {
|
||||
let hasSideEffects = 0;
|
||||
}
|
||||
|
||||
|
@ -1497,7 +1498,8 @@ def CLO : MMRel, CountLeading1<"clo", GPR32Opnd>, CLO_FM<0x21>,
|
|||
ISA_MIPS32_NOT_32R6_64R6;
|
||||
|
||||
/// Word Swap Bytes Within Halfwords
|
||||
def WSBH : MMRel, SubwordSwap<"wsbh", GPR32Opnd>, SEB_FM<2, 0x20>, ISA_MIPS32R2;
|
||||
def WSBH : MMRel, SubwordSwap<"wsbh", GPR32Opnd, II_WSBH>, SEB_FM<2, 0x20>,
|
||||
ISA_MIPS32R2;
|
||||
|
||||
/// No operation.
|
||||
def NOP : PseudoSE<(outs), (ins), []>, PseudoInstExpansion<(SLL ZERO, ZERO, 0)>;
|
||||
|
|
|
@ -176,6 +176,7 @@ def II_SWR : InstrItinClass;
|
|||
def II_SWRE : InstrItinClass;
|
||||
def II_SWXC1 : InstrItinClass;
|
||||
def II_TRUNC : InstrItinClass;
|
||||
def II_WSBH : InstrItinClass;
|
||||
def II_XOR : InstrItinClass;
|
||||
def II_XORI : InstrItinClass;
|
||||
|
||||
|
|
Loading…
Reference in New Issue