1*29584Ssam /* Aadd3.c 1.1 86/07/20 */ 2*29584Ssam 3*29584Ssam #include "../tahoealign/align.h" 4*29584Ssam add3(infop) process_info *infop; 5*29584Ssam /* 6*29584Ssam /* Add , 3 operands. 7*29584Ssam /* 8*29584Ssam /*****************************************/ 9*29584Ssam { 10*29584Ssam 11*29584Ssam register long Register_12; /* Has to be first reg ! */ 12*29584Ssam register long data0, data1, result; 13*29584Ssam 14*29584Ssam data0 = operand(infop,0)->data; 15*29584Ssam data1 = operand(infop,1)->data; 16*29584Ssam Register_12=psl; 17*29584Ssam Set_psl(r12); /* restore the user psl */ 18*29584Ssam result = data0 + data1; /* 32 bits of true result */ 19*29584Ssam asm (" movpsl r12"); 20*29584Ssam New_cc (Register_12); 21*29584Ssam write_back (infop,result, operand(infop,2) ); 22*29584Ssam } 23