1*45699Sbostic /* Amull3.c 1.2 90/12/04 */ 229621Ssam 3*45699Sbostic #include "align.h" 429621Ssam mull3(infop) process_info *infop; 529621Ssam /* 629621Ssam /* Multiply longwords, 3 operands. 729621Ssam /* 829621Ssam /*****************************************/ 929621Ssam { 1029621Ssam register long Register_12; /* Has to be first reg ! */ 1129621Ssam register long result, data0, data1; 1229621Ssam 1329621Ssam data0 = operand(infop,0)->data; 1429621Ssam data1 = operand(infop,1)->data; 1529621Ssam Register_12=psl; 1629621Ssam Set_psl(r12); /* restore the user psl */ 1729621Ssam result = data0 * data1; 1829621Ssam asm (" movpsl r12"); 1929621Ssam New_cc (Register_12); 2029621Ssam write_back (infop,result, operand(infop,2) ); 2129621Ssam } 22