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