Home | History | Annotate | Line # | Download | only in mips
tx.igen revision 1.1
      1  1.1  christos // -*- C -*-
      2  1.1  christos //
      3  1.1  christos // toshiba specific instructions.
      4  1.1  christos //
      5  1.1  christos 
      6  1.1  christos 011100,5.RS,5.RT,5.RD,00000000000:MMINORM:::MADD
      7  1.1  christos "madd r<RS>, r<RT>":RD == 0
      8  1.1  christos "madd r<RD>, r<RS>, r<RT>"
      9  1.1  christos *r3900
     10  1.1  christos {
     11  1.1  christos   signed64 prod = (U8_4 (VL4_8 (HI), VL4_8 (LO))
     12  1.1  christos 		   + ((signed64) EXTEND32 (GPR[RT])
     13  1.1  christos 		      * (signed64) EXTEND32 (GPR[RS])));
     14  1.1  christos   check_mult_hilo (SD_, HIHISTORY, LOHISTORY);
     15  1.1  christos   TRACE_ALU_INPUT2 (GPR[RS], GPR[RT]);
     16  1.1  christos   LO = EXTEND32 (prod);
     17  1.1  christos   HI = EXTEND32 (VH4_8 (prod));
     18  1.1  christos   TRACE_ALU_RESULT2 (HI, LO);
     19  1.1  christos   if(RD != 0 )
     20  1.1  christos     GPR[RD] = LO;
     21  1.1  christos }
     22  1.1  christos 
     23  1.1  christos 
     24  1.1  christos 011100,5.RS,5.RT,5.RD,00000000001:MMINORM:::MADDU
     25  1.1  christos "maddu r<RS>, r<RT>":RD == 0
     26  1.1  christos "maddu r<RD>, r<RS>, r<RT>"
     27  1.1  christos *r3900
     28  1.1  christos {
     29  1.1  christos   unsigned64 prod = (U8_4 (VL4_8 (HI), VL4_8 (LO))
     30  1.1  christos 		     + ((unsigned64) VL4_8 (GPR[RS])
     31  1.1  christos 			* (unsigned64) VL4_8 (GPR[RT])));
     32  1.1  christos   check_mult_hilo (SD_, HIHISTORY, LOHISTORY);
     33  1.1  christos   TRACE_ALU_INPUT2 (GPR[RS], GPR[RT]);
     34  1.1  christos   LO = EXTEND32 (prod);
     35  1.1  christos   HI = EXTEND32 (VH4_8 (prod));
     36  1.1  christos   TRACE_ALU_RESULT2 (HI, LO);
     37  1.1  christos   if(RD != 0)
     38  1.1  christos     GPR[RD] = LO;
     39  1.1  christos }
     40  1.1  christos 
     41  1.1  christos 000000,CODE.20,001110::CO1:::SDBBP
     42  1.1  christos "sdbbp"
     43  1.1  christos *r3900:
     44  1.1  christos {
     45  1.1  christos   SignalException (DebugBreakPoint, instruction);
     46  1.1  christos }
     47