* Copyright (c) 1992 The Regents of the University of California.
* This software was developed by the Computer Systems Engineering group
* at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
* contributed to Berkeley.
* %sccs.include.redist.c%
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)lshldi3.c 5.5 (Berkeley) %G%";
#endif /* LIBC_SCCS and not lint */
* Shift an (unsigned) quad value left (logical shift left).
* This is the same as arithmetic shift left!
__lshldi3(quad a
, u_quad shift
)
if (shift
>= LONG_BITS
) {
aa
.ul
[H
] = shift
>= QUAD_BITS
? 0 :
aa
.ul
[L
] << (shift
- LONG_BITS
);
aa
.ul
[H
] = (aa
.ul
[H
] << shift
) |
(aa
.ul
[L
] >> (LONG_BITS
- shift
));