visaljs 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1008) hide show
  1. package/README.md +17 -1
  2. package/cli.js +565 -75
  3. package/node/include/js_node.h +28 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/crypto.js +7 -10
  6. package/node/prelude/dns.js +99 -0
  7. package/node/prelude/dns_promises.js +10 -0
  8. package/node/prelude/http.js +1039 -195
  9. package/node/prelude/internal/crypto/asym.js +39 -12
  10. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  11. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  12. package/node/prelude/internal/crypto/hash.js +1 -1
  13. package/node/prelude/internal/crypto/key_type.js +3 -0
  14. package/node/prelude/internal/crypto/keys.js +39 -9
  15. package/node/prelude/internal/http_agent.js +249 -0
  16. package/node/prelude/internal/net.js +33 -0
  17. package/node/prelude/internal/socketaddress.js +249 -0
  18. package/node/prelude/internal/tls/common.js +306 -0
  19. package/node/prelude/internal/tls/wrap.js +1217 -0
  20. package/node/prelude/internal/tls/x509.js +394 -0
  21. package/node/prelude/net.js +1083 -50
  22. package/node/prelude/stream.js +6 -0
  23. package/node/prelude/tls.js +141 -0
  24. package/node/prelude/util.js +5 -2
  25. package/node/prelude/util_types.js +85 -0
  26. package/node/src/host_http.c +268 -270
  27. package/node/src/host_loop.c +84 -0
  28. package/node/src/host_net.c +495 -0
  29. package/node/src/host_sys.c +16 -0
  30. package/package.json +1 -1
  31. package/runtime/include/js_builtins.h +16 -0
  32. package/runtime/include/js_console.h +2 -0
  33. package/runtime/include/js_core.def +23 -0
  34. package/runtime/include/js_crypto.h +23 -0
  35. package/runtime/include/js_generator.h +2 -3
  36. package/runtime/include/js_promise.h +0 -2
  37. package/runtime/src/async_iter.c +4 -1
  38. package/runtime/src/boringssl_support.cc +34 -0
  39. package/runtime/src/builtin_table.c +8 -0
  40. package/runtime/src/components.c +10 -0
  41. package/runtime/src/console.c +6 -18
  42. package/runtime/src/core_all.c +1 -0
  43. package/runtime/src/crypto_asym.c +450 -241
  44. package/runtime/src/crypto_bn.c +91 -0
  45. package/runtime/src/crypto_cipher.c +153 -75
  46. package/runtime/src/crypto_hash.c +68 -53
  47. package/runtime/src/crypto_internal.h +55 -26
  48. package/runtime/src/crypto_pkey.c +198 -61
  49. package/runtime/src/crypto_subtle.c +42 -16
  50. package/runtime/src/crypto_tls.c +678 -0
  51. package/runtime/src/generator.c +8 -1
  52. package/runtime/src/global.c +2 -4
  53. package/runtime/src/internal.h +0 -1
  54. package/runtime/src/jobs.c +2 -1
  55. package/runtime/src/promise.c +4 -1
  56. package/runtime/src/tls_roots.gen.h +3215 -0
  57. package/runtime/src/util_types.c +52 -0
  58. package/runtime/src/weak.c +2 -1
  59. package/runtime/third_party/boringssl/LICENSE +238 -0
  60. package/runtime/third_party/boringssl/README.md +46 -0
  61. package/runtime/third_party/boringssl/VERSION +1 -0
  62. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  63. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  64. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  65. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  66. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  67. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  68. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  69. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  70. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  71. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  72. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  73. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  74. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  75. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  76. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  77. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  78. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  79. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  80. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  81. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  82. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  83. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  84. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  85. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  86. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  87. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  88. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  89. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  90. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  91. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  92. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  93. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  94. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  95. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  96. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  97. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  98. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  99. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  100. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  101. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  102. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  103. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  104. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  105. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  106. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  107. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  108. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  109. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  110. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  111. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  112. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  113. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  114. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  115. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  116. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  117. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  118. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  119. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  120. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  121. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  122. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  123. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  124. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  125. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  126. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  127. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  128. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  129. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  130. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  131. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  132. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  133. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  134. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  135. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  136. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  137. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  138. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  139. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  140. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  141. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  142. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  143. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  144. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  145. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  146. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  147. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  148. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  149. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  150. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  151. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  152. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  153. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  154. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  155. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  156. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  157. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  158. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  159. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  160. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  161. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  162. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  163. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  164. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  165. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  166. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  167. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  168. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  169. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  170. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  171. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  172. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  173. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  174. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  175. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  176. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  177. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  178. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  179. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  180. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  181. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  182. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  183. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  184. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  185. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  186. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  187. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  188. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  189. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  190. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  191. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  192. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  193. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  194. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  195. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  196. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  197. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  198. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  199. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  200. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  201. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  202. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  203. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  204. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  205. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  206. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  207. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  208. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  209. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  210. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  211. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  212. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  213. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  214. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  215. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  216. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  217. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  218. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  219. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  220. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  221. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  222. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  223. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  224. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  225. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  226. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  227. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  228. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  229. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  230. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  231. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  232. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  233. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  234. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  235. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  236. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  237. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  238. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  239. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  240. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  241. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  242. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  243. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  244. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  245. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  246. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  247. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  248. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  249. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  250. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  251. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  252. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  253. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  254. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  255. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  256. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  257. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  258. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  259. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  260. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  261. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  262. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  263. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  264. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  265. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  266. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  267. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  268. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  269. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  270. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  271. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  272. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  273. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  274. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  275. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  276. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  277. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  278. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  279. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  280. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  281. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  282. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  283. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  284. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  285. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  286. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  287. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  288. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  289. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  290. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  291. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  292. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  293. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  294. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  295. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  296. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  297. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  298. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  299. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  300. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  301. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  302. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  303. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  304. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  305. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  306. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  307. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  308. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  309. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  310. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  311. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  312. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  313. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  314. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  315. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  316. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  317. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  318. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  319. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  320. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  321. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  322. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  323. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  324. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  325. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  326. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  327. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  328. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  329. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  330. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  331. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  332. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  333. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  334. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  335. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  336. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  337. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  338. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  339. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  340. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  341. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  342. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  343. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  344. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  345. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  346. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  347. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  348. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  349. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  350. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  351. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  352. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  353. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  354. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  355. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  356. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  357. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  358. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  359. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  360. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  361. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  362. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  363. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  364. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  365. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  366. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  367. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  368. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  369. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  370. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  371. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  372. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  373. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  374. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  375. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  376. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  377. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  378. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  379. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  380. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  381. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  382. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  383. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  384. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  385. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  386. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  387. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  388. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  389. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  390. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  391. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  392. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  393. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  394. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  395. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  396. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  397. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  398. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  399. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  400. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  401. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  402. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  403. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  404. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  405. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  406. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  407. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  408. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  409. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  410. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  411. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  412. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  413. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  414. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  415. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  416. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  417. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  418. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  419. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  420. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  421. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  422. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  423. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  424. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  425. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  426. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  427. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  428. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  429. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  430. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  431. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  432. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  433. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  434. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  435. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  436. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  437. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  438. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  439. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  440. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  441. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  442. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  443. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  444. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  445. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  446. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  447. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  448. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  449. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  450. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  451. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  452. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  453. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  454. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  455. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  456. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  457. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  458. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  459. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  460. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  461. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  462. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  463. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  464. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  465. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  466. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  467. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  468. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  469. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  470. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  471. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  472. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  473. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  474. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  475. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  476. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  477. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  478. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  479. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  480. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  481. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  482. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  483. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  484. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  485. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  486. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  487. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  488. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  489. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  490. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  491. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  492. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  493. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  494. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  495. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  496. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  497. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  498. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  499. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  500. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  501. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  502. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  503. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  504. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  505. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  506. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  507. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  508. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  509. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  510. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  511. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  512. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  513. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  514. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  515. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  516. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  517. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  518. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  519. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  520. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  521. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  522. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  523. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  524. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  525. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  526. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  527. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  528. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  529. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  530. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  531. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  532. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  533. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  534. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  535. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  536. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  537. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  538. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  539. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  540. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  541. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  542. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  543. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  544. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  545. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  546. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  547. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  548. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  549. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  550. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  551. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  552. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  553. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  554. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  555. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  556. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  557. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  558. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  559. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  560. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  561. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  562. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  563. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  564. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  565. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  566. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  567. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  568. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  569. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  570. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  571. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  572. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  573. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  574. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  575. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  576. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  577. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  578. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  579. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  580. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  581. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  582. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  583. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  584. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  585. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  586. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  587. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  588. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  589. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  590. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  591. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  592. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  593. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  594. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  595. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  596. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  597. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  598. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  599. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  600. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  601. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  602. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  603. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  604. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  605. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  606. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  607. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  608. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  609. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  610. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  611. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  612. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  613. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  614. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  615. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  616. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  617. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  618. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  619. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  620. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  621. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  622. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  623. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  624. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  625. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  626. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  627. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  628. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  629. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  630. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  631. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  632. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  633. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  634. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  635. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  636. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  637. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  638. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  639. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  640. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  641. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  642. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  643. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  644. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  645. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  646. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  647. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  648. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  649. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  650. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  651. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  652. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  653. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  654. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  655. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  656. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  657. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  658. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  659. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  660. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  661. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  662. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  663. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  664. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  665. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  666. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  667. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  668. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  669. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  670. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  671. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  672. package/runtime/third_party/boringssl/sources.json +696 -0
  673. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  674. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  675. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  676. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  677. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  678. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  679. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  680. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  681. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  682. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  683. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  684. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  685. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  686. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  687. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  688. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  689. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  690. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  691. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  692. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  693. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  694. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  695. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  696. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  697. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  698. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  699. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  700. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  701. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  702. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  703. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  704. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  705. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  706. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  707. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  708. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  709. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  710. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  711. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  712. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  713. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  714. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  715. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  716. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  717. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  718. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  719. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  720. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  721. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  722. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  723. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  724. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  725. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  726. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  727. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  728. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  729. package/runtime/third_party/v8-ieee754/README.md +2 -1
  730. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  731. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  732. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  733. package/runtime/third_party/bearssl/README.txt +0 -136
  734. package/runtime/third_party/bearssl/VERSION +0 -1
  735. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  736. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  737. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  738. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  739. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  740. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  741. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  742. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  743. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  744. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  745. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  746. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  747. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  748. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  749. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  750. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  751. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  752. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  753. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  754. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  755. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  756. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  757. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  758. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  759. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  760. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  761. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  762. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  763. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  764. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  765. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  766. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  767. package/runtime/third_party/bearssl/src/config.h +0 -247
  768. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  769. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  770. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  771. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  772. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  773. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  774. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  775. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  776. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  777. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  778. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  779. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  780. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  781. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  782. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  783. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  784. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  785. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  786. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  787. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  788. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  789. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  790. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  791. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  792. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  793. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  794. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  795. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  796. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  797. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  798. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  799. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  800. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  801. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  802. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  803. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  804. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  805. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  806. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  807. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  808. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  809. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  810. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  811. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  812. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  813. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  814. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  815. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  816. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  817. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  818. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  819. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  820. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  821. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  822. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  823. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  824. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  825. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  826. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  827. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  828. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  829. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  830. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  831. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  832. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  833. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  834. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  835. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  836. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  837. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  838. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  839. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  840. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  841. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  842. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  843. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  844. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  845. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  846. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  847. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  848. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  849. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  850. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  851. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  852. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  853. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  854. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  855. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  856. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  857. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  858. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  859. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  860. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  861. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  862. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  863. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  864. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  865. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  866. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  867. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  868. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  869. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  870. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  871. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  872. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  873. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  874. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  875. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  876. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  877. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  878. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  879. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  880. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  881. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  882. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  883. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  884. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  885. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  886. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  887. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  888. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  889. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  890. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  891. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  892. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  893. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  894. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  895. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  896. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  897. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  898. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  899. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  900. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  901. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  902. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  903. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  904. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  905. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  906. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  907. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  908. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  909. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  910. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  911. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  912. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  913. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  914. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  915. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  916. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  917. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  918. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  919. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  920. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  921. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  922. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  923. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  924. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  925. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  926. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  927. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  928. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  929. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  930. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  931. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  932. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  933. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  934. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  935. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  936. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  937. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  938. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  939. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  940. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  941. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  942. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  943. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  944. package/runtime/third_party/bearssl/src/settings.c +0 -306
  945. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  946. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  947. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  948. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  949. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  950. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  951. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  952. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  953. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  954. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  955. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  956. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  957. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  958. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  959. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  960. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  961. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  962. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  963. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  964. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  965. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  966. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  967. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  968. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  969. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  970. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  971. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  972. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  973. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  974. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  975. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  976. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  977. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  978. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  979. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  980. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  981. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  982. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  983. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  984. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  985. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  986. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  987. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  988. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  989. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  990. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  991. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  992. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  993. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  994. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  995. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  996. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  997. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  998. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  999. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1000. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1001. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1002. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1003. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1004. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1005. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1006. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1007. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1008. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,2490 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__APPLE__)
7
+ .text
8
+ #ifdef BORINGSSL_DISPATCH_TEST
9
+ #endif
10
+ .globl _aes_hw_encrypt
11
+ .private_extern _aes_hw_encrypt
12
+ .align 4
13
+ _aes_hw_encrypt:
14
+ L_aes_hw_encrypt_begin:
15
+ #ifdef BORINGSSL_DISPATCH_TEST
16
+ pushl %ebx
17
+ pushl %edx
18
+ call L000pic_for_function_hit
19
+ L000pic_for_function_hit:
20
+ popl %ebx
21
+ leal _BORINGSSL_function_hit+1-L000pic_for_function_hit(%ebx),%ebx
22
+ movl $1,%edx
23
+ movb %dl,(%ebx)
24
+ popl %edx
25
+ popl %ebx
26
+ #endif
27
+ movl 4(%esp),%eax
28
+ movl 12(%esp),%edx
29
+ movups (%eax),%xmm2
30
+ movl 240(%edx),%ecx
31
+ movl 8(%esp),%eax
32
+ movups (%edx),%xmm0
33
+ movups 16(%edx),%xmm1
34
+ leal 32(%edx),%edx
35
+ xorps %xmm0,%xmm2
36
+ L001enc1_loop_1:
37
+ aesenc %xmm1,%xmm2
38
+ decl %ecx
39
+ movups (%edx),%xmm1
40
+ leal 16(%edx),%edx
41
+ jnz L001enc1_loop_1
42
+ aesenclast %xmm1,%xmm2
43
+ pxor %xmm0,%xmm0
44
+ pxor %xmm1,%xmm1
45
+ movups %xmm2,(%eax)
46
+ pxor %xmm2,%xmm2
47
+ ret
48
+ .globl _aes_hw_decrypt
49
+ .private_extern _aes_hw_decrypt
50
+ .align 4
51
+ _aes_hw_decrypt:
52
+ L_aes_hw_decrypt_begin:
53
+ movl 4(%esp),%eax
54
+ movl 12(%esp),%edx
55
+ movups (%eax),%xmm2
56
+ movl 240(%edx),%ecx
57
+ movl 8(%esp),%eax
58
+ movups (%edx),%xmm0
59
+ movups 16(%edx),%xmm1
60
+ leal 32(%edx),%edx
61
+ xorps %xmm0,%xmm2
62
+ L002dec1_loop_2:
63
+ aesdec %xmm1,%xmm2
64
+ decl %ecx
65
+ movups (%edx),%xmm1
66
+ leal 16(%edx),%edx
67
+ jnz L002dec1_loop_2
68
+ aesdeclast %xmm1,%xmm2
69
+ pxor %xmm0,%xmm0
70
+ pxor %xmm1,%xmm1
71
+ movups %xmm2,(%eax)
72
+ pxor %xmm2,%xmm2
73
+ ret
74
+ .private_extern __aesni_encrypt2
75
+ .align 4
76
+ __aesni_encrypt2:
77
+ movups (%edx),%xmm0
78
+ shll $4,%ecx
79
+ movups 16(%edx),%xmm1
80
+ xorps %xmm0,%xmm2
81
+ pxor %xmm0,%xmm3
82
+ movups 32(%edx),%xmm0
83
+ leal 32(%edx,%ecx,1),%edx
84
+ negl %ecx
85
+ addl $16,%ecx
86
+ L003enc2_loop:
87
+ aesenc %xmm1,%xmm2
88
+ aesenc %xmm1,%xmm3
89
+ movups (%edx,%ecx,1),%xmm1
90
+ addl $32,%ecx
91
+ aesenc %xmm0,%xmm2
92
+ aesenc %xmm0,%xmm3
93
+ movups -16(%edx,%ecx,1),%xmm0
94
+ jnz L003enc2_loop
95
+ aesenc %xmm1,%xmm2
96
+ aesenc %xmm1,%xmm3
97
+ aesenclast %xmm0,%xmm2
98
+ aesenclast %xmm0,%xmm3
99
+ ret
100
+ .private_extern __aesni_decrypt2
101
+ .align 4
102
+ __aesni_decrypt2:
103
+ movups (%edx),%xmm0
104
+ shll $4,%ecx
105
+ movups 16(%edx),%xmm1
106
+ xorps %xmm0,%xmm2
107
+ pxor %xmm0,%xmm3
108
+ movups 32(%edx),%xmm0
109
+ leal 32(%edx,%ecx,1),%edx
110
+ negl %ecx
111
+ addl $16,%ecx
112
+ L004dec2_loop:
113
+ aesdec %xmm1,%xmm2
114
+ aesdec %xmm1,%xmm3
115
+ movups (%edx,%ecx,1),%xmm1
116
+ addl $32,%ecx
117
+ aesdec %xmm0,%xmm2
118
+ aesdec %xmm0,%xmm3
119
+ movups -16(%edx,%ecx,1),%xmm0
120
+ jnz L004dec2_loop
121
+ aesdec %xmm1,%xmm2
122
+ aesdec %xmm1,%xmm3
123
+ aesdeclast %xmm0,%xmm2
124
+ aesdeclast %xmm0,%xmm3
125
+ ret
126
+ .private_extern __aesni_encrypt3
127
+ .align 4
128
+ __aesni_encrypt3:
129
+ movups (%edx),%xmm0
130
+ shll $4,%ecx
131
+ movups 16(%edx),%xmm1
132
+ xorps %xmm0,%xmm2
133
+ pxor %xmm0,%xmm3
134
+ pxor %xmm0,%xmm4
135
+ movups 32(%edx),%xmm0
136
+ leal 32(%edx,%ecx,1),%edx
137
+ negl %ecx
138
+ addl $16,%ecx
139
+ L005enc3_loop:
140
+ aesenc %xmm1,%xmm2
141
+ aesenc %xmm1,%xmm3
142
+ aesenc %xmm1,%xmm4
143
+ movups (%edx,%ecx,1),%xmm1
144
+ addl $32,%ecx
145
+ aesenc %xmm0,%xmm2
146
+ aesenc %xmm0,%xmm3
147
+ aesenc %xmm0,%xmm4
148
+ movups -16(%edx,%ecx,1),%xmm0
149
+ jnz L005enc3_loop
150
+ aesenc %xmm1,%xmm2
151
+ aesenc %xmm1,%xmm3
152
+ aesenc %xmm1,%xmm4
153
+ aesenclast %xmm0,%xmm2
154
+ aesenclast %xmm0,%xmm3
155
+ aesenclast %xmm0,%xmm4
156
+ ret
157
+ .private_extern __aesni_decrypt3
158
+ .align 4
159
+ __aesni_decrypt3:
160
+ movups (%edx),%xmm0
161
+ shll $4,%ecx
162
+ movups 16(%edx),%xmm1
163
+ xorps %xmm0,%xmm2
164
+ pxor %xmm0,%xmm3
165
+ pxor %xmm0,%xmm4
166
+ movups 32(%edx),%xmm0
167
+ leal 32(%edx,%ecx,1),%edx
168
+ negl %ecx
169
+ addl $16,%ecx
170
+ L006dec3_loop:
171
+ aesdec %xmm1,%xmm2
172
+ aesdec %xmm1,%xmm3
173
+ aesdec %xmm1,%xmm4
174
+ movups (%edx,%ecx,1),%xmm1
175
+ addl $32,%ecx
176
+ aesdec %xmm0,%xmm2
177
+ aesdec %xmm0,%xmm3
178
+ aesdec %xmm0,%xmm4
179
+ movups -16(%edx,%ecx,1),%xmm0
180
+ jnz L006dec3_loop
181
+ aesdec %xmm1,%xmm2
182
+ aesdec %xmm1,%xmm3
183
+ aesdec %xmm1,%xmm4
184
+ aesdeclast %xmm0,%xmm2
185
+ aesdeclast %xmm0,%xmm3
186
+ aesdeclast %xmm0,%xmm4
187
+ ret
188
+ .private_extern __aesni_encrypt4
189
+ .align 4
190
+ __aesni_encrypt4:
191
+ movups (%edx),%xmm0
192
+ movups 16(%edx),%xmm1
193
+ shll $4,%ecx
194
+ xorps %xmm0,%xmm2
195
+ pxor %xmm0,%xmm3
196
+ pxor %xmm0,%xmm4
197
+ pxor %xmm0,%xmm5
198
+ movups 32(%edx),%xmm0
199
+ leal 32(%edx,%ecx,1),%edx
200
+ negl %ecx
201
+ .byte 15,31,64,0
202
+ addl $16,%ecx
203
+ L007enc4_loop:
204
+ aesenc %xmm1,%xmm2
205
+ aesenc %xmm1,%xmm3
206
+ aesenc %xmm1,%xmm4
207
+ aesenc %xmm1,%xmm5
208
+ movups (%edx,%ecx,1),%xmm1
209
+ addl $32,%ecx
210
+ aesenc %xmm0,%xmm2
211
+ aesenc %xmm0,%xmm3
212
+ aesenc %xmm0,%xmm4
213
+ aesenc %xmm0,%xmm5
214
+ movups -16(%edx,%ecx,1),%xmm0
215
+ jnz L007enc4_loop
216
+ aesenc %xmm1,%xmm2
217
+ aesenc %xmm1,%xmm3
218
+ aesenc %xmm1,%xmm4
219
+ aesenc %xmm1,%xmm5
220
+ aesenclast %xmm0,%xmm2
221
+ aesenclast %xmm0,%xmm3
222
+ aesenclast %xmm0,%xmm4
223
+ aesenclast %xmm0,%xmm5
224
+ ret
225
+ .private_extern __aesni_decrypt4
226
+ .align 4
227
+ __aesni_decrypt4:
228
+ movups (%edx),%xmm0
229
+ movups 16(%edx),%xmm1
230
+ shll $4,%ecx
231
+ xorps %xmm0,%xmm2
232
+ pxor %xmm0,%xmm3
233
+ pxor %xmm0,%xmm4
234
+ pxor %xmm0,%xmm5
235
+ movups 32(%edx),%xmm0
236
+ leal 32(%edx,%ecx,1),%edx
237
+ negl %ecx
238
+ .byte 15,31,64,0
239
+ addl $16,%ecx
240
+ L008dec4_loop:
241
+ aesdec %xmm1,%xmm2
242
+ aesdec %xmm1,%xmm3
243
+ aesdec %xmm1,%xmm4
244
+ aesdec %xmm1,%xmm5
245
+ movups (%edx,%ecx,1),%xmm1
246
+ addl $32,%ecx
247
+ aesdec %xmm0,%xmm2
248
+ aesdec %xmm0,%xmm3
249
+ aesdec %xmm0,%xmm4
250
+ aesdec %xmm0,%xmm5
251
+ movups -16(%edx,%ecx,1),%xmm0
252
+ jnz L008dec4_loop
253
+ aesdec %xmm1,%xmm2
254
+ aesdec %xmm1,%xmm3
255
+ aesdec %xmm1,%xmm4
256
+ aesdec %xmm1,%xmm5
257
+ aesdeclast %xmm0,%xmm2
258
+ aesdeclast %xmm0,%xmm3
259
+ aesdeclast %xmm0,%xmm4
260
+ aesdeclast %xmm0,%xmm5
261
+ ret
262
+ .private_extern __aesni_encrypt6
263
+ .align 4
264
+ __aesni_encrypt6:
265
+ movups (%edx),%xmm0
266
+ shll $4,%ecx
267
+ movups 16(%edx),%xmm1
268
+ xorps %xmm0,%xmm2
269
+ pxor %xmm0,%xmm3
270
+ pxor %xmm0,%xmm4
271
+ aesenc %xmm1,%xmm2
272
+ pxor %xmm0,%xmm5
273
+ pxor %xmm0,%xmm6
274
+ aesenc %xmm1,%xmm3
275
+ leal 32(%edx,%ecx,1),%edx
276
+ negl %ecx
277
+ aesenc %xmm1,%xmm4
278
+ pxor %xmm0,%xmm7
279
+ movups (%edx,%ecx,1),%xmm0
280
+ addl $16,%ecx
281
+ jmp L009_aesni_encrypt6_inner
282
+ .align 4,0x90
283
+ L010enc6_loop:
284
+ aesenc %xmm1,%xmm2
285
+ aesenc %xmm1,%xmm3
286
+ aesenc %xmm1,%xmm4
287
+ L009_aesni_encrypt6_inner:
288
+ aesenc %xmm1,%xmm5
289
+ aesenc %xmm1,%xmm6
290
+ aesenc %xmm1,%xmm7
291
+ L_aesni_encrypt6_enter:
292
+ movups (%edx,%ecx,1),%xmm1
293
+ addl $32,%ecx
294
+ aesenc %xmm0,%xmm2
295
+ aesenc %xmm0,%xmm3
296
+ aesenc %xmm0,%xmm4
297
+ aesenc %xmm0,%xmm5
298
+ aesenc %xmm0,%xmm6
299
+ aesenc %xmm0,%xmm7
300
+ movups -16(%edx,%ecx,1),%xmm0
301
+ jnz L010enc6_loop
302
+ aesenc %xmm1,%xmm2
303
+ aesenc %xmm1,%xmm3
304
+ aesenc %xmm1,%xmm4
305
+ aesenc %xmm1,%xmm5
306
+ aesenc %xmm1,%xmm6
307
+ aesenc %xmm1,%xmm7
308
+ aesenclast %xmm0,%xmm2
309
+ aesenclast %xmm0,%xmm3
310
+ aesenclast %xmm0,%xmm4
311
+ aesenclast %xmm0,%xmm5
312
+ aesenclast %xmm0,%xmm6
313
+ aesenclast %xmm0,%xmm7
314
+ ret
315
+ .private_extern __aesni_decrypt6
316
+ .align 4
317
+ __aesni_decrypt6:
318
+ movups (%edx),%xmm0
319
+ shll $4,%ecx
320
+ movups 16(%edx),%xmm1
321
+ xorps %xmm0,%xmm2
322
+ pxor %xmm0,%xmm3
323
+ pxor %xmm0,%xmm4
324
+ aesdec %xmm1,%xmm2
325
+ pxor %xmm0,%xmm5
326
+ pxor %xmm0,%xmm6
327
+ aesdec %xmm1,%xmm3
328
+ leal 32(%edx,%ecx,1),%edx
329
+ negl %ecx
330
+ aesdec %xmm1,%xmm4
331
+ pxor %xmm0,%xmm7
332
+ movups (%edx,%ecx,1),%xmm0
333
+ addl $16,%ecx
334
+ jmp L011_aesni_decrypt6_inner
335
+ .align 4,0x90
336
+ L012dec6_loop:
337
+ aesdec %xmm1,%xmm2
338
+ aesdec %xmm1,%xmm3
339
+ aesdec %xmm1,%xmm4
340
+ L011_aesni_decrypt6_inner:
341
+ aesdec %xmm1,%xmm5
342
+ aesdec %xmm1,%xmm6
343
+ aesdec %xmm1,%xmm7
344
+ L_aesni_decrypt6_enter:
345
+ movups (%edx,%ecx,1),%xmm1
346
+ addl $32,%ecx
347
+ aesdec %xmm0,%xmm2
348
+ aesdec %xmm0,%xmm3
349
+ aesdec %xmm0,%xmm4
350
+ aesdec %xmm0,%xmm5
351
+ aesdec %xmm0,%xmm6
352
+ aesdec %xmm0,%xmm7
353
+ movups -16(%edx,%ecx,1),%xmm0
354
+ jnz L012dec6_loop
355
+ aesdec %xmm1,%xmm2
356
+ aesdec %xmm1,%xmm3
357
+ aesdec %xmm1,%xmm4
358
+ aesdec %xmm1,%xmm5
359
+ aesdec %xmm1,%xmm6
360
+ aesdec %xmm1,%xmm7
361
+ aesdeclast %xmm0,%xmm2
362
+ aesdeclast %xmm0,%xmm3
363
+ aesdeclast %xmm0,%xmm4
364
+ aesdeclast %xmm0,%xmm5
365
+ aesdeclast %xmm0,%xmm6
366
+ aesdeclast %xmm0,%xmm7
367
+ ret
368
+ .globl _aes_hw_ecb_encrypt
369
+ .private_extern _aes_hw_ecb_encrypt
370
+ .align 4
371
+ _aes_hw_ecb_encrypt:
372
+ L_aes_hw_ecb_encrypt_begin:
373
+ pushl %ebp
374
+ pushl %ebx
375
+ pushl %esi
376
+ pushl %edi
377
+ movl 20(%esp),%esi
378
+ movl 24(%esp),%edi
379
+ movl 28(%esp),%eax
380
+ movl 32(%esp),%edx
381
+ movl 36(%esp),%ebx
382
+ andl $-16,%eax
383
+ jz L013ecb_ret
384
+ movl 240(%edx),%ecx
385
+ testl %ebx,%ebx
386
+ jz L014ecb_decrypt
387
+ movl %edx,%ebp
388
+ movl %ecx,%ebx
389
+ cmpl $96,%eax
390
+ jb L015ecb_enc_tail
391
+ movdqu (%esi),%xmm2
392
+ movdqu 16(%esi),%xmm3
393
+ movdqu 32(%esi),%xmm4
394
+ movdqu 48(%esi),%xmm5
395
+ movdqu 64(%esi),%xmm6
396
+ movdqu 80(%esi),%xmm7
397
+ leal 96(%esi),%esi
398
+ subl $96,%eax
399
+ jmp L016ecb_enc_loop6_enter
400
+ .align 4,0x90
401
+ L017ecb_enc_loop6:
402
+ movups %xmm2,(%edi)
403
+ movdqu (%esi),%xmm2
404
+ movups %xmm3,16(%edi)
405
+ movdqu 16(%esi),%xmm3
406
+ movups %xmm4,32(%edi)
407
+ movdqu 32(%esi),%xmm4
408
+ movups %xmm5,48(%edi)
409
+ movdqu 48(%esi),%xmm5
410
+ movups %xmm6,64(%edi)
411
+ movdqu 64(%esi),%xmm6
412
+ movups %xmm7,80(%edi)
413
+ leal 96(%edi),%edi
414
+ movdqu 80(%esi),%xmm7
415
+ leal 96(%esi),%esi
416
+ L016ecb_enc_loop6_enter:
417
+ call __aesni_encrypt6
418
+ movl %ebp,%edx
419
+ movl %ebx,%ecx
420
+ subl $96,%eax
421
+ jnc L017ecb_enc_loop6
422
+ movups %xmm2,(%edi)
423
+ movups %xmm3,16(%edi)
424
+ movups %xmm4,32(%edi)
425
+ movups %xmm5,48(%edi)
426
+ movups %xmm6,64(%edi)
427
+ movups %xmm7,80(%edi)
428
+ leal 96(%edi),%edi
429
+ addl $96,%eax
430
+ jz L013ecb_ret
431
+ L015ecb_enc_tail:
432
+ movups (%esi),%xmm2
433
+ cmpl $32,%eax
434
+ jb L018ecb_enc_one
435
+ movups 16(%esi),%xmm3
436
+ je L019ecb_enc_two
437
+ movups 32(%esi),%xmm4
438
+ cmpl $64,%eax
439
+ jb L020ecb_enc_three
440
+ movups 48(%esi),%xmm5
441
+ je L021ecb_enc_four
442
+ movups 64(%esi),%xmm6
443
+ xorps %xmm7,%xmm7
444
+ call __aesni_encrypt6
445
+ movups %xmm2,(%edi)
446
+ movups %xmm3,16(%edi)
447
+ movups %xmm4,32(%edi)
448
+ movups %xmm5,48(%edi)
449
+ movups %xmm6,64(%edi)
450
+ jmp L013ecb_ret
451
+ .align 4,0x90
452
+ L018ecb_enc_one:
453
+ movups (%edx),%xmm0
454
+ movups 16(%edx),%xmm1
455
+ leal 32(%edx),%edx
456
+ xorps %xmm0,%xmm2
457
+ L022enc1_loop_3:
458
+ aesenc %xmm1,%xmm2
459
+ decl %ecx
460
+ movups (%edx),%xmm1
461
+ leal 16(%edx),%edx
462
+ jnz L022enc1_loop_3
463
+ aesenclast %xmm1,%xmm2
464
+ movups %xmm2,(%edi)
465
+ jmp L013ecb_ret
466
+ .align 4,0x90
467
+ L019ecb_enc_two:
468
+ call __aesni_encrypt2
469
+ movups %xmm2,(%edi)
470
+ movups %xmm3,16(%edi)
471
+ jmp L013ecb_ret
472
+ .align 4,0x90
473
+ L020ecb_enc_three:
474
+ call __aesni_encrypt3
475
+ movups %xmm2,(%edi)
476
+ movups %xmm3,16(%edi)
477
+ movups %xmm4,32(%edi)
478
+ jmp L013ecb_ret
479
+ .align 4,0x90
480
+ L021ecb_enc_four:
481
+ call __aesni_encrypt4
482
+ movups %xmm2,(%edi)
483
+ movups %xmm3,16(%edi)
484
+ movups %xmm4,32(%edi)
485
+ movups %xmm5,48(%edi)
486
+ jmp L013ecb_ret
487
+ .align 4,0x90
488
+ L014ecb_decrypt:
489
+ movl %edx,%ebp
490
+ movl %ecx,%ebx
491
+ cmpl $96,%eax
492
+ jb L023ecb_dec_tail
493
+ movdqu (%esi),%xmm2
494
+ movdqu 16(%esi),%xmm3
495
+ movdqu 32(%esi),%xmm4
496
+ movdqu 48(%esi),%xmm5
497
+ movdqu 64(%esi),%xmm6
498
+ movdqu 80(%esi),%xmm7
499
+ leal 96(%esi),%esi
500
+ subl $96,%eax
501
+ jmp L024ecb_dec_loop6_enter
502
+ .align 4,0x90
503
+ L025ecb_dec_loop6:
504
+ movups %xmm2,(%edi)
505
+ movdqu (%esi),%xmm2
506
+ movups %xmm3,16(%edi)
507
+ movdqu 16(%esi),%xmm3
508
+ movups %xmm4,32(%edi)
509
+ movdqu 32(%esi),%xmm4
510
+ movups %xmm5,48(%edi)
511
+ movdqu 48(%esi),%xmm5
512
+ movups %xmm6,64(%edi)
513
+ movdqu 64(%esi),%xmm6
514
+ movups %xmm7,80(%edi)
515
+ leal 96(%edi),%edi
516
+ movdqu 80(%esi),%xmm7
517
+ leal 96(%esi),%esi
518
+ L024ecb_dec_loop6_enter:
519
+ call __aesni_decrypt6
520
+ movl %ebp,%edx
521
+ movl %ebx,%ecx
522
+ subl $96,%eax
523
+ jnc L025ecb_dec_loop6
524
+ movups %xmm2,(%edi)
525
+ movups %xmm3,16(%edi)
526
+ movups %xmm4,32(%edi)
527
+ movups %xmm5,48(%edi)
528
+ movups %xmm6,64(%edi)
529
+ movups %xmm7,80(%edi)
530
+ leal 96(%edi),%edi
531
+ addl $96,%eax
532
+ jz L013ecb_ret
533
+ L023ecb_dec_tail:
534
+ movups (%esi),%xmm2
535
+ cmpl $32,%eax
536
+ jb L026ecb_dec_one
537
+ movups 16(%esi),%xmm3
538
+ je L027ecb_dec_two
539
+ movups 32(%esi),%xmm4
540
+ cmpl $64,%eax
541
+ jb L028ecb_dec_three
542
+ movups 48(%esi),%xmm5
543
+ je L029ecb_dec_four
544
+ movups 64(%esi),%xmm6
545
+ xorps %xmm7,%xmm7
546
+ call __aesni_decrypt6
547
+ movups %xmm2,(%edi)
548
+ movups %xmm3,16(%edi)
549
+ movups %xmm4,32(%edi)
550
+ movups %xmm5,48(%edi)
551
+ movups %xmm6,64(%edi)
552
+ jmp L013ecb_ret
553
+ .align 4,0x90
554
+ L026ecb_dec_one:
555
+ movups (%edx),%xmm0
556
+ movups 16(%edx),%xmm1
557
+ leal 32(%edx),%edx
558
+ xorps %xmm0,%xmm2
559
+ L030dec1_loop_4:
560
+ aesdec %xmm1,%xmm2
561
+ decl %ecx
562
+ movups (%edx),%xmm1
563
+ leal 16(%edx),%edx
564
+ jnz L030dec1_loop_4
565
+ aesdeclast %xmm1,%xmm2
566
+ movups %xmm2,(%edi)
567
+ jmp L013ecb_ret
568
+ .align 4,0x90
569
+ L027ecb_dec_two:
570
+ call __aesni_decrypt2
571
+ movups %xmm2,(%edi)
572
+ movups %xmm3,16(%edi)
573
+ jmp L013ecb_ret
574
+ .align 4,0x90
575
+ L028ecb_dec_three:
576
+ call __aesni_decrypt3
577
+ movups %xmm2,(%edi)
578
+ movups %xmm3,16(%edi)
579
+ movups %xmm4,32(%edi)
580
+ jmp L013ecb_ret
581
+ .align 4,0x90
582
+ L029ecb_dec_four:
583
+ call __aesni_decrypt4
584
+ movups %xmm2,(%edi)
585
+ movups %xmm3,16(%edi)
586
+ movups %xmm4,32(%edi)
587
+ movups %xmm5,48(%edi)
588
+ L013ecb_ret:
589
+ pxor %xmm0,%xmm0
590
+ pxor %xmm1,%xmm1
591
+ pxor %xmm2,%xmm2
592
+ pxor %xmm3,%xmm3
593
+ pxor %xmm4,%xmm4
594
+ pxor %xmm5,%xmm5
595
+ pxor %xmm6,%xmm6
596
+ pxor %xmm7,%xmm7
597
+ popl %edi
598
+ popl %esi
599
+ popl %ebx
600
+ popl %ebp
601
+ ret
602
+ .globl _aes_hw_ccm64_encrypt_blocks
603
+ .private_extern _aes_hw_ccm64_encrypt_blocks
604
+ .align 4
605
+ _aes_hw_ccm64_encrypt_blocks:
606
+ L_aes_hw_ccm64_encrypt_blocks_begin:
607
+ pushl %ebp
608
+ pushl %ebx
609
+ pushl %esi
610
+ pushl %edi
611
+ movl 20(%esp),%esi
612
+ movl 24(%esp),%edi
613
+ movl 28(%esp),%eax
614
+ movl 32(%esp),%edx
615
+ movl 36(%esp),%ebx
616
+ movl 40(%esp),%ecx
617
+ movl %esp,%ebp
618
+ subl $60,%esp
619
+ andl $-16,%esp
620
+ movl %ebp,48(%esp)
621
+ movdqu (%ebx),%xmm7
622
+ movdqu (%ecx),%xmm3
623
+ movl 240(%edx),%ecx
624
+ movl $202182159,(%esp)
625
+ movl $134810123,4(%esp)
626
+ movl $67438087,8(%esp)
627
+ movl $66051,12(%esp)
628
+ movl $1,%ebx
629
+ xorl %ebp,%ebp
630
+ movl %ebx,16(%esp)
631
+ movl %ebp,20(%esp)
632
+ movl %ebp,24(%esp)
633
+ movl %ebp,28(%esp)
634
+ shll $4,%ecx
635
+ movl $16,%ebx
636
+ leal (%edx),%ebp
637
+ movdqa (%esp),%xmm5
638
+ movdqa %xmm7,%xmm2
639
+ leal 32(%edx,%ecx,1),%edx
640
+ subl %ecx,%ebx
641
+ pshufb %xmm5,%xmm7
642
+ L031ccm64_enc_outer:
643
+ movups (%ebp),%xmm0
644
+ movl %ebx,%ecx
645
+ movups (%esi),%xmm6
646
+ xorps %xmm0,%xmm2
647
+ movups 16(%ebp),%xmm1
648
+ xorps %xmm6,%xmm0
649
+ xorps %xmm0,%xmm3
650
+ movups 32(%ebp),%xmm0
651
+ L032ccm64_enc2_loop:
652
+ aesenc %xmm1,%xmm2
653
+ aesenc %xmm1,%xmm3
654
+ movups (%edx,%ecx,1),%xmm1
655
+ addl $32,%ecx
656
+ aesenc %xmm0,%xmm2
657
+ aesenc %xmm0,%xmm3
658
+ movups -16(%edx,%ecx,1),%xmm0
659
+ jnz L032ccm64_enc2_loop
660
+ aesenc %xmm1,%xmm2
661
+ aesenc %xmm1,%xmm3
662
+ paddq 16(%esp),%xmm7
663
+ decl %eax
664
+ aesenclast %xmm0,%xmm2
665
+ aesenclast %xmm0,%xmm3
666
+ leal 16(%esi),%esi
667
+ xorps %xmm2,%xmm6
668
+ movdqa %xmm7,%xmm2
669
+ movups %xmm6,(%edi)
670
+ pshufb %xmm5,%xmm2
671
+ leal 16(%edi),%edi
672
+ jnz L031ccm64_enc_outer
673
+ movl 48(%esp),%esp
674
+ movl 40(%esp),%edi
675
+ movups %xmm3,(%edi)
676
+ pxor %xmm0,%xmm0
677
+ pxor %xmm1,%xmm1
678
+ pxor %xmm2,%xmm2
679
+ pxor %xmm3,%xmm3
680
+ pxor %xmm4,%xmm4
681
+ pxor %xmm5,%xmm5
682
+ pxor %xmm6,%xmm6
683
+ pxor %xmm7,%xmm7
684
+ popl %edi
685
+ popl %esi
686
+ popl %ebx
687
+ popl %ebp
688
+ ret
689
+ .globl _aes_hw_ccm64_decrypt_blocks
690
+ .private_extern _aes_hw_ccm64_decrypt_blocks
691
+ .align 4
692
+ _aes_hw_ccm64_decrypt_blocks:
693
+ L_aes_hw_ccm64_decrypt_blocks_begin:
694
+ pushl %ebp
695
+ pushl %ebx
696
+ pushl %esi
697
+ pushl %edi
698
+ movl 20(%esp),%esi
699
+ movl 24(%esp),%edi
700
+ movl 28(%esp),%eax
701
+ movl 32(%esp),%edx
702
+ movl 36(%esp),%ebx
703
+ movl 40(%esp),%ecx
704
+ movl %esp,%ebp
705
+ subl $60,%esp
706
+ andl $-16,%esp
707
+ movl %ebp,48(%esp)
708
+ movdqu (%ebx),%xmm7
709
+ movdqu (%ecx),%xmm3
710
+ movl 240(%edx),%ecx
711
+ movl $202182159,(%esp)
712
+ movl $134810123,4(%esp)
713
+ movl $67438087,8(%esp)
714
+ movl $66051,12(%esp)
715
+ movl $1,%ebx
716
+ xorl %ebp,%ebp
717
+ movl %ebx,16(%esp)
718
+ movl %ebp,20(%esp)
719
+ movl %ebp,24(%esp)
720
+ movl %ebp,28(%esp)
721
+ movdqa (%esp),%xmm5
722
+ movdqa %xmm7,%xmm2
723
+ movl %edx,%ebp
724
+ movl %ecx,%ebx
725
+ pshufb %xmm5,%xmm7
726
+ movups (%edx),%xmm0
727
+ movups 16(%edx),%xmm1
728
+ leal 32(%edx),%edx
729
+ xorps %xmm0,%xmm2
730
+ L033enc1_loop_5:
731
+ aesenc %xmm1,%xmm2
732
+ decl %ecx
733
+ movups (%edx),%xmm1
734
+ leal 16(%edx),%edx
735
+ jnz L033enc1_loop_5
736
+ aesenclast %xmm1,%xmm2
737
+ shll $4,%ebx
738
+ movl $16,%ecx
739
+ movups (%esi),%xmm6
740
+ paddq 16(%esp),%xmm7
741
+ leal 16(%esi),%esi
742
+ subl %ebx,%ecx
743
+ leal 32(%ebp,%ebx,1),%edx
744
+ movl %ecx,%ebx
745
+ jmp L034ccm64_dec_outer
746
+ .align 4,0x90
747
+ L034ccm64_dec_outer:
748
+ xorps %xmm2,%xmm6
749
+ movdqa %xmm7,%xmm2
750
+ movups %xmm6,(%edi)
751
+ leal 16(%edi),%edi
752
+ pshufb %xmm5,%xmm2
753
+ subl $1,%eax
754
+ jz L035ccm64_dec_break
755
+ movups (%ebp),%xmm0
756
+ movl %ebx,%ecx
757
+ movups 16(%ebp),%xmm1
758
+ xorps %xmm0,%xmm6
759
+ xorps %xmm0,%xmm2
760
+ xorps %xmm6,%xmm3
761
+ movups 32(%ebp),%xmm0
762
+ L036ccm64_dec2_loop:
763
+ aesenc %xmm1,%xmm2
764
+ aesenc %xmm1,%xmm3
765
+ movups (%edx,%ecx,1),%xmm1
766
+ addl $32,%ecx
767
+ aesenc %xmm0,%xmm2
768
+ aesenc %xmm0,%xmm3
769
+ movups -16(%edx,%ecx,1),%xmm0
770
+ jnz L036ccm64_dec2_loop
771
+ movups (%esi),%xmm6
772
+ paddq 16(%esp),%xmm7
773
+ aesenc %xmm1,%xmm2
774
+ aesenc %xmm1,%xmm3
775
+ aesenclast %xmm0,%xmm2
776
+ aesenclast %xmm0,%xmm3
777
+ leal 16(%esi),%esi
778
+ jmp L034ccm64_dec_outer
779
+ .align 4,0x90
780
+ L035ccm64_dec_break:
781
+ movl 240(%ebp),%ecx
782
+ movl %ebp,%edx
783
+ movups (%edx),%xmm0
784
+ movups 16(%edx),%xmm1
785
+ xorps %xmm0,%xmm6
786
+ leal 32(%edx),%edx
787
+ xorps %xmm6,%xmm3
788
+ L037enc1_loop_6:
789
+ aesenc %xmm1,%xmm3
790
+ decl %ecx
791
+ movups (%edx),%xmm1
792
+ leal 16(%edx),%edx
793
+ jnz L037enc1_loop_6
794
+ aesenclast %xmm1,%xmm3
795
+ movl 48(%esp),%esp
796
+ movl 40(%esp),%edi
797
+ movups %xmm3,(%edi)
798
+ pxor %xmm0,%xmm0
799
+ pxor %xmm1,%xmm1
800
+ pxor %xmm2,%xmm2
801
+ pxor %xmm3,%xmm3
802
+ pxor %xmm4,%xmm4
803
+ pxor %xmm5,%xmm5
804
+ pxor %xmm6,%xmm6
805
+ pxor %xmm7,%xmm7
806
+ popl %edi
807
+ popl %esi
808
+ popl %ebx
809
+ popl %ebp
810
+ ret
811
+ .globl _aes_hw_ctr32_encrypt_blocks
812
+ .private_extern _aes_hw_ctr32_encrypt_blocks
813
+ .align 4
814
+ _aes_hw_ctr32_encrypt_blocks:
815
+ L_aes_hw_ctr32_encrypt_blocks_begin:
816
+ pushl %ebp
817
+ pushl %ebx
818
+ pushl %esi
819
+ pushl %edi
820
+ #ifdef BORINGSSL_DISPATCH_TEST
821
+ pushl %ebx
822
+ pushl %edx
823
+ call L038pic_for_function_hit
824
+ L038pic_for_function_hit:
825
+ popl %ebx
826
+ leal _BORINGSSL_function_hit+0-L038pic_for_function_hit(%ebx),%ebx
827
+ movl $1,%edx
828
+ movb %dl,(%ebx)
829
+ popl %edx
830
+ popl %ebx
831
+ #endif
832
+ movl 20(%esp),%esi
833
+ movl 24(%esp),%edi
834
+ movl 28(%esp),%eax
835
+ movl 32(%esp),%edx
836
+ movl 36(%esp),%ebx
837
+ movl %esp,%ebp
838
+ subl $88,%esp
839
+ andl $-16,%esp
840
+ movl %ebp,80(%esp)
841
+ cmpl $1,%eax
842
+ je L039ctr32_one_shortcut
843
+ movdqu (%ebx),%xmm7
844
+ movl $202182159,(%esp)
845
+ movl $134810123,4(%esp)
846
+ movl $67438087,8(%esp)
847
+ movl $66051,12(%esp)
848
+ movl $6,%ecx
849
+ xorl %ebp,%ebp
850
+ movl %ecx,16(%esp)
851
+ movl %ecx,20(%esp)
852
+ movl %ecx,24(%esp)
853
+ movl %ebp,28(%esp)
854
+ pextrd $3,%xmm7,%ebx
855
+ pinsrd $3,%ebp,%xmm7
856
+ movl 240(%edx),%ecx
857
+ bswap %ebx
858
+ pxor %xmm0,%xmm0
859
+ pxor %xmm1,%xmm1
860
+ movdqa (%esp),%xmm2
861
+ pinsrd $0,%ebx,%xmm0
862
+ leal 3(%ebx),%ebp
863
+ pinsrd $0,%ebp,%xmm1
864
+ incl %ebx
865
+ pinsrd $1,%ebx,%xmm0
866
+ incl %ebp
867
+ pinsrd $1,%ebp,%xmm1
868
+ incl %ebx
869
+ pinsrd $2,%ebx,%xmm0
870
+ incl %ebp
871
+ pinsrd $2,%ebp,%xmm1
872
+ movdqa %xmm0,48(%esp)
873
+ pshufb %xmm2,%xmm0
874
+ movdqu (%edx),%xmm6
875
+ movdqa %xmm1,64(%esp)
876
+ pshufb %xmm2,%xmm1
877
+ pshufd $192,%xmm0,%xmm2
878
+ pshufd $128,%xmm0,%xmm3
879
+ cmpl $6,%eax
880
+ jb L040ctr32_tail
881
+ pxor %xmm6,%xmm7
882
+ shll $4,%ecx
883
+ movl $16,%ebx
884
+ movdqa %xmm7,32(%esp)
885
+ movl %edx,%ebp
886
+ subl %ecx,%ebx
887
+ leal 32(%edx,%ecx,1),%edx
888
+ subl $6,%eax
889
+ jmp L041ctr32_loop6
890
+ .align 4,0x90
891
+ L041ctr32_loop6:
892
+ pshufd $64,%xmm0,%xmm4
893
+ movdqa 32(%esp),%xmm0
894
+ pshufd $192,%xmm1,%xmm5
895
+ pxor %xmm0,%xmm2
896
+ pshufd $128,%xmm1,%xmm6
897
+ pxor %xmm0,%xmm3
898
+ pshufd $64,%xmm1,%xmm7
899
+ movups 16(%ebp),%xmm1
900
+ pxor %xmm0,%xmm4
901
+ pxor %xmm0,%xmm5
902
+ aesenc %xmm1,%xmm2
903
+ pxor %xmm0,%xmm6
904
+ pxor %xmm0,%xmm7
905
+ aesenc %xmm1,%xmm3
906
+ movups 32(%ebp),%xmm0
907
+ movl %ebx,%ecx
908
+ aesenc %xmm1,%xmm4
909
+ aesenc %xmm1,%xmm5
910
+ aesenc %xmm1,%xmm6
911
+ aesenc %xmm1,%xmm7
912
+ call L_aesni_encrypt6_enter
913
+ movups (%esi),%xmm1
914
+ movups 16(%esi),%xmm0
915
+ xorps %xmm1,%xmm2
916
+ movups 32(%esi),%xmm1
917
+ xorps %xmm0,%xmm3
918
+ movups %xmm2,(%edi)
919
+ movdqa 16(%esp),%xmm0
920
+ xorps %xmm1,%xmm4
921
+ movdqa 64(%esp),%xmm1
922
+ movups %xmm3,16(%edi)
923
+ movups %xmm4,32(%edi)
924
+ paddd %xmm0,%xmm1
925
+ paddd 48(%esp),%xmm0
926
+ movdqa (%esp),%xmm2
927
+ movups 48(%esi),%xmm3
928
+ movups 64(%esi),%xmm4
929
+ xorps %xmm3,%xmm5
930
+ movups 80(%esi),%xmm3
931
+ leal 96(%esi),%esi
932
+ movdqa %xmm0,48(%esp)
933
+ pshufb %xmm2,%xmm0
934
+ xorps %xmm4,%xmm6
935
+ movups %xmm5,48(%edi)
936
+ xorps %xmm3,%xmm7
937
+ movdqa %xmm1,64(%esp)
938
+ pshufb %xmm2,%xmm1
939
+ movups %xmm6,64(%edi)
940
+ pshufd $192,%xmm0,%xmm2
941
+ movups %xmm7,80(%edi)
942
+ leal 96(%edi),%edi
943
+ pshufd $128,%xmm0,%xmm3
944
+ subl $6,%eax
945
+ jnc L041ctr32_loop6
946
+ addl $6,%eax
947
+ jz L042ctr32_ret
948
+ movdqu (%ebp),%xmm7
949
+ movl %ebp,%edx
950
+ pxor 32(%esp),%xmm7
951
+ movl 240(%ebp),%ecx
952
+ L040ctr32_tail:
953
+ por %xmm7,%xmm2
954
+ cmpl $2,%eax
955
+ jb L043ctr32_one
956
+ pshufd $64,%xmm0,%xmm4
957
+ por %xmm7,%xmm3
958
+ je L044ctr32_two
959
+ pshufd $192,%xmm1,%xmm5
960
+ por %xmm7,%xmm4
961
+ cmpl $4,%eax
962
+ jb L045ctr32_three
963
+ pshufd $128,%xmm1,%xmm6
964
+ por %xmm7,%xmm5
965
+ je L046ctr32_four
966
+ por %xmm7,%xmm6
967
+ call __aesni_encrypt6
968
+ movups (%esi),%xmm1
969
+ movups 16(%esi),%xmm0
970
+ xorps %xmm1,%xmm2
971
+ movups 32(%esi),%xmm1
972
+ xorps %xmm0,%xmm3
973
+ movups 48(%esi),%xmm0
974
+ xorps %xmm1,%xmm4
975
+ movups 64(%esi),%xmm1
976
+ xorps %xmm0,%xmm5
977
+ movups %xmm2,(%edi)
978
+ xorps %xmm1,%xmm6
979
+ movups %xmm3,16(%edi)
980
+ movups %xmm4,32(%edi)
981
+ movups %xmm5,48(%edi)
982
+ movups %xmm6,64(%edi)
983
+ jmp L042ctr32_ret
984
+ .align 4,0x90
985
+ L039ctr32_one_shortcut:
986
+ movups (%ebx),%xmm2
987
+ movl 240(%edx),%ecx
988
+ L043ctr32_one:
989
+ movups (%edx),%xmm0
990
+ movups 16(%edx),%xmm1
991
+ leal 32(%edx),%edx
992
+ xorps %xmm0,%xmm2
993
+ L047enc1_loop_7:
994
+ aesenc %xmm1,%xmm2
995
+ decl %ecx
996
+ movups (%edx),%xmm1
997
+ leal 16(%edx),%edx
998
+ jnz L047enc1_loop_7
999
+ aesenclast %xmm1,%xmm2
1000
+ movups (%esi),%xmm6
1001
+ xorps %xmm2,%xmm6
1002
+ movups %xmm6,(%edi)
1003
+ jmp L042ctr32_ret
1004
+ .align 4,0x90
1005
+ L044ctr32_two:
1006
+ call __aesni_encrypt2
1007
+ movups (%esi),%xmm5
1008
+ movups 16(%esi),%xmm6
1009
+ xorps %xmm5,%xmm2
1010
+ xorps %xmm6,%xmm3
1011
+ movups %xmm2,(%edi)
1012
+ movups %xmm3,16(%edi)
1013
+ jmp L042ctr32_ret
1014
+ .align 4,0x90
1015
+ L045ctr32_three:
1016
+ call __aesni_encrypt3
1017
+ movups (%esi),%xmm5
1018
+ movups 16(%esi),%xmm6
1019
+ xorps %xmm5,%xmm2
1020
+ movups 32(%esi),%xmm7
1021
+ xorps %xmm6,%xmm3
1022
+ movups %xmm2,(%edi)
1023
+ xorps %xmm7,%xmm4
1024
+ movups %xmm3,16(%edi)
1025
+ movups %xmm4,32(%edi)
1026
+ jmp L042ctr32_ret
1027
+ .align 4,0x90
1028
+ L046ctr32_four:
1029
+ call __aesni_encrypt4
1030
+ movups (%esi),%xmm6
1031
+ movups 16(%esi),%xmm7
1032
+ movups 32(%esi),%xmm1
1033
+ xorps %xmm6,%xmm2
1034
+ movups 48(%esi),%xmm0
1035
+ xorps %xmm7,%xmm3
1036
+ movups %xmm2,(%edi)
1037
+ xorps %xmm1,%xmm4
1038
+ movups %xmm3,16(%edi)
1039
+ xorps %xmm0,%xmm5
1040
+ movups %xmm4,32(%edi)
1041
+ movups %xmm5,48(%edi)
1042
+ L042ctr32_ret:
1043
+ pxor %xmm0,%xmm0
1044
+ pxor %xmm1,%xmm1
1045
+ pxor %xmm2,%xmm2
1046
+ pxor %xmm3,%xmm3
1047
+ pxor %xmm4,%xmm4
1048
+ movdqa %xmm0,32(%esp)
1049
+ pxor %xmm5,%xmm5
1050
+ movdqa %xmm0,48(%esp)
1051
+ pxor %xmm6,%xmm6
1052
+ movdqa %xmm0,64(%esp)
1053
+ pxor %xmm7,%xmm7
1054
+ movl 80(%esp),%esp
1055
+ popl %edi
1056
+ popl %esi
1057
+ popl %ebx
1058
+ popl %ebp
1059
+ ret
1060
+ .globl _aes_hw_xts_encrypt
1061
+ .private_extern _aes_hw_xts_encrypt
1062
+ .align 4
1063
+ _aes_hw_xts_encrypt:
1064
+ L_aes_hw_xts_encrypt_begin:
1065
+ pushl %ebp
1066
+ pushl %ebx
1067
+ pushl %esi
1068
+ pushl %edi
1069
+ movl 36(%esp),%edx
1070
+ movl 40(%esp),%esi
1071
+ movl 240(%edx),%ecx
1072
+ movups (%esi),%xmm2
1073
+ movups (%edx),%xmm0
1074
+ movups 16(%edx),%xmm1
1075
+ leal 32(%edx),%edx
1076
+ xorps %xmm0,%xmm2
1077
+ L048enc1_loop_8:
1078
+ aesenc %xmm1,%xmm2
1079
+ decl %ecx
1080
+ movups (%edx),%xmm1
1081
+ leal 16(%edx),%edx
1082
+ jnz L048enc1_loop_8
1083
+ aesenclast %xmm1,%xmm2
1084
+ movl 20(%esp),%esi
1085
+ movl 24(%esp),%edi
1086
+ movl 28(%esp),%eax
1087
+ movl 32(%esp),%edx
1088
+ movl %esp,%ebp
1089
+ subl $120,%esp
1090
+ movl 240(%edx),%ecx
1091
+ andl $-16,%esp
1092
+ movl $135,96(%esp)
1093
+ movl $0,100(%esp)
1094
+ movl $1,104(%esp)
1095
+ movl $0,108(%esp)
1096
+ movl %eax,112(%esp)
1097
+ movl %ebp,116(%esp)
1098
+ movdqa %xmm2,%xmm1
1099
+ pxor %xmm0,%xmm0
1100
+ movdqa 96(%esp),%xmm3
1101
+ pcmpgtd %xmm1,%xmm0
1102
+ andl $-16,%eax
1103
+ movl %edx,%ebp
1104
+ movl %ecx,%ebx
1105
+ subl $96,%eax
1106
+ jc L049xts_enc_short
1107
+ shll $4,%ecx
1108
+ movl $16,%ebx
1109
+ subl %ecx,%ebx
1110
+ leal 32(%edx,%ecx,1),%edx
1111
+ jmp L050xts_enc_loop6
1112
+ .align 4,0x90
1113
+ L050xts_enc_loop6:
1114
+ pshufd $19,%xmm0,%xmm2
1115
+ pxor %xmm0,%xmm0
1116
+ movdqa %xmm1,(%esp)
1117
+ paddq %xmm1,%xmm1
1118
+ pand %xmm3,%xmm2
1119
+ pcmpgtd %xmm1,%xmm0
1120
+ pxor %xmm2,%xmm1
1121
+ pshufd $19,%xmm0,%xmm2
1122
+ pxor %xmm0,%xmm0
1123
+ movdqa %xmm1,16(%esp)
1124
+ paddq %xmm1,%xmm1
1125
+ pand %xmm3,%xmm2
1126
+ pcmpgtd %xmm1,%xmm0
1127
+ pxor %xmm2,%xmm1
1128
+ pshufd $19,%xmm0,%xmm2
1129
+ pxor %xmm0,%xmm0
1130
+ movdqa %xmm1,32(%esp)
1131
+ paddq %xmm1,%xmm1
1132
+ pand %xmm3,%xmm2
1133
+ pcmpgtd %xmm1,%xmm0
1134
+ pxor %xmm2,%xmm1
1135
+ pshufd $19,%xmm0,%xmm2
1136
+ pxor %xmm0,%xmm0
1137
+ movdqa %xmm1,48(%esp)
1138
+ paddq %xmm1,%xmm1
1139
+ pand %xmm3,%xmm2
1140
+ pcmpgtd %xmm1,%xmm0
1141
+ pxor %xmm2,%xmm1
1142
+ pshufd $19,%xmm0,%xmm7
1143
+ movdqa %xmm1,64(%esp)
1144
+ paddq %xmm1,%xmm1
1145
+ movups (%ebp),%xmm0
1146
+ pand %xmm3,%xmm7
1147
+ movups (%esi),%xmm2
1148
+ pxor %xmm1,%xmm7
1149
+ movl %ebx,%ecx
1150
+ movdqu 16(%esi),%xmm3
1151
+ xorps %xmm0,%xmm2
1152
+ movdqu 32(%esi),%xmm4
1153
+ pxor %xmm0,%xmm3
1154
+ movdqu 48(%esi),%xmm5
1155
+ pxor %xmm0,%xmm4
1156
+ movdqu 64(%esi),%xmm6
1157
+ pxor %xmm0,%xmm5
1158
+ movdqu 80(%esi),%xmm1
1159
+ pxor %xmm0,%xmm6
1160
+ leal 96(%esi),%esi
1161
+ pxor (%esp),%xmm2
1162
+ movdqa %xmm7,80(%esp)
1163
+ pxor %xmm1,%xmm7
1164
+ movups 16(%ebp),%xmm1
1165
+ pxor 16(%esp),%xmm3
1166
+ pxor 32(%esp),%xmm4
1167
+ aesenc %xmm1,%xmm2
1168
+ pxor 48(%esp),%xmm5
1169
+ pxor 64(%esp),%xmm6
1170
+ aesenc %xmm1,%xmm3
1171
+ pxor %xmm0,%xmm7
1172
+ movups 32(%ebp),%xmm0
1173
+ aesenc %xmm1,%xmm4
1174
+ aesenc %xmm1,%xmm5
1175
+ aesenc %xmm1,%xmm6
1176
+ aesenc %xmm1,%xmm7
1177
+ call L_aesni_encrypt6_enter
1178
+ movdqa 80(%esp),%xmm1
1179
+ pxor %xmm0,%xmm0
1180
+ xorps (%esp),%xmm2
1181
+ pcmpgtd %xmm1,%xmm0
1182
+ xorps 16(%esp),%xmm3
1183
+ movups %xmm2,(%edi)
1184
+ xorps 32(%esp),%xmm4
1185
+ movups %xmm3,16(%edi)
1186
+ xorps 48(%esp),%xmm5
1187
+ movups %xmm4,32(%edi)
1188
+ xorps 64(%esp),%xmm6
1189
+ movups %xmm5,48(%edi)
1190
+ xorps %xmm1,%xmm7
1191
+ movups %xmm6,64(%edi)
1192
+ pshufd $19,%xmm0,%xmm2
1193
+ movups %xmm7,80(%edi)
1194
+ leal 96(%edi),%edi
1195
+ movdqa 96(%esp),%xmm3
1196
+ pxor %xmm0,%xmm0
1197
+ paddq %xmm1,%xmm1
1198
+ pand %xmm3,%xmm2
1199
+ pcmpgtd %xmm1,%xmm0
1200
+ pxor %xmm2,%xmm1
1201
+ subl $96,%eax
1202
+ jnc L050xts_enc_loop6
1203
+ movl 240(%ebp),%ecx
1204
+ movl %ebp,%edx
1205
+ movl %ecx,%ebx
1206
+ L049xts_enc_short:
1207
+ addl $96,%eax
1208
+ jz L051xts_enc_done6x
1209
+ movdqa %xmm1,%xmm5
1210
+ cmpl $32,%eax
1211
+ jb L052xts_enc_one
1212
+ pshufd $19,%xmm0,%xmm2
1213
+ pxor %xmm0,%xmm0
1214
+ paddq %xmm1,%xmm1
1215
+ pand %xmm3,%xmm2
1216
+ pcmpgtd %xmm1,%xmm0
1217
+ pxor %xmm2,%xmm1
1218
+ je L053xts_enc_two
1219
+ pshufd $19,%xmm0,%xmm2
1220
+ pxor %xmm0,%xmm0
1221
+ movdqa %xmm1,%xmm6
1222
+ paddq %xmm1,%xmm1
1223
+ pand %xmm3,%xmm2
1224
+ pcmpgtd %xmm1,%xmm0
1225
+ pxor %xmm2,%xmm1
1226
+ cmpl $64,%eax
1227
+ jb L054xts_enc_three
1228
+ pshufd $19,%xmm0,%xmm2
1229
+ pxor %xmm0,%xmm0
1230
+ movdqa %xmm1,%xmm7
1231
+ paddq %xmm1,%xmm1
1232
+ pand %xmm3,%xmm2
1233
+ pcmpgtd %xmm1,%xmm0
1234
+ pxor %xmm2,%xmm1
1235
+ movdqa %xmm5,(%esp)
1236
+ movdqa %xmm6,16(%esp)
1237
+ je L055xts_enc_four
1238
+ movdqa %xmm7,32(%esp)
1239
+ pshufd $19,%xmm0,%xmm7
1240
+ movdqa %xmm1,48(%esp)
1241
+ paddq %xmm1,%xmm1
1242
+ pand %xmm3,%xmm7
1243
+ pxor %xmm1,%xmm7
1244
+ movdqu (%esi),%xmm2
1245
+ movdqu 16(%esi),%xmm3
1246
+ movdqu 32(%esi),%xmm4
1247
+ pxor (%esp),%xmm2
1248
+ movdqu 48(%esi),%xmm5
1249
+ pxor 16(%esp),%xmm3
1250
+ movdqu 64(%esi),%xmm6
1251
+ pxor 32(%esp),%xmm4
1252
+ leal 80(%esi),%esi
1253
+ pxor 48(%esp),%xmm5
1254
+ movdqa %xmm7,64(%esp)
1255
+ pxor %xmm7,%xmm6
1256
+ call __aesni_encrypt6
1257
+ movaps 64(%esp),%xmm1
1258
+ xorps (%esp),%xmm2
1259
+ xorps 16(%esp),%xmm3
1260
+ xorps 32(%esp),%xmm4
1261
+ movups %xmm2,(%edi)
1262
+ xorps 48(%esp),%xmm5
1263
+ movups %xmm3,16(%edi)
1264
+ xorps %xmm1,%xmm6
1265
+ movups %xmm4,32(%edi)
1266
+ movups %xmm5,48(%edi)
1267
+ movups %xmm6,64(%edi)
1268
+ leal 80(%edi),%edi
1269
+ jmp L056xts_enc_done
1270
+ .align 4,0x90
1271
+ L052xts_enc_one:
1272
+ movups (%esi),%xmm2
1273
+ leal 16(%esi),%esi
1274
+ xorps %xmm5,%xmm2
1275
+ movups (%edx),%xmm0
1276
+ movups 16(%edx),%xmm1
1277
+ leal 32(%edx),%edx
1278
+ xorps %xmm0,%xmm2
1279
+ L057enc1_loop_9:
1280
+ aesenc %xmm1,%xmm2
1281
+ decl %ecx
1282
+ movups (%edx),%xmm1
1283
+ leal 16(%edx),%edx
1284
+ jnz L057enc1_loop_9
1285
+ aesenclast %xmm1,%xmm2
1286
+ xorps %xmm5,%xmm2
1287
+ movups %xmm2,(%edi)
1288
+ leal 16(%edi),%edi
1289
+ movdqa %xmm5,%xmm1
1290
+ jmp L056xts_enc_done
1291
+ .align 4,0x90
1292
+ L053xts_enc_two:
1293
+ movaps %xmm1,%xmm6
1294
+ movups (%esi),%xmm2
1295
+ movups 16(%esi),%xmm3
1296
+ leal 32(%esi),%esi
1297
+ xorps %xmm5,%xmm2
1298
+ xorps %xmm6,%xmm3
1299
+ call __aesni_encrypt2
1300
+ xorps %xmm5,%xmm2
1301
+ xorps %xmm6,%xmm3
1302
+ movups %xmm2,(%edi)
1303
+ movups %xmm3,16(%edi)
1304
+ leal 32(%edi),%edi
1305
+ movdqa %xmm6,%xmm1
1306
+ jmp L056xts_enc_done
1307
+ .align 4,0x90
1308
+ L054xts_enc_three:
1309
+ movaps %xmm1,%xmm7
1310
+ movups (%esi),%xmm2
1311
+ movups 16(%esi),%xmm3
1312
+ movups 32(%esi),%xmm4
1313
+ leal 48(%esi),%esi
1314
+ xorps %xmm5,%xmm2
1315
+ xorps %xmm6,%xmm3
1316
+ xorps %xmm7,%xmm4
1317
+ call __aesni_encrypt3
1318
+ xorps %xmm5,%xmm2
1319
+ xorps %xmm6,%xmm3
1320
+ xorps %xmm7,%xmm4
1321
+ movups %xmm2,(%edi)
1322
+ movups %xmm3,16(%edi)
1323
+ movups %xmm4,32(%edi)
1324
+ leal 48(%edi),%edi
1325
+ movdqa %xmm7,%xmm1
1326
+ jmp L056xts_enc_done
1327
+ .align 4,0x90
1328
+ L055xts_enc_four:
1329
+ movaps %xmm1,%xmm6
1330
+ movups (%esi),%xmm2
1331
+ movups 16(%esi),%xmm3
1332
+ movups 32(%esi),%xmm4
1333
+ xorps (%esp),%xmm2
1334
+ movups 48(%esi),%xmm5
1335
+ leal 64(%esi),%esi
1336
+ xorps 16(%esp),%xmm3
1337
+ xorps %xmm7,%xmm4
1338
+ xorps %xmm6,%xmm5
1339
+ call __aesni_encrypt4
1340
+ xorps (%esp),%xmm2
1341
+ xorps 16(%esp),%xmm3
1342
+ xorps %xmm7,%xmm4
1343
+ movups %xmm2,(%edi)
1344
+ xorps %xmm6,%xmm5
1345
+ movups %xmm3,16(%edi)
1346
+ movups %xmm4,32(%edi)
1347
+ movups %xmm5,48(%edi)
1348
+ leal 64(%edi),%edi
1349
+ movdqa %xmm6,%xmm1
1350
+ jmp L056xts_enc_done
1351
+ .align 4,0x90
1352
+ L051xts_enc_done6x:
1353
+ movl 112(%esp),%eax
1354
+ andl $15,%eax
1355
+ jz L058xts_enc_ret
1356
+ movdqa %xmm1,%xmm5
1357
+ movl %eax,112(%esp)
1358
+ jmp L059xts_enc_steal
1359
+ .align 4,0x90
1360
+ L056xts_enc_done:
1361
+ movl 112(%esp),%eax
1362
+ pxor %xmm0,%xmm0
1363
+ andl $15,%eax
1364
+ jz L058xts_enc_ret
1365
+ pcmpgtd %xmm1,%xmm0
1366
+ movl %eax,112(%esp)
1367
+ pshufd $19,%xmm0,%xmm5
1368
+ paddq %xmm1,%xmm1
1369
+ pand 96(%esp),%xmm5
1370
+ pxor %xmm1,%xmm5
1371
+ L059xts_enc_steal:
1372
+ movzbl (%esi),%ecx
1373
+ movzbl -16(%edi),%edx
1374
+ leal 1(%esi),%esi
1375
+ movb %cl,-16(%edi)
1376
+ movb %dl,(%edi)
1377
+ leal 1(%edi),%edi
1378
+ subl $1,%eax
1379
+ jnz L059xts_enc_steal
1380
+ subl 112(%esp),%edi
1381
+ movl %ebp,%edx
1382
+ movl %ebx,%ecx
1383
+ movups -16(%edi),%xmm2
1384
+ xorps %xmm5,%xmm2
1385
+ movups (%edx),%xmm0
1386
+ movups 16(%edx),%xmm1
1387
+ leal 32(%edx),%edx
1388
+ xorps %xmm0,%xmm2
1389
+ L060enc1_loop_10:
1390
+ aesenc %xmm1,%xmm2
1391
+ decl %ecx
1392
+ movups (%edx),%xmm1
1393
+ leal 16(%edx),%edx
1394
+ jnz L060enc1_loop_10
1395
+ aesenclast %xmm1,%xmm2
1396
+ xorps %xmm5,%xmm2
1397
+ movups %xmm2,-16(%edi)
1398
+ L058xts_enc_ret:
1399
+ pxor %xmm0,%xmm0
1400
+ pxor %xmm1,%xmm1
1401
+ pxor %xmm2,%xmm2
1402
+ movdqa %xmm0,(%esp)
1403
+ pxor %xmm3,%xmm3
1404
+ movdqa %xmm0,16(%esp)
1405
+ pxor %xmm4,%xmm4
1406
+ movdqa %xmm0,32(%esp)
1407
+ pxor %xmm5,%xmm5
1408
+ movdqa %xmm0,48(%esp)
1409
+ pxor %xmm6,%xmm6
1410
+ movdqa %xmm0,64(%esp)
1411
+ pxor %xmm7,%xmm7
1412
+ movdqa %xmm0,80(%esp)
1413
+ movl 116(%esp),%esp
1414
+ popl %edi
1415
+ popl %esi
1416
+ popl %ebx
1417
+ popl %ebp
1418
+ ret
1419
+ .globl _aes_hw_xts_decrypt
1420
+ .private_extern _aes_hw_xts_decrypt
1421
+ .align 4
1422
+ _aes_hw_xts_decrypt:
1423
+ L_aes_hw_xts_decrypt_begin:
1424
+ pushl %ebp
1425
+ pushl %ebx
1426
+ pushl %esi
1427
+ pushl %edi
1428
+ movl 36(%esp),%edx
1429
+ movl 40(%esp),%esi
1430
+ movl 240(%edx),%ecx
1431
+ movups (%esi),%xmm2
1432
+ movups (%edx),%xmm0
1433
+ movups 16(%edx),%xmm1
1434
+ leal 32(%edx),%edx
1435
+ xorps %xmm0,%xmm2
1436
+ L061enc1_loop_11:
1437
+ aesenc %xmm1,%xmm2
1438
+ decl %ecx
1439
+ movups (%edx),%xmm1
1440
+ leal 16(%edx),%edx
1441
+ jnz L061enc1_loop_11
1442
+ aesenclast %xmm1,%xmm2
1443
+ movl 20(%esp),%esi
1444
+ movl 24(%esp),%edi
1445
+ movl 28(%esp),%eax
1446
+ movl 32(%esp),%edx
1447
+ movl %esp,%ebp
1448
+ subl $120,%esp
1449
+ andl $-16,%esp
1450
+ xorl %ebx,%ebx
1451
+ testl $15,%eax
1452
+ setnz %bl
1453
+ shll $4,%ebx
1454
+ subl %ebx,%eax
1455
+ movl $135,96(%esp)
1456
+ movl $0,100(%esp)
1457
+ movl $1,104(%esp)
1458
+ movl $0,108(%esp)
1459
+ movl %eax,112(%esp)
1460
+ movl %ebp,116(%esp)
1461
+ movl 240(%edx),%ecx
1462
+ movl %edx,%ebp
1463
+ movl %ecx,%ebx
1464
+ movdqa %xmm2,%xmm1
1465
+ pxor %xmm0,%xmm0
1466
+ movdqa 96(%esp),%xmm3
1467
+ pcmpgtd %xmm1,%xmm0
1468
+ andl $-16,%eax
1469
+ subl $96,%eax
1470
+ jc L062xts_dec_short
1471
+ shll $4,%ecx
1472
+ movl $16,%ebx
1473
+ subl %ecx,%ebx
1474
+ leal 32(%edx,%ecx,1),%edx
1475
+ jmp L063xts_dec_loop6
1476
+ .align 4,0x90
1477
+ L063xts_dec_loop6:
1478
+ pshufd $19,%xmm0,%xmm2
1479
+ pxor %xmm0,%xmm0
1480
+ movdqa %xmm1,(%esp)
1481
+ paddq %xmm1,%xmm1
1482
+ pand %xmm3,%xmm2
1483
+ pcmpgtd %xmm1,%xmm0
1484
+ pxor %xmm2,%xmm1
1485
+ pshufd $19,%xmm0,%xmm2
1486
+ pxor %xmm0,%xmm0
1487
+ movdqa %xmm1,16(%esp)
1488
+ paddq %xmm1,%xmm1
1489
+ pand %xmm3,%xmm2
1490
+ pcmpgtd %xmm1,%xmm0
1491
+ pxor %xmm2,%xmm1
1492
+ pshufd $19,%xmm0,%xmm2
1493
+ pxor %xmm0,%xmm0
1494
+ movdqa %xmm1,32(%esp)
1495
+ paddq %xmm1,%xmm1
1496
+ pand %xmm3,%xmm2
1497
+ pcmpgtd %xmm1,%xmm0
1498
+ pxor %xmm2,%xmm1
1499
+ pshufd $19,%xmm0,%xmm2
1500
+ pxor %xmm0,%xmm0
1501
+ movdqa %xmm1,48(%esp)
1502
+ paddq %xmm1,%xmm1
1503
+ pand %xmm3,%xmm2
1504
+ pcmpgtd %xmm1,%xmm0
1505
+ pxor %xmm2,%xmm1
1506
+ pshufd $19,%xmm0,%xmm7
1507
+ movdqa %xmm1,64(%esp)
1508
+ paddq %xmm1,%xmm1
1509
+ movups (%ebp),%xmm0
1510
+ pand %xmm3,%xmm7
1511
+ movups (%esi),%xmm2
1512
+ pxor %xmm1,%xmm7
1513
+ movl %ebx,%ecx
1514
+ movdqu 16(%esi),%xmm3
1515
+ xorps %xmm0,%xmm2
1516
+ movdqu 32(%esi),%xmm4
1517
+ pxor %xmm0,%xmm3
1518
+ movdqu 48(%esi),%xmm5
1519
+ pxor %xmm0,%xmm4
1520
+ movdqu 64(%esi),%xmm6
1521
+ pxor %xmm0,%xmm5
1522
+ movdqu 80(%esi),%xmm1
1523
+ pxor %xmm0,%xmm6
1524
+ leal 96(%esi),%esi
1525
+ pxor (%esp),%xmm2
1526
+ movdqa %xmm7,80(%esp)
1527
+ pxor %xmm1,%xmm7
1528
+ movups 16(%ebp),%xmm1
1529
+ pxor 16(%esp),%xmm3
1530
+ pxor 32(%esp),%xmm4
1531
+ aesdec %xmm1,%xmm2
1532
+ pxor 48(%esp),%xmm5
1533
+ pxor 64(%esp),%xmm6
1534
+ aesdec %xmm1,%xmm3
1535
+ pxor %xmm0,%xmm7
1536
+ movups 32(%ebp),%xmm0
1537
+ aesdec %xmm1,%xmm4
1538
+ aesdec %xmm1,%xmm5
1539
+ aesdec %xmm1,%xmm6
1540
+ aesdec %xmm1,%xmm7
1541
+ call L_aesni_decrypt6_enter
1542
+ movdqa 80(%esp),%xmm1
1543
+ pxor %xmm0,%xmm0
1544
+ xorps (%esp),%xmm2
1545
+ pcmpgtd %xmm1,%xmm0
1546
+ xorps 16(%esp),%xmm3
1547
+ movups %xmm2,(%edi)
1548
+ xorps 32(%esp),%xmm4
1549
+ movups %xmm3,16(%edi)
1550
+ xorps 48(%esp),%xmm5
1551
+ movups %xmm4,32(%edi)
1552
+ xorps 64(%esp),%xmm6
1553
+ movups %xmm5,48(%edi)
1554
+ xorps %xmm1,%xmm7
1555
+ movups %xmm6,64(%edi)
1556
+ pshufd $19,%xmm0,%xmm2
1557
+ movups %xmm7,80(%edi)
1558
+ leal 96(%edi),%edi
1559
+ movdqa 96(%esp),%xmm3
1560
+ pxor %xmm0,%xmm0
1561
+ paddq %xmm1,%xmm1
1562
+ pand %xmm3,%xmm2
1563
+ pcmpgtd %xmm1,%xmm0
1564
+ pxor %xmm2,%xmm1
1565
+ subl $96,%eax
1566
+ jnc L063xts_dec_loop6
1567
+ movl 240(%ebp),%ecx
1568
+ movl %ebp,%edx
1569
+ movl %ecx,%ebx
1570
+ L062xts_dec_short:
1571
+ addl $96,%eax
1572
+ jz L064xts_dec_done6x
1573
+ movdqa %xmm1,%xmm5
1574
+ cmpl $32,%eax
1575
+ jb L065xts_dec_one
1576
+ pshufd $19,%xmm0,%xmm2
1577
+ pxor %xmm0,%xmm0
1578
+ paddq %xmm1,%xmm1
1579
+ pand %xmm3,%xmm2
1580
+ pcmpgtd %xmm1,%xmm0
1581
+ pxor %xmm2,%xmm1
1582
+ je L066xts_dec_two
1583
+ pshufd $19,%xmm0,%xmm2
1584
+ pxor %xmm0,%xmm0
1585
+ movdqa %xmm1,%xmm6
1586
+ paddq %xmm1,%xmm1
1587
+ pand %xmm3,%xmm2
1588
+ pcmpgtd %xmm1,%xmm0
1589
+ pxor %xmm2,%xmm1
1590
+ cmpl $64,%eax
1591
+ jb L067xts_dec_three
1592
+ pshufd $19,%xmm0,%xmm2
1593
+ pxor %xmm0,%xmm0
1594
+ movdqa %xmm1,%xmm7
1595
+ paddq %xmm1,%xmm1
1596
+ pand %xmm3,%xmm2
1597
+ pcmpgtd %xmm1,%xmm0
1598
+ pxor %xmm2,%xmm1
1599
+ movdqa %xmm5,(%esp)
1600
+ movdqa %xmm6,16(%esp)
1601
+ je L068xts_dec_four
1602
+ movdqa %xmm7,32(%esp)
1603
+ pshufd $19,%xmm0,%xmm7
1604
+ movdqa %xmm1,48(%esp)
1605
+ paddq %xmm1,%xmm1
1606
+ pand %xmm3,%xmm7
1607
+ pxor %xmm1,%xmm7
1608
+ movdqu (%esi),%xmm2
1609
+ movdqu 16(%esi),%xmm3
1610
+ movdqu 32(%esi),%xmm4
1611
+ pxor (%esp),%xmm2
1612
+ movdqu 48(%esi),%xmm5
1613
+ pxor 16(%esp),%xmm3
1614
+ movdqu 64(%esi),%xmm6
1615
+ pxor 32(%esp),%xmm4
1616
+ leal 80(%esi),%esi
1617
+ pxor 48(%esp),%xmm5
1618
+ movdqa %xmm7,64(%esp)
1619
+ pxor %xmm7,%xmm6
1620
+ call __aesni_decrypt6
1621
+ movaps 64(%esp),%xmm1
1622
+ xorps (%esp),%xmm2
1623
+ xorps 16(%esp),%xmm3
1624
+ xorps 32(%esp),%xmm4
1625
+ movups %xmm2,(%edi)
1626
+ xorps 48(%esp),%xmm5
1627
+ movups %xmm3,16(%edi)
1628
+ xorps %xmm1,%xmm6
1629
+ movups %xmm4,32(%edi)
1630
+ movups %xmm5,48(%edi)
1631
+ movups %xmm6,64(%edi)
1632
+ leal 80(%edi),%edi
1633
+ jmp L069xts_dec_done
1634
+ .align 4,0x90
1635
+ L065xts_dec_one:
1636
+ movups (%esi),%xmm2
1637
+ leal 16(%esi),%esi
1638
+ xorps %xmm5,%xmm2
1639
+ movups (%edx),%xmm0
1640
+ movups 16(%edx),%xmm1
1641
+ leal 32(%edx),%edx
1642
+ xorps %xmm0,%xmm2
1643
+ L070dec1_loop_12:
1644
+ aesdec %xmm1,%xmm2
1645
+ decl %ecx
1646
+ movups (%edx),%xmm1
1647
+ leal 16(%edx),%edx
1648
+ jnz L070dec1_loop_12
1649
+ aesdeclast %xmm1,%xmm2
1650
+ xorps %xmm5,%xmm2
1651
+ movups %xmm2,(%edi)
1652
+ leal 16(%edi),%edi
1653
+ movdqa %xmm5,%xmm1
1654
+ jmp L069xts_dec_done
1655
+ .align 4,0x90
1656
+ L066xts_dec_two:
1657
+ movaps %xmm1,%xmm6
1658
+ movups (%esi),%xmm2
1659
+ movups 16(%esi),%xmm3
1660
+ leal 32(%esi),%esi
1661
+ xorps %xmm5,%xmm2
1662
+ xorps %xmm6,%xmm3
1663
+ call __aesni_decrypt2
1664
+ xorps %xmm5,%xmm2
1665
+ xorps %xmm6,%xmm3
1666
+ movups %xmm2,(%edi)
1667
+ movups %xmm3,16(%edi)
1668
+ leal 32(%edi),%edi
1669
+ movdqa %xmm6,%xmm1
1670
+ jmp L069xts_dec_done
1671
+ .align 4,0x90
1672
+ L067xts_dec_three:
1673
+ movaps %xmm1,%xmm7
1674
+ movups (%esi),%xmm2
1675
+ movups 16(%esi),%xmm3
1676
+ movups 32(%esi),%xmm4
1677
+ leal 48(%esi),%esi
1678
+ xorps %xmm5,%xmm2
1679
+ xorps %xmm6,%xmm3
1680
+ xorps %xmm7,%xmm4
1681
+ call __aesni_decrypt3
1682
+ xorps %xmm5,%xmm2
1683
+ xorps %xmm6,%xmm3
1684
+ xorps %xmm7,%xmm4
1685
+ movups %xmm2,(%edi)
1686
+ movups %xmm3,16(%edi)
1687
+ movups %xmm4,32(%edi)
1688
+ leal 48(%edi),%edi
1689
+ movdqa %xmm7,%xmm1
1690
+ jmp L069xts_dec_done
1691
+ .align 4,0x90
1692
+ L068xts_dec_four:
1693
+ movaps %xmm1,%xmm6
1694
+ movups (%esi),%xmm2
1695
+ movups 16(%esi),%xmm3
1696
+ movups 32(%esi),%xmm4
1697
+ xorps (%esp),%xmm2
1698
+ movups 48(%esi),%xmm5
1699
+ leal 64(%esi),%esi
1700
+ xorps 16(%esp),%xmm3
1701
+ xorps %xmm7,%xmm4
1702
+ xorps %xmm6,%xmm5
1703
+ call __aesni_decrypt4
1704
+ xorps (%esp),%xmm2
1705
+ xorps 16(%esp),%xmm3
1706
+ xorps %xmm7,%xmm4
1707
+ movups %xmm2,(%edi)
1708
+ xorps %xmm6,%xmm5
1709
+ movups %xmm3,16(%edi)
1710
+ movups %xmm4,32(%edi)
1711
+ movups %xmm5,48(%edi)
1712
+ leal 64(%edi),%edi
1713
+ movdqa %xmm6,%xmm1
1714
+ jmp L069xts_dec_done
1715
+ .align 4,0x90
1716
+ L064xts_dec_done6x:
1717
+ movl 112(%esp),%eax
1718
+ andl $15,%eax
1719
+ jz L071xts_dec_ret
1720
+ movl %eax,112(%esp)
1721
+ jmp L072xts_dec_only_one_more
1722
+ .align 4,0x90
1723
+ L069xts_dec_done:
1724
+ movl 112(%esp),%eax
1725
+ pxor %xmm0,%xmm0
1726
+ andl $15,%eax
1727
+ jz L071xts_dec_ret
1728
+ pcmpgtd %xmm1,%xmm0
1729
+ movl %eax,112(%esp)
1730
+ pshufd $19,%xmm0,%xmm2
1731
+ pxor %xmm0,%xmm0
1732
+ movdqa 96(%esp),%xmm3
1733
+ paddq %xmm1,%xmm1
1734
+ pand %xmm3,%xmm2
1735
+ pcmpgtd %xmm1,%xmm0
1736
+ pxor %xmm2,%xmm1
1737
+ L072xts_dec_only_one_more:
1738
+ pshufd $19,%xmm0,%xmm5
1739
+ movdqa %xmm1,%xmm6
1740
+ paddq %xmm1,%xmm1
1741
+ pand %xmm3,%xmm5
1742
+ pxor %xmm1,%xmm5
1743
+ movl %ebp,%edx
1744
+ movl %ebx,%ecx
1745
+ movups (%esi),%xmm2
1746
+ xorps %xmm5,%xmm2
1747
+ movups (%edx),%xmm0
1748
+ movups 16(%edx),%xmm1
1749
+ leal 32(%edx),%edx
1750
+ xorps %xmm0,%xmm2
1751
+ L073dec1_loop_13:
1752
+ aesdec %xmm1,%xmm2
1753
+ decl %ecx
1754
+ movups (%edx),%xmm1
1755
+ leal 16(%edx),%edx
1756
+ jnz L073dec1_loop_13
1757
+ aesdeclast %xmm1,%xmm2
1758
+ xorps %xmm5,%xmm2
1759
+ movups %xmm2,(%edi)
1760
+ L074xts_dec_steal:
1761
+ movzbl 16(%esi),%ecx
1762
+ movzbl (%edi),%edx
1763
+ leal 1(%esi),%esi
1764
+ movb %cl,(%edi)
1765
+ movb %dl,16(%edi)
1766
+ leal 1(%edi),%edi
1767
+ subl $1,%eax
1768
+ jnz L074xts_dec_steal
1769
+ subl 112(%esp),%edi
1770
+ movl %ebp,%edx
1771
+ movl %ebx,%ecx
1772
+ movups (%edi),%xmm2
1773
+ xorps %xmm6,%xmm2
1774
+ movups (%edx),%xmm0
1775
+ movups 16(%edx),%xmm1
1776
+ leal 32(%edx),%edx
1777
+ xorps %xmm0,%xmm2
1778
+ L075dec1_loop_14:
1779
+ aesdec %xmm1,%xmm2
1780
+ decl %ecx
1781
+ movups (%edx),%xmm1
1782
+ leal 16(%edx),%edx
1783
+ jnz L075dec1_loop_14
1784
+ aesdeclast %xmm1,%xmm2
1785
+ xorps %xmm6,%xmm2
1786
+ movups %xmm2,(%edi)
1787
+ L071xts_dec_ret:
1788
+ pxor %xmm0,%xmm0
1789
+ pxor %xmm1,%xmm1
1790
+ pxor %xmm2,%xmm2
1791
+ movdqa %xmm0,(%esp)
1792
+ pxor %xmm3,%xmm3
1793
+ movdqa %xmm0,16(%esp)
1794
+ pxor %xmm4,%xmm4
1795
+ movdqa %xmm0,32(%esp)
1796
+ pxor %xmm5,%xmm5
1797
+ movdqa %xmm0,48(%esp)
1798
+ pxor %xmm6,%xmm6
1799
+ movdqa %xmm0,64(%esp)
1800
+ pxor %xmm7,%xmm7
1801
+ movdqa %xmm0,80(%esp)
1802
+ movl 116(%esp),%esp
1803
+ popl %edi
1804
+ popl %esi
1805
+ popl %ebx
1806
+ popl %ebp
1807
+ ret
1808
+ .globl _aes_hw_cbc_encrypt
1809
+ .private_extern _aes_hw_cbc_encrypt
1810
+ .align 4
1811
+ _aes_hw_cbc_encrypt:
1812
+ L_aes_hw_cbc_encrypt_begin:
1813
+ pushl %ebp
1814
+ pushl %ebx
1815
+ pushl %esi
1816
+ pushl %edi
1817
+ movl 20(%esp),%esi
1818
+ movl %esp,%ebx
1819
+ movl 24(%esp),%edi
1820
+ subl $24,%ebx
1821
+ movl 28(%esp),%eax
1822
+ andl $-16,%ebx
1823
+ movl 32(%esp),%edx
1824
+ movl 36(%esp),%ebp
1825
+ testl %eax,%eax
1826
+ jz L076cbc_abort
1827
+ cmpl $0,40(%esp)
1828
+ xchgl %esp,%ebx
1829
+ movups (%ebp),%xmm7
1830
+ movl 240(%edx),%ecx
1831
+ movl %edx,%ebp
1832
+ movl %ebx,16(%esp)
1833
+ movl %ecx,%ebx
1834
+ je L077cbc_decrypt
1835
+ movaps %xmm7,%xmm2
1836
+ cmpl $16,%eax
1837
+ jb L078cbc_enc_tail
1838
+ subl $16,%eax
1839
+ jmp L079cbc_enc_loop
1840
+ .align 4,0x90
1841
+ L079cbc_enc_loop:
1842
+ movups (%esi),%xmm7
1843
+ leal 16(%esi),%esi
1844
+ movups (%edx),%xmm0
1845
+ movups 16(%edx),%xmm1
1846
+ xorps %xmm0,%xmm7
1847
+ leal 32(%edx),%edx
1848
+ xorps %xmm7,%xmm2
1849
+ L080enc1_loop_15:
1850
+ aesenc %xmm1,%xmm2
1851
+ decl %ecx
1852
+ movups (%edx),%xmm1
1853
+ leal 16(%edx),%edx
1854
+ jnz L080enc1_loop_15
1855
+ aesenclast %xmm1,%xmm2
1856
+ movl %ebx,%ecx
1857
+ movl %ebp,%edx
1858
+ movups %xmm2,(%edi)
1859
+ leal 16(%edi),%edi
1860
+ subl $16,%eax
1861
+ jnc L079cbc_enc_loop
1862
+ addl $16,%eax
1863
+ jnz L078cbc_enc_tail
1864
+ movaps %xmm2,%xmm7
1865
+ pxor %xmm2,%xmm2
1866
+ jmp L081cbc_ret
1867
+ L078cbc_enc_tail:
1868
+ movl %eax,%ecx
1869
+ .long 2767451785
1870
+ movl $16,%ecx
1871
+ subl %eax,%ecx
1872
+ xorl %eax,%eax
1873
+ .long 2868115081
1874
+ leal -16(%edi),%edi
1875
+ movl %ebx,%ecx
1876
+ movl %edi,%esi
1877
+ movl %ebp,%edx
1878
+ jmp L079cbc_enc_loop
1879
+ .align 4,0x90
1880
+ L077cbc_decrypt:
1881
+ cmpl $80,%eax
1882
+ jbe L082cbc_dec_tail
1883
+ movaps %xmm7,(%esp)
1884
+ subl $80,%eax
1885
+ jmp L083cbc_dec_loop6_enter
1886
+ .align 4,0x90
1887
+ L084cbc_dec_loop6:
1888
+ movaps %xmm0,(%esp)
1889
+ movups %xmm7,(%edi)
1890
+ leal 16(%edi),%edi
1891
+ L083cbc_dec_loop6_enter:
1892
+ movdqu (%esi),%xmm2
1893
+ movdqu 16(%esi),%xmm3
1894
+ movdqu 32(%esi),%xmm4
1895
+ movdqu 48(%esi),%xmm5
1896
+ movdqu 64(%esi),%xmm6
1897
+ movdqu 80(%esi),%xmm7
1898
+ call __aesni_decrypt6
1899
+ movups (%esi),%xmm1
1900
+ movups 16(%esi),%xmm0
1901
+ xorps (%esp),%xmm2
1902
+ xorps %xmm1,%xmm3
1903
+ movups 32(%esi),%xmm1
1904
+ xorps %xmm0,%xmm4
1905
+ movups 48(%esi),%xmm0
1906
+ xorps %xmm1,%xmm5
1907
+ movups 64(%esi),%xmm1
1908
+ xorps %xmm0,%xmm6
1909
+ movups 80(%esi),%xmm0
1910
+ xorps %xmm1,%xmm7
1911
+ movups %xmm2,(%edi)
1912
+ movups %xmm3,16(%edi)
1913
+ leal 96(%esi),%esi
1914
+ movups %xmm4,32(%edi)
1915
+ movl %ebx,%ecx
1916
+ movups %xmm5,48(%edi)
1917
+ movl %ebp,%edx
1918
+ movups %xmm6,64(%edi)
1919
+ leal 80(%edi),%edi
1920
+ subl $96,%eax
1921
+ ja L084cbc_dec_loop6
1922
+ movaps %xmm7,%xmm2
1923
+ movaps %xmm0,%xmm7
1924
+ addl $80,%eax
1925
+ jle L085cbc_dec_clear_tail_collected
1926
+ movups %xmm2,(%edi)
1927
+ leal 16(%edi),%edi
1928
+ L082cbc_dec_tail:
1929
+ movups (%esi),%xmm2
1930
+ movaps %xmm2,%xmm6
1931
+ cmpl $16,%eax
1932
+ jbe L086cbc_dec_one
1933
+ movups 16(%esi),%xmm3
1934
+ movaps %xmm3,%xmm5
1935
+ cmpl $32,%eax
1936
+ jbe L087cbc_dec_two
1937
+ movups 32(%esi),%xmm4
1938
+ cmpl $48,%eax
1939
+ jbe L088cbc_dec_three
1940
+ movups 48(%esi),%xmm5
1941
+ cmpl $64,%eax
1942
+ jbe L089cbc_dec_four
1943
+ movups 64(%esi),%xmm6
1944
+ movaps %xmm7,(%esp)
1945
+ movups (%esi),%xmm2
1946
+ xorps %xmm7,%xmm7
1947
+ call __aesni_decrypt6
1948
+ movups (%esi),%xmm1
1949
+ movups 16(%esi),%xmm0
1950
+ xorps (%esp),%xmm2
1951
+ xorps %xmm1,%xmm3
1952
+ movups 32(%esi),%xmm1
1953
+ xorps %xmm0,%xmm4
1954
+ movups 48(%esi),%xmm0
1955
+ xorps %xmm1,%xmm5
1956
+ movups 64(%esi),%xmm7
1957
+ xorps %xmm0,%xmm6
1958
+ movups %xmm2,(%edi)
1959
+ movups %xmm3,16(%edi)
1960
+ pxor %xmm3,%xmm3
1961
+ movups %xmm4,32(%edi)
1962
+ pxor %xmm4,%xmm4
1963
+ movups %xmm5,48(%edi)
1964
+ pxor %xmm5,%xmm5
1965
+ leal 64(%edi),%edi
1966
+ movaps %xmm6,%xmm2
1967
+ pxor %xmm6,%xmm6
1968
+ subl $80,%eax
1969
+ jmp L090cbc_dec_tail_collected
1970
+ .align 4,0x90
1971
+ L086cbc_dec_one:
1972
+ movups (%edx),%xmm0
1973
+ movups 16(%edx),%xmm1
1974
+ leal 32(%edx),%edx
1975
+ xorps %xmm0,%xmm2
1976
+ L091dec1_loop_16:
1977
+ aesdec %xmm1,%xmm2
1978
+ decl %ecx
1979
+ movups (%edx),%xmm1
1980
+ leal 16(%edx),%edx
1981
+ jnz L091dec1_loop_16
1982
+ aesdeclast %xmm1,%xmm2
1983
+ xorps %xmm7,%xmm2
1984
+ movaps %xmm6,%xmm7
1985
+ subl $16,%eax
1986
+ jmp L090cbc_dec_tail_collected
1987
+ .align 4,0x90
1988
+ L087cbc_dec_two:
1989
+ call __aesni_decrypt2
1990
+ xorps %xmm7,%xmm2
1991
+ xorps %xmm6,%xmm3
1992
+ movups %xmm2,(%edi)
1993
+ movaps %xmm3,%xmm2
1994
+ pxor %xmm3,%xmm3
1995
+ leal 16(%edi),%edi
1996
+ movaps %xmm5,%xmm7
1997
+ subl $32,%eax
1998
+ jmp L090cbc_dec_tail_collected
1999
+ .align 4,0x90
2000
+ L088cbc_dec_three:
2001
+ call __aesni_decrypt3
2002
+ xorps %xmm7,%xmm2
2003
+ xorps %xmm6,%xmm3
2004
+ xorps %xmm5,%xmm4
2005
+ movups %xmm2,(%edi)
2006
+ movaps %xmm4,%xmm2
2007
+ pxor %xmm4,%xmm4
2008
+ movups %xmm3,16(%edi)
2009
+ pxor %xmm3,%xmm3
2010
+ leal 32(%edi),%edi
2011
+ movups 32(%esi),%xmm7
2012
+ subl $48,%eax
2013
+ jmp L090cbc_dec_tail_collected
2014
+ .align 4,0x90
2015
+ L089cbc_dec_four:
2016
+ call __aesni_decrypt4
2017
+ movups 16(%esi),%xmm1
2018
+ movups 32(%esi),%xmm0
2019
+ xorps %xmm7,%xmm2
2020
+ movups 48(%esi),%xmm7
2021
+ xorps %xmm6,%xmm3
2022
+ movups %xmm2,(%edi)
2023
+ xorps %xmm1,%xmm4
2024
+ movups %xmm3,16(%edi)
2025
+ pxor %xmm3,%xmm3
2026
+ xorps %xmm0,%xmm5
2027
+ movups %xmm4,32(%edi)
2028
+ pxor %xmm4,%xmm4
2029
+ leal 48(%edi),%edi
2030
+ movaps %xmm5,%xmm2
2031
+ pxor %xmm5,%xmm5
2032
+ subl $64,%eax
2033
+ jmp L090cbc_dec_tail_collected
2034
+ .align 4,0x90
2035
+ L085cbc_dec_clear_tail_collected:
2036
+ pxor %xmm3,%xmm3
2037
+ pxor %xmm4,%xmm4
2038
+ pxor %xmm5,%xmm5
2039
+ pxor %xmm6,%xmm6
2040
+ L090cbc_dec_tail_collected:
2041
+ andl $15,%eax
2042
+ jnz L092cbc_dec_tail_partial
2043
+ movups %xmm2,(%edi)
2044
+ pxor %xmm0,%xmm0
2045
+ jmp L081cbc_ret
2046
+ .align 4,0x90
2047
+ L092cbc_dec_tail_partial:
2048
+ movaps %xmm2,(%esp)
2049
+ pxor %xmm0,%xmm0
2050
+ movl $16,%ecx
2051
+ movl %esp,%esi
2052
+ subl %eax,%ecx
2053
+ .long 2767451785
2054
+ movdqa %xmm2,(%esp)
2055
+ L081cbc_ret:
2056
+ movl 16(%esp),%esp
2057
+ movl 36(%esp),%ebp
2058
+ pxor %xmm2,%xmm2
2059
+ pxor %xmm1,%xmm1
2060
+ movups %xmm7,(%ebp)
2061
+ pxor %xmm7,%xmm7
2062
+ L076cbc_abort:
2063
+ popl %edi
2064
+ popl %esi
2065
+ popl %ebx
2066
+ popl %ebp
2067
+ ret
2068
+ .globl _aes_hw_set_encrypt_key_base
2069
+ .private_extern _aes_hw_set_encrypt_key_base
2070
+ .align 4
2071
+ _aes_hw_set_encrypt_key_base:
2072
+ L_aes_hw_set_encrypt_key_base_begin:
2073
+ #ifdef BORINGSSL_DISPATCH_TEST
2074
+ pushl %ebx
2075
+ pushl %edx
2076
+ call L093pic_for_function_hit
2077
+ L093pic_for_function_hit:
2078
+ popl %ebx
2079
+ leal _BORINGSSL_function_hit+3-L093pic_for_function_hit(%ebx),%ebx
2080
+ movl $1,%edx
2081
+ movb %dl,(%ebx)
2082
+ popl %edx
2083
+ popl %ebx
2084
+ #endif
2085
+ movl 4(%esp),%eax
2086
+ movl 8(%esp),%ecx
2087
+ movl 12(%esp),%edx
2088
+ pushl %ebx
2089
+ call L094pic
2090
+ L094pic:
2091
+ popl %ebx
2092
+ leal Lkey_const-L094pic(%ebx),%ebx
2093
+ movups (%eax),%xmm0
2094
+ xorps %xmm4,%xmm4
2095
+ leal 16(%edx),%edx
2096
+ cmpl $256,%ecx
2097
+ je L09514rounds
2098
+ cmpl $192,%ecx
2099
+ je L09612rounds
2100
+ cmpl $128,%ecx
2101
+ jne L097bad_keybits
2102
+ .align 4,0x90
2103
+ L09810rounds:
2104
+ movl $9,%ecx
2105
+ movups %xmm0,-16(%edx)
2106
+ aeskeygenassist $1,%xmm0,%xmm1
2107
+ call L099key_128_cold
2108
+ aeskeygenassist $2,%xmm0,%xmm1
2109
+ call L100key_128
2110
+ aeskeygenassist $4,%xmm0,%xmm1
2111
+ call L100key_128
2112
+ aeskeygenassist $8,%xmm0,%xmm1
2113
+ call L100key_128
2114
+ aeskeygenassist $16,%xmm0,%xmm1
2115
+ call L100key_128
2116
+ aeskeygenassist $32,%xmm0,%xmm1
2117
+ call L100key_128
2118
+ aeskeygenassist $64,%xmm0,%xmm1
2119
+ call L100key_128
2120
+ aeskeygenassist $128,%xmm0,%xmm1
2121
+ call L100key_128
2122
+ aeskeygenassist $27,%xmm0,%xmm1
2123
+ call L100key_128
2124
+ aeskeygenassist $54,%xmm0,%xmm1
2125
+ call L100key_128
2126
+ movups %xmm0,(%edx)
2127
+ movl %ecx,80(%edx)
2128
+ jmp L101good_key
2129
+ .align 4,0x90
2130
+ L100key_128:
2131
+ movups %xmm0,(%edx)
2132
+ leal 16(%edx),%edx
2133
+ L099key_128_cold:
2134
+ shufps $16,%xmm0,%xmm4
2135
+ xorps %xmm4,%xmm0
2136
+ shufps $140,%xmm0,%xmm4
2137
+ xorps %xmm4,%xmm0
2138
+ shufps $255,%xmm1,%xmm1
2139
+ xorps %xmm1,%xmm0
2140
+ ret
2141
+ .align 4,0x90
2142
+ L09612rounds:
2143
+ movq 16(%eax),%xmm2
2144
+ movl $11,%ecx
2145
+ movups %xmm0,-16(%edx)
2146
+ aeskeygenassist $1,%xmm2,%xmm1
2147
+ call L102key_192a_cold
2148
+ aeskeygenassist $2,%xmm2,%xmm1
2149
+ call L103key_192b
2150
+ aeskeygenassist $4,%xmm2,%xmm1
2151
+ call L104key_192a
2152
+ aeskeygenassist $8,%xmm2,%xmm1
2153
+ call L103key_192b
2154
+ aeskeygenassist $16,%xmm2,%xmm1
2155
+ call L104key_192a
2156
+ aeskeygenassist $32,%xmm2,%xmm1
2157
+ call L103key_192b
2158
+ aeskeygenassist $64,%xmm2,%xmm1
2159
+ call L104key_192a
2160
+ aeskeygenassist $128,%xmm2,%xmm1
2161
+ call L103key_192b
2162
+ movups %xmm0,(%edx)
2163
+ movl %ecx,48(%edx)
2164
+ jmp L101good_key
2165
+ .align 4,0x90
2166
+ L104key_192a:
2167
+ movups %xmm0,(%edx)
2168
+ leal 16(%edx),%edx
2169
+ .align 4,0x90
2170
+ L102key_192a_cold:
2171
+ movaps %xmm2,%xmm5
2172
+ L105key_192b_warm:
2173
+ shufps $16,%xmm0,%xmm4
2174
+ movdqa %xmm2,%xmm3
2175
+ xorps %xmm4,%xmm0
2176
+ shufps $140,%xmm0,%xmm4
2177
+ pslldq $4,%xmm3
2178
+ xorps %xmm4,%xmm0
2179
+ pshufd $85,%xmm1,%xmm1
2180
+ pxor %xmm3,%xmm2
2181
+ pxor %xmm1,%xmm0
2182
+ pshufd $255,%xmm0,%xmm3
2183
+ pxor %xmm3,%xmm2
2184
+ ret
2185
+ .align 4,0x90
2186
+ L103key_192b:
2187
+ movaps %xmm0,%xmm3
2188
+ shufps $68,%xmm0,%xmm5
2189
+ movups %xmm5,(%edx)
2190
+ shufps $78,%xmm2,%xmm3
2191
+ movups %xmm3,16(%edx)
2192
+ leal 32(%edx),%edx
2193
+ jmp L105key_192b_warm
2194
+ .align 4,0x90
2195
+ L09514rounds:
2196
+ movups 16(%eax),%xmm2
2197
+ leal 16(%edx),%edx
2198
+ movl $13,%ecx
2199
+ movups %xmm0,-32(%edx)
2200
+ movups %xmm2,-16(%edx)
2201
+ aeskeygenassist $1,%xmm2,%xmm1
2202
+ call L106key_256a_cold
2203
+ aeskeygenassist $1,%xmm0,%xmm1
2204
+ call L107key_256b
2205
+ aeskeygenassist $2,%xmm2,%xmm1
2206
+ call L108key_256a
2207
+ aeskeygenassist $2,%xmm0,%xmm1
2208
+ call L107key_256b
2209
+ aeskeygenassist $4,%xmm2,%xmm1
2210
+ call L108key_256a
2211
+ aeskeygenassist $4,%xmm0,%xmm1
2212
+ call L107key_256b
2213
+ aeskeygenassist $8,%xmm2,%xmm1
2214
+ call L108key_256a
2215
+ aeskeygenassist $8,%xmm0,%xmm1
2216
+ call L107key_256b
2217
+ aeskeygenassist $16,%xmm2,%xmm1
2218
+ call L108key_256a
2219
+ aeskeygenassist $16,%xmm0,%xmm1
2220
+ call L107key_256b
2221
+ aeskeygenassist $32,%xmm2,%xmm1
2222
+ call L108key_256a
2223
+ aeskeygenassist $32,%xmm0,%xmm1
2224
+ call L107key_256b
2225
+ aeskeygenassist $64,%xmm2,%xmm1
2226
+ call L108key_256a
2227
+ movups %xmm0,(%edx)
2228
+ movl %ecx,16(%edx)
2229
+ xorl %eax,%eax
2230
+ jmp L101good_key
2231
+ .align 4,0x90
2232
+ L108key_256a:
2233
+ movups %xmm2,(%edx)
2234
+ leal 16(%edx),%edx
2235
+ L106key_256a_cold:
2236
+ shufps $16,%xmm0,%xmm4
2237
+ xorps %xmm4,%xmm0
2238
+ shufps $140,%xmm0,%xmm4
2239
+ xorps %xmm4,%xmm0
2240
+ shufps $255,%xmm1,%xmm1
2241
+ xorps %xmm1,%xmm0
2242
+ ret
2243
+ .align 4,0x90
2244
+ L107key_256b:
2245
+ movups %xmm0,(%edx)
2246
+ leal 16(%edx),%edx
2247
+ shufps $16,%xmm2,%xmm4
2248
+ xorps %xmm4,%xmm2
2249
+ shufps $140,%xmm2,%xmm4
2250
+ xorps %xmm4,%xmm2
2251
+ shufps $170,%xmm1,%xmm1
2252
+ xorps %xmm1,%xmm2
2253
+ ret
2254
+ L101good_key:
2255
+ pxor %xmm0,%xmm0
2256
+ pxor %xmm1,%xmm1
2257
+ pxor %xmm2,%xmm2
2258
+ pxor %xmm3,%xmm3
2259
+ pxor %xmm4,%xmm4
2260
+ pxor %xmm5,%xmm5
2261
+ xorl %eax,%eax
2262
+ popl %ebx
2263
+ ret
2264
+ .align 2,0x90
2265
+ L097bad_keybits:
2266
+ pxor %xmm0,%xmm0
2267
+ movl $-2,%eax
2268
+ popl %ebx
2269
+ ret
2270
+ .globl _aes_hw_set_encrypt_key_alt
2271
+ .private_extern _aes_hw_set_encrypt_key_alt
2272
+ .align 4
2273
+ _aes_hw_set_encrypt_key_alt:
2274
+ L_aes_hw_set_encrypt_key_alt_begin:
2275
+ #ifdef BORINGSSL_DISPATCH_TEST
2276
+ pushl %ebx
2277
+ pushl %edx
2278
+ call L109pic_for_function_hit
2279
+ L109pic_for_function_hit:
2280
+ popl %ebx
2281
+ leal _BORINGSSL_function_hit+3-L109pic_for_function_hit(%ebx),%ebx
2282
+ movl $1,%edx
2283
+ movb %dl,(%ebx)
2284
+ popl %edx
2285
+ popl %ebx
2286
+ #endif
2287
+ movl 4(%esp),%eax
2288
+ movl 8(%esp),%ecx
2289
+ movl 12(%esp),%edx
2290
+ pushl %ebx
2291
+ call L110pic
2292
+ L110pic:
2293
+ popl %ebx
2294
+ leal Lkey_const-L110pic(%ebx),%ebx
2295
+ movups (%eax),%xmm0
2296
+ xorps %xmm4,%xmm4
2297
+ leal 16(%edx),%edx
2298
+ cmpl $256,%ecx
2299
+ je L11114rounds_alt
2300
+ cmpl $192,%ecx
2301
+ je L11212rounds_alt
2302
+ cmpl $128,%ecx
2303
+ jne L113bad_keybits
2304
+ .align 4,0x90
2305
+ L11410rounds_alt:
2306
+ movdqa (%ebx),%xmm5
2307
+ movl $8,%ecx
2308
+ movdqa 32(%ebx),%xmm4
2309
+ movdqa %xmm0,%xmm2
2310
+ movdqu %xmm0,-16(%edx)
2311
+ L115loop_key128:
2312
+ pshufb %xmm5,%xmm0
2313
+ aesenclast %xmm4,%xmm0
2314
+ pslld $1,%xmm4
2315
+ leal 16(%edx),%edx
2316
+ movdqa %xmm2,%xmm3
2317
+ pslldq $4,%xmm2
2318
+ pxor %xmm2,%xmm3
2319
+ pslldq $4,%xmm2
2320
+ pxor %xmm2,%xmm3
2321
+ pslldq $4,%xmm2
2322
+ pxor %xmm3,%xmm2
2323
+ pxor %xmm2,%xmm0
2324
+ movdqu %xmm0,-16(%edx)
2325
+ movdqa %xmm0,%xmm2
2326
+ decl %ecx
2327
+ jnz L115loop_key128
2328
+ movdqa 48(%ebx),%xmm4
2329
+ pshufb %xmm5,%xmm0
2330
+ aesenclast %xmm4,%xmm0
2331
+ pslld $1,%xmm4
2332
+ movdqa %xmm2,%xmm3
2333
+ pslldq $4,%xmm2
2334
+ pxor %xmm2,%xmm3
2335
+ pslldq $4,%xmm2
2336
+ pxor %xmm2,%xmm3
2337
+ pslldq $4,%xmm2
2338
+ pxor %xmm3,%xmm2
2339
+ pxor %xmm2,%xmm0
2340
+ movdqu %xmm0,(%edx)
2341
+ movdqa %xmm0,%xmm2
2342
+ pshufb %xmm5,%xmm0
2343
+ aesenclast %xmm4,%xmm0
2344
+ movdqa %xmm2,%xmm3
2345
+ pslldq $4,%xmm2
2346
+ pxor %xmm2,%xmm3
2347
+ pslldq $4,%xmm2
2348
+ pxor %xmm2,%xmm3
2349
+ pslldq $4,%xmm2
2350
+ pxor %xmm3,%xmm2
2351
+ pxor %xmm2,%xmm0
2352
+ movdqu %xmm0,16(%edx)
2353
+ movl $9,%ecx
2354
+ movl %ecx,96(%edx)
2355
+ jmp L116good_key
2356
+ .align 4,0x90
2357
+ L11212rounds_alt:
2358
+ movq 16(%eax),%xmm2
2359
+ movdqa 16(%ebx),%xmm5
2360
+ movdqa 32(%ebx),%xmm4
2361
+ movl $8,%ecx
2362
+ movdqu %xmm0,-16(%edx)
2363
+ L117loop_key192:
2364
+ movq %xmm2,(%edx)
2365
+ movdqa %xmm2,%xmm1
2366
+ pshufb %xmm5,%xmm2
2367
+ aesenclast %xmm4,%xmm2
2368
+ pslld $1,%xmm4
2369
+ leal 24(%edx),%edx
2370
+ movdqa %xmm0,%xmm3
2371
+ pslldq $4,%xmm0
2372
+ pxor %xmm0,%xmm3
2373
+ pslldq $4,%xmm0
2374
+ pxor %xmm0,%xmm3
2375
+ pslldq $4,%xmm0
2376
+ pxor %xmm3,%xmm0
2377
+ pshufd $255,%xmm0,%xmm3
2378
+ pxor %xmm1,%xmm3
2379
+ pslldq $4,%xmm1
2380
+ pxor %xmm1,%xmm3
2381
+ pxor %xmm2,%xmm0
2382
+ pxor %xmm3,%xmm2
2383
+ movdqu %xmm0,-16(%edx)
2384
+ decl %ecx
2385
+ jnz L117loop_key192
2386
+ movl $11,%ecx
2387
+ movl %ecx,32(%edx)
2388
+ jmp L116good_key
2389
+ .align 4,0x90
2390
+ L11114rounds_alt:
2391
+ movups 16(%eax),%xmm2
2392
+ leal 16(%edx),%edx
2393
+ movdqa (%ebx),%xmm5
2394
+ movdqa 32(%ebx),%xmm4
2395
+ movl $7,%ecx
2396
+ movdqu %xmm0,-32(%edx)
2397
+ movdqa %xmm2,%xmm1
2398
+ movdqu %xmm2,-16(%edx)
2399
+ L118loop_key256:
2400
+ pshufb %xmm5,%xmm2
2401
+ aesenclast %xmm4,%xmm2
2402
+ movdqa %xmm0,%xmm3
2403
+ pslldq $4,%xmm0
2404
+ pxor %xmm0,%xmm3
2405
+ pslldq $4,%xmm0
2406
+ pxor %xmm0,%xmm3
2407
+ pslldq $4,%xmm0
2408
+ pxor %xmm3,%xmm0
2409
+ pslld $1,%xmm4
2410
+ pxor %xmm2,%xmm0
2411
+ movdqu %xmm0,(%edx)
2412
+ decl %ecx
2413
+ jz L119done_key256
2414
+ pshufd $255,%xmm0,%xmm2
2415
+ pxor %xmm3,%xmm3
2416
+ aesenclast %xmm3,%xmm2
2417
+ movdqa %xmm1,%xmm3
2418
+ pslldq $4,%xmm1
2419
+ pxor %xmm1,%xmm3
2420
+ pslldq $4,%xmm1
2421
+ pxor %xmm1,%xmm3
2422
+ pslldq $4,%xmm1
2423
+ pxor %xmm3,%xmm1
2424
+ pxor %xmm1,%xmm2
2425
+ movdqu %xmm2,16(%edx)
2426
+ leal 32(%edx),%edx
2427
+ movdqa %xmm2,%xmm1
2428
+ jmp L118loop_key256
2429
+ L119done_key256:
2430
+ movl $13,%ecx
2431
+ movl %ecx,16(%edx)
2432
+ L116good_key:
2433
+ pxor %xmm0,%xmm0
2434
+ pxor %xmm1,%xmm1
2435
+ pxor %xmm2,%xmm2
2436
+ pxor %xmm3,%xmm3
2437
+ pxor %xmm4,%xmm4
2438
+ pxor %xmm5,%xmm5
2439
+ xorl %eax,%eax
2440
+ popl %ebx
2441
+ ret
2442
+ .align 2,0x90
2443
+ L113bad_keybits:
2444
+ pxor %xmm0,%xmm0
2445
+ movl $-2,%eax
2446
+ popl %ebx
2447
+ ret
2448
+ .globl _aes_hw_encrypt_key_to_decrypt_key
2449
+ .private_extern _aes_hw_encrypt_key_to_decrypt_key
2450
+ .align 4
2451
+ _aes_hw_encrypt_key_to_decrypt_key:
2452
+ L_aes_hw_encrypt_key_to_decrypt_key_begin:
2453
+ movl 4(%esp),%edx
2454
+ movl 240(%edx),%ecx
2455
+ shll $4,%ecx
2456
+ leal 16(%edx,%ecx,1),%eax
2457
+ movups (%edx),%xmm0
2458
+ movups (%eax),%xmm1
2459
+ movups %xmm0,(%eax)
2460
+ movups %xmm1,(%edx)
2461
+ leal 16(%edx),%edx
2462
+ leal -16(%eax),%eax
2463
+ L120dec_key_inverse:
2464
+ movups (%edx),%xmm0
2465
+ movups (%eax),%xmm1
2466
+ aesimc %xmm0,%xmm0
2467
+ aesimc %xmm1,%xmm1
2468
+ leal 16(%edx),%edx
2469
+ leal -16(%eax),%eax
2470
+ movups %xmm0,16(%eax)
2471
+ movups %xmm1,-16(%edx)
2472
+ cmpl %edx,%eax
2473
+ ja L120dec_key_inverse
2474
+ movups (%edx),%xmm0
2475
+ aesimc %xmm0,%xmm0
2476
+ movups %xmm0,(%edx)
2477
+ pxor %xmm0,%xmm0
2478
+ pxor %xmm1,%xmm1
2479
+ ret
2480
+ .align 6,0x90
2481
+ Lkey_const:
2482
+ .long 202313229,202313229,202313229,202313229
2483
+ .long 67569157,67569157,67569157,67569157
2484
+ .long 1,1,1,1
2485
+ .long 27,27,27,27
2486
+ .byte 65,69,83,32,102,111,114,32,73,110,116,101,108,32,65,69
2487
+ .byte 83,45,78,73,44,32,67,82,89,80,84,79,71,65,77,83
2488
+ .byte 32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115
2489
+ .byte 115,108,46,111,114,103,62,0
2490
+ #endif // !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86) && defined(__APPLE__)