diff options
Diffstat (limited to 'llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td')
-rw-r--r-- | llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td b/llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td index 159eefe3979..1540e09efdd 100644 --- a/llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td +++ b/llvm/lib/Target/Mips/MicroMips32r6InstrFormats.td @@ -1032,3 +1032,21 @@ class POOL32B_LDWC2_SDWC2_FM_MMR6<string instr_asm, bits<4> funct> let Inst{11} = 0; let Inst{10-0} = offset; } + +class POOL32C_LL_E_SC_E_FM_MMR6<string instr_asm, bits<4> majorFunc, + bits<3> minorFunc> + : MMR6Arch<instr_asm>, MipsR6Inst { + bits<5> rt; + bits<21> addr; + bits<5> base = addr{20-16}; + bits<9> offset = addr{8-0}; + + bits<32> Inst; + + let Inst{31-26} = 0b011000; + let Inst{25-21} = rt; + let Inst{20-16} = base; + let Inst{15-12} = majorFunc; + let Inst{11-9} = minorFunc; + let Inst{8-0} = offset; +} |