Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
1.2 KiB

  1. #ifdef _NTSDK
  2. #ifdef CRTDLL
  3. .global _HUGE_dll
  4. #else
  5. .global _HUGE
  6. #endif
  7. #else
  8. .global _HUGE
  9. #endif
  10. .sdata
  11. #ifdef _NTSDK
  12. #ifdef CRTDLL
  13. _HUGE_dll:
  14. #else
  15. _HUGE:
  16. #endif
  17. #else
  18. _HUGE:
  19. #endif
  20. data8 0x7ff0000000000000
  21. #include "ksia64.h"
  22. LEAF_ENTRY(_get_fpsr)
  23. mov v0 = ar.fpsr
  24. br.ret.sptk b0
  25. LEAF_EXIT(_get_fpsr)
  26. LEAF_ENTRY(_set_fpsr)
  27. mov ar.fpsr = a0
  28. br.ret.sptk b0
  29. LEAF_EXIT(_get_fpsr)
  30. LEAF_ENTRY(_scale)
  31. ldfe f10 = [a0]
  32. ;;
  33. getf.exp r30 = f10
  34. sxt4 a1 = a1
  35. ;;
  36. add r30 = a1, r30
  37. ;;
  38. setf.exp f10 = r30
  39. ;;
  40. stfe [a0] = f10
  41. br.ret.sptk b0
  42. LEAF_EXIT(_scale)
  43. LEAF_ENTRY(_convert_fp80tofp64)
  44. ldfe f10 = [a0]
  45. ;;
  46. fnorm.d f10 = f10
  47. ;;
  48. stfd [a1] = f10
  49. br.ret.sptk b0
  50. LEAF_EXIT(_convert_fp80tofp64)
  51. LEAF_ENTRY(_convert_fp80tofp32)
  52. ldfe f10 = [a0]
  53. ;;
  54. fnorm.s f10 = f10
  55. ;;
  56. stfs [a1] = f10
  57. br.ret.sptk b0
  58. LEAF_EXIT(_convert_fp80tofp32)
  59. LEAF_ENTRY(_fclrf)
  60. fclrf.s0
  61. br.ret.sptk b0
  62. LEAF_EXIT(_fclrf)