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