[PATCH] D35625: Removal of microMIPS64R6
Simon Dardis via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 26 15:31:01 PDT 2017
sdardis requested changes to this revision.
sdardis added a comment.
This revision now requires changes to proceed.
Can you also remove the instruction mappings for the R6 variants of dbitswap, dclo, dclz, dlsa, lld, lwupc and ldpc ?
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:102
let AdditionalPredicates = [NotInMicroMips] in {
def DADDiu : StdMMR6Rel, ArithLogicI<"daddiu", simm16_64, GPR64Opnd,
II_DADDIU, immSExt16, add>,
----------------
This instruction no longer has a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:123-129
def DADD : StdMMR6Rel, ArithLogicR<"dadd", GPR64Opnd, 1, II_DADD>,
ADD_FM<0, 0x2c>, ISA_MIPS3;
def DADDu : StdMMR6Rel, ArithLogicR<"daddu", GPR64Opnd, 1, II_DADDU, add>,
ADD_FM<0, 0x2d>, ISA_MIPS3;
def DSUBu : StdMMR6Rel, ArithLogicR<"dsubu", GPR64Opnd, 0, II_DSUBU, sub>, ADD_FM<0, 0x2f>,
ISA_MIPS3;
def DSUB : StdMMR6Rel, ArithLogicR<"dsub", GPR64Opnd, 0, II_DSUB>, ADD_FM<0, 0x2e>,
----------------
These instructions no longer have a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:144-178
def DSLL : StdMMR6Rel, shift_rotate_imm<"dsll", uimm6, GPR64Opnd, II_DSLL,
shl, immZExt6>,
SRA_FM<0x38, 0>, ISA_MIPS3;
def DSRL : StdMMR6Rel, shift_rotate_imm<"dsrl", uimm6, GPR64Opnd, II_DSRL,
srl, immZExt6>,
SRA_FM<0x3a, 0>, ISA_MIPS3;
def DSRA : StdMMR6Rel, shift_rotate_imm<"dsra", uimm6, GPR64Opnd, II_DSRA,
----------------
These instructions no longer have a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:194-201
let AdditionalPredicates = [NotInMicroMips] in {
def LWu : StdMMR6Rel, MMRel, Load<"lwu", GPR64Opnd, zextloadi32, II_LWU>,
LW_FM<0x27>, ISA_MIPS3;
def LD : StdMMR6Rel, LoadMemory<"ld", GPR64Opnd, mem_simm16, load, II_LD>,
LW_FM<0x37>, ISA_MIPS3;
def SD : StdMMR6Rel, StoreMemory<"sd", GPR64Opnd, mem_simm16, store, II_SD>,
LW_FM<0x3f>, ISA_MIPS3;
----------------
These instructions no longer have a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:224
let AdditionalPredicates = [NotInMicroMips] in {
def LLD : StdMMR6Rel, LLBase<"lld", GPR64Opnd, mem_simm16>, LW_FM<0x34>,
ISA_MIPS3_NOT_32R6_64R6;
----------------
This instruction no longer has a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
================
Comment at: lib/Target/Mips/Mips64InstrInfo.td:302-305
def DCLZ : StdMMR6Rel, CountLeading0<"dclz", GPR64Opnd, II_DCLZ>,
CLO_FM<0x24>, ISA_MIPS64_NOT_64R6;
def DCLO : StdMMR6Rel, CountLeading1<"dclo", GPR64Opnd, II_DCLO>,
CLO_FM<0x25>, ISA_MIPS64_NOT_64R6;
----------------
These instructions no longer have a corresponding microMIPSR6 mapping, so StdMMR6Rel can be removed here.
Repository:
rL LLVM
https://reviews.llvm.org/D35625
More information about the llvm-commits
mailing list