Leaked source code of windows server 2003
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.

186 lines
2.6 KiB

  1. #include "ksia64.h"
  2. //++
  3. //
  4. // VOID
  5. // KiEmulateLoadFloat80(
  6. // IN PVOID UnalignedAddress,
  7. // OUT PVOID FloatData
  8. // );
  9. //
  10. //--
  11. LEAF_ENTRY(KiEmulateLoadFloat80)
  12. ARGPTR(a0)
  13. ARGPTR(a1)
  14. ldfe ft0 = [a0]
  15. ;;
  16. stf.spill [a1] = ft0
  17. LEAF_RETURN
  18. LEAF_EXIT(KiEmulateLoadFloat80)
  19. //++
  20. //
  21. // VOID
  22. // KiEmulateLoadFloatInt(
  23. // IN PVOID UnalignedAddress,
  24. // OUT PVOID FloatData
  25. // );
  26. //
  27. //--
  28. LEAF_ENTRY(KiEmulateLoadFloatInt)
  29. ARGPTR(a0)
  30. ARGPTR(a1)
  31. ldf8 ft0 = [a0]
  32. ;;
  33. stf.spill [a1] = ft0
  34. LEAF_RETURN
  35. LEAF_EXIT(KiEmulateLoadFloatInt)
  36. //++
  37. //
  38. // VOID
  39. // KiEmulateLoadFloat32(
  40. // IN PVOID UnalignedAddress,
  41. // OUT PVOID FloatData
  42. // );
  43. //
  44. //--
  45. LEAF_ENTRY(KiEmulateLoadFloat32)
  46. ARGPTR(a0)
  47. ARGPTR(a1)
  48. ldfs ft0 = [a0]
  49. ;;
  50. stf.spill [a1] = ft0
  51. LEAF_RETURN
  52. LEAF_EXIT(KiEmulateLoadFloat32)
  53. //++
  54. //
  55. // VOID
  56. // KiEmulateLoadFloat64(
  57. // IN PVOID UnalignedAddress,
  58. // OUT PVOID FloatData
  59. // );
  60. //
  61. //--
  62. LEAF_ENTRY(KiEmulateLoadFloat64)
  63. ARGPTR(a0)
  64. ARGPTR(a1)
  65. ldfd ft0 = [a0]
  66. ;;
  67. stf.spill [a1] = ft0
  68. LEAF_RETURN
  69. LEAF_EXIT(KiEmulateLoadFloat64)
  70. //++
  71. //
  72. // VOID
  73. // KiEmulateStoreFloat80(
  74. // IN PVOID UnalignedAddress,
  75. // OUT PVOID FloatData
  76. // );
  77. //
  78. //--
  79. LEAF_ENTRY(KiEmulateStoreFloat80)
  80. ARGPTR(a0)
  81. ARGPTR(a1)
  82. ldf.fill ft0 = [a1]
  83. ;;
  84. stfe [a0] = ft0
  85. LEAF_RETURN
  86. LEAF_EXIT(KiEmulateStoreFloat80)
  87. //++
  88. //
  89. // VOID
  90. // KiEmulateStoreFloatInt(
  91. // IN PVOID UnalignedAddress,
  92. // OUT PVOID FloatData
  93. // );
  94. //
  95. //--
  96. LEAF_ENTRY(KiEmulateStoreFloatInt)
  97. ARGPTR(a0)
  98. ARGPTR(a1)
  99. ldf.fill ft0 = [a1]
  100. ;;
  101. stf8 [a0] = ft0
  102. LEAF_RETURN
  103. LEAF_EXIT(KiEmulateStoreFloatInt)
  104. //++
  105. //
  106. // VOID
  107. // KiEmulateStoreFloat32(
  108. // IN PVOID UnalignedAddress,
  109. // OUT PVOID FloatData
  110. // );
  111. //
  112. //--
  113. LEAF_ENTRY(KiEmulateStoreFloat32)
  114. ARGPTR(a0)
  115. ARGPTR(a1)
  116. ldf.fill ft0 = [a1]
  117. ;;
  118. stfs [a0] = ft0
  119. LEAF_RETURN
  120. LEAF_EXIT(KiEmulateStoreFloat32)
  121. //++
  122. //
  123. // VOID
  124. // KiEmulateStoreFloat64(
  125. // IN PVOID UnalignedAddress,
  126. // OUT PVOID FloatData
  127. // );
  128. //
  129. //--
  130. LEAF_ENTRY(KiEmulateStoreFloat64)
  131. ARGPTR(a0)
  132. ARGPTR(a1)
  133. ldf.fill ft0 = [a1]
  134. ;;
  135. stfd [a0] = ft0
  136. LEAF_RETURN
  137. LEAF_EXIT(KiEmulateStoreFloat64)