1*45699Sbostic /* Ashll.c 1.2 90/12/04 */ 229633Ssam 329633Ssam 4*45699Sbostic #include "align.h" 529633Ssam 629633Ssam shll(infop) process_info *infop; 729633Ssam /* 829633Ssam /* Shift logical left (longword). 929633Ssam /* Checks for overflow. 1029633Ssam /* 1129633Ssam /*******************************/ 1229633Ssam { 1329633Ssam register long Register_12; /* Has to be first reg ! */ 1429633Ssam register long Register_11; 1529633Ssam register long Register_10; 1629633Ssam 1729633Ssam Register_12 = operand(infop,0)->data; 1829633Ssam Register_11 = operand(infop,1)->data; 1929633Ssam Register_10 = psl; 2029633Ssam Set_psl(r10); /*save the orig CC bits of the psl */ 2129633Ssam asm(" shll r12,r11,r10"); 2229633Ssam asm(" movpsl r12"); 2329633Ssam New_cc (Register_12); 2429633Ssam write_back (infop, Register_10, operand(infop,2)); 2529633Ssam } 26