diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td')
-rw-r--r-- | contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td b/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td index e9a4289..13216be 100644 --- a/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td +++ b/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td @@ -11,6 +11,25 @@ // //===----------------------------------------------------------------------===// +class R6MMR6Rel; + +def MipsR62MicroMipsR6 : InstrMapping { + let FilterClass = "R6MMR6Rel"; + // Instructions with the same BaseOpcode and isNVStore values form a row. + let RowFields = ["BaseOpcode"]; + // Instructions with the same predicate sense form a column. + let ColFields = ["Arch"]; + // The key column is the unpredicated instructions. + let KeyCol = ["mipsr6"]; + // Value columns are PredSense=true and PredSense=false + let ValueCols = [["mipsr6"], ["micromipsr6"]]; +} + +class MipsR6Arch<string opstr> { + string Arch = "mipsr6"; + string BaseOpcode = opstr; +} + class MipsR6Inst : MipsInst<(outs), (ins), "", [], NoItinerary, FrmOther>, PredicateControl { let DecoderNamespace = "Mips32r6_64r6"; |