1 /* $OpenBSD: hppa.h,v 1.5 2002/05/07 22:19:30 mickey Exp $ */ 2 /* 3 (c) Copyright 1986 HEWLETT-PACKARD COMPANY 4 To anyone who acknowledges that this file is provided "AS IS" 5 without any express or implied warranty: 6 permission to use, copy, modify, and distribute this file 7 for any purpose is hereby granted without fee, provided that 8 the above copyright notice and this notice appears in all 9 copies, and that the name of Hewlett-Packard Company not be 10 used in advertising or publicity pertaining to distribution 11 of the software without specific, written prior permission. 12 Hewlett-Packard Company makes no representations about the 13 suitability of this software for any purpose. 14 */ 15 /* @(#)hppa.h: Revision: 2.7.88.1 Date: 93/12/07 15:06:26 */ 16 17 /* amount is assumed to be a constant between 0 and 32 (non-inclusive) */ 18 #define Shiftdouble(left,right,amount,dest) \ 19 /* int left, right, amount, dest; */ \ 20 dest = ((left) << (32-(amount))) | ((unsigned int)(right) >> (amount)) 21 22 /* amount must be less than 32 */ 23 #define Variableshiftdouble(left,right,amount,dest) \ 24 /* unsigned int left, right; int amount, dest; */ \ 25 if (amount == 0) dest = right; \ 26 else dest = ((((unsigned) left)&0x7fffffff) << (32-(amount))) | \ 27 ((unsigned) right >> (amount)) 28 29 /* amount must be between 0 and 32 (non-inclusive) */ 30 #define Variable_shift_double(left,right,amount,dest) \ 31 /* unsigned int left, right; int amount, dest; */ \ 32 dest = (left << (32-(amount))) | ((unsigned) right >> (amount)) 33