diff options
author | Simon Dardis <simon.dardis@imgtec.com> | 2016-06-27 14:55:07 +0000 |
---|---|---|
committer | Simon Dardis <simon.dardis@imgtec.com> | 2016-06-27 14:55:07 +0000 |
commit | b8dc8485c3a6e86730ac06ba40de47345e1ec278 (patch) | |
tree | 53b9e4fdff2ed31c11fe775ac77c98a0d6b1bd32 | |
parent | eb646e0d9be26762b58a45612884626ee71a9825 (diff) | |
download | bcm5719-llvm-b8dc8485c3a6e86730ac06ba40de47345e1ec278.tar.gz bcm5719-llvm-b8dc8485c3a6e86730ac06ba40de47345e1ec278.zip |
[mips] Add instruction itineraries for LSA, DLSA
Reviewers: vkalintiris, dsanders
Differential Review: http://reviews.llvm.org/D21679
llvm-svn: 273883
-rw-r--r-- | llvm/lib/Target/Mips/MipsMSAInstrInfo.td | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/lib/Target/Mips/MipsMSAInstrInfo.td b/llvm/lib/Target/Mips/MipsMSAInstrInfo.td index bf86aa4bb97..deb4345e266 100644 --- a/llvm/lib/Target/Mips/MipsMSAInstrInfo.td +++ b/llvm/lib/Target/Mips/MipsMSAInstrInfo.td @@ -2318,19 +2318,18 @@ class LDI_W_DESC : MSA_I10_LDI_DESC_BASE<"ldi.w", MSA128WOpnd>; class LDI_D_DESC : MSA_I10_LDI_DESC_BASE<"ldi.d", MSA128DOpnd>; class LSA_DESC_BASE<string instr_asm, RegisterOperand RORD, - RegisterOperand RORS = RORD, RegisterOperand RORT = RORD, - InstrItinClass itin = NoItinerary > { + InstrItinClass itin = NoItinerary> { dag OutOperandList = (outs RORD:$rd); - dag InOperandList = (ins RORS:$rs, RORT:$rt, uimm2_plus1:$sa); + dag InOperandList = (ins RORD:$rs, RORD:$rt, uimm2_plus1:$sa); string AsmString = !strconcat(instr_asm, "\t$rd, $rs, $rt, $sa"); - list<dag> Pattern = [(set RORD:$rd, (add RORT:$rt, - (shl RORS:$rs, + list<dag> Pattern = [(set RORD:$rd, (add RORD:$rt, + (shl RORD:$rs, immZExt2Lsa:$sa)))]; InstrItinClass Itinerary = itin; } -class LSA_DESC : LSA_DESC_BASE<"lsa", GPR32Opnd>; -class DLSA_DESC : LSA_DESC_BASE<"dlsa", GPR64Opnd>; +class LSA_DESC : LSA_DESC_BASE<"lsa", GPR32Opnd, II_LSA>; +class DLSA_DESC : LSA_DESC_BASE<"dlsa", GPR64Opnd, II_DLSA>; class MADD_Q_H_DESC : MSA_3RF_4RF_DESC_BASE<"madd_q.h", int_mips_madd_q_h, MSA128HOpnd>; |