Skip to content

Commit 5f9edb3

Browse files
add tricore tc1.8 instructions:
div64 div64.u rem64 rem64.u
1 parent fed260d commit 5f9edb3

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

llvm/lib/Target/TriCore/TriCoreInstrInfo.td

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -815,6 +815,12 @@ multiclass mI_U_RR_Eab<bits<8> op1, bits<8> op2, bits<8> op3, bits<8> op4,
815815
def _U_rr # posfix : IRR_dab<op3, op4, asmstr # ".u", RE>;
816816
}
817817

818+
multiclass mI_U_RR_Eab_n<bits<8> op1, bits<8> op2, bits<8> op3, bits<8> op4, bits<2> n,
819+
string asmstr, string posfix = "", RegisterClass RC1=RD, RegisterClass RC2=RD> {
820+
def _rr # posfix : IRR_dab_n<op1, op2, n, asmstr, RE, RC1, RC2>;
821+
def _U_rr # posfix : IRR_dab_n<op3, op4, n, asmstr # ".u", RE, RC1, RC2>;
822+
}
823+
818824
multiclass mIU_RR_Eab<bits<8> op1, bits<8> op2, bits<8> op3, bits<8> op4,
819825
string asmstr, string posfix = ""> {
820826
def _rr # posfix : IRR_dab<op1, op2, asmstr, RE>;
@@ -831,7 +837,9 @@ defm _B: mIU_RR_Eab <oprefix, opb, oprefix, opbu, asmstr # ".b", posfix>;
831837
defm _H: mIU_RR_Eab <oprefix, oph, oprefix, ophu, asmstr # ".h", posfix>;
832838
}
833839

834-
defm DIV : mI_U_RR_Eab<0x4B, 0x20, 0x4B, 0x21, "div">, Requires<[HasV160_UP]>;
840+
defm DIV : mI_U_RR_Eab_n<0x4B, 0x20, 0x4B, 0x21, 0x1, "div">, Requires<[HasV160_UP]>;
841+
defm DIV64 : mI_U_RR_Eab_n<0x4B, 0x20, 0x4B, 0x21, 0x2, "div64", "", RE, RE>, Requires<[HasV180_UP]>;
842+
defm REM64 : mI_U_RR_Eab_n<0x4B, 0x34, 0x4B, 0x35, 0x2, "rem64", "", RE, RE>, Requires<[HasV180_UP]>;
835843

836844
defm DVINIT : mI_DVINIT_<0x4F, 0x00, 0x01, 0x04, 0x05, 0x02, 0x03, "dvinit", "_v110">, NsRequires<[HasV110]>;
837845
defm DVINIT : mI_DVINIT_<0x4B, 0x1A, 0x0A, 0x5A, 0x4A, 0x3A, 0x2A, "dvinit">, Requires<[HasV120_UP]>;

0 commit comments

Comments
 (0)