Home | History | Annotate | Line # | Download | only in mips
      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.1.2  christos   int64_t prod = (U8_4 (VL4_8 (HI), VL4_8 (LO))
     12  1.1.1.2  christos 		   + ((int64_t) EXTEND32 (GPR[RT])
     13  1.1.1.2  christos 		      * (int64_t) 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.1.2  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.1.2  christos   uint64_t prod = (U8_4 (VL4_8 (HI), VL4_8 (LO))
     30  1.1.1.2  christos 		     + ((uint64_t) VL4_8 (GPR[RS])
     31  1.1.1.2  christos 			* (uint64_t) 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.1.2  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