ruby_nacl 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. data/Changelog +0 -0
  2. data/README.md +49 -0
  3. data/ext/ruby_nacl/NaCl/MACROS +56 -0
  4. data/ext/ruby_nacl/NaCl/OPERATIONS +11 -0
  5. data/ext/ruby_nacl/NaCl/PROTOTYPES.c +26 -0
  6. data/ext/ruby_nacl/NaCl/PROTOTYPES.cpp +17 -0
  7. data/ext/ruby_nacl/NaCl/README +1 -0
  8. data/ext/ruby_nacl/NaCl/commandline/nacl-sha256.c +64 -0
  9. data/ext/ruby_nacl/NaCl/commandline/nacl-sha512.c +64 -0
  10. data/ext/ruby_nacl/NaCl/cpucycles/alpha.c +80 -0
  11. data/ext/ruby_nacl/NaCl/cpucycles/alpha.h +27 -0
  12. data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.c +16 -0
  13. data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuinfo.h +27 -0
  14. data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.c +25 -0
  15. data/ext/ruby_nacl/NaCl/cpucycles/amd64cpuspeed.h +27 -0
  16. data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.c +18 -0
  17. data/ext/ruby_nacl/NaCl/cpucycles/amd64tscfreq.h +27 -0
  18. data/ext/ruby_nacl/NaCl/cpucycles/celllinux.c +83 -0
  19. data/ext/ruby_nacl/NaCl/cpucycles/celllinux.h +27 -0
  20. data/ext/ruby_nacl/NaCl/cpucycles/cortex.c +73 -0
  21. data/ext/ruby_nacl/NaCl/cpucycles/cortex.h +27 -0
  22. data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.c +62 -0
  23. data/ext/ruby_nacl/NaCl/cpucycles/dev4ns.h +27 -0
  24. data/ext/ruby_nacl/NaCl/cpucycles/do +105 -0
  25. data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.c +32 -0
  26. data/ext/ruby_nacl/NaCl/cpucycles/gettimeofday.h +27 -0
  27. data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.c +26 -0
  28. data/ext/ruby_nacl/NaCl/cpucycles/hppapstat.h +27 -0
  29. data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.c +15 -0
  30. data/ext/ruby_nacl/NaCl/cpucycles/ia64cpuinfo.h +27 -0
  31. data/ext/ruby_nacl/NaCl/cpucycles/mips.c +65 -0
  32. data/ext/ruby_nacl/NaCl/cpucycles/mips.h +27 -0
  33. data/ext/ruby_nacl/NaCl/cpucycles/monotonic.c +34 -0
  34. data/ext/ruby_nacl/NaCl/cpucycles/monotonic.h +27 -0
  35. data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.c +33 -0
  36. data/ext/ruby_nacl/NaCl/cpucycles/monotoniccpuinfo.h +27 -0
  37. data/ext/ruby_nacl/NaCl/cpucycles/osfreq.c +65 -0
  38. data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.c +95 -0
  39. data/ext/ruby_nacl/NaCl/cpucycles/powerpccpuinfo.h +27 -0
  40. data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.c +42 -0
  41. data/ext/ruby_nacl/NaCl/cpucycles/powerpcmacos.h +27 -0
  42. data/ext/ruby_nacl/NaCl/cpucycles/sgi.c +38 -0
  43. data/ext/ruby_nacl/NaCl/cpucycles/sgi.h +27 -0
  44. data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.c +16 -0
  45. data/ext/ruby_nacl/NaCl/cpucycles/sparc32cpuinfo.h +27 -0
  46. data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.c +15 -0
  47. data/ext/ruby_nacl/NaCl/cpucycles/sparccpuinfo.h +27 -0
  48. data/ext/ruby_nacl/NaCl/cpucycles/test.c +77 -0
  49. data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.c +15 -0
  50. data/ext/ruby_nacl/NaCl/cpucycles/x86cpuinfo.h +27 -0
  51. data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.c +24 -0
  52. data/ext/ruby_nacl/NaCl/cpucycles/x86cpuspeed.h +27 -0
  53. data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.c +59 -0
  54. data/ext/ruby_nacl/NaCl/cpucycles/x86estimate.h +27 -0
  55. data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.c +17 -0
  56. data/ext/ruby_nacl/NaCl/cpucycles/x86tscfreq.h +27 -0
  57. data/ext/ruby_nacl/NaCl/cpuid/cbytes.c +16 -0
  58. data/ext/ruby_nacl/NaCl/cpuid/cpuid.c +41 -0
  59. data/ext/ruby_nacl/NaCl/cpuid/do +37 -0
  60. data/ext/ruby_nacl/NaCl/cpuid/unknown.c +7 -0
  61. data/ext/ruby_nacl/NaCl/cpuid/x86.c +41 -0
  62. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/checksum +1 -0
  63. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/api.h +2 -0
  64. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/hmac.c +83 -0
  65. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/ref/verify.c +9 -0
  66. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha256/used +0 -0
  67. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/checksum +1 -0
  68. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/api.h +2 -0
  69. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/hmac.c +86 -0
  70. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/ref/verify.c +9 -0
  71. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/selected +0 -0
  72. data/ext/ruby_nacl/NaCl/crypto_auth/hmacsha512256/used +0 -0
  73. data/ext/ruby_nacl/NaCl/crypto_auth/measure.c +69 -0
  74. data/ext/ruby_nacl/NaCl/crypto_auth/try.c +119 -0
  75. data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-auth.cpp +11 -0
  76. data/ext/ruby_nacl/NaCl/crypto_auth/wrapper-verify.cpp +14 -0
  77. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/checksum +1 -0
  78. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/after.c +22 -0
  79. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/api.h +6 -0
  80. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/before.c +17 -0
  81. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/box.c +27 -0
  82. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/ref/keypair.c +12 -0
  83. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/selected +0 -0
  84. data/ext/ruby_nacl/NaCl/crypto_box/curve25519xsalsa20poly1305/used +0 -0
  85. data/ext/ruby_nacl/NaCl/crypto_box/measure.c +137 -0
  86. data/ext/ruby_nacl/NaCl/crypto_box/try.c +195 -0
  87. data/ext/ruby_nacl/NaCl/crypto_box/wrapper-box.cpp +24 -0
  88. data/ext/ruby_nacl/NaCl/crypto_box/wrapper-keypair.cpp +12 -0
  89. data/ext/ruby_nacl/NaCl/crypto_box/wrapper-open.cpp +27 -0
  90. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/checksum +1 -0
  91. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/api.h +4 -0
  92. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/core.c +135 -0
  93. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref/implementors +1 -0
  94. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/api.h +4 -0
  95. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/core.c +108 -0
  96. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/ref2/implementors +1 -0
  97. data/ext/ruby_nacl/NaCl/crypto_core/hsalsa20/used +0 -0
  98. data/ext/ruby_nacl/NaCl/crypto_core/measure.c +18 -0
  99. data/ext/ruby_nacl/NaCl/crypto_core/salsa20/checksum +1 -0
  100. data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/api.h +4 -0
  101. data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/core.c +134 -0
  102. data/ext/ruby_nacl/NaCl/crypto_core/salsa20/ref/implementors +1 -0
  103. data/ext/ruby_nacl/NaCl/crypto_core/salsa20/used +0 -0
  104. data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/checksum +1 -0
  105. data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/api.h +4 -0
  106. data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/core.c +134 -0
  107. data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/ref/implementors +1 -0
  108. data/ext/ruby_nacl/NaCl/crypto_core/salsa2012/used +0 -0
  109. data/ext/ruby_nacl/NaCl/crypto_core/salsa208/checksum +1 -0
  110. data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/api.h +4 -0
  111. data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/core.c +134 -0
  112. data/ext/ruby_nacl/NaCl/crypto_core/salsa208/ref/implementors +1 -0
  113. data/ext/ruby_nacl/NaCl/crypto_core/salsa208/used +0 -0
  114. data/ext/ruby_nacl/NaCl/crypto_core/try.c +116 -0
  115. data/ext/ruby_nacl/NaCl/crypto_core/wrapper-empty.cpp +0 -0
  116. data/ext/ruby_nacl/NaCl/crypto_hash/measure.c +66 -0
  117. data/ext/ruby_nacl/NaCl/crypto_hash/sha256/checksum +1 -0
  118. data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/api.h +1 -0
  119. data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/hash.c +69 -0
  120. data/ext/ruby_nacl/NaCl/crypto_hash/sha256/ref/implementors +1 -0
  121. data/ext/ruby_nacl/NaCl/crypto_hash/sha256/used +0 -0
  122. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/checksum +1 -0
  123. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/api.h +1 -0
  124. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/hash.c +71 -0
  125. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/ref/implementors +1 -0
  126. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/selected +0 -0
  127. data/ext/ruby_nacl/NaCl/crypto_hash/sha512/used +0 -0
  128. data/ext/ruby_nacl/NaCl/crypto_hash/try.c +77 -0
  129. data/ext/ruby_nacl/NaCl/crypto_hash/wrapper-hash.cpp +10 -0
  130. data/ext/ruby_nacl/NaCl/crypto_hashblocks/measure.c +18 -0
  131. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/checksum +1 -0
  132. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/api.h +2 -0
  133. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/blocks.c +228 -0
  134. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/inplace/implementors +1 -0
  135. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/api.h +2 -0
  136. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/blocks.c +212 -0
  137. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/ref/implementors +1 -0
  138. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha256/used +0 -0
  139. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/checksum +1 -0
  140. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/api.h +2 -0
  141. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/blocks.c +256 -0
  142. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/inplace/implementors +1 -0
  143. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/api.h +2 -0
  144. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/blocks.c +239 -0
  145. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/ref/implementors +1 -0
  146. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/selected +0 -0
  147. data/ext/ruby_nacl/NaCl/crypto_hashblocks/sha512/used +0 -0
  148. data/ext/ruby_nacl/NaCl/crypto_hashblocks/try.c +79 -0
  149. data/ext/ruby_nacl/NaCl/crypto_hashblocks/wrapper-empty.cpp +0 -0
  150. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/measure.c +69 -0
  151. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/api.h +2 -0
  152. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/auth.c +1616 -0
  153. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/53/verify.c +9 -0
  154. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/api.h +2 -0
  155. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/auth.s +2787 -0
  156. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/constants.s +85 -0
  157. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/amd64/verify.c +9 -0
  158. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/checksum +1 -0
  159. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/api.h +2 -0
  160. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/auth.c +104 -0
  161. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/ref/verify.c +9 -0
  162. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/selected +0 -0
  163. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/used +0 -0
  164. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/api.h +2 -0
  165. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/auth.s +2779 -0
  166. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/constants.s +85 -0
  167. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/poly1305/x86/verify.c +9 -0
  168. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/try.c +119 -0
  169. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-auth.cpp +11 -0
  170. data/ext/ruby_nacl/NaCl/crypto_onetimeauth/wrapper-verify.cpp +14 -0
  171. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/api.h +2 -0
  172. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/base.c +8 -0
  173. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/const.s +114 -0
  174. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/fromdouble.s +195 -0
  175. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/implementors +1 -0
  176. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/init.s +13 -0
  177. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mainloop.s +3990 -0
  178. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/mult.s +410 -0
  179. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/smult.c +91 -0
  180. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/square.s +298 -0
  181. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/athlon/todouble.s +144 -0
  182. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/checksum +1 -0
  183. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/api.h +2 -0
  184. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/base.c +8 -0
  185. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/implementors +1 -0
  186. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/donna_c64/smult.c +477 -0
  187. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/api.h +2 -0
  188. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/base.c +16 -0
  189. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/implementors +1 -0
  190. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/ref/smult.c +265 -0
  191. data/ext/ruby_nacl/NaCl/crypto_scalarmult/curve25519/used +0 -0
  192. data/ext/ruby_nacl/NaCl/crypto_scalarmult/measure.c +61 -0
  193. data/ext/ruby_nacl/NaCl/crypto_scalarmult/try.c +126 -0
  194. data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-base.cpp +11 -0
  195. data/ext/ruby_nacl/NaCl/crypto_scalarmult/wrapper-mult.cpp +12 -0
  196. data/ext/ruby_nacl/NaCl/crypto_secretbox/measure.c +75 -0
  197. data/ext/ruby_nacl/NaCl/crypto_secretbox/try.c +129 -0
  198. data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-box.cpp +19 -0
  199. data/ext/ruby_nacl/NaCl/crypto_secretbox/wrapper-open.cpp +22 -0
  200. data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/checksum +1 -0
  201. data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/api.h +4 -0
  202. data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/ref/box.c +35 -0
  203. data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/selected +0 -0
  204. data/ext/ruby_nacl/NaCl/crypto_secretbox/xsalsa20poly1305/used +0 -0
  205. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/api.h +3 -0
  206. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.c +345 -0
  207. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/fe25519.h +54 -0
  208. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.c +227 -0
  209. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/ge25519.h +34 -0
  210. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.c +146 -0
  211. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sc25519.h +51 -0
  212. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/ref/sign.c +103 -0
  213. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/selected +0 -0
  214. data/ext/ruby_nacl/NaCl/crypto_sign/edwards25519sha512batch/used +0 -0
  215. data/ext/ruby_nacl/NaCl/crypto_sign/measure.c +83 -0
  216. data/ext/ruby_nacl/NaCl/crypto_sign/try.c +86 -0
  217. data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-keypair.cpp +12 -0
  218. data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign-open.cpp +24 -0
  219. data/ext/ruby_nacl/NaCl/crypto_sign/wrapper-sign.cpp +23 -0
  220. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/checksum +1 -0
  221. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/afternm.s +12308 -0
  222. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/api.h +3 -0
  223. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/beforenm.s +13694 -0
  224. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/stream.c +14 -0
  225. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor.c +15 -0
  226. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/core2/xor_afternm.s +12407 -0
  227. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/afternm.c +158 -0
  228. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/api.h +3 -0
  229. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/beforenm.c +59 -0
  230. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.c +64 -0
  231. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/common.h +788 -0
  232. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.c +14 -0
  233. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/consts.h +28 -0
  234. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.c +128 -0
  235. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/int128.h +47 -0
  236. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/stream.c +28 -0
  237. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/types.h +10 -0
  238. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/portable/xor_afternm.c +180 -0
  239. data/ext/ruby_nacl/NaCl/crypto_stream/aes128ctr/used +0 -0
  240. data/ext/ruby_nacl/NaCl/crypto_stream/measure.c +73 -0
  241. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/api.h +2 -0
  242. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/implementors +1 -0
  243. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/amd64_xmm6/stream.s +4823 -0
  244. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/checksum +1 -0
  245. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/api.h +2 -0
  246. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/implementors +1 -0
  247. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/stream.c +49 -0
  248. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/ref/xor.c +52 -0
  249. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/used +0 -0
  250. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/api.h +2 -0
  251. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/implementors +1 -0
  252. data/ext/ruby_nacl/NaCl/crypto_stream/salsa20/x86_xmm5/stream.s +5078 -0
  253. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/api.h +2 -0
  254. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/implementors +1 -0
  255. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/amd64_xmm6/stream.s +4823 -0
  256. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/checksum +1 -0
  257. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/api.h +2 -0
  258. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/implementors +1 -0
  259. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/stream.c +49 -0
  260. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/ref/xor.c +52 -0
  261. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/used +0 -0
  262. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/api.h +2 -0
  263. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/implementors +1 -0
  264. data/ext/ruby_nacl/NaCl/crypto_stream/salsa2012/x86_xmm5/stream.s +5078 -0
  265. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/api.h +2 -0
  266. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/implementors +1 -0
  267. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/amd64_xmm6/stream.s +4823 -0
  268. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/checksum +1 -0
  269. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/api.h +2 -0
  270. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/implementors +1 -0
  271. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/stream.c +49 -0
  272. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/ref/xor.c +52 -0
  273. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/used +0 -0
  274. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/api.h +2 -0
  275. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/implementors +1 -0
  276. data/ext/ruby_nacl/NaCl/crypto_stream/salsa208/x86_xmm5/stream.s +5078 -0
  277. data/ext/ruby_nacl/NaCl/crypto_stream/try.c +124 -0
  278. data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-stream.cpp +12 -0
  279. data/ext/ruby_nacl/NaCl/crypto_stream/wrapper-xor.cpp +17 -0
  280. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/checksum +1 -0
  281. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/api.h +2 -0
  282. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/implementors +1 -0
  283. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/stream.c +22 -0
  284. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/ref/xor.c +23 -0
  285. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/selected +0 -0
  286. data/ext/ruby_nacl/NaCl/crypto_stream/xsalsa20/used +0 -0
  287. data/ext/ruby_nacl/NaCl/crypto_stream.h +18 -0
  288. data/ext/ruby_nacl/NaCl/crypto_stream_aes128ctr.h +33 -0
  289. data/ext/ruby_nacl/NaCl/crypto_verify/16/checksum +1 -0
  290. data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/api.h +1 -0
  291. data/ext/ruby_nacl/NaCl/crypto_verify/16/ref/verify.c +24 -0
  292. data/ext/ruby_nacl/NaCl/crypto_verify/16/used +0 -0
  293. data/ext/ruby_nacl/NaCl/crypto_verify/32/checksum +1 -0
  294. data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/api.h +1 -0
  295. data/ext/ruby_nacl/NaCl/crypto_verify/32/ref/verify.c +40 -0
  296. data/ext/ruby_nacl/NaCl/crypto_verify/32/used +0 -0
  297. data/ext/ruby_nacl/NaCl/crypto_verify/measure.c +18 -0
  298. data/ext/ruby_nacl/NaCl/crypto_verify/try.c +75 -0
  299. data/ext/ruby_nacl/NaCl/crypto_verify/wrapper-empty.cpp +0 -0
  300. data/ext/ruby_nacl/NaCl/curvecp/LIBS +31 -0
  301. data/ext/ruby_nacl/NaCl/curvecp/README +10 -0
  302. data/ext/ruby_nacl/NaCl/curvecp/SOURCES +36 -0
  303. data/ext/ruby_nacl/NaCl/curvecp/TARGETS +5 -0
  304. data/ext/ruby_nacl/NaCl/curvecp/blocking.c +12 -0
  305. data/ext/ruby_nacl/NaCl/curvecp/blocking.h +7 -0
  306. data/ext/ruby_nacl/NaCl/curvecp/byte.h +8 -0
  307. data/ext/ruby_nacl/NaCl/curvecp/byte_copy.c +8 -0
  308. data/ext/ruby_nacl/NaCl/curvecp/byte_isequal.c +10 -0
  309. data/ext/ruby_nacl/NaCl/curvecp/byte_zero.c +7 -0
  310. data/ext/ruby_nacl/NaCl/curvecp/crypto_block.c +35 -0
  311. data/ext/ruby_nacl/NaCl/curvecp/crypto_block.h +4 -0
  312. data/ext/ruby_nacl/NaCl/curvecp/curvecpclient.c +476 -0
  313. data/ext/ruby_nacl/NaCl/curvecp/curvecpmakekey.c +57 -0
  314. data/ext/ruby_nacl/NaCl/curvecp/curvecpmessage.c +654 -0
  315. data/ext/ruby_nacl/NaCl/curvecp/curvecpprintkey.c +46 -0
  316. data/ext/ruby_nacl/NaCl/curvecp/curvecpserver.c +497 -0
  317. data/ext/ruby_nacl/NaCl/curvecp/die.c +42 -0
  318. data/ext/ruby_nacl/NaCl/curvecp/die.h +16 -0
  319. data/ext/ruby_nacl/NaCl/curvecp/e.c +106 -0
  320. data/ext/ruby_nacl/NaCl/curvecp/e.h +438 -0
  321. data/ext/ruby_nacl/NaCl/curvecp/hexparse.c +25 -0
  322. data/ext/ruby_nacl/NaCl/curvecp/hexparse.h +6 -0
  323. data/ext/ruby_nacl/NaCl/curvecp/load.c +33 -0
  324. data/ext/ruby_nacl/NaCl/curvecp/load.h +6 -0
  325. data/ext/ruby_nacl/NaCl/curvecp/nameparse.c +19 -0
  326. data/ext/ruby_nacl/NaCl/curvecp/nameparse.h +6 -0
  327. data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.c +27 -0
  328. data/ext/ruby_nacl/NaCl/curvecp/nanoseconds.h +6 -0
  329. data/ext/ruby_nacl/NaCl/curvecp/open.h +10 -0
  330. data/ext/ruby_nacl/NaCl/curvecp/open_cwd.c +6 -0
  331. data/ext/ruby_nacl/NaCl/curvecp/open_lock.c +19 -0
  332. data/ext/ruby_nacl/NaCl/curvecp/open_pipe.c +15 -0
  333. data/ext/ruby_nacl/NaCl/curvecp/open_read.c +17 -0
  334. data/ext/ruby_nacl/NaCl/curvecp/open_write.c +17 -0
  335. data/ext/ruby_nacl/NaCl/curvecp/portparse.c +14 -0
  336. data/ext/ruby_nacl/NaCl/curvecp/portparse.h +6 -0
  337. data/ext/ruby_nacl/NaCl/curvecp/randommod.c +14 -0
  338. data/ext/ruby_nacl/NaCl/curvecp/randommod.h +6 -0
  339. data/ext/ruby_nacl/NaCl/curvecp/safenonce.c +74 -0
  340. data/ext/ruby_nacl/NaCl/curvecp/safenonce.h +6 -0
  341. data/ext/ruby_nacl/NaCl/curvecp/savesync.c +24 -0
  342. data/ext/ruby_nacl/NaCl/curvecp/savesync.h +6 -0
  343. data/ext/ruby_nacl/NaCl/curvecp/socket.h +9 -0
  344. data/ext/ruby_nacl/NaCl/curvecp/socket_bind.c +15 -0
  345. data/ext/ruby_nacl/NaCl/curvecp/socket_recv.c +23 -0
  346. data/ext/ruby_nacl/NaCl/curvecp/socket_send.c +19 -0
  347. data/ext/ruby_nacl/NaCl/curvecp/socket_udp.c +36 -0
  348. data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.c +7 -0
  349. data/ext/ruby_nacl/NaCl/curvecp/uint16_pack.h +8 -0
  350. data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.c +9 -0
  351. data/ext/ruby_nacl/NaCl/curvecp/uint16_unpack.h +8 -0
  352. data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.c +9 -0
  353. data/ext/ruby_nacl/NaCl/curvecp/uint32_pack.h +8 -0
  354. data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.c +11 -0
  355. data/ext/ruby_nacl/NaCl/curvecp/uint32_unpack.h +8 -0
  356. data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.c +13 -0
  357. data/ext/ruby_nacl/NaCl/curvecp/uint64_pack.h +8 -0
  358. data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.c +15 -0
  359. data/ext/ruby_nacl/NaCl/curvecp/uint64_unpack.h +8 -0
  360. data/ext/ruby_nacl/NaCl/curvecp/writeall.c +27 -0
  361. data/ext/ruby_nacl/NaCl/curvecp/writeall.h +6 -0
  362. data/ext/ruby_nacl/NaCl/do +468 -0
  363. data/ext/ruby_nacl/NaCl/inttypes/crypto_int16.c +3 -0
  364. data/ext/ruby_nacl/NaCl/inttypes/crypto_int32.c +3 -0
  365. data/ext/ruby_nacl/NaCl/inttypes/crypto_int64.c +3 -0
  366. data/ext/ruby_nacl/NaCl/inttypes/crypto_int8.c +3 -0
  367. data/ext/ruby_nacl/NaCl/inttypes/crypto_uint16.c +3 -0
  368. data/ext/ruby_nacl/NaCl/inttypes/crypto_uint32.c +3 -0
  369. data/ext/ruby_nacl/NaCl/inttypes/crypto_uint64.c +3 -0
  370. data/ext/ruby_nacl/NaCl/inttypes/crypto_uint8.c +3 -0
  371. data/ext/ruby_nacl/NaCl/inttypes/do +47 -0
  372. data/ext/ruby_nacl/NaCl/inttypes/signed.h +17 -0
  373. data/ext/ruby_nacl/NaCl/inttypes/unsigned.h +17 -0
  374. data/ext/ruby_nacl/NaCl/measure-anything.c +225 -0
  375. data/ext/ruby_nacl/NaCl/okcompilers/abiname.c +45 -0
  376. data/ext/ruby_nacl/NaCl/okcompilers/archivers +2 -0
  377. data/ext/ruby_nacl/NaCl/okcompilers/c +8 -0
  378. data/ext/ruby_nacl/NaCl/okcompilers/cpp +8 -0
  379. data/ext/ruby_nacl/NaCl/okcompilers/do +196 -0
  380. data/ext/ruby_nacl/NaCl/okcompilers/lib.c +29 -0
  381. data/ext/ruby_nacl/NaCl/okcompilers/lib.cpp +19 -0
  382. data/ext/ruby_nacl/NaCl/okcompilers/main.c +25 -0
  383. data/ext/ruby_nacl/NaCl/okcompilers/main.cpp +22 -0
  384. data/ext/ruby_nacl/NaCl/randombytes/devurandom.c +34 -0
  385. data/ext/ruby_nacl/NaCl/randombytes/devurandom.h +24 -0
  386. data/ext/ruby_nacl/NaCl/randombytes/do +43 -0
  387. data/ext/ruby_nacl/NaCl/randombytes/test.c +15 -0
  388. data/ext/ruby_nacl/NaCl/tests/auth.c +19 -0
  389. data/ext/ruby_nacl/NaCl/tests/auth.out +4 -0
  390. data/ext/ruby_nacl/NaCl/tests/auth2.c +34 -0
  391. data/ext/ruby_nacl/NaCl/tests/auth2.out +4 -0
  392. data/ext/ruby_nacl/NaCl/tests/auth3.c +34 -0
  393. data/ext/ruby_nacl/NaCl/tests/auth3.out +1 -0
  394. data/ext/ruby_nacl/NaCl/tests/auth4.cpp +44 -0
  395. data/ext/ruby_nacl/NaCl/tests/auth4.out +1 -0
  396. data/ext/ruby_nacl/NaCl/tests/auth5.c +36 -0
  397. data/ext/ruby_nacl/NaCl/tests/auth5.out +0 -0
  398. data/ext/ruby_nacl/NaCl/tests/auth6.cpp +46 -0
  399. data/ext/ruby_nacl/NaCl/tests/auth6.out +0 -0
  400. data/ext/ruby_nacl/NaCl/tests/box.c +63 -0
  401. data/ext/ruby_nacl/NaCl/tests/box.out +19 -0
  402. data/ext/ruby_nacl/NaCl/tests/box2.c +64 -0
  403. data/ext/ruby_nacl/NaCl/tests/box2.out +17 -0
  404. data/ext/ruby_nacl/NaCl/tests/box3.cpp +60 -0
  405. data/ext/ruby_nacl/NaCl/tests/box3.out +19 -0
  406. data/ext/ruby_nacl/NaCl/tests/box4.cpp +66 -0
  407. data/ext/ruby_nacl/NaCl/tests/box4.out +17 -0
  408. data/ext/ruby_nacl/NaCl/tests/box5.cpp +30 -0
  409. data/ext/ruby_nacl/NaCl/tests/box5.out +0 -0
  410. data/ext/ruby_nacl/NaCl/tests/box6.cpp +43 -0
  411. data/ext/ruby_nacl/NaCl/tests/box6.out +0 -0
  412. data/ext/ruby_nacl/NaCl/tests/box7.c +36 -0
  413. data/ext/ruby_nacl/NaCl/tests/box7.out +0 -0
  414. data/ext/ruby_nacl/NaCl/tests/box8.c +41 -0
  415. data/ext/ruby_nacl/NaCl/tests/box8.out +0 -0
  416. data/ext/ruby_nacl/NaCl/tests/core1.c +30 -0
  417. data/ext/ruby_nacl/NaCl/tests/core1.out +4 -0
  418. data/ext/ruby_nacl/NaCl/tests/core2.c +33 -0
  419. data/ext/ruby_nacl/NaCl/tests/core2.out +4 -0
  420. data/ext/ruby_nacl/NaCl/tests/core3.c +41 -0
  421. data/ext/ruby_nacl/NaCl/tests/core3.out +1 -0
  422. data/ext/ruby_nacl/NaCl/tests/core4.c +33 -0
  423. data/ext/ruby_nacl/NaCl/tests/core4.out +8 -0
  424. data/ext/ruby_nacl/NaCl/tests/core5.c +32 -0
  425. data/ext/ruby_nacl/NaCl/tests/core5.out +4 -0
  426. data/ext/ruby_nacl/NaCl/tests/core6.c +47 -0
  427. data/ext/ruby_nacl/NaCl/tests/core6.out +4 -0
  428. data/ext/ruby_nacl/NaCl/tests/hash.c +14 -0
  429. data/ext/ruby_nacl/NaCl/tests/hash.out +1 -0
  430. data/ext/ruby_nacl/NaCl/tests/hash2.cpp +18 -0
  431. data/ext/ruby_nacl/NaCl/tests/hash2.out +1 -0
  432. data/ext/ruby_nacl/NaCl/tests/hash3.c +14 -0
  433. data/ext/ruby_nacl/NaCl/tests/hash3.out +1 -0
  434. data/ext/ruby_nacl/NaCl/tests/hash4.cpp +18 -0
  435. data/ext/ruby_nacl/NaCl/tests/hash4.out +1 -0
  436. data/ext/ruby_nacl/NaCl/tests/onetimeauth.c +42 -0
  437. data/ext/ruby_nacl/NaCl/tests/onetimeauth.out +2 -0
  438. data/ext/ruby_nacl/NaCl/tests/onetimeauth2.c +40 -0
  439. data/ext/ruby_nacl/NaCl/tests/onetimeauth2.out +1 -0
  440. data/ext/ruby_nacl/NaCl/tests/onetimeauth5.cpp +46 -0
  441. data/ext/ruby_nacl/NaCl/tests/onetimeauth5.out +2 -0
  442. data/ext/ruby_nacl/NaCl/tests/onetimeauth6.cpp +50 -0
  443. data/ext/ruby_nacl/NaCl/tests/onetimeauth6.out +1 -0
  444. data/ext/ruby_nacl/NaCl/tests/onetimeauth7.c +36 -0
  445. data/ext/ruby_nacl/NaCl/tests/onetimeauth7.out +0 -0
  446. data/ext/ruby_nacl/NaCl/tests/onetimeauth8.cpp +46 -0
  447. data/ext/ruby_nacl/NaCl/tests/onetimeauth8.out +0 -0
  448. data/ext/ruby_nacl/NaCl/tests/scalarmult.c +23 -0
  449. data/ext/ruby_nacl/NaCl/tests/scalarmult.out +4 -0
  450. data/ext/ruby_nacl/NaCl/tests/scalarmult2.c +23 -0
  451. data/ext/ruby_nacl/NaCl/tests/scalarmult2.out +4 -0
  452. data/ext/ruby_nacl/NaCl/tests/scalarmult3.cpp +31 -0
  453. data/ext/ruby_nacl/NaCl/tests/scalarmult3.out +4 -0
  454. data/ext/ruby_nacl/NaCl/tests/scalarmult4.cpp +31 -0
  455. data/ext/ruby_nacl/NaCl/tests/scalarmult4.out +4 -0
  456. data/ext/ruby_nacl/NaCl/tests/scalarmult5.c +30 -0
  457. data/ext/ruby_nacl/NaCl/tests/scalarmult5.out +4 -0
  458. data/ext/ruby_nacl/NaCl/tests/scalarmult6.c +30 -0
  459. data/ext/ruby_nacl/NaCl/tests/scalarmult6.out +4 -0
  460. data/ext/ruby_nacl/NaCl/tests/scalarmult7.cpp +32 -0
  461. data/ext/ruby_nacl/NaCl/tests/scalarmult7.out +4 -0
  462. data/ext/ruby_nacl/NaCl/tests/secretbox.c +56 -0
  463. data/ext/ruby_nacl/NaCl/tests/secretbox.out +19 -0
  464. data/ext/ruby_nacl/NaCl/tests/secretbox2.c +57 -0
  465. data/ext/ruby_nacl/NaCl/tests/secretbox2.out +17 -0
  466. data/ext/ruby_nacl/NaCl/tests/secretbox3.cpp +52 -0
  467. data/ext/ruby_nacl/NaCl/tests/secretbox3.out +19 -0
  468. data/ext/ruby_nacl/NaCl/tests/secretbox4.cpp +54 -0
  469. data/ext/ruby_nacl/NaCl/tests/secretbox4.out +17 -0
  470. data/ext/ruby_nacl/NaCl/tests/secretbox5.cpp +29 -0
  471. data/ext/ruby_nacl/NaCl/tests/secretbox5.out +0 -0
  472. data/ext/ruby_nacl/NaCl/tests/secretbox6.cpp +42 -0
  473. data/ext/ruby_nacl/NaCl/tests/secretbox6.out +0 -0
  474. data/ext/ruby_nacl/NaCl/tests/secretbox7.c +32 -0
  475. data/ext/ruby_nacl/NaCl/tests/secretbox7.out +0 -0
  476. data/ext/ruby_nacl/NaCl/tests/secretbox8.c +37 -0
  477. data/ext/ruby_nacl/NaCl/tests/secretbox8.out +0 -0
  478. data/ext/ruby_nacl/NaCl/tests/stream.c +29 -0
  479. data/ext/ruby_nacl/NaCl/tests/stream.out +1 -0
  480. data/ext/ruby_nacl/NaCl/tests/stream2.c +27 -0
  481. data/ext/ruby_nacl/NaCl/tests/stream2.out +1 -0
  482. data/ext/ruby_nacl/NaCl/tests/stream3.c +28 -0
  483. data/ext/ruby_nacl/NaCl/tests/stream3.out +4 -0
  484. data/ext/ruby_nacl/NaCl/tests/stream4.c +53 -0
  485. data/ext/ruby_nacl/NaCl/tests/stream4.out +17 -0
  486. data/ext/ruby_nacl/NaCl/tests/stream5.cpp +29 -0
  487. data/ext/ruby_nacl/NaCl/tests/stream5.out +1 -0
  488. data/ext/ruby_nacl/NaCl/tests/stream6.cpp +27 -0
  489. data/ext/ruby_nacl/NaCl/tests/stream6.out +1 -0
  490. data/ext/ruby_nacl/NaCl/tests/stream7.cpp +30 -0
  491. data/ext/ruby_nacl/NaCl/tests/stream7.out +4 -0
  492. data/ext/ruby_nacl/NaCl/tests/stream8.cpp +56 -0
  493. data/ext/ruby_nacl/NaCl/tests/stream8.out +17 -0
  494. data/ext/ruby_nacl/NaCl/try-anything.c +173 -0
  495. data/ext/ruby_nacl/NaCl/version +1 -0
  496. data/ext/ruby_nacl/extconf.rb +18 -0
  497. data/ext/ruby_nacl/ruby_nacl.cpp +147 -0
  498. data/ext/ruby_nacl/ruby_nacl.h +49 -0
  499. metadata +554 -0
@@ -0,0 +1,2779 @@
1
+
2
+ # qhasm: stack32 arg_out
3
+
4
+ # qhasm: stack32 arg_m
5
+
6
+ # qhasm: stack32 arg_l
7
+
8
+ # qhasm: stack32 arg_ltop
9
+
10
+ # qhasm: stack32 arg_k
11
+
12
+ # qhasm: input arg_out
13
+
14
+ # qhasm: input arg_m
15
+
16
+ # qhasm: input arg_l
17
+
18
+ # qhasm: input arg_ltop
19
+
20
+ # qhasm: input arg_k
21
+
22
+ # qhasm: int32 eax
23
+
24
+ # qhasm: int32 ebx
25
+
26
+ # qhasm: int32 esi
27
+
28
+ # qhasm: int32 edi
29
+
30
+ # qhasm: int32 ebp
31
+
32
+ # qhasm: caller eax
33
+
34
+ # qhasm: caller ebx
35
+
36
+ # qhasm: caller esi
37
+
38
+ # qhasm: caller edi
39
+
40
+ # qhasm: caller ebp
41
+
42
+ # qhasm: stack32 eax_stack
43
+
44
+ # qhasm: stack32 ebx_stack
45
+
46
+ # qhasm: stack32 esi_stack
47
+
48
+ # qhasm: stack32 edi_stack
49
+
50
+ # qhasm: stack32 ebp_stack
51
+
52
+ # qhasm: int32 out
53
+
54
+ # qhasm: stack32 out_stack
55
+
56
+ # qhasm: int32 k
57
+
58
+ # qhasm: stack32 k_stack
59
+
60
+ # qhasm: int32 m
61
+
62
+ # qhasm: int32 l
63
+
64
+ # qhasm: int32 m0
65
+
66
+ # qhasm: int32 m1
67
+
68
+ # qhasm: int32 m2
69
+
70
+ # qhasm: int32 m3
71
+
72
+ # qhasm: float80 a0
73
+
74
+ # qhasm: float80 a1
75
+
76
+ # qhasm: float80 a2
77
+
78
+ # qhasm: float80 a3
79
+
80
+ # qhasm: float80 h0
81
+
82
+ # qhasm: float80 h1
83
+
84
+ # qhasm: float80 h2
85
+
86
+ # qhasm: float80 h3
87
+
88
+ # qhasm: float80 x0
89
+
90
+ # qhasm: float80 x1
91
+
92
+ # qhasm: float80 x2
93
+
94
+ # qhasm: float80 x3
95
+
96
+ # qhasm: float80 y0
97
+
98
+ # qhasm: float80 y1
99
+
100
+ # qhasm: float80 y2
101
+
102
+ # qhasm: float80 y3
103
+
104
+ # qhasm: float80 r0x0
105
+
106
+ # qhasm: float80 r1x0
107
+
108
+ # qhasm: float80 r2x0
109
+
110
+ # qhasm: float80 r3x0
111
+
112
+ # qhasm: float80 r0x1
113
+
114
+ # qhasm: float80 r1x1
115
+
116
+ # qhasm: float80 r2x1
117
+
118
+ # qhasm: float80 sr3x1
119
+
120
+ # qhasm: float80 r0x2
121
+
122
+ # qhasm: float80 r1x2
123
+
124
+ # qhasm: float80 sr2x2
125
+
126
+ # qhasm: float80 sr3x2
127
+
128
+ # qhasm: float80 r0x3
129
+
130
+ # qhasm: float80 sr1x3
131
+
132
+ # qhasm: float80 sr2x3
133
+
134
+ # qhasm: float80 sr3x3
135
+
136
+ # qhasm: stack64 d0
137
+
138
+ # qhasm: stack64 d1
139
+
140
+ # qhasm: stack64 d2
141
+
142
+ # qhasm: stack64 d3
143
+
144
+ # qhasm: stack64 r0
145
+
146
+ # qhasm: stack64 r1
147
+
148
+ # qhasm: stack64 r2
149
+
150
+ # qhasm: stack64 r3
151
+
152
+ # qhasm: stack64 sr1
153
+
154
+ # qhasm: stack64 sr2
155
+
156
+ # qhasm: stack64 sr3
157
+
158
+ # qhasm: enter crypto_onetimeauth_poly1305_x86 stackaligned4096 crypto_onetimeauth_poly1305_x86_constants
159
+ .text
160
+ .p2align 5
161
+ .globl _crypto_onetimeauth_poly1305_x86
162
+ .globl crypto_onetimeauth_poly1305_x86
163
+ _crypto_onetimeauth_poly1305_x86:
164
+ crypto_onetimeauth_poly1305_x86:
165
+ mov %esp,%eax
166
+ sub $crypto_onetimeauth_poly1305_x86_constants,%eax
167
+ and $4095,%eax
168
+ add $192,%eax
169
+ sub %eax,%esp
170
+
171
+ # qhasm: eax_stack = eax
172
+ # asm 1: movl <eax=int32#1,>eax_stack=stack32#1
173
+ # asm 2: movl <eax=%eax,>eax_stack=0(%esp)
174
+ movl %eax,0(%esp)
175
+
176
+ # qhasm: ebx_stack = ebx
177
+ # asm 1: movl <ebx=int32#4,>ebx_stack=stack32#2
178
+ # asm 2: movl <ebx=%ebx,>ebx_stack=4(%esp)
179
+ movl %ebx,4(%esp)
180
+
181
+ # qhasm: esi_stack = esi
182
+ # asm 1: movl <esi=int32#5,>esi_stack=stack32#3
183
+ # asm 2: movl <esi=%esi,>esi_stack=8(%esp)
184
+ movl %esi,8(%esp)
185
+
186
+ # qhasm: edi_stack = edi
187
+ # asm 1: movl <edi=int32#6,>edi_stack=stack32#4
188
+ # asm 2: movl <edi=%edi,>edi_stack=12(%esp)
189
+ movl %edi,12(%esp)
190
+
191
+ # qhasm: ebp_stack = ebp
192
+ # asm 1: movl <ebp=int32#7,>ebp_stack=stack32#5
193
+ # asm 2: movl <ebp=%ebp,>ebp_stack=16(%esp)
194
+ movl %ebp,16(%esp)
195
+
196
+ # qhasm: round *(uint16 *) &crypto_onetimeauth_poly1305_x86_rounding
197
+ fldcw crypto_onetimeauth_poly1305_x86_rounding
198
+
199
+ # qhasm: k = arg_k
200
+ # asm 1: movl <arg_k=stack32#-5,>k=int32#3
201
+ # asm 2: movl <arg_k=20(%esp,%eax),>k=%edx
202
+ movl 20(%esp,%eax),%edx
203
+
204
+ # qhasm: m0 = *(uint32 *) (k + 0)
205
+ # asm 1: movl 0(<k=int32#3),>m0=int32#2
206
+ # asm 2: movl 0(<k=%edx),>m0=%ecx
207
+ movl 0(%edx),%ecx
208
+
209
+ # qhasm: m1 = *(uint32 *) (k + 4)
210
+ # asm 1: movl 4(<k=int32#3),>m1=int32#4
211
+ # asm 2: movl 4(<k=%edx),>m1=%ebx
212
+ movl 4(%edx),%ebx
213
+
214
+ # qhasm: m2 = *(uint32 *) (k + 8)
215
+ # asm 1: movl 8(<k=int32#3),>m2=int32#5
216
+ # asm 2: movl 8(<k=%edx),>m2=%esi
217
+ movl 8(%edx),%esi
218
+
219
+ # qhasm: m3 = *(uint32 *) (k + 12)
220
+ # asm 1: movl 12(<k=int32#3),>m3=int32#6
221
+ # asm 2: movl 12(<k=%edx),>m3=%edi
222
+ movl 12(%edx),%edi
223
+
224
+ # qhasm: d0 top = 0x43300000
225
+ # asm 1: movl $0x43300000,>d0=stack64#1
226
+ # asm 2: movl $0x43300000,>d0=100(%esp)
227
+ movl $0x43300000,100(%esp)
228
+
229
+ # qhasm: d1 top = 0x45300000
230
+ # asm 1: movl $0x45300000,>d1=stack64#2
231
+ # asm 2: movl $0x45300000,>d1=108(%esp)
232
+ movl $0x45300000,108(%esp)
233
+
234
+ # qhasm: d2 top = 0x47300000
235
+ # asm 1: movl $0x47300000,>d2=stack64#3
236
+ # asm 2: movl $0x47300000,>d2=116(%esp)
237
+ movl $0x47300000,116(%esp)
238
+
239
+ # qhasm: d3 top = 0x49300000
240
+ # asm 1: movl $0x49300000,>d3=stack64#4
241
+ # asm 2: movl $0x49300000,>d3=124(%esp)
242
+ movl $0x49300000,124(%esp)
243
+
244
+ # qhasm: m0 &= 0x0fffffff
245
+ # asm 1: and $0x0fffffff,<m0=int32#2
246
+ # asm 2: and $0x0fffffff,<m0=%ecx
247
+ and $0x0fffffff,%ecx
248
+
249
+ # qhasm: m1 &= 0x0ffffffc
250
+ # asm 1: and $0x0ffffffc,<m1=int32#4
251
+ # asm 2: and $0x0ffffffc,<m1=%ebx
252
+ and $0x0ffffffc,%ebx
253
+
254
+ # qhasm: m2 &= 0x0ffffffc
255
+ # asm 1: and $0x0ffffffc,<m2=int32#5
256
+ # asm 2: and $0x0ffffffc,<m2=%esi
257
+ and $0x0ffffffc,%esi
258
+
259
+ # qhasm: m3 &= 0x0ffffffc
260
+ # asm 1: and $0x0ffffffc,<m3=int32#6
261
+ # asm 2: and $0x0ffffffc,<m3=%edi
262
+ and $0x0ffffffc,%edi
263
+
264
+ # qhasm: inplace d0 bottom = m0
265
+ # asm 1: movl <m0=int32#2,<d0=stack64#1
266
+ # asm 2: movl <m0=%ecx,<d0=96(%esp)
267
+ movl %ecx,96(%esp)
268
+
269
+ # qhasm: inplace d1 bottom = m1
270
+ # asm 1: movl <m1=int32#4,<d1=stack64#2
271
+ # asm 2: movl <m1=%ebx,<d1=104(%esp)
272
+ movl %ebx,104(%esp)
273
+
274
+ # qhasm: inplace d2 bottom = m2
275
+ # asm 1: movl <m2=int32#5,<d2=stack64#3
276
+ # asm 2: movl <m2=%esi,<d2=112(%esp)
277
+ movl %esi,112(%esp)
278
+
279
+ # qhasm: inplace d3 bottom = m3
280
+ # asm 1: movl <m3=int32#6,<d3=stack64#4
281
+ # asm 2: movl <m3=%edi,<d3=120(%esp)
282
+ movl %edi,120(%esp)
283
+
284
+ # qhasm: a0 = *(float64 *) &d0
285
+ # asm 1: fldl <d0=stack64#1
286
+ # asm 2: fldl <d0=96(%esp)
287
+ fldl 96(%esp)
288
+ # comment:fpstackfrombottom:<a0#24:
289
+
290
+ # qhasm: a0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
291
+ fsubl crypto_onetimeauth_poly1305_x86_doffset0
292
+ # comment:fpstackfrombottom:<a0#24:
293
+
294
+ # qhasm: a1 = *(float64 *) &d1
295
+ # asm 1: fldl <d1=stack64#2
296
+ # asm 2: fldl <d1=104(%esp)
297
+ fldl 104(%esp)
298
+ # comment:fpstackfrombottom:<a0#24:<a1#25:
299
+
300
+ # qhasm: a1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
301
+ fsubl crypto_onetimeauth_poly1305_x86_doffset1
302
+ # comment:fpstackfrombottom:<a0#24:<a1#25:
303
+
304
+ # qhasm: a2 = *(float64 *) &d2
305
+ # asm 1: fldl <d2=stack64#3
306
+ # asm 2: fldl <d2=112(%esp)
307
+ fldl 112(%esp)
308
+ # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:
309
+
310
+ # qhasm: a2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
311
+ fsubl crypto_onetimeauth_poly1305_x86_doffset2
312
+ # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:
313
+
314
+ # qhasm: a3 = *(float64 *) &d3
315
+ # asm 1: fldl <d3=stack64#4
316
+ # asm 2: fldl <d3=120(%esp)
317
+ fldl 120(%esp)
318
+ # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:<a3#27:
319
+
320
+ # qhasm: a3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3
321
+ fsubl crypto_onetimeauth_poly1305_x86_doffset3
322
+ # comment:fpstackfrombottom:<a0#24:<a1#25:<a2#26:<a3#27:
323
+
324
+ # qhasm: internal stacktop a0
325
+ # asm 1: fxch <a0=float80#4
326
+ # asm 2: fxch <a0=%st(3)
327
+ fxch %st(3)
328
+
329
+ # qhasm: *(float64 *) &r0 = a0
330
+ # asm 1: fstpl >r0=stack64#5
331
+ # asm 2: fstpl >r0=128(%esp)
332
+ fstpl 128(%esp)
333
+ # comment:fpstackfrombottom:<a3#27:<a1#25:<a2#26:
334
+
335
+ # qhasm: internal stacktop a1
336
+ # asm 1: fxch <a1=float80#2
337
+ # asm 2: fxch <a1=%st(1)
338
+ fxch %st(1)
339
+
340
+ # qhasm: *(float64 *) &r1 = a1
341
+ # asm 1: fstl >r1=stack64#6
342
+ # asm 2: fstl >r1=136(%esp)
343
+ fstl 136(%esp)
344
+ # comment:fpstackfrombottom:<a3#27:<a2#26:<a1#25:
345
+
346
+ # qhasm: a1 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
347
+ fmull crypto_onetimeauth_poly1305_x86_scale
348
+ # comment:fpstackfrombottom:<a3#27:<a2#26:<a1#25:
349
+
350
+ # qhasm: *(float64 *) &sr1 = a1
351
+ # asm 1: fstpl >sr1=stack64#7
352
+ # asm 2: fstpl >sr1=144(%esp)
353
+ fstpl 144(%esp)
354
+ # comment:fpstackfrombottom:<a3#27:<a2#26:
355
+
356
+ # qhasm: *(float64 *) &r2 = a2
357
+ # asm 1: fstl >r2=stack64#8
358
+ # asm 2: fstl >r2=152(%esp)
359
+ fstl 152(%esp)
360
+ # comment:fpstackfrombottom:<a3#27:<a2#26:
361
+
362
+ # qhasm: a2 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
363
+ fmull crypto_onetimeauth_poly1305_x86_scale
364
+ # comment:fpstackfrombottom:<a3#27:<a2#26:
365
+
366
+ # qhasm: *(float64 *) &sr2 = a2
367
+ # asm 1: fstpl >sr2=stack64#9
368
+ # asm 2: fstpl >sr2=160(%esp)
369
+ fstpl 160(%esp)
370
+ # comment:fpstackfrombottom:<a3#27:
371
+
372
+ # qhasm: *(float64 *) &r3 = a3
373
+ # asm 1: fstl >r3=stack64#10
374
+ # asm 2: fstl >r3=168(%esp)
375
+ fstl 168(%esp)
376
+ # comment:fpstackfrombottom:<a3#27:
377
+
378
+ # qhasm: a3 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
379
+ fmull crypto_onetimeauth_poly1305_x86_scale
380
+ # comment:fpstackfrombottom:<a3#27:
381
+
382
+ # qhasm: *(float64 *) &sr3 = a3
383
+ # asm 1: fstpl >sr3=stack64#11
384
+ # asm 2: fstpl >sr3=176(%esp)
385
+ fstpl 176(%esp)
386
+ # comment:fpstackfrombottom:
387
+
388
+ # qhasm: out = arg_out
389
+ # asm 1: movl <arg_out=stack32#-1,>out=int32#4
390
+ # asm 2: movl <arg_out=4(%esp,%eax),>out=%ebx
391
+ movl 4(%esp,%eax),%ebx
392
+
393
+ # qhasm: m = arg_m
394
+ # asm 1: movl <arg_m=stack32#-2,>m=int32#5
395
+ # asm 2: movl <arg_m=8(%esp,%eax),>m=%esi
396
+ movl 8(%esp,%eax),%esi
397
+
398
+ # qhasm: l = arg_l
399
+ # asm 1: movl <arg_l=stack32#-3,>l=int32#2
400
+ # asm 2: movl <arg_l=12(%esp,%eax),>l=%ecx
401
+ movl 12(%esp,%eax),%ecx
402
+
403
+ # qhasm: h3 = 0
404
+ fldz
405
+ # comment:fpstackfrombottom:<h3#38:
406
+
407
+ # qhasm: h2 = 0
408
+ fldz
409
+ # comment:fpstackfrombottom:<h3#38:<h2#39:
410
+
411
+ # qhasm: h1 = 0
412
+ fldz
413
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:
414
+
415
+ # qhasm: h0 = 0
416
+ fldz
417
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
418
+
419
+ # qhasm: k_stack = k
420
+ # asm 1: movl <k=int32#3,>k_stack=stack32#6
421
+ # asm 2: movl <k=%edx,>k_stack=20(%esp)
422
+ movl %edx,20(%esp)
423
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
424
+
425
+ # qhasm: out_stack = out
426
+ # asm 1: movl <out=int32#4,>out_stack=stack32#7
427
+ # asm 2: movl <out=%ebx,>out_stack=24(%esp)
428
+ movl %ebx,24(%esp)
429
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
430
+
431
+ # qhasm: unsigned<? l - 16
432
+ # asm 1: cmp $16,<l=int32#2
433
+ # asm 2: cmp $16,<l=%ecx
434
+ cmp $16,%ecx
435
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
436
+ # comment:fp stack unchanged by jump
437
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
438
+
439
+ # qhasm: goto addatmost15bytes if unsigned<
440
+ jb ._addatmost15bytes
441
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
442
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
443
+
444
+ # qhasm: initialatleast16bytes:
445
+ ._initialatleast16bytes:
446
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
447
+
448
+ # qhasm: m3 = *(uint32 *) (m + 12)
449
+ # asm 1: movl 12(<m=int32#5),>m3=int32#1
450
+ # asm 2: movl 12(<m=%esi),>m3=%eax
451
+ movl 12(%esi),%eax
452
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
453
+
454
+ # qhasm: m2 = *(uint32 *) (m + 8)
455
+ # asm 1: movl 8(<m=int32#5),>m2=int32#3
456
+ # asm 2: movl 8(<m=%esi),>m2=%edx
457
+ movl 8(%esi),%edx
458
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
459
+
460
+ # qhasm: m1 = *(uint32 *) (m + 4)
461
+ # asm 1: movl 4(<m=int32#5),>m1=int32#4
462
+ # asm 2: movl 4(<m=%esi),>m1=%ebx
463
+ movl 4(%esi),%ebx
464
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
465
+
466
+ # qhasm: m0 = *(uint32 *) (m + 0)
467
+ # asm 1: movl 0(<m=int32#5),>m0=int32#6
468
+ # asm 2: movl 0(<m=%esi),>m0=%edi
469
+ movl 0(%esi),%edi
470
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
471
+
472
+ # qhasm: inplace d3 bottom = m3
473
+ # asm 1: movl <m3=int32#1,<d3=stack64#4
474
+ # asm 2: movl <m3=%eax,<d3=120(%esp)
475
+ movl %eax,120(%esp)
476
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
477
+
478
+ # qhasm: inplace d2 bottom = m2
479
+ # asm 1: movl <m2=int32#3,<d2=stack64#3
480
+ # asm 2: movl <m2=%edx,<d2=112(%esp)
481
+ movl %edx,112(%esp)
482
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
483
+
484
+ # qhasm: inplace d1 bottom = m1
485
+ # asm 1: movl <m1=int32#4,<d1=stack64#2
486
+ # asm 2: movl <m1=%ebx,<d1=104(%esp)
487
+ movl %ebx,104(%esp)
488
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
489
+
490
+ # qhasm: inplace d0 bottom = m0
491
+ # asm 1: movl <m0=int32#6,<d0=stack64#1
492
+ # asm 2: movl <m0=%edi,<d0=96(%esp)
493
+ movl %edi,96(%esp)
494
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
495
+
496
+ # qhasm: m += 16
497
+ # asm 1: add $16,<m=int32#5
498
+ # asm 2: add $16,<m=%esi
499
+ add $16,%esi
500
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
501
+
502
+ # qhasm: l -= 16
503
+ # asm 1: sub $16,<l=int32#2
504
+ # asm 2: sub $16,<l=%ecx
505
+ sub $16,%ecx
506
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
507
+
508
+ # qhasm: internal stacktop h3
509
+ # asm 1: fxch <h3=float80#4
510
+ # asm 2: fxch <h3=%st(3)
511
+ fxch %st(3)
512
+
513
+ # qhasm: h3 += *(float64 *) &d3
514
+ # asm 1: faddl <d3=stack64#4
515
+ # asm 2: faddl <d3=120(%esp)
516
+ faddl 120(%esp)
517
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
518
+
519
+ # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3minustwo128
520
+ fsubl crypto_onetimeauth_poly1305_x86_doffset3minustwo128
521
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
522
+
523
+ # qhasm: internal stacktop h1
524
+ # asm 1: fxch <h1=float80#2
525
+ # asm 2: fxch <h1=%st(1)
526
+ fxch %st(1)
527
+
528
+ # qhasm: h1 += *(float64 *) &d1
529
+ # asm 1: faddl <d1=stack64#2
530
+ # asm 2: faddl <d1=104(%esp)
531
+ faddl 104(%esp)
532
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h3#38:<h1#40:
533
+
534
+ # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
535
+ fsubl crypto_onetimeauth_poly1305_x86_doffset1
536
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h3#38:<h1#40:
537
+
538
+ # qhasm: internal stacktop h2
539
+ # asm 1: fxch <h2=float80#3
540
+ # asm 2: fxch <h2=%st(2)
541
+ fxch %st(2)
542
+
543
+ # qhasm: h2 += *(float64 *) &d2
544
+ # asm 1: faddl <d2=stack64#3
545
+ # asm 2: faddl <d2=112(%esp)
546
+ faddl 112(%esp)
547
+ # comment:fpstackfrombottom:<h0#41:<h1#40:<h3#38:<h2#39:
548
+
549
+ # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
550
+ fsubl crypto_onetimeauth_poly1305_x86_doffset2
551
+ # comment:fpstackfrombottom:<h0#41:<h1#40:<h3#38:<h2#39:
552
+
553
+ # qhasm: internal stacktop h0
554
+ # asm 1: fxch <h0=float80#4
555
+ # asm 2: fxch <h0=%st(3)
556
+ fxch %st(3)
557
+
558
+ # qhasm: h0 += *(float64 *) &d0
559
+ # asm 1: faddl <d0=stack64#1
560
+ # asm 2: faddl <d0=96(%esp)
561
+ faddl 96(%esp)
562
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
563
+
564
+ # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
565
+ fsubl crypto_onetimeauth_poly1305_x86_doffset0
566
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
567
+
568
+ # qhasm: unsigned<? l - 16
569
+ # asm 1: cmp $16,<l=int32#2
570
+ # asm 2: cmp $16,<l=%ecx
571
+ cmp $16,%ecx
572
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
573
+ # comment:fp stack unchanged by jump
574
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
575
+
576
+ # qhasm: goto multiplyaddatmost15bytes if unsigned<
577
+ jb ._multiplyaddatmost15bytes
578
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
579
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
580
+
581
+ # qhasm: multiplyaddatleast16bytes:
582
+ ._multiplyaddatleast16bytes:
583
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
584
+
585
+ # qhasm: m3 = *(uint32 *) (m + 12)
586
+ # asm 1: movl 12(<m=int32#5),>m3=int32#1
587
+ # asm 2: movl 12(<m=%esi),>m3=%eax
588
+ movl 12(%esi),%eax
589
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
590
+
591
+ # qhasm: m2 = *(uint32 *) (m + 8)
592
+ # asm 1: movl 8(<m=int32#5),>m2=int32#3
593
+ # asm 2: movl 8(<m=%esi),>m2=%edx
594
+ movl 8(%esi),%edx
595
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
596
+
597
+ # qhasm: m1 = *(uint32 *) (m + 4)
598
+ # asm 1: movl 4(<m=int32#5),>m1=int32#4
599
+ # asm 2: movl 4(<m=%esi),>m1=%ebx
600
+ movl 4(%esi),%ebx
601
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
602
+
603
+ # qhasm: m0 = *(uint32 *) (m + 0)
604
+ # asm 1: movl 0(<m=int32#5),>m0=int32#6
605
+ # asm 2: movl 0(<m=%esi),>m0=%edi
606
+ movl 0(%esi),%edi
607
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
608
+
609
+ # qhasm: inplace d3 bottom = m3
610
+ # asm 1: movl <m3=int32#1,<d3=stack64#4
611
+ # asm 2: movl <m3=%eax,<d3=120(%esp)
612
+ movl %eax,120(%esp)
613
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
614
+
615
+ # qhasm: inplace d2 bottom = m2
616
+ # asm 1: movl <m2=int32#3,<d2=stack64#3
617
+ # asm 2: movl <m2=%edx,<d2=112(%esp)
618
+ movl %edx,112(%esp)
619
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
620
+
621
+ # qhasm: inplace d1 bottom = m1
622
+ # asm 1: movl <m1=int32#4,<d1=stack64#2
623
+ # asm 2: movl <m1=%ebx,<d1=104(%esp)
624
+ movl %ebx,104(%esp)
625
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
626
+
627
+ # qhasm: inplace d0 bottom = m0
628
+ # asm 1: movl <m0=int32#6,<d0=stack64#1
629
+ # asm 2: movl <m0=%edi,<d0=96(%esp)
630
+ movl %edi,96(%esp)
631
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
632
+
633
+ # qhasm: m += 16
634
+ # asm 1: add $16,<m=int32#5
635
+ # asm 2: add $16,<m=%esi
636
+ add $16,%esi
637
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
638
+
639
+ # qhasm: l -= 16
640
+ # asm 1: sub $16,<l=int32#2
641
+ # asm 2: sub $16,<l=%ecx
642
+ sub $16,%ecx
643
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
644
+
645
+ # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
646
+ fldl crypto_onetimeauth_poly1305_x86_alpha130
647
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
648
+
649
+ # qhasm: x0 += h3
650
+ # asm 1: fadd <h3=float80#3,<x0=float80#1
651
+ # asm 2: fadd <h3=%st(2),<x0=%st(0)
652
+ fadd %st(2),%st(0)
653
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
654
+
655
+ # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
656
+ fsubl crypto_onetimeauth_poly1305_x86_alpha130
657
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
658
+
659
+ # qhasm: h3 -= x0
660
+ # asm 1: fsubr <x0=float80#1,<h3=float80#3
661
+ # asm 2: fsubr <x0=%st(0),<h3=%st(2)
662
+ fsubr %st(0),%st(2)
663
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
664
+
665
+ # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
666
+ fmull crypto_onetimeauth_poly1305_x86_scale
667
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:
668
+
669
+ # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
670
+ fldl crypto_onetimeauth_poly1305_x86_alpha32
671
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
672
+
673
+ # qhasm: x1 += h0
674
+ # asm 1: fadd <h0=float80#3,<x1=float80#1
675
+ # asm 2: fadd <h0=%st(2),<x1=%st(0)
676
+ fadd %st(2),%st(0)
677
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
678
+
679
+ # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
680
+ fsubl crypto_onetimeauth_poly1305_x86_alpha32
681
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
682
+
683
+ # qhasm: h0 -= x1
684
+ # asm 1: fsubr <x1=float80#1,<h0=float80#3
685
+ # asm 2: fsubr <x1=%st(0),<h0=%st(2)
686
+ fsubr %st(0),%st(2)
687
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#54:<x1#55:
688
+
689
+ # qhasm: internal stacktop h0
690
+ # asm 1: fxch <h0=float80#3
691
+ # asm 2: fxch <h0=%st(2)
692
+ fxch %st(2)
693
+
694
+ # qhasm: x0 += h0
695
+ # asm 1: faddp <h0=float80#1,<x0=float80#2
696
+ # asm 2: faddp <h0=%st(0),<x0=%st(1)
697
+ faddp %st(0),%st(1)
698
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:
699
+
700
+ # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
701
+ fldl crypto_onetimeauth_poly1305_x86_alpha64
702
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
703
+
704
+ # qhasm: x2 += h1
705
+ # asm 1: fadd <h1=float80#5,<x2=float80#1
706
+ # asm 2: fadd <h1=%st(4),<x2=%st(0)
707
+ fadd %st(4),%st(0)
708
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
709
+
710
+ # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
711
+ fsubl crypto_onetimeauth_poly1305_x86_alpha64
712
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
713
+
714
+ # qhasm: h1 -= x2
715
+ # asm 1: fsubr <x2=float80#1,<h1=float80#5
716
+ # asm 2: fsubr <x2=%st(0),<h1=%st(4)
717
+ fsubr %st(0),%st(4)
718
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
719
+
720
+ # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
721
+ fldl crypto_onetimeauth_poly1305_x86_alpha96
722
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
723
+
724
+ # qhasm: x3 += h2
725
+ # asm 1: fadd <h2=float80#7,<x3=float80#1
726
+ # asm 2: fadd <h2=%st(6),<x3=%st(0)
727
+ fadd %st(6),%st(0)
728
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
729
+
730
+ # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
731
+ fsubl crypto_onetimeauth_poly1305_x86_alpha96
732
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
733
+
734
+ # qhasm: h2 -= x3
735
+ # asm 1: fsubr <x3=float80#1,<h2=float80#7
736
+ # asm 2: fsubr <x3=%st(0),<h2=%st(6)
737
+ fsubr %st(0),%st(6)
738
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:<x3#57:
739
+
740
+ # qhasm: internal stacktop h2
741
+ # asm 1: fxch <h2=float80#7
742
+ # asm 2: fxch <h2=%st(6)
743
+ fxch %st(6)
744
+
745
+ # qhasm: x2 += h2
746
+ # asm 1: faddp <h2=float80#1,<x2=float80#2
747
+ # asm 2: faddp <h2=%st(0),<x2=%st(1)
748
+ faddp %st(0),%st(1)
749
+ # comment:fpstackfrombottom:<x3#57:<h1#40:<h3#38:<x1#55:<x0#54:<x2#56:
750
+
751
+ # qhasm: internal stacktop h3
752
+ # asm 1: fxch <h3=float80#4
753
+ # asm 2: fxch <h3=%st(3)
754
+ fxch %st(3)
755
+
756
+ # qhasm: x3 += h3
757
+ # asm 1: faddp <h3=float80#1,<x3=float80#6
758
+ # asm 2: faddp <h3=%st(0),<x3=%st(5)
759
+ faddp %st(0),%st(5)
760
+ # comment:fpstackfrombottom:<x3#57:<h1#40:<x2#56:<x1#55:<x0#54:
761
+
762
+ # qhasm: internal stacktop h1
763
+ # asm 1: fxch <h1=float80#4
764
+ # asm 2: fxch <h1=%st(3)
765
+ fxch %st(3)
766
+
767
+ # qhasm: x1 += h1
768
+ # asm 1: faddp <h1=float80#1,<x1=float80#2
769
+ # asm 2: faddp <h1=%st(0),<x1=%st(1)
770
+ faddp %st(0),%st(1)
771
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:
772
+
773
+ # qhasm: h3 = *(float64 *) &r3
774
+ # asm 1: fldl <r3=stack64#10
775
+ # asm 2: fldl <r3=168(%esp)
776
+ fldl 168(%esp)
777
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:
778
+
779
+ # qhasm: h3 *= x0
780
+ # asm 1: fmul <x0=float80#4,<h3=float80#1
781
+ # asm 2: fmul <x0=%st(3),<h3=%st(0)
782
+ fmul %st(3),%st(0)
783
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:
784
+
785
+ # qhasm: h2 = *(float64 *) &r2
786
+ # asm 1: fldl <r2=stack64#8
787
+ # asm 2: fldl <r2=152(%esp)
788
+ fldl 152(%esp)
789
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:
790
+
791
+ # qhasm: h2 *= x0
792
+ # asm 1: fmul <x0=float80#5,<h2=float80#1
793
+ # asm 2: fmul <x0=%st(4),<h2=%st(0)
794
+ fmul %st(4),%st(0)
795
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:
796
+
797
+ # qhasm: h1 = *(float64 *) &r1
798
+ # asm 1: fldl <r1=stack64#6
799
+ # asm 2: fldl <r1=136(%esp)
800
+ fldl 136(%esp)
801
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
802
+
803
+ # qhasm: h1 *= x0
804
+ # asm 1: fmul <x0=float80#6,<h1=float80#1
805
+ # asm 2: fmul <x0=%st(5),<h1=%st(0)
806
+ fmul %st(5),%st(0)
807
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
808
+
809
+ # qhasm: h0 = *(float64 *) &r0
810
+ # asm 1: fldl <r0=stack64#5
811
+ # asm 2: fldl <r0=128(%esp)
812
+ fldl 128(%esp)
813
+ # comment:fpstackfrombottom:<x3#57:<x0#54:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<h0#41:
814
+
815
+ # qhasm: h0 *= x0
816
+ # asm 1: fmulp <x0=float80#1,<h0=float80#7
817
+ # asm 2: fmulp <x0=%st(0),<h0=%st(6)
818
+ fmulp %st(0),%st(6)
819
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
820
+
821
+ # qhasm: r2x1 = *(float64 *) &r2
822
+ # asm 1: fldl <r2=stack64#8
823
+ # asm 2: fldl <r2=152(%esp)
824
+ fldl 152(%esp)
825
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r2x1#58:
826
+
827
+ # qhasm: r2x1 *= x1
828
+ # asm 1: fmul <x1=float80#5,<r2x1=float80#1
829
+ # asm 2: fmul <x1=%st(4),<r2x1=%st(0)
830
+ fmul %st(4),%st(0)
831
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r2x1#58:
832
+
833
+ # qhasm: h3 += r2x1
834
+ # asm 1: faddp <r2x1=float80#1,<h3=float80#4
835
+ # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
836
+ faddp %st(0),%st(3)
837
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
838
+
839
+ # qhasm: r1x1 = *(float64 *) &r1
840
+ # asm 1: fldl <r1=stack64#6
841
+ # asm 2: fldl <r1=136(%esp)
842
+ fldl 136(%esp)
843
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r1x1#59:
844
+
845
+ # qhasm: r1x1 *= x1
846
+ # asm 1: fmul <x1=float80#5,<r1x1=float80#1
847
+ # asm 2: fmul <x1=%st(4),<r1x1=%st(0)
848
+ fmul %st(4),%st(0)
849
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r1x1#59:
850
+
851
+ # qhasm: h2 += r1x1
852
+ # asm 1: faddp <r1x1=float80#1,<h2=float80#3
853
+ # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
854
+ faddp %st(0),%st(2)
855
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
856
+
857
+ # qhasm: r0x1 = *(float64 *) &r0
858
+ # asm 1: fldl <r0=stack64#5
859
+ # asm 2: fldl <r0=128(%esp)
860
+ fldl 128(%esp)
861
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r0x1#60:
862
+
863
+ # qhasm: r0x1 *= x1
864
+ # asm 1: fmul <x1=float80#5,<r0x1=float80#1
865
+ # asm 2: fmul <x1=%st(4),<r0x1=%st(0)
866
+ fmul %st(4),%st(0)
867
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<r0x1#60:
868
+
869
+ # qhasm: h1 += r0x1
870
+ # asm 1: faddp <r0x1=float80#1,<h1=float80#2
871
+ # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
872
+ faddp %st(0),%st(1)
873
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:
874
+
875
+ # qhasm: sr3x1 = *(float64 *) &sr3
876
+ # asm 1: fldl <sr3=stack64#11
877
+ # asm 2: fldl <sr3=176(%esp)
878
+ fldl 176(%esp)
879
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<x1#55:<h3#38:<h2#39:<h1#40:<sr3x1#61:
880
+
881
+ # qhasm: sr3x1 *= x1
882
+ # asm 1: fmulp <x1=float80#1,<sr3x1=float80#5
883
+ # asm 2: fmulp <x1=%st(0),<sr3x1=%st(4)
884
+ fmulp %st(0),%st(4)
885
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<sr3x1#61:<h3#38:<h2#39:<h1#40:
886
+
887
+ # qhasm: internal stacktop sr3x1
888
+ # asm 1: fxch <sr3x1=float80#4
889
+ # asm 2: fxch <sr3x1=%st(3)
890
+ fxch %st(3)
891
+
892
+ # qhasm: h0 += sr3x1
893
+ # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
894
+ # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
895
+ faddp %st(0),%st(5)
896
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
897
+
898
+ # qhasm: r1x2 = *(float64 *) &r1
899
+ # asm 1: fldl <r1=stack64#6
900
+ # asm 2: fldl <r1=136(%esp)
901
+ fldl 136(%esp)
902
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r1x2#62:
903
+
904
+ # qhasm: r1x2 *= x2
905
+ # asm 1: fmul <x2=float80#5,<r1x2=float80#1
906
+ # asm 2: fmul <x2=%st(4),<r1x2=%st(0)
907
+ fmul %st(4),%st(0)
908
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r1x2#62:
909
+
910
+ # qhasm: h3 += r1x2
911
+ # asm 1: faddp <r1x2=float80#1,<h3=float80#3
912
+ # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
913
+ faddp %st(0),%st(2)
914
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
915
+
916
+ # qhasm: r0x2 = *(float64 *) &r0
917
+ # asm 1: fldl <r0=stack64#5
918
+ # asm 2: fldl <r0=128(%esp)
919
+ fldl 128(%esp)
920
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r0x2#63:
921
+
922
+ # qhasm: r0x2 *= x2
923
+ # asm 1: fmul <x2=float80#5,<r0x2=float80#1
924
+ # asm 2: fmul <x2=%st(4),<r0x2=%st(0)
925
+ fmul %st(4),%st(0)
926
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<r0x2#63:
927
+
928
+ # qhasm: h2 += r0x2
929
+ # asm 1: faddp <r0x2=float80#1,<h2=float80#2
930
+ # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
931
+ faddp %st(0),%st(1)
932
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
933
+
934
+ # qhasm: sr3x2 = *(float64 *) &sr3
935
+ # asm 1: fldl <sr3=stack64#11
936
+ # asm 2: fldl <sr3=176(%esp)
937
+ fldl 176(%esp)
938
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr3x2#64:
939
+
940
+ # qhasm: sr3x2 *= x2
941
+ # asm 1: fmul <x2=float80#5,<sr3x2=float80#1
942
+ # asm 2: fmul <x2=%st(4),<sr3x2=%st(0)
943
+ fmul %st(4),%st(0)
944
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr3x2#64:
945
+
946
+ # qhasm: h1 += sr3x2
947
+ # asm 1: faddp <sr3x2=float80#1,<h1=float80#4
948
+ # asm 2: faddp <sr3x2=%st(0),<h1=%st(3)
949
+ faddp %st(0),%st(3)
950
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:
951
+
952
+ # qhasm: sr2x2 = *(float64 *) &sr2
953
+ # asm 1: fldl <sr2=stack64#9
954
+ # asm 2: fldl <sr2=160(%esp)
955
+ fldl 160(%esp)
956
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<x2#56:<h1#40:<h3#38:<h2#39:<sr2x2#65:
957
+
958
+ # qhasm: sr2x2 *= x2
959
+ # asm 1: fmulp <x2=float80#1,<sr2x2=float80#5
960
+ # asm 2: fmulp <x2=%st(0),<sr2x2=%st(4)
961
+ fmulp %st(0),%st(4)
962
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<sr2x2#65:<h1#40:<h3#38:<h2#39:
963
+
964
+ # qhasm: internal stacktop sr2x2
965
+ # asm 1: fxch <sr2x2=float80#4
966
+ # asm 2: fxch <sr2x2=%st(3)
967
+ fxch %st(3)
968
+
969
+ # qhasm: h0 += sr2x2
970
+ # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
971
+ # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
972
+ faddp %st(0),%st(4)
973
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:
974
+
975
+ # qhasm: r0x3 = *(float64 *) &r0
976
+ # asm 1: fldl <r0=stack64#5
977
+ # asm 2: fldl <r0=128(%esp)
978
+ fldl 128(%esp)
979
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:<r0x3#66:
980
+
981
+ # qhasm: r0x3 *= x3
982
+ # asm 1: fmul <x3=float80#6,<r0x3=float80#1
983
+ # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
984
+ fmul %st(5),%st(0)
985
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:<r0x3#66:
986
+
987
+ # qhasm: h3 += r0x3
988
+ # asm 1: faddp <r0x3=float80#1,<h3=float80#2
989
+ # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
990
+ faddp %st(0),%st(1)
991
+ # comment:fpstackfrombottom:<x3#57:<h0#41:<h2#39:<h1#40:<h3#38:
992
+
993
+ # qhasm: stacktop h0
994
+ # asm 1: fxch <h0=float80#4
995
+ # asm 2: fxch <h0=%st(3)
996
+ fxch %st(3)
997
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:
998
+
999
+ # qhasm: sr3x3 = *(float64 *) &sr3
1000
+ # asm 1: fldl <sr3=stack64#11
1001
+ # asm 2: fldl <sr3=176(%esp)
1002
+ fldl 176(%esp)
1003
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:<sr3x3#67:
1004
+
1005
+ # qhasm: sr3x3 *= x3
1006
+ # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
1007
+ # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
1008
+ fmul %st(5),%st(0)
1009
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:<sr3x3#67:
1010
+
1011
+ # qhasm: h2 += sr3x3
1012
+ # asm 1: faddp <sr3x3=float80#1,<h2=float80#4
1013
+ # asm 2: faddp <sr3x3=%st(0),<h2=%st(3)
1014
+ faddp %st(0),%st(3)
1015
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h1#40:<h0#41:
1016
+
1017
+ # qhasm: stacktop h1
1018
+ # asm 1: fxch <h1=float80#2
1019
+ # asm 2: fxch <h1=%st(1)
1020
+ fxch %st(1)
1021
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:
1022
+
1023
+ # qhasm: sr2x3 = *(float64 *) &sr2
1024
+ # asm 1: fldl <sr2=stack64#9
1025
+ # asm 2: fldl <sr2=160(%esp)
1026
+ fldl 160(%esp)
1027
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr2x3#68:
1028
+
1029
+ # qhasm: sr2x3 *= x3
1030
+ # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
1031
+ # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
1032
+ fmul %st(5),%st(0)
1033
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr2x3#68:
1034
+
1035
+ # qhasm: h1 += sr2x3
1036
+ # asm 1: faddp <sr2x3=float80#1,<h1=float80#2
1037
+ # asm 2: faddp <sr2x3=%st(0),<h1=%st(1)
1038
+ faddp %st(0),%st(1)
1039
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:
1040
+
1041
+ # qhasm: sr1x3 = *(float64 *) &sr1
1042
+ # asm 1: fldl <sr1=stack64#7
1043
+ # asm 2: fldl <sr1=144(%esp)
1044
+ fldl 144(%esp)
1045
+ # comment:fpstackfrombottom:<x3#57:<h3#38:<h2#39:<h0#41:<h1#40:<sr1x3#69:
1046
+
1047
+ # qhasm: sr1x3 *= x3
1048
+ # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
1049
+ # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
1050
+ fmulp %st(0),%st(5)
1051
+ # comment:fpstackfrombottom:<sr1x3#69:<h3#38:<h2#39:<h0#41:<h1#40:
1052
+
1053
+ # qhasm: internal stacktop sr1x3
1054
+ # asm 1: fxch <sr1x3=float80#5
1055
+ # asm 2: fxch <sr1x3=%st(4)
1056
+ fxch %st(4)
1057
+
1058
+ # qhasm: h0 += sr1x3
1059
+ # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1060
+ # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
1061
+ faddp %st(0),%st(1)
1062
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
1063
+
1064
+ # qhasm: unsigned<? l - 16
1065
+ # asm 1: cmp $16,<l=int32#2
1066
+ # asm 2: cmp $16,<l=%ecx
1067
+ cmp $16,%ecx
1068
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
1069
+
1070
+ # qhasm: stacktop h3
1071
+ # asm 1: fxch <h3=float80#3
1072
+ # asm 2: fxch <h3=%st(2)
1073
+ fxch %st(2)
1074
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:
1075
+
1076
+ # qhasm: y3 = *(float64 *) &d3
1077
+ # asm 1: fldl <d3=stack64#4
1078
+ # asm 2: fldl <d3=120(%esp)
1079
+ fldl 120(%esp)
1080
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:<y3#71:
1081
+
1082
+ # qhasm: y3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3minustwo128
1083
+ fsubl crypto_onetimeauth_poly1305_x86_doffset3minustwo128
1084
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:<y3#71:
1085
+
1086
+ # qhasm: h3 += y3
1087
+ # asm 1: faddp <y3=float80#1,<h3=float80#2
1088
+ # asm 2: faddp <y3=%st(0),<h3=%st(1)
1089
+ faddp %st(0),%st(1)
1090
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h2#39:<h3#38:
1091
+
1092
+ # qhasm: stacktop h2
1093
+ # asm 1: fxch <h2=float80#2
1094
+ # asm 2: fxch <h2=%st(1)
1095
+ fxch %st(1)
1096
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:
1097
+
1098
+ # qhasm: y2 = *(float64 *) &d2
1099
+ # asm 1: fldl <d2=stack64#3
1100
+ # asm 2: fldl <d2=112(%esp)
1101
+ fldl 112(%esp)
1102
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:<y2#72:
1103
+
1104
+ # qhasm: y2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
1105
+ fsubl crypto_onetimeauth_poly1305_x86_doffset2
1106
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:<y2#72:
1107
+
1108
+ # qhasm: h2 += y2
1109
+ # asm 1: faddp <y2=float80#1,<h2=float80#2
1110
+ # asm 2: faddp <y2=%st(0),<h2=%st(1)
1111
+ faddp %st(0),%st(1)
1112
+ # comment:fpstackfrombottom:<h1#40:<h0#41:<h3#38:<h2#39:
1113
+
1114
+ # qhasm: stacktop h1
1115
+ # asm 1: fxch <h1=float80#4
1116
+ # asm 2: fxch <h1=%st(3)
1117
+ fxch %st(3)
1118
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:
1119
+
1120
+ # qhasm: y1 = *(float64 *) &d1
1121
+ # asm 1: fldl <d1=stack64#2
1122
+ # asm 2: fldl <d1=104(%esp)
1123
+ fldl 104(%esp)
1124
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:<y1#73:
1125
+
1126
+ # qhasm: y1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
1127
+ fsubl crypto_onetimeauth_poly1305_x86_doffset1
1128
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:<y1#73:
1129
+
1130
+ # qhasm: h1 += y1
1131
+ # asm 1: faddp <y1=float80#1,<h1=float80#2
1132
+ # asm 2: faddp <y1=%st(0),<h1=%st(1)
1133
+ faddp %st(0),%st(1)
1134
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h3#38:<h1#40:
1135
+
1136
+ # qhasm: stacktop h0
1137
+ # asm 1: fxch <h0=float80#3
1138
+ # asm 2: fxch <h0=%st(2)
1139
+ fxch %st(2)
1140
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1141
+
1142
+ # qhasm: y0 = *(float64 *) &d0
1143
+ # asm 1: fldl <d0=stack64#1
1144
+ # asm 2: fldl <d0=96(%esp)
1145
+ fldl 96(%esp)
1146
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<y0#74:
1147
+
1148
+ # qhasm: y0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
1149
+ fsubl crypto_onetimeauth_poly1305_x86_doffset0
1150
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<y0#74:
1151
+
1152
+ # qhasm: h0 += y0
1153
+ # asm 1: faddp <y0=float80#1,<h0=float80#2
1154
+ # asm 2: faddp <y0=%st(0),<h0=%st(1)
1155
+ faddp %st(0),%st(1)
1156
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1157
+ # comment:fp stack unchanged by jump
1158
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1159
+
1160
+ # qhasm: goto multiplyaddatleast16bytes if !unsigned<
1161
+ jae ._multiplyaddatleast16bytes
1162
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1163
+ # comment:fp stack unchanged by fallthrough
1164
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1165
+
1166
+ # qhasm: multiplyaddatmost15bytes:
1167
+ ._multiplyaddatmost15bytes:
1168
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:
1169
+
1170
+ # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
1171
+ fldl crypto_onetimeauth_poly1305_x86_alpha130
1172
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
1173
+
1174
+ # qhasm: x0 += h3
1175
+ # asm 1: fadd <h3=float80#3,<x0=float80#1
1176
+ # asm 2: fadd <h3=%st(2),<x0=%st(0)
1177
+ fadd %st(2),%st(0)
1178
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
1179
+
1180
+ # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
1181
+ fsubl crypto_onetimeauth_poly1305_x86_alpha130
1182
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
1183
+
1184
+ # qhasm: h3 -= x0
1185
+ # asm 1: fsubr <x0=float80#1,<h3=float80#3
1186
+ # asm 2: fsubr <x0=%st(0),<h3=%st(2)
1187
+ fsubr %st(0),%st(2)
1188
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
1189
+
1190
+ # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
1191
+ fmull crypto_onetimeauth_poly1305_x86_scale
1192
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:
1193
+
1194
+ # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
1195
+ fldl crypto_onetimeauth_poly1305_x86_alpha32
1196
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
1197
+
1198
+ # qhasm: x1 += h0
1199
+ # asm 1: fadd <h0=float80#3,<x1=float80#1
1200
+ # asm 2: fadd <h0=%st(2),<x1=%st(0)
1201
+ fadd %st(2),%st(0)
1202
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
1203
+
1204
+ # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
1205
+ fsubl crypto_onetimeauth_poly1305_x86_alpha32
1206
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
1207
+
1208
+ # qhasm: h0 -= x1
1209
+ # asm 1: fsubr <x1=float80#1,<h0=float80#3
1210
+ # asm 2: fsubr <x1=%st(0),<h0=%st(2)
1211
+ fsubr %st(0),%st(2)
1212
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:
1213
+
1214
+ # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
1215
+ fldl crypto_onetimeauth_poly1305_x86_alpha64
1216
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
1217
+
1218
+ # qhasm: x2 += h1
1219
+ # asm 1: fadd <h1=float80#6,<x2=float80#1
1220
+ # asm 2: fadd <h1=%st(5),<x2=%st(0)
1221
+ fadd %st(5),%st(0)
1222
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
1223
+
1224
+ # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
1225
+ fsubl crypto_onetimeauth_poly1305_x86_alpha64
1226
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
1227
+
1228
+ # qhasm: h1 -= x2
1229
+ # asm 1: fsubr <x2=float80#1,<h1=float80#6
1230
+ # asm 2: fsubr <x2=%st(0),<h1=%st(5)
1231
+ fsubr %st(0),%st(5)
1232
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
1233
+
1234
+ # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
1235
+ fldl crypto_onetimeauth_poly1305_x86_alpha96
1236
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
1237
+
1238
+ # qhasm: x3 += h2
1239
+ # asm 1: fadd <h2=float80#8,<x3=float80#1
1240
+ # asm 2: fadd <h2=%st(7),<x3=%st(0)
1241
+ fadd %st(7),%st(0)
1242
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
1243
+
1244
+ # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
1245
+ fsubl crypto_onetimeauth_poly1305_x86_alpha96
1246
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
1247
+
1248
+ # qhasm: h2 -= x3
1249
+ # asm 1: fsubr <x3=float80#1,<h2=float80#8
1250
+ # asm 2: fsubr <x3=%st(0),<h2=%st(7)
1251
+ fsubr %st(0),%st(7)
1252
+ # comment:fpstackfrombottom:<h2#39:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:<x3#78:
1253
+
1254
+ # qhasm: internal stacktop h2
1255
+ # asm 1: fxch <h2=float80#8
1256
+ # asm 2: fxch <h2=%st(7)
1257
+ fxch %st(7)
1258
+
1259
+ # qhasm: x2 += h2
1260
+ # asm 1: faddp <h2=float80#1,<x2=float80#2
1261
+ # asm 2: faddp <h2=%st(0),<x2=%st(1)
1262
+ faddp %st(0),%st(1)
1263
+ # comment:fpstackfrombottom:<x3#78:<h1#40:<h3#38:<h0#41:<x0#75:<x1#76:<x2#77:
1264
+
1265
+ # qhasm: internal stacktop h1
1266
+ # asm 1: fxch <h1=float80#6
1267
+ # asm 2: fxch <h1=%st(5)
1268
+ fxch %st(5)
1269
+
1270
+ # qhasm: x1 += h1
1271
+ # asm 1: faddp <h1=float80#1,<x1=float80#2
1272
+ # asm 2: faddp <h1=%st(0),<x1=%st(1)
1273
+ faddp %st(0),%st(1)
1274
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h3#38:<h0#41:<x0#75:<x1#76:
1275
+
1276
+ # qhasm: internal stacktop h3
1277
+ # asm 1: fxch <h3=float80#4
1278
+ # asm 2: fxch <h3=%st(3)
1279
+ fxch %st(3)
1280
+
1281
+ # qhasm: x3 += h3
1282
+ # asm 1: faddp <h3=float80#1,<x3=float80#6
1283
+ # asm 2: faddp <h3=%st(0),<x3=%st(5)
1284
+ faddp %st(0),%st(5)
1285
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<x0#75:
1286
+
1287
+ # qhasm: x0 += h0
1288
+ # asm 1: faddp <h0=float80#1,<x0=float80#2
1289
+ # asm 2: faddp <h0=%st(0),<x0=%st(1)
1290
+ faddp %st(0),%st(1)
1291
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:
1292
+
1293
+ # qhasm: h3 = *(float64 *) &r3
1294
+ # asm 1: fldl <r3=stack64#10
1295
+ # asm 2: fldl <r3=168(%esp)
1296
+ fldl 168(%esp)
1297
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:
1298
+
1299
+ # qhasm: h3 *= x0
1300
+ # asm 1: fmul <x0=float80#2,<h3=float80#1
1301
+ # asm 2: fmul <x0=%st(1),<h3=%st(0)
1302
+ fmul %st(1),%st(0)
1303
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:
1304
+
1305
+ # qhasm: h2 = *(float64 *) &r2
1306
+ # asm 1: fldl <r2=stack64#8
1307
+ # asm 2: fldl <r2=152(%esp)
1308
+ fldl 152(%esp)
1309
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:
1310
+
1311
+ # qhasm: h2 *= x0
1312
+ # asm 1: fmul <x0=float80#3,<h2=float80#1
1313
+ # asm 2: fmul <x0=%st(2),<h2=%st(0)
1314
+ fmul %st(2),%st(0)
1315
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:
1316
+
1317
+ # qhasm: h1 = *(float64 *) &r1
1318
+ # asm 1: fldl <r1=stack64#6
1319
+ # asm 2: fldl <r1=136(%esp)
1320
+ fldl 136(%esp)
1321
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:
1322
+
1323
+ # qhasm: h1 *= x0
1324
+ # asm 1: fmul <x0=float80#4,<h1=float80#1
1325
+ # asm 2: fmul <x0=%st(3),<h1=%st(0)
1326
+ fmul %st(3),%st(0)
1327
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:
1328
+
1329
+ # qhasm: h0 = *(float64 *) &r0
1330
+ # asm 1: fldl <r0=stack64#5
1331
+ # asm 2: fldl <r0=128(%esp)
1332
+ fldl 128(%esp)
1333
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<x0#75:<h3#38:<h2#39:<h1#40:<h0#41:
1334
+
1335
+ # qhasm: h0 *= x0
1336
+ # asm 1: fmulp <x0=float80#1,<h0=float80#5
1337
+ # asm 2: fmulp <x0=%st(0),<h0=%st(4)
1338
+ fmulp %st(0),%st(4)
1339
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
1340
+
1341
+ # qhasm: r2x1 = *(float64 *) &r2
1342
+ # asm 1: fldl <r2=stack64#8
1343
+ # asm 2: fldl <r2=152(%esp)
1344
+ fldl 152(%esp)
1345
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r2x1#79:
1346
+
1347
+ # qhasm: r2x1 *= x1
1348
+ # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1349
+ # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1350
+ fmul %st(5),%st(0)
1351
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r2x1#79:
1352
+
1353
+ # qhasm: h3 += r2x1
1354
+ # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1355
+ # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
1356
+ faddp %st(0),%st(3)
1357
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
1358
+
1359
+ # qhasm: r1x1 = *(float64 *) &r1
1360
+ # asm 1: fldl <r1=stack64#6
1361
+ # asm 2: fldl <r1=136(%esp)
1362
+ fldl 136(%esp)
1363
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r1x1#80:
1364
+
1365
+ # qhasm: r1x1 *= x1
1366
+ # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1367
+ # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1368
+ fmul %st(5),%st(0)
1369
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r1x1#80:
1370
+
1371
+ # qhasm: h2 += r1x1
1372
+ # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1373
+ # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
1374
+ faddp %st(0),%st(2)
1375
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
1376
+
1377
+ # qhasm: r0x1 = *(float64 *) &r0
1378
+ # asm 1: fldl <r0=stack64#5
1379
+ # asm 2: fldl <r0=128(%esp)
1380
+ fldl 128(%esp)
1381
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r0x1#81:
1382
+
1383
+ # qhasm: r0x1 *= x1
1384
+ # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1385
+ # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1386
+ fmul %st(5),%st(0)
1387
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<r0x1#81:
1388
+
1389
+ # qhasm: h1 += r0x1
1390
+ # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1391
+ # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
1392
+ faddp %st(0),%st(1)
1393
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:
1394
+
1395
+ # qhasm: sr3x1 = *(float64 *) &sr3
1396
+ # asm 1: fldl <sr3=stack64#11
1397
+ # asm 2: fldl <sr3=176(%esp)
1398
+ fldl 176(%esp)
1399
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<x1#76:<h0#41:<h3#38:<h2#39:<h1#40:<sr3x1#82:
1400
+
1401
+ # qhasm: sr3x1 *= x1
1402
+ # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
1403
+ # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
1404
+ fmulp %st(0),%st(5)
1405
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<sr3x1#82:<h0#41:<h3#38:<h2#39:<h1#40:
1406
+
1407
+ # qhasm: internal stacktop sr3x1
1408
+ # asm 1: fxch <sr3x1=float80#5
1409
+ # asm 2: fxch <sr3x1=%st(4)
1410
+ fxch %st(4)
1411
+
1412
+ # qhasm: h0 += sr3x1
1413
+ # asm 1: faddp <sr3x1=float80#1,<h0=float80#4
1414
+ # asm 2: faddp <sr3x1=%st(0),<h0=%st(3)
1415
+ faddp %st(0),%st(3)
1416
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
1417
+
1418
+ # qhasm: r1x2 = *(float64 *) &r1
1419
+ # asm 1: fldl <r1=stack64#6
1420
+ # asm 2: fldl <r1=136(%esp)
1421
+ fldl 136(%esp)
1422
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r1x2#83:
1423
+
1424
+ # qhasm: r1x2 *= x2
1425
+ # asm 1: fmul <x2=float80#6,<r1x2=float80#1
1426
+ # asm 2: fmul <x2=%st(5),<r1x2=%st(0)
1427
+ fmul %st(5),%st(0)
1428
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r1x2#83:
1429
+
1430
+ # qhasm: h3 += r1x2
1431
+ # asm 1: faddp <r1x2=float80#1,<h3=float80#3
1432
+ # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
1433
+ faddp %st(0),%st(2)
1434
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
1435
+
1436
+ # qhasm: r0x2 = *(float64 *) &r0
1437
+ # asm 1: fldl <r0=stack64#5
1438
+ # asm 2: fldl <r0=128(%esp)
1439
+ fldl 128(%esp)
1440
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r0x2#84:
1441
+
1442
+ # qhasm: r0x2 *= x2
1443
+ # asm 1: fmul <x2=float80#6,<r0x2=float80#1
1444
+ # asm 2: fmul <x2=%st(5),<r0x2=%st(0)
1445
+ fmul %st(5),%st(0)
1446
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<r0x2#84:
1447
+
1448
+ # qhasm: h2 += r0x2
1449
+ # asm 1: faddp <r0x2=float80#1,<h2=float80#2
1450
+ # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
1451
+ faddp %st(0),%st(1)
1452
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
1453
+
1454
+ # qhasm: sr3x2 = *(float64 *) &sr3
1455
+ # asm 1: fldl <sr3=stack64#11
1456
+ # asm 2: fldl <sr3=176(%esp)
1457
+ fldl 176(%esp)
1458
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr3x2#85:
1459
+
1460
+ # qhasm: sr3x2 *= x2
1461
+ # asm 1: fmul <x2=float80#6,<sr3x2=float80#1
1462
+ # asm 2: fmul <x2=%st(5),<sr3x2=%st(0)
1463
+ fmul %st(5),%st(0)
1464
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr3x2#85:
1465
+
1466
+ # qhasm: h1 += sr3x2
1467
+ # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
1468
+ # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
1469
+ faddp %st(0),%st(4)
1470
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:
1471
+
1472
+ # qhasm: sr2x2 = *(float64 *) &sr2
1473
+ # asm 1: fldl <sr2=stack64#9
1474
+ # asm 2: fldl <sr2=160(%esp)
1475
+ fldl 160(%esp)
1476
+ # comment:fpstackfrombottom:<x3#78:<x2#77:<h1#40:<h0#41:<h3#38:<h2#39:<sr2x2#86:
1477
+
1478
+ # qhasm: sr2x2 *= x2
1479
+ # asm 1: fmulp <x2=float80#1,<sr2x2=float80#6
1480
+ # asm 2: fmulp <x2=%st(0),<sr2x2=%st(5)
1481
+ fmulp %st(0),%st(5)
1482
+ # comment:fpstackfrombottom:<x3#78:<sr2x2#86:<h1#40:<h0#41:<h3#38:<h2#39:
1483
+
1484
+ # qhasm: internal stacktop sr2x2
1485
+ # asm 1: fxch <sr2x2=float80#5
1486
+ # asm 2: fxch <sr2x2=%st(4)
1487
+ fxch %st(4)
1488
+
1489
+ # qhasm: h0 += sr2x2
1490
+ # asm 1: faddp <sr2x2=float80#1,<h0=float80#3
1491
+ # asm 2: faddp <sr2x2=%st(0),<h0=%st(2)
1492
+ faddp %st(0),%st(2)
1493
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
1494
+
1495
+ # qhasm: r0x3 = *(float64 *) &r0
1496
+ # asm 1: fldl <r0=stack64#5
1497
+ # asm 2: fldl <r0=128(%esp)
1498
+ fldl 128(%esp)
1499
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<r0x3#87:
1500
+
1501
+ # qhasm: r0x3 *= x3
1502
+ # asm 1: fmul <x3=float80#6,<r0x3=float80#1
1503
+ # asm 2: fmul <x3=%st(5),<r0x3=%st(0)
1504
+ fmul %st(5),%st(0)
1505
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<r0x3#87:
1506
+
1507
+ # qhasm: h3 += r0x3
1508
+ # asm 1: faddp <r0x3=float80#1,<h3=float80#2
1509
+ # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
1510
+ faddp %st(0),%st(1)
1511
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
1512
+
1513
+ # qhasm: sr3x3 = *(float64 *) &sr3
1514
+ # asm 1: fldl <sr3=stack64#11
1515
+ # asm 2: fldl <sr3=176(%esp)
1516
+ fldl 176(%esp)
1517
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr3x3#88:
1518
+
1519
+ # qhasm: sr3x3 *= x3
1520
+ # asm 1: fmul <x3=float80#6,<sr3x3=float80#1
1521
+ # asm 2: fmul <x3=%st(5),<sr3x3=%st(0)
1522
+ fmul %st(5),%st(0)
1523
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr3x3#88:
1524
+
1525
+ # qhasm: h2 += sr3x3
1526
+ # asm 1: faddp <sr3x3=float80#1,<h2=float80#5
1527
+ # asm 2: faddp <sr3x3=%st(0),<h2=%st(4)
1528
+ faddp %st(0),%st(4)
1529
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
1530
+
1531
+ # qhasm: sr2x3 = *(float64 *) &sr2
1532
+ # asm 1: fldl <sr2=stack64#9
1533
+ # asm 2: fldl <sr2=160(%esp)
1534
+ fldl 160(%esp)
1535
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr2x3#89:
1536
+
1537
+ # qhasm: sr2x3 *= x3
1538
+ # asm 1: fmul <x3=float80#6,<sr2x3=float80#1
1539
+ # asm 2: fmul <x3=%st(5),<sr2x3=%st(0)
1540
+ fmul %st(5),%st(0)
1541
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr2x3#89:
1542
+
1543
+ # qhasm: h1 += sr2x3
1544
+ # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
1545
+ # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
1546
+ faddp %st(0),%st(3)
1547
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:
1548
+
1549
+ # qhasm: sr1x3 = *(float64 *) &sr1
1550
+ # asm 1: fldl <sr1=stack64#7
1551
+ # asm 2: fldl <sr1=144(%esp)
1552
+ fldl 144(%esp)
1553
+ # comment:fpstackfrombottom:<x3#78:<h2#39:<h1#40:<h0#41:<h3#38:<sr1x3#90:
1554
+
1555
+ # qhasm: sr1x3 *= x3
1556
+ # asm 1: fmulp <x3=float80#1,<sr1x3=float80#6
1557
+ # asm 2: fmulp <x3=%st(0),<sr1x3=%st(5)
1558
+ fmulp %st(0),%st(5)
1559
+ # comment:fpstackfrombottom:<sr1x3#90:<h2#39:<h1#40:<h0#41:<h3#38:
1560
+
1561
+ # qhasm: internal stacktop sr1x3
1562
+ # asm 1: fxch <sr1x3=float80#5
1563
+ # asm 2: fxch <sr1x3=%st(4)
1564
+ fxch %st(4)
1565
+
1566
+ # qhasm: h0 += sr1x3
1567
+ # asm 1: faddp <sr1x3=float80#1,<h0=float80#2
1568
+ # asm 2: faddp <sr1x3=%st(0),<h0=%st(1)
1569
+ faddp %st(0),%st(1)
1570
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1571
+ # comment:fp stack unchanged by fallthrough
1572
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1573
+
1574
+ # qhasm: addatmost15bytes:
1575
+ ._addatmost15bytes:
1576
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1577
+
1578
+ # qhasm: =? l - 0
1579
+ # asm 1: cmp $0,<l=int32#2
1580
+ # asm 2: cmp $0,<l=%ecx
1581
+ cmp $0,%ecx
1582
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1583
+ # comment:fp stack unchanged by jump
1584
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1585
+
1586
+ # qhasm: goto nomorebytes if =
1587
+ je ._nomorebytes
1588
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1589
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1590
+
1591
+ # qhasm: stack128 lastchunk
1592
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1593
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1594
+
1595
+ # qhasm: int32 destination
1596
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1597
+
1598
+ # qhasm: ((uint32 *)&lastchunk)[0] = 0
1599
+ # asm 1: movl $0,>lastchunk=stack128#1
1600
+ # asm 2: movl $0,>lastchunk=64(%esp)
1601
+ movl $0,64(%esp)
1602
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1603
+
1604
+ # qhasm: ((uint32 *)&lastchunk)[1] = 0
1605
+ # asm 1: movl $0,4+<lastchunk=stack128#1
1606
+ # asm 2: movl $0,4+<lastchunk=64(%esp)
1607
+ movl $0,4+64(%esp)
1608
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1609
+
1610
+ # qhasm: ((uint32 *)&lastchunk)[2] = 0
1611
+ # asm 1: movl $0,8+<lastchunk=stack128#1
1612
+ # asm 2: movl $0,8+<lastchunk=64(%esp)
1613
+ movl $0,8+64(%esp)
1614
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1615
+
1616
+ # qhasm: ((uint32 *)&lastchunk)[3] = 0
1617
+ # asm 1: movl $0,12+<lastchunk=stack128#1
1618
+ # asm 2: movl $0,12+<lastchunk=64(%esp)
1619
+ movl $0,12+64(%esp)
1620
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1621
+
1622
+ # qhasm: destination = &lastchunk
1623
+ # asm 1: leal <lastchunk=stack128#1,>destination=int32#6
1624
+ # asm 2: leal <lastchunk=64(%esp),>destination=%edi
1625
+ leal 64(%esp),%edi
1626
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1627
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1628
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1629
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1630
+
1631
+ # qhasm: while (l) { *destination++ = *m++; --l }
1632
+ rep movsb
1633
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1634
+
1635
+ # qhasm: *(uint8 *) (destination + 0) = 1
1636
+ # asm 1: movb $1,0(<destination=int32#6)
1637
+ # asm 2: movb $1,0(<destination=%edi)
1638
+ movb $1,0(%edi)
1639
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1640
+
1641
+ # qhasm: m3 = ((uint32 *)&lastchunk)[3]
1642
+ # asm 1: movl 12+<lastchunk=stack128#1,>m3=int32#1
1643
+ # asm 2: movl 12+<lastchunk=64(%esp),>m3=%eax
1644
+ movl 12+64(%esp),%eax
1645
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1646
+
1647
+ # qhasm: m2 = ((uint32 *)&lastchunk)[2]
1648
+ # asm 1: movl 8+<lastchunk=stack128#1,>m2=int32#2
1649
+ # asm 2: movl 8+<lastchunk=64(%esp),>m2=%ecx
1650
+ movl 8+64(%esp),%ecx
1651
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1652
+
1653
+ # qhasm: m1 = ((uint32 *)&lastchunk)[1]
1654
+ # asm 1: movl 4+<lastchunk=stack128#1,>m1=int32#3
1655
+ # asm 2: movl 4+<lastchunk=64(%esp),>m1=%edx
1656
+ movl 4+64(%esp),%edx
1657
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1658
+
1659
+ # qhasm: m0 = ((uint32 *)&lastchunk)[0]
1660
+ # asm 1: movl <lastchunk=stack128#1,>m0=int32#4
1661
+ # asm 2: movl <lastchunk=64(%esp),>m0=%ebx
1662
+ movl 64(%esp),%ebx
1663
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1664
+
1665
+ # qhasm: inplace d3 bottom = m3
1666
+ # asm 1: movl <m3=int32#1,<d3=stack64#4
1667
+ # asm 2: movl <m3=%eax,<d3=120(%esp)
1668
+ movl %eax,120(%esp)
1669
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1670
+
1671
+ # qhasm: inplace d2 bottom = m2
1672
+ # asm 1: movl <m2=int32#2,<d2=stack64#3
1673
+ # asm 2: movl <m2=%ecx,<d2=112(%esp)
1674
+ movl %ecx,112(%esp)
1675
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1676
+
1677
+ # qhasm: inplace d1 bottom = m1
1678
+ # asm 1: movl <m1=int32#3,<d1=stack64#2
1679
+ # asm 2: movl <m1=%edx,<d1=104(%esp)
1680
+ movl %edx,104(%esp)
1681
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1682
+
1683
+ # qhasm: inplace d0 bottom = m0
1684
+ # asm 1: movl <m0=int32#4,<d0=stack64#1
1685
+ # asm 2: movl <m0=%ebx,<d0=96(%esp)
1686
+ movl %ebx,96(%esp)
1687
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
1688
+
1689
+ # qhasm: internal stacktop h3
1690
+ # asm 1: fxch <h3=float80#4
1691
+ # asm 2: fxch <h3=%st(3)
1692
+ fxch %st(3)
1693
+
1694
+ # qhasm: h3 += *(float64 *) &d3
1695
+ # asm 1: faddl <d3=stack64#4
1696
+ # asm 2: faddl <d3=120(%esp)
1697
+ faddl 120(%esp)
1698
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
1699
+
1700
+ # qhasm: h3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset3
1701
+ fsubl crypto_onetimeauth_poly1305_x86_doffset3
1702
+ # comment:fpstackfrombottom:<h0#41:<h2#39:<h1#40:<h3#38:
1703
+
1704
+ # qhasm: internal stacktop h2
1705
+ # asm 1: fxch <h2=float80#3
1706
+ # asm 2: fxch <h2=%st(2)
1707
+ fxch %st(2)
1708
+
1709
+ # qhasm: h2 += *(float64 *) &d2
1710
+ # asm 1: faddl <d2=stack64#3
1711
+ # asm 2: faddl <d2=112(%esp)
1712
+ faddl 112(%esp)
1713
+ # comment:fpstackfrombottom:<h0#41:<h3#38:<h1#40:<h2#39:
1714
+
1715
+ # qhasm: h2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset2
1716
+ fsubl crypto_onetimeauth_poly1305_x86_doffset2
1717
+ # comment:fpstackfrombottom:<h0#41:<h3#38:<h1#40:<h2#39:
1718
+
1719
+ # qhasm: internal stacktop h1
1720
+ # asm 1: fxch <h1=float80#2
1721
+ # asm 2: fxch <h1=%st(1)
1722
+ fxch %st(1)
1723
+
1724
+ # qhasm: h1 += *(float64 *) &d1
1725
+ # asm 1: faddl <d1=stack64#2
1726
+ # asm 2: faddl <d1=104(%esp)
1727
+ faddl 104(%esp)
1728
+ # comment:fpstackfrombottom:<h0#41:<h3#38:<h2#39:<h1#40:
1729
+
1730
+ # qhasm: h1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset1
1731
+ fsubl crypto_onetimeauth_poly1305_x86_doffset1
1732
+ # comment:fpstackfrombottom:<h0#41:<h3#38:<h2#39:<h1#40:
1733
+
1734
+ # qhasm: internal stacktop h0
1735
+ # asm 1: fxch <h0=float80#4
1736
+ # asm 2: fxch <h0=%st(3)
1737
+ fxch %st(3)
1738
+
1739
+ # qhasm: h0 += *(float64 *) &d0
1740
+ # asm 1: faddl <d0=stack64#1
1741
+ # asm 2: faddl <d0=96(%esp)
1742
+ faddl 96(%esp)
1743
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
1744
+
1745
+ # qhasm: h0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_doffset0
1746
+ fsubl crypto_onetimeauth_poly1305_x86_doffset0
1747
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:
1748
+
1749
+ # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
1750
+ fldl crypto_onetimeauth_poly1305_x86_alpha130
1751
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
1752
+
1753
+ # qhasm: x0 += h3
1754
+ # asm 1: fadd <h3=float80#4,<x0=float80#1
1755
+ # asm 2: fadd <h3=%st(3),<x0=%st(0)
1756
+ fadd %st(3),%st(0)
1757
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
1758
+
1759
+ # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
1760
+ fsubl crypto_onetimeauth_poly1305_x86_alpha130
1761
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
1762
+
1763
+ # qhasm: h3 -= x0
1764
+ # asm 1: fsubr <x0=float80#1,<h3=float80#4
1765
+ # asm 2: fsubr <x0=%st(0),<h3=%st(3)
1766
+ fsubr %st(0),%st(3)
1767
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
1768
+
1769
+ # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
1770
+ fmull crypto_onetimeauth_poly1305_x86_scale
1771
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:
1772
+
1773
+ # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
1774
+ fldl crypto_onetimeauth_poly1305_x86_alpha32
1775
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
1776
+
1777
+ # qhasm: x1 += h0
1778
+ # asm 1: fadd <h0=float80#3,<x1=float80#1
1779
+ # asm 2: fadd <h0=%st(2),<x1=%st(0)
1780
+ fadd %st(2),%st(0)
1781
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
1782
+
1783
+ # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
1784
+ fsubl crypto_onetimeauth_poly1305_x86_alpha32
1785
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
1786
+
1787
+ # qhasm: h0 -= x1
1788
+ # asm 1: fsubr <x1=float80#1,<h0=float80#3
1789
+ # asm 2: fsubr <x1=%st(0),<h0=%st(2)
1790
+ fsubr %st(0),%st(2)
1791
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:
1792
+
1793
+ # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
1794
+ fldl crypto_onetimeauth_poly1305_x86_alpha64
1795
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
1796
+
1797
+ # qhasm: x2 += h1
1798
+ # asm 1: fadd <h1=float80#7,<x2=float80#1
1799
+ # asm 2: fadd <h1=%st(6),<x2=%st(0)
1800
+ fadd %st(6),%st(0)
1801
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
1802
+
1803
+ # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
1804
+ fsubl crypto_onetimeauth_poly1305_x86_alpha64
1805
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
1806
+
1807
+ # qhasm: h1 -= x2
1808
+ # asm 1: fsubr <x2=float80#1,<h1=float80#7
1809
+ # asm 2: fsubr <x2=%st(0),<h1=%st(6)
1810
+ fsubr %st(0),%st(6)
1811
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:
1812
+
1813
+ # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
1814
+ fldl crypto_onetimeauth_poly1305_x86_alpha96
1815
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
1816
+
1817
+ # qhasm: x3 += h2
1818
+ # asm 1: fadd <h2=float80#6,<x3=float80#1
1819
+ # asm 2: fadd <h2=%st(5),<x3=%st(0)
1820
+ fadd %st(5),%st(0)
1821
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
1822
+
1823
+ # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
1824
+ fsubl crypto_onetimeauth_poly1305_x86_alpha96
1825
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
1826
+
1827
+ # qhasm: h2 -= x3
1828
+ # asm 1: fsubr <x3=float80#1,<h2=float80#6
1829
+ # asm 2: fsubr <x3=%st(0),<h2=%st(5)
1830
+ fsubr %st(0),%st(5)
1831
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<h0#41:<x0#98:<x1#99:<x2#100:<x3#101:
1832
+
1833
+ # qhasm: internal stacktop h0
1834
+ # asm 1: fxch <h0=float80#5
1835
+ # asm 2: fxch <h0=%st(4)
1836
+ fxch %st(4)
1837
+
1838
+ # qhasm: x0 += h0
1839
+ # asm 1: faddp <h0=float80#1,<x0=float80#4
1840
+ # asm 2: faddp <h0=%st(0),<x0=%st(3)
1841
+ faddp %st(0),%st(3)
1842
+ # comment:fpstackfrombottom:<h1#40:<h3#38:<h2#39:<x3#101:<x0#98:<x1#99:<x2#100:
1843
+
1844
+ # qhasm: internal stacktop h1
1845
+ # asm 1: fxch <h1=float80#7
1846
+ # asm 2: fxch <h1=%st(6)
1847
+ fxch %st(6)
1848
+
1849
+ # qhasm: x1 += h1
1850
+ # asm 1: faddp <h1=float80#1,<x1=float80#2
1851
+ # asm 2: faddp <h1=%st(0),<x1=%st(1)
1852
+ faddp %st(0),%st(1)
1853
+ # comment:fpstackfrombottom:<x2#100:<h3#38:<h2#39:<x3#101:<x0#98:<x1#99:
1854
+
1855
+ # qhasm: internal stacktop h2
1856
+ # asm 1: fxch <h2=float80#4
1857
+ # asm 2: fxch <h2=%st(3)
1858
+ fxch %st(3)
1859
+
1860
+ # qhasm: x2 += h2
1861
+ # asm 1: faddp <h2=float80#1,<x2=float80#6
1862
+ # asm 2: faddp <h2=%st(0),<x2=%st(5)
1863
+ faddp %st(0),%st(5)
1864
+ # comment:fpstackfrombottom:<x2#100:<h3#38:<x1#99:<x3#101:<x0#98:
1865
+
1866
+ # qhasm: internal stacktop h3
1867
+ # asm 1: fxch <h3=float80#4
1868
+ # asm 2: fxch <h3=%st(3)
1869
+ fxch %st(3)
1870
+
1871
+ # qhasm: x3 += h3
1872
+ # asm 1: faddp <h3=float80#1,<x3=float80#2
1873
+ # asm 2: faddp <h3=%st(0),<x3=%st(1)
1874
+ faddp %st(0),%st(1)
1875
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:
1876
+
1877
+ # qhasm: h3 = *(float64 *) &r3
1878
+ # asm 1: fldl <r3=stack64#10
1879
+ # asm 2: fldl <r3=168(%esp)
1880
+ fldl 168(%esp)
1881
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:
1882
+
1883
+ # qhasm: h3 *= x0
1884
+ # asm 1: fmul <x0=float80#4,<h3=float80#1
1885
+ # asm 2: fmul <x0=%st(3),<h3=%st(0)
1886
+ fmul %st(3),%st(0)
1887
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:
1888
+
1889
+ # qhasm: h2 = *(float64 *) &r2
1890
+ # asm 1: fldl <r2=stack64#8
1891
+ # asm 2: fldl <r2=152(%esp)
1892
+ fldl 152(%esp)
1893
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:
1894
+
1895
+ # qhasm: h2 *= x0
1896
+ # asm 1: fmul <x0=float80#5,<h2=float80#1
1897
+ # asm 2: fmul <x0=%st(4),<h2=%st(0)
1898
+ fmul %st(4),%st(0)
1899
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:
1900
+
1901
+ # qhasm: h1 = *(float64 *) &r1
1902
+ # asm 1: fldl <r1=stack64#6
1903
+ # asm 2: fldl <r1=136(%esp)
1904
+ fldl 136(%esp)
1905
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1906
+
1907
+ # qhasm: h1 *= x0
1908
+ # asm 1: fmul <x0=float80#6,<h1=float80#1
1909
+ # asm 2: fmul <x0=%st(5),<h1=%st(0)
1910
+ fmul %st(5),%st(0)
1911
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1912
+
1913
+ # qhasm: h0 = *(float64 *) &r0
1914
+ # asm 1: fldl <r0=stack64#5
1915
+ # asm 2: fldl <r0=128(%esp)
1916
+ fldl 128(%esp)
1917
+ # comment:fpstackfrombottom:<x2#100:<x0#98:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<h0#41:
1918
+
1919
+ # qhasm: h0 *= x0
1920
+ # asm 1: fmulp <x0=float80#1,<h0=float80#7
1921
+ # asm 2: fmulp <x0=%st(0),<h0=%st(6)
1922
+ fmulp %st(0),%st(6)
1923
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1924
+
1925
+ # qhasm: r2x1 = *(float64 *) &r2
1926
+ # asm 1: fldl <r2=stack64#8
1927
+ # asm 2: fldl <r2=152(%esp)
1928
+ fldl 152(%esp)
1929
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r2x1#102:
1930
+
1931
+ # qhasm: r2x1 *= x1
1932
+ # asm 1: fmul <x1=float80#6,<r2x1=float80#1
1933
+ # asm 2: fmul <x1=%st(5),<r2x1=%st(0)
1934
+ fmul %st(5),%st(0)
1935
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r2x1#102:
1936
+
1937
+ # qhasm: h3 += r2x1
1938
+ # asm 1: faddp <r2x1=float80#1,<h3=float80#4
1939
+ # asm 2: faddp <r2x1=%st(0),<h3=%st(3)
1940
+ faddp %st(0),%st(3)
1941
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1942
+
1943
+ # qhasm: r1x1 = *(float64 *) &r1
1944
+ # asm 1: fldl <r1=stack64#6
1945
+ # asm 2: fldl <r1=136(%esp)
1946
+ fldl 136(%esp)
1947
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r1x1#103:
1948
+
1949
+ # qhasm: r1x1 *= x1
1950
+ # asm 1: fmul <x1=float80#6,<r1x1=float80#1
1951
+ # asm 2: fmul <x1=%st(5),<r1x1=%st(0)
1952
+ fmul %st(5),%st(0)
1953
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r1x1#103:
1954
+
1955
+ # qhasm: h2 += r1x1
1956
+ # asm 1: faddp <r1x1=float80#1,<h2=float80#3
1957
+ # asm 2: faddp <r1x1=%st(0),<h2=%st(2)
1958
+ faddp %st(0),%st(2)
1959
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1960
+
1961
+ # qhasm: r0x1 = *(float64 *) &r0
1962
+ # asm 1: fldl <r0=stack64#5
1963
+ # asm 2: fldl <r0=128(%esp)
1964
+ fldl 128(%esp)
1965
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r0x1#104:
1966
+
1967
+ # qhasm: r0x1 *= x1
1968
+ # asm 1: fmul <x1=float80#6,<r0x1=float80#1
1969
+ # asm 2: fmul <x1=%st(5),<r0x1=%st(0)
1970
+ fmul %st(5),%st(0)
1971
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<r0x1#104:
1972
+
1973
+ # qhasm: h1 += r0x1
1974
+ # asm 1: faddp <r0x1=float80#1,<h1=float80#2
1975
+ # asm 2: faddp <r0x1=%st(0),<h1=%st(1)
1976
+ faddp %st(0),%st(1)
1977
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:
1978
+
1979
+ # qhasm: sr3x1 = *(float64 *) &sr3
1980
+ # asm 1: fldl <sr3=stack64#11
1981
+ # asm 2: fldl <sr3=176(%esp)
1982
+ fldl 176(%esp)
1983
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<x1#99:<x3#101:<h3#38:<h2#39:<h1#40:<sr3x1#105:
1984
+
1985
+ # qhasm: sr3x1 *= x1
1986
+ # asm 1: fmulp <x1=float80#1,<sr3x1=float80#6
1987
+ # asm 2: fmulp <x1=%st(0),<sr3x1=%st(5)
1988
+ fmulp %st(0),%st(5)
1989
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<sr3x1#105:<x3#101:<h3#38:<h2#39:<h1#40:
1990
+
1991
+ # qhasm: internal stacktop sr3x1
1992
+ # asm 1: fxch <sr3x1=float80#5
1993
+ # asm 2: fxch <sr3x1=%st(4)
1994
+ fxch %st(4)
1995
+
1996
+ # qhasm: h0 += sr3x1
1997
+ # asm 1: faddp <sr3x1=float80#1,<h0=float80#6
1998
+ # asm 2: faddp <sr3x1=%st(0),<h0=%st(5)
1999
+ faddp %st(0),%st(5)
2000
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
2001
+
2002
+ # qhasm: r1x2 = *(float64 *) &r1
2003
+ # asm 1: fldl <r1=stack64#6
2004
+ # asm 2: fldl <r1=136(%esp)
2005
+ fldl 136(%esp)
2006
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r1x2#106:
2007
+
2008
+ # qhasm: r1x2 *= x2
2009
+ # asm 1: fmul <x2=float80#7,<r1x2=float80#1
2010
+ # asm 2: fmul <x2=%st(6),<r1x2=%st(0)
2011
+ fmul %st(6),%st(0)
2012
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r1x2#106:
2013
+
2014
+ # qhasm: h3 += r1x2
2015
+ # asm 1: faddp <r1x2=float80#1,<h3=float80#3
2016
+ # asm 2: faddp <r1x2=%st(0),<h3=%st(2)
2017
+ faddp %st(0),%st(2)
2018
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
2019
+
2020
+ # qhasm: r0x2 = *(float64 *) &r0
2021
+ # asm 1: fldl <r0=stack64#5
2022
+ # asm 2: fldl <r0=128(%esp)
2023
+ fldl 128(%esp)
2024
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r0x2#107:
2025
+
2026
+ # qhasm: r0x2 *= x2
2027
+ # asm 1: fmul <x2=float80#7,<r0x2=float80#1
2028
+ # asm 2: fmul <x2=%st(6),<r0x2=%st(0)
2029
+ fmul %st(6),%st(0)
2030
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<r0x2#107:
2031
+
2032
+ # qhasm: h2 += r0x2
2033
+ # asm 1: faddp <r0x2=float80#1,<h2=float80#2
2034
+ # asm 2: faddp <r0x2=%st(0),<h2=%st(1)
2035
+ faddp %st(0),%st(1)
2036
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
2037
+
2038
+ # qhasm: sr3x2 = *(float64 *) &sr3
2039
+ # asm 1: fldl <sr3=stack64#11
2040
+ # asm 2: fldl <sr3=176(%esp)
2041
+ fldl 176(%esp)
2042
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr3x2#108:
2043
+
2044
+ # qhasm: sr3x2 *= x2
2045
+ # asm 1: fmul <x2=float80#7,<sr3x2=float80#1
2046
+ # asm 2: fmul <x2=%st(6),<sr3x2=%st(0)
2047
+ fmul %st(6),%st(0)
2048
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr3x2#108:
2049
+
2050
+ # qhasm: h1 += sr3x2
2051
+ # asm 1: faddp <sr3x2=float80#1,<h1=float80#5
2052
+ # asm 2: faddp <sr3x2=%st(0),<h1=%st(4)
2053
+ faddp %st(0),%st(4)
2054
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
2055
+
2056
+ # qhasm: sr2x2 = *(float64 *) &sr2
2057
+ # asm 1: fldl <sr2=stack64#9
2058
+ # asm 2: fldl <sr2=160(%esp)
2059
+ fldl 160(%esp)
2060
+ # comment:fpstackfrombottom:<x2#100:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:<sr2x2#109:
2061
+
2062
+ # qhasm: sr2x2 *= x2
2063
+ # asm 1: fmulp <x2=float80#1,<sr2x2=float80#7
2064
+ # asm 2: fmulp <x2=%st(0),<sr2x2=%st(6)
2065
+ fmulp %st(0),%st(6)
2066
+ # comment:fpstackfrombottom:<sr2x2#109:<h0#41:<h1#40:<x3#101:<h3#38:<h2#39:
2067
+
2068
+ # qhasm: internal stacktop sr2x2
2069
+ # asm 1: fxch <sr2x2=float80#6
2070
+ # asm 2: fxch <sr2x2=%st(5)
2071
+ fxch %st(5)
2072
+
2073
+ # qhasm: h0 += sr2x2
2074
+ # asm 1: faddp <sr2x2=float80#1,<h0=float80#5
2075
+ # asm 2: faddp <sr2x2=%st(0),<h0=%st(4)
2076
+ faddp %st(0),%st(4)
2077
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
2078
+
2079
+ # qhasm: r0x3 = *(float64 *) &r0
2080
+ # asm 1: fldl <r0=stack64#5
2081
+ # asm 2: fldl <r0=128(%esp)
2082
+ fldl 128(%esp)
2083
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<r0x3#110:
2084
+
2085
+ # qhasm: r0x3 *= x3
2086
+ # asm 1: fmul <x3=float80#3,<r0x3=float80#1
2087
+ # asm 2: fmul <x3=%st(2),<r0x3=%st(0)
2088
+ fmul %st(2),%st(0)
2089
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<r0x3#110:
2090
+
2091
+ # qhasm: h3 += r0x3
2092
+ # asm 1: faddp <r0x3=float80#1,<h3=float80#2
2093
+ # asm 2: faddp <r0x3=%st(0),<h3=%st(1)
2094
+ faddp %st(0),%st(1)
2095
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
2096
+
2097
+ # qhasm: sr3x3 = *(float64 *) &sr3
2098
+ # asm 1: fldl <sr3=stack64#11
2099
+ # asm 2: fldl <sr3=176(%esp)
2100
+ fldl 176(%esp)
2101
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr3x3#111:
2102
+
2103
+ # qhasm: sr3x3 *= x3
2104
+ # asm 1: fmul <x3=float80#3,<sr3x3=float80#1
2105
+ # asm 2: fmul <x3=%st(2),<sr3x3=%st(0)
2106
+ fmul %st(2),%st(0)
2107
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr3x3#111:
2108
+
2109
+ # qhasm: h2 += sr3x3
2110
+ # asm 1: faddp <sr3x3=float80#1,<h2=float80#6
2111
+ # asm 2: faddp <sr3x3=%st(0),<h2=%st(5)
2112
+ faddp %st(0),%st(5)
2113
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
2114
+
2115
+ # qhasm: sr2x3 = *(float64 *) &sr2
2116
+ # asm 1: fldl <sr2=stack64#9
2117
+ # asm 2: fldl <sr2=160(%esp)
2118
+ fldl 160(%esp)
2119
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr2x3#112:
2120
+
2121
+ # qhasm: sr2x3 *= x3
2122
+ # asm 1: fmul <x3=float80#3,<sr2x3=float80#1
2123
+ # asm 2: fmul <x3=%st(2),<sr2x3=%st(0)
2124
+ fmul %st(2),%st(0)
2125
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr2x3#112:
2126
+
2127
+ # qhasm: h1 += sr2x3
2128
+ # asm 1: faddp <sr2x3=float80#1,<h1=float80#4
2129
+ # asm 2: faddp <sr2x3=%st(0),<h1=%st(3)
2130
+ faddp %st(0),%st(3)
2131
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:
2132
+
2133
+ # qhasm: sr1x3 = *(float64 *) &sr1
2134
+ # asm 1: fldl <sr1=stack64#7
2135
+ # asm 2: fldl <sr1=144(%esp)
2136
+ fldl 144(%esp)
2137
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<x3#101:<h3#38:<sr1x3#113:
2138
+
2139
+ # qhasm: sr1x3 *= x3
2140
+ # asm 1: fmulp <x3=float80#1,<sr1x3=float80#3
2141
+ # asm 2: fmulp <x3=%st(0),<sr1x3=%st(2)
2142
+ fmulp %st(0),%st(2)
2143
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<sr1x3#113:<h3#38:
2144
+
2145
+ # qhasm: internal stacktop sr1x3
2146
+ # asm 1: fxch <sr1x3=float80#2
2147
+ # asm 2: fxch <sr1x3=%st(1)
2148
+ fxch %st(1)
2149
+
2150
+ # qhasm: h0 += sr1x3
2151
+ # asm 1: faddp <sr1x3=float80#1,<h0=float80#4
2152
+ # asm 2: faddp <sr1x3=%st(0),<h0=%st(3)
2153
+ faddp %st(0),%st(3)
2154
+ # comment:fpstackfrombottom:<h2#39:<h0#41:<h1#40:<h3#38:
2155
+ # comment:automatically reorganizing fp stack for fallthrough
2156
+
2157
+ # qhasm: internal stacktop h2
2158
+ # asm 1: fxch <h2=float80#4
2159
+ # asm 2: fxch <h2=%st(3)
2160
+ fxch %st(3)
2161
+ # comment:fpstackfrombottom:<h3#38:<h0#41:<h1#40:<h2#39:
2162
+
2163
+ # qhasm: internal stacktop h0
2164
+ # asm 1: fxch <h0=float80#3
2165
+ # asm 2: fxch <h0=%st(2)
2166
+ fxch %st(2)
2167
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
2168
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
2169
+
2170
+ # qhasm: nomorebytes:
2171
+ ._nomorebytes:
2172
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:
2173
+
2174
+ # qhasm: x0 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
2175
+ fldl crypto_onetimeauth_poly1305_x86_alpha130
2176
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
2177
+
2178
+ # qhasm: x0 += h3
2179
+ # asm 1: fadd <h3=float80#5,<x0=float80#1
2180
+ # asm 2: fadd <h3=%st(4),<x0=%st(0)
2181
+ fadd %st(4),%st(0)
2182
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
2183
+
2184
+ # qhasm: x0 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha130
2185
+ fsubl crypto_onetimeauth_poly1305_x86_alpha130
2186
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
2187
+
2188
+ # qhasm: h3 -= x0
2189
+ # asm 1: fsubr <x0=float80#1,<h3=float80#5
2190
+ # asm 2: fsubr <x0=%st(0),<h3=%st(4)
2191
+ fsubr %st(0),%st(4)
2192
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
2193
+
2194
+ # qhasm: x0 *= *(float64 *) &crypto_onetimeauth_poly1305_x86_scale
2195
+ fmull crypto_onetimeauth_poly1305_x86_scale
2196
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:
2197
+
2198
+ # qhasm: x1 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
2199
+ fldl crypto_onetimeauth_poly1305_x86_alpha32
2200
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
2201
+
2202
+ # qhasm: x1 += h0
2203
+ # asm 1: fadd <h0=float80#3,<x1=float80#1
2204
+ # asm 2: fadd <h0=%st(2),<x1=%st(0)
2205
+ fadd %st(2),%st(0)
2206
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
2207
+
2208
+ # qhasm: x1 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha32
2209
+ fsubl crypto_onetimeauth_poly1305_x86_alpha32
2210
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
2211
+
2212
+ # qhasm: h0 -= x1
2213
+ # asm 1: fsubr <x1=float80#1,<h0=float80#3
2214
+ # asm 2: fsubr <x1=%st(0),<h0=%st(2)
2215
+ fsubr %st(0),%st(2)
2216
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:
2217
+
2218
+ # qhasm: x2 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
2219
+ fldl crypto_onetimeauth_poly1305_x86_alpha64
2220
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
2221
+
2222
+ # qhasm: x2 += h1
2223
+ # asm 1: fadd <h1=float80#5,<x2=float80#1
2224
+ # asm 2: fadd <h1=%st(4),<x2=%st(0)
2225
+ fadd %st(4),%st(0)
2226
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
2227
+
2228
+ # qhasm: x2 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha64
2229
+ fsubl crypto_onetimeauth_poly1305_x86_alpha64
2230
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
2231
+
2232
+ # qhasm: h1 -= x2
2233
+ # asm 1: fsubr <x2=float80#1,<h1=float80#5
2234
+ # asm 2: fsubr <x2=%st(0),<h1=%st(4)
2235
+ fsubr %st(0),%st(4)
2236
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:
2237
+
2238
+ # qhasm: x3 = *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
2239
+ fldl crypto_onetimeauth_poly1305_x86_alpha96
2240
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
2241
+
2242
+ # qhasm: x3 += h2
2243
+ # asm 1: fadd <h2=float80#7,<x3=float80#1
2244
+ # asm 2: fadd <h2=%st(6),<x3=%st(0)
2245
+ fadd %st(6),%st(0)
2246
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
2247
+
2248
+ # qhasm: x3 -= *(float64 *) &crypto_onetimeauth_poly1305_x86_alpha96
2249
+ fsubl crypto_onetimeauth_poly1305_x86_alpha96
2250
+ # comment:fpstackfrombottom:<h3#38:<h2#39:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<x3#117:
2251
+
2252
+ # qhasm: stacktop h2
2253
+ # asm 1: fxch <h2=float80#7
2254
+ # asm 2: fxch <h2=%st(6)
2255
+ fxch %st(6)
2256
+ # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<h2#39:
2257
+
2258
+ # qhasm: h2 -= x3
2259
+ # asm 1: fsub <x3=float80#7,<h2=float80#1
2260
+ # asm 2: fsub <x3=%st(6),<h2=%st(0)
2261
+ fsub %st(6),%st(0)
2262
+ # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h0#41:<x0#114:<x1#115:<x2#116:<h2#39:
2263
+
2264
+ # qhasm: internal stacktop h0
2265
+ # asm 1: fxch <h0=float80#5
2266
+ # asm 2: fxch <h0=%st(4)
2267
+ fxch %st(4)
2268
+
2269
+ # qhasm: x0 += h0
2270
+ # asm 1: faddp <h0=float80#1,<x0=float80#4
2271
+ # asm 2: faddp <h0=%st(0),<x0=%st(3)
2272
+ faddp %st(0),%st(3)
2273
+ # comment:fpstackfrombottom:<h3#38:<x3#117:<h1#40:<h2#39:<x0#114:<x1#115:<x2#116:
2274
+
2275
+ # qhasm: internal stacktop h1
2276
+ # asm 1: fxch <h1=float80#5
2277
+ # asm 2: fxch <h1=%st(4)
2278
+ fxch %st(4)
2279
+
2280
+ # qhasm: x1 += h1
2281
+ # asm 1: faddp <h1=float80#1,<x1=float80#2
2282
+ # asm 2: faddp <h1=%st(0),<x1=%st(1)
2283
+ faddp %st(0),%st(1)
2284
+ # comment:fpstackfrombottom:<h3#38:<x3#117:<x2#116:<h2#39:<x0#114:<x1#115:
2285
+
2286
+ # qhasm: internal stacktop h2
2287
+ # asm 1: fxch <h2=float80#3
2288
+ # asm 2: fxch <h2=%st(2)
2289
+ fxch %st(2)
2290
+
2291
+ # qhasm: x2 += h2
2292
+ # asm 1: faddp <h2=float80#1,<x2=float80#4
2293
+ # asm 2: faddp <h2=%st(0),<x2=%st(3)
2294
+ faddp %st(0),%st(3)
2295
+ # comment:fpstackfrombottom:<h3#38:<x3#117:<x2#116:<x1#115:<x0#114:
2296
+
2297
+ # qhasm: internal stacktop h3
2298
+ # asm 1: fxch <h3=float80#5
2299
+ # asm 2: fxch <h3=%st(4)
2300
+ fxch %st(4)
2301
+
2302
+ # qhasm: x3 += h3
2303
+ # asm 1: faddp <h3=float80#1,<x3=float80#4
2304
+ # asm 2: faddp <h3=%st(0),<x3=%st(3)
2305
+ faddp %st(0),%st(3)
2306
+ # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
2307
+
2308
+ # qhasm: internal stacktop x0
2309
+ # asm 1: fxch <x0=float80#4
2310
+ # asm 2: fxch <x0=%st(3)
2311
+ fxch %st(3)
2312
+
2313
+ # qhasm: x0 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset0
2314
+ faddl crypto_onetimeauth_poly1305_x86_hoffset0
2315
+ # comment:fpstackfrombottom:<x1#115:<x3#117:<x2#116:<x0#114:
2316
+
2317
+ # qhasm: internal stacktop x1
2318
+ # asm 1: fxch <x1=float80#4
2319
+ # asm 2: fxch <x1=%st(3)
2320
+ fxch %st(3)
2321
+
2322
+ # qhasm: x1 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset1
2323
+ faddl crypto_onetimeauth_poly1305_x86_hoffset1
2324
+ # comment:fpstackfrombottom:<x0#114:<x3#117:<x2#116:<x1#115:
2325
+
2326
+ # qhasm: internal stacktop x2
2327
+ # asm 1: fxch <x2=float80#2
2328
+ # asm 2: fxch <x2=%st(1)
2329
+ fxch %st(1)
2330
+
2331
+ # qhasm: x2 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset2
2332
+ faddl crypto_onetimeauth_poly1305_x86_hoffset2
2333
+ # comment:fpstackfrombottom:<x0#114:<x3#117:<x1#115:<x2#116:
2334
+
2335
+ # qhasm: internal stacktop x3
2336
+ # asm 1: fxch <x3=float80#3
2337
+ # asm 2: fxch <x3=%st(2)
2338
+ fxch %st(2)
2339
+
2340
+ # qhasm: x3 += *(float64 *) &crypto_onetimeauth_poly1305_x86_hoffset3
2341
+ faddl crypto_onetimeauth_poly1305_x86_hoffset3
2342
+ # comment:fpstackfrombottom:<x0#114:<x2#116:<x1#115:<x3#117:
2343
+
2344
+ # qhasm: internal stacktop x0
2345
+ # asm 1: fxch <x0=float80#4
2346
+ # asm 2: fxch <x0=%st(3)
2347
+ fxch %st(3)
2348
+
2349
+ # qhasm: *(float64 *) &d0 = x0
2350
+ # asm 1: fstpl >d0=stack64#1
2351
+ # asm 2: fstpl >d0=96(%esp)
2352
+ fstpl 96(%esp)
2353
+ # comment:fpstackfrombottom:<x3#117:<x2#116:<x1#115:
2354
+
2355
+ # qhasm: *(float64 *) &d1 = x1
2356
+ # asm 1: fstpl >d1=stack64#2
2357
+ # asm 2: fstpl >d1=104(%esp)
2358
+ fstpl 104(%esp)
2359
+ # comment:fpstackfrombottom:<x3#117:<x2#116:
2360
+
2361
+ # qhasm: *(float64 *) &d2 = x2
2362
+ # asm 1: fstpl >d2=stack64#3
2363
+ # asm 2: fstpl >d2=112(%esp)
2364
+ fstpl 112(%esp)
2365
+ # comment:fpstackfrombottom:<x3#117:
2366
+
2367
+ # qhasm: *(float64 *) &d3 = x3
2368
+ # asm 1: fstpl >d3=stack64#4
2369
+ # asm 2: fstpl >d3=120(%esp)
2370
+ fstpl 120(%esp)
2371
+ # comment:fpstackfrombottom:
2372
+
2373
+ # qhasm: int32 f0
2374
+
2375
+ # qhasm: int32 f1
2376
+
2377
+ # qhasm: int32 f2
2378
+
2379
+ # qhasm: int32 f3
2380
+
2381
+ # qhasm: int32 f4
2382
+
2383
+ # qhasm: int32 g0
2384
+
2385
+ # qhasm: int32 g1
2386
+
2387
+ # qhasm: int32 g2
2388
+
2389
+ # qhasm: int32 g3
2390
+
2391
+ # qhasm: int32 f
2392
+
2393
+ # qhasm: int32 notf
2394
+
2395
+ # qhasm: stack32 f1_stack
2396
+
2397
+ # qhasm: stack32 f2_stack
2398
+
2399
+ # qhasm: stack32 f3_stack
2400
+
2401
+ # qhasm: stack32 f4_stack
2402
+
2403
+ # qhasm: stack32 g0_stack
2404
+
2405
+ # qhasm: stack32 g1_stack
2406
+
2407
+ # qhasm: stack32 g2_stack
2408
+
2409
+ # qhasm: stack32 g3_stack
2410
+
2411
+ # qhasm: g0 = top d0
2412
+ # asm 1: movl <d0=stack64#1,>g0=int32#1
2413
+ # asm 2: movl <d0=100(%esp),>g0=%eax
2414
+ movl 100(%esp),%eax
2415
+
2416
+ # qhasm: g0 &= 63
2417
+ # asm 1: and $63,<g0=int32#1
2418
+ # asm 2: and $63,<g0=%eax
2419
+ and $63,%eax
2420
+
2421
+ # qhasm: g1 = top d1
2422
+ # asm 1: movl <d1=stack64#2,>g1=int32#2
2423
+ # asm 2: movl <d1=108(%esp),>g1=%ecx
2424
+ movl 108(%esp),%ecx
2425
+
2426
+ # qhasm: g1 &= 63
2427
+ # asm 1: and $63,<g1=int32#2
2428
+ # asm 2: and $63,<g1=%ecx
2429
+ and $63,%ecx
2430
+
2431
+ # qhasm: g2 = top d2
2432
+ # asm 1: movl <d2=stack64#3,>g2=int32#3
2433
+ # asm 2: movl <d2=116(%esp),>g2=%edx
2434
+ movl 116(%esp),%edx
2435
+
2436
+ # qhasm: g2 &= 63
2437
+ # asm 1: and $63,<g2=int32#3
2438
+ # asm 2: and $63,<g2=%edx
2439
+ and $63,%edx
2440
+
2441
+ # qhasm: g3 = top d3
2442
+ # asm 1: movl <d3=stack64#4,>g3=int32#4
2443
+ # asm 2: movl <d3=124(%esp),>g3=%ebx
2444
+ movl 124(%esp),%ebx
2445
+
2446
+ # qhasm: g3 &= 63
2447
+ # asm 1: and $63,<g3=int32#4
2448
+ # asm 2: and $63,<g3=%ebx
2449
+ and $63,%ebx
2450
+
2451
+ # qhasm: f1 = bottom d1
2452
+ # asm 1: movl <d1=stack64#2,>f1=int32#5
2453
+ # asm 2: movl <d1=104(%esp),>f1=%esi
2454
+ movl 104(%esp),%esi
2455
+
2456
+ # qhasm: carry? f1 += g0
2457
+ # asm 1: addl <g0=int32#1,<f1=int32#5
2458
+ # asm 2: addl <g0=%eax,<f1=%esi
2459
+ addl %eax,%esi
2460
+
2461
+ # qhasm: f1_stack = f1
2462
+ # asm 1: movl <f1=int32#5,>f1_stack=stack32#8
2463
+ # asm 2: movl <f1=%esi,>f1_stack=28(%esp)
2464
+ movl %esi,28(%esp)
2465
+
2466
+ # qhasm: f2 = bottom d2
2467
+ # asm 1: movl <d2=stack64#3,>f2=int32#1
2468
+ # asm 2: movl <d2=112(%esp),>f2=%eax
2469
+ movl 112(%esp),%eax
2470
+
2471
+ # qhasm: carry? f2 += g1 + carry
2472
+ # asm 1: adcl <g1=int32#2,<f2=int32#1
2473
+ # asm 2: adcl <g1=%ecx,<f2=%eax
2474
+ adcl %ecx,%eax
2475
+
2476
+ # qhasm: f2_stack = f2
2477
+ # asm 1: movl <f2=int32#1,>f2_stack=stack32#9
2478
+ # asm 2: movl <f2=%eax,>f2_stack=32(%esp)
2479
+ movl %eax,32(%esp)
2480
+
2481
+ # qhasm: f3 = bottom d3
2482
+ # asm 1: movl <d3=stack64#4,>f3=int32#1
2483
+ # asm 2: movl <d3=120(%esp),>f3=%eax
2484
+ movl 120(%esp),%eax
2485
+
2486
+ # qhasm: carry? f3 += g2 + carry
2487
+ # asm 1: adcl <g2=int32#3,<f3=int32#1
2488
+ # asm 2: adcl <g2=%edx,<f3=%eax
2489
+ adcl %edx,%eax
2490
+
2491
+ # qhasm: f3_stack = f3
2492
+ # asm 1: movl <f3=int32#1,>f3_stack=stack32#10
2493
+ # asm 2: movl <f3=%eax,>f3_stack=36(%esp)
2494
+ movl %eax,36(%esp)
2495
+
2496
+ # qhasm: f4 = 0
2497
+ # asm 1: mov $0,>f4=int32#1
2498
+ # asm 2: mov $0,>f4=%eax
2499
+ mov $0,%eax
2500
+
2501
+ # qhasm: carry? f4 += g3 + carry
2502
+ # asm 1: adcl <g3=int32#4,<f4=int32#1
2503
+ # asm 2: adcl <g3=%ebx,<f4=%eax
2504
+ adcl %ebx,%eax
2505
+
2506
+ # qhasm: f4_stack = f4
2507
+ # asm 1: movl <f4=int32#1,>f4_stack=stack32#11
2508
+ # asm 2: movl <f4=%eax,>f4_stack=40(%esp)
2509
+ movl %eax,40(%esp)
2510
+
2511
+ # qhasm: g0 = 5
2512
+ # asm 1: mov $5,>g0=int32#1
2513
+ # asm 2: mov $5,>g0=%eax
2514
+ mov $5,%eax
2515
+
2516
+ # qhasm: f0 = bottom d0
2517
+ # asm 1: movl <d0=stack64#1,>f0=int32#2
2518
+ # asm 2: movl <d0=96(%esp),>f0=%ecx
2519
+ movl 96(%esp),%ecx
2520
+
2521
+ # qhasm: carry? g0 += f0
2522
+ # asm 1: addl <f0=int32#2,<g0=int32#1
2523
+ # asm 2: addl <f0=%ecx,<g0=%eax
2524
+ addl %ecx,%eax
2525
+
2526
+ # qhasm: g0_stack = g0
2527
+ # asm 1: movl <g0=int32#1,>g0_stack=stack32#12
2528
+ # asm 2: movl <g0=%eax,>g0_stack=44(%esp)
2529
+ movl %eax,44(%esp)
2530
+
2531
+ # qhasm: g1 = 0
2532
+ # asm 1: mov $0,>g1=int32#1
2533
+ # asm 2: mov $0,>g1=%eax
2534
+ mov $0,%eax
2535
+
2536
+ # qhasm: f1 = f1_stack
2537
+ # asm 1: movl <f1_stack=stack32#8,>f1=int32#3
2538
+ # asm 2: movl <f1_stack=28(%esp),>f1=%edx
2539
+ movl 28(%esp),%edx
2540
+
2541
+ # qhasm: carry? g1 += f1 + carry
2542
+ # asm 1: adcl <f1=int32#3,<g1=int32#1
2543
+ # asm 2: adcl <f1=%edx,<g1=%eax
2544
+ adcl %edx,%eax
2545
+
2546
+ # qhasm: g1_stack = g1
2547
+ # asm 1: movl <g1=int32#1,>g1_stack=stack32#8
2548
+ # asm 2: movl <g1=%eax,>g1_stack=28(%esp)
2549
+ movl %eax,28(%esp)
2550
+
2551
+ # qhasm: g2 = 0
2552
+ # asm 1: mov $0,>g2=int32#1
2553
+ # asm 2: mov $0,>g2=%eax
2554
+ mov $0,%eax
2555
+
2556
+ # qhasm: f2 = f2_stack
2557
+ # asm 1: movl <f2_stack=stack32#9,>f2=int32#4
2558
+ # asm 2: movl <f2_stack=32(%esp),>f2=%ebx
2559
+ movl 32(%esp),%ebx
2560
+
2561
+ # qhasm: carry? g2 += f2 + carry
2562
+ # asm 1: adcl <f2=int32#4,<g2=int32#1
2563
+ # asm 2: adcl <f2=%ebx,<g2=%eax
2564
+ adcl %ebx,%eax
2565
+
2566
+ # qhasm: g2_stack = g2
2567
+ # asm 1: movl <g2=int32#1,>g2_stack=stack32#9
2568
+ # asm 2: movl <g2=%eax,>g2_stack=32(%esp)
2569
+ movl %eax,32(%esp)
2570
+
2571
+ # qhasm: g3 = 0
2572
+ # asm 1: mov $0,>g3=int32#1
2573
+ # asm 2: mov $0,>g3=%eax
2574
+ mov $0,%eax
2575
+
2576
+ # qhasm: f3 = f3_stack
2577
+ # asm 1: movl <f3_stack=stack32#10,>f3=int32#5
2578
+ # asm 2: movl <f3_stack=36(%esp),>f3=%esi
2579
+ movl 36(%esp),%esi
2580
+
2581
+ # qhasm: carry? g3 += f3 + carry
2582
+ # asm 1: adcl <f3=int32#5,<g3=int32#1
2583
+ # asm 2: adcl <f3=%esi,<g3=%eax
2584
+ adcl %esi,%eax
2585
+
2586
+ # qhasm: g3_stack = g3
2587
+ # asm 1: movl <g3=int32#1,>g3_stack=stack32#10
2588
+ # asm 2: movl <g3=%eax,>g3_stack=36(%esp)
2589
+ movl %eax,36(%esp)
2590
+
2591
+ # qhasm: f = 0xfffffffc
2592
+ # asm 1: mov $0xfffffffc,>f=int32#1
2593
+ # asm 2: mov $0xfffffffc,>f=%eax
2594
+ mov $0xfffffffc,%eax
2595
+
2596
+ # qhasm: f4 = f4_stack
2597
+ # asm 1: movl <f4_stack=stack32#11,>f4=int32#6
2598
+ # asm 2: movl <f4_stack=40(%esp),>f4=%edi
2599
+ movl 40(%esp),%edi
2600
+
2601
+ # qhasm: carry? f += f4 + carry
2602
+ # asm 1: adcl <f4=int32#6,<f=int32#1
2603
+ # asm 2: adcl <f4=%edi,<f=%eax
2604
+ adcl %edi,%eax
2605
+
2606
+ # qhasm: (int32) f >>= 16
2607
+ # asm 1: sar $16,<f=int32#1
2608
+ # asm 2: sar $16,<f=%eax
2609
+ sar $16,%eax
2610
+
2611
+ # qhasm: notf = f
2612
+ # asm 1: mov <f=int32#1,>notf=int32#6
2613
+ # asm 2: mov <f=%eax,>notf=%edi
2614
+ mov %eax,%edi
2615
+
2616
+ # qhasm: notf ^= 0xffffffff
2617
+ # asm 1: xor $0xffffffff,<notf=int32#6
2618
+ # asm 2: xor $0xffffffff,<notf=%edi
2619
+ xor $0xffffffff,%edi
2620
+
2621
+ # qhasm: f0 &= f
2622
+ # asm 1: andl <f=int32#1,<f0=int32#2
2623
+ # asm 2: andl <f=%eax,<f0=%ecx
2624
+ andl %eax,%ecx
2625
+
2626
+ # qhasm: g0 = g0_stack
2627
+ # asm 1: movl <g0_stack=stack32#12,>g0=int32#7
2628
+ # asm 2: movl <g0_stack=44(%esp),>g0=%ebp
2629
+ movl 44(%esp),%ebp
2630
+
2631
+ # qhasm: g0 &= notf
2632
+ # asm 1: andl <notf=int32#6,<g0=int32#7
2633
+ # asm 2: andl <notf=%edi,<g0=%ebp
2634
+ andl %edi,%ebp
2635
+
2636
+ # qhasm: f0 |= g0
2637
+ # asm 1: orl <g0=int32#7,<f0=int32#2
2638
+ # asm 2: orl <g0=%ebp,<f0=%ecx
2639
+ orl %ebp,%ecx
2640
+
2641
+ # qhasm: f1 &= f
2642
+ # asm 1: andl <f=int32#1,<f1=int32#3
2643
+ # asm 2: andl <f=%eax,<f1=%edx
2644
+ andl %eax,%edx
2645
+
2646
+ # qhasm: g1 = g1_stack
2647
+ # asm 1: movl <g1_stack=stack32#8,>g1=int32#7
2648
+ # asm 2: movl <g1_stack=28(%esp),>g1=%ebp
2649
+ movl 28(%esp),%ebp
2650
+
2651
+ # qhasm: g1 &= notf
2652
+ # asm 1: andl <notf=int32#6,<g1=int32#7
2653
+ # asm 2: andl <notf=%edi,<g1=%ebp
2654
+ andl %edi,%ebp
2655
+
2656
+ # qhasm: f1 |= g1
2657
+ # asm 1: orl <g1=int32#7,<f1=int32#3
2658
+ # asm 2: orl <g1=%ebp,<f1=%edx
2659
+ orl %ebp,%edx
2660
+
2661
+ # qhasm: f2 &= f
2662
+ # asm 1: andl <f=int32#1,<f2=int32#4
2663
+ # asm 2: andl <f=%eax,<f2=%ebx
2664
+ andl %eax,%ebx
2665
+
2666
+ # qhasm: g2 = g2_stack
2667
+ # asm 1: movl <g2_stack=stack32#9,>g2=int32#7
2668
+ # asm 2: movl <g2_stack=32(%esp),>g2=%ebp
2669
+ movl 32(%esp),%ebp
2670
+
2671
+ # qhasm: g2 &= notf
2672
+ # asm 1: andl <notf=int32#6,<g2=int32#7
2673
+ # asm 2: andl <notf=%edi,<g2=%ebp
2674
+ andl %edi,%ebp
2675
+
2676
+ # qhasm: f2 |= g2
2677
+ # asm 1: orl <g2=int32#7,<f2=int32#4
2678
+ # asm 2: orl <g2=%ebp,<f2=%ebx
2679
+ orl %ebp,%ebx
2680
+
2681
+ # qhasm: f3 &= f
2682
+ # asm 1: andl <f=int32#1,<f3=int32#5
2683
+ # asm 2: andl <f=%eax,<f3=%esi
2684
+ andl %eax,%esi
2685
+
2686
+ # qhasm: g3 = g3_stack
2687
+ # asm 1: movl <g3_stack=stack32#10,>g3=int32#1
2688
+ # asm 2: movl <g3_stack=36(%esp),>g3=%eax
2689
+ movl 36(%esp),%eax
2690
+
2691
+ # qhasm: g3 &= notf
2692
+ # asm 1: andl <notf=int32#6,<g3=int32#1
2693
+ # asm 2: andl <notf=%edi,<g3=%eax
2694
+ andl %edi,%eax
2695
+
2696
+ # qhasm: f3 |= g3
2697
+ # asm 1: orl <g3=int32#1,<f3=int32#5
2698
+ # asm 2: orl <g3=%eax,<f3=%esi
2699
+ orl %eax,%esi
2700
+
2701
+ # qhasm: k = k_stack
2702
+ # asm 1: movl <k_stack=stack32#6,>k=int32#1
2703
+ # asm 2: movl <k_stack=20(%esp),>k=%eax
2704
+ movl 20(%esp),%eax
2705
+
2706
+ # qhasm: carry? f0 += *(uint32 *) (k + 16)
2707
+ # asm 1: addl 16(<k=int32#1),<f0=int32#2
2708
+ # asm 2: addl 16(<k=%eax),<f0=%ecx
2709
+ addl 16(%eax),%ecx
2710
+
2711
+ # qhasm: carry? f1 += *(uint32 *) (k + 20) + carry
2712
+ # asm 1: adcl 20(<k=int32#1),<f1=int32#3
2713
+ # asm 2: adcl 20(<k=%eax),<f1=%edx
2714
+ adcl 20(%eax),%edx
2715
+
2716
+ # qhasm: carry? f2 += *(uint32 *) (k + 24) + carry
2717
+ # asm 1: adcl 24(<k=int32#1),<f2=int32#4
2718
+ # asm 2: adcl 24(<k=%eax),<f2=%ebx
2719
+ adcl 24(%eax),%ebx
2720
+
2721
+ # qhasm: carry? f3 += *(uint32 *) (k + 28) + carry
2722
+ # asm 1: adcl 28(<k=int32#1),<f3=int32#5
2723
+ # asm 2: adcl 28(<k=%eax),<f3=%esi
2724
+ adcl 28(%eax),%esi
2725
+
2726
+ # qhasm: out = out_stack
2727
+ # asm 1: movl <out_stack=stack32#7,>out=int32#1
2728
+ # asm 2: movl <out_stack=24(%esp),>out=%eax
2729
+ movl 24(%esp),%eax
2730
+
2731
+ # qhasm: *(uint32 *) (out + 0) = f0
2732
+ # asm 1: movl <f0=int32#2,0(<out=int32#1)
2733
+ # asm 2: movl <f0=%ecx,0(<out=%eax)
2734
+ movl %ecx,0(%eax)
2735
+
2736
+ # qhasm: *(uint32 *) (out + 4) = f1
2737
+ # asm 1: movl <f1=int32#3,4(<out=int32#1)
2738
+ # asm 2: movl <f1=%edx,4(<out=%eax)
2739
+ movl %edx,4(%eax)
2740
+
2741
+ # qhasm: *(uint32 *) (out + 8) = f2
2742
+ # asm 1: movl <f2=int32#4,8(<out=int32#1)
2743
+ # asm 2: movl <f2=%ebx,8(<out=%eax)
2744
+ movl %ebx,8(%eax)
2745
+
2746
+ # qhasm: *(uint32 *) (out + 12) = f3
2747
+ # asm 1: movl <f3=int32#5,12(<out=int32#1)
2748
+ # asm 2: movl <f3=%esi,12(<out=%eax)
2749
+ movl %esi,12(%eax)
2750
+
2751
+ # qhasm: eax = eax_stack
2752
+ # asm 1: movl <eax_stack=stack32#1,>eax=int32#1
2753
+ # asm 2: movl <eax_stack=0(%esp),>eax=%eax
2754
+ movl 0(%esp),%eax
2755
+
2756
+ # qhasm: ebx = ebx_stack
2757
+ # asm 1: movl <ebx_stack=stack32#2,>ebx=int32#4
2758
+ # asm 2: movl <ebx_stack=4(%esp),>ebx=%ebx
2759
+ movl 4(%esp),%ebx
2760
+
2761
+ # qhasm: esi = esi_stack
2762
+ # asm 1: movl <esi_stack=stack32#3,>esi=int32#5
2763
+ # asm 2: movl <esi_stack=8(%esp),>esi=%esi
2764
+ movl 8(%esp),%esi
2765
+
2766
+ # qhasm: edi = edi_stack
2767
+ # asm 1: movl <edi_stack=stack32#4,>edi=int32#6
2768
+ # asm 2: movl <edi_stack=12(%esp),>edi=%edi
2769
+ movl 12(%esp),%edi
2770
+
2771
+ # qhasm: ebp = ebp_stack
2772
+ # asm 1: movl <ebp_stack=stack32#5,>ebp=int32#7
2773
+ # asm 2: movl <ebp_stack=16(%esp),>ebp=%ebp
2774
+ movl 16(%esp),%ebp
2775
+
2776
+ # qhasm: leave
2777
+ add %eax,%esp
2778
+ xor %eax,%eax
2779
+ ret