1*45760Sbostic /*- 2*45760Sbostic * Copyright (c) 1986 The Regents of the University of California. 3*45760Sbostic * All rights reserved. 4*45760Sbostic * 5*45760Sbostic * This code is derived from software contributed to Berkeley by 6*45760Sbostic * Computer Consoles Inc. 7*45760Sbostic * 8*45760Sbostic * %sccs.include.redist.c% 9*45760Sbostic * 10*45760Sbostic * @(#)Ashll.c 7.1 (Berkeley) 12/06/90 11*45760Sbostic */ 1229633Ssam 1345699Sbostic #include "align.h" 1429633Ssam shll(infop)1529633Ssamshll(infop) process_info *infop; 1629633Ssam /* 1729633Ssam /* Shift logical left (longword). 1829633Ssam /* Checks for overflow. 1929633Ssam /* 2029633Ssam /*******************************/ 2129633Ssam { 2229633Ssam register long Register_12; /* Has to be first reg ! */ 2329633Ssam register long Register_11; 2429633Ssam register long Register_10; 2529633Ssam 2629633Ssam Register_12 = operand(infop,0)->data; 2729633Ssam Register_11 = operand(infop,1)->data; 2829633Ssam Register_10 = psl; 2929633Ssam Set_psl(r10); /*save the orig CC bits of the psl */ 3029633Ssam asm(" shll r12,r11,r10"); 3129633Ssam asm(" movpsl r12"); 3229633Ssam New_cc (Register_12); 3329633Ssam write_back (infop, Register_10, operand(infop,2)); 3429633Ssam } 35