1*29633Ssam /* Ashll.c 1.1 86/07/20 */ 2*29633Ssam 3*29633Ssam 4*29633Ssam #include "../tahoealign/align.h" 5*29633Ssam 6*29633Ssam shll(infop) process_info *infop; 7*29633Ssam /* 8*29633Ssam /* Shift logical left (longword). 9*29633Ssam /* Checks for overflow. 10*29633Ssam /* 11*29633Ssam /*******************************/ 12*29633Ssam { 13*29633Ssam register long Register_12; /* Has to be first reg ! */ 14*29633Ssam register long Register_11; 15*29633Ssam register long Register_10; 16*29633Ssam 17*29633Ssam Register_12 = operand(infop,0)->data; 18*29633Ssam Register_11 = operand(infop,1)->data; 19*29633Ssam Register_10 = psl; 20*29633Ssam Set_psl(r10); /*save the orig CC bits of the psl */ 21*29633Ssam asm(" shll r12,r11,r10"); 22*29633Ssam asm(" movpsl r12"); 23*29633Ssam New_cc (Register_12); 24*29633Ssam write_back (infop, Register_10, operand(infop,2)); 25*29633Ssam } 26