hppa.h 1.1 KB

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Linux/PA-RISC Project (http://www.parisc-linux.org/)
  4. *
  5. * Floating-point emulation code
  6. * Copyright (C) 2001 Hewlett-Packard (Paul Bame) <[email protected]>
  7. */
  8. #ifdef __NO_PA_HDRS
  9. PA header file -- do not include this header file for non-PA builds.
  10. #endif
  11. /* amount is assumed to be a constant between 0 and 32 (non-inclusive) */
  12. #define Shiftdouble(left,right,amount,dest) \
  13. /* int left, right, amount, dest; */ \
  14. dest = ((left) << (32-(amount))) | ((unsigned int)(right) >> (amount))
  15. /* amount must be less than 32 */
  16. #define Variableshiftdouble(left,right,amount,dest) \
  17. /* unsigned int left, right; int amount, dest; */ \
  18. if (amount == 0) dest = right; \
  19. else dest = ((((unsigned) left)&0x7fffffff) << (32-(amount))) | \
  20. ((unsigned) right >> (amount))
  21. /* amount must be between 0 and 32 (non-inclusive) */
  22. #define Variable_shift_double(left,right,amount,dest) \
  23. /* unsigned int left, right; int amount, dest; */ \
  24. dest = (left << (32-(amount))) | ((unsigned) right >> (amount))