ruby_nacl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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