@ttsc/win32-arm64 0.33.0 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1062) hide show
  1. package/bin/go/VERSION +2 -2
  2. package/bin/go/bin/go.exe +0 -0
  3. package/bin/go/bin/gofmt.exe +0 -0
  4. package/bin/go/lib/time/update.bash +2 -2
  5. package/bin/go/lib/time/zoneinfo.zip +0 -0
  6. package/bin/go/pkg/include/asm_ppc64x.h +0 -16
  7. package/bin/go/pkg/tool/windows_arm64/asm.exe +0 -0
  8. package/bin/go/pkg/tool/windows_arm64/cgo.exe +0 -0
  9. package/bin/go/pkg/tool/windows_arm64/compile.exe +0 -0
  10. package/bin/go/pkg/tool/windows_arm64/cover.exe +0 -0
  11. package/bin/go/pkg/tool/windows_arm64/fix.exe +0 -0
  12. package/bin/go/pkg/tool/windows_arm64/link.exe +0 -0
  13. package/bin/go/pkg/tool/windows_arm64/preprofile.exe +0 -0
  14. package/bin/go/pkg/tool/windows_arm64/vet.exe +0 -0
  15. package/bin/go/src/archive/tar/reader.go +2 -1
  16. package/bin/go/src/archive/zip/reader.go +5 -29
  17. package/bin/go/src/archive/zip/struct.go +5 -6
  18. package/bin/go/src/archive/zip/writer.go +120 -60
  19. package/bin/go/src/bufio/bufio.go +1 -1
  20. package/bin/go/src/bytes/buffer.go +3 -3
  21. package/bin/go/src/bytes/bytes.go +45 -25
  22. package/bin/go/src/compress/flate/deflate.go +512 -363
  23. package/bin/go/src/compress/flate/deflatefast.go +156 -262
  24. package/bin/go/src/compress/flate/dict_decoder.go +1 -4
  25. package/bin/go/src/compress/flate/huffman_bit_writer.go +673 -250
  26. package/bin/go/src/compress/flate/huffman_code.go +164 -92
  27. package/bin/go/src/compress/flate/level1.go +195 -0
  28. package/bin/go/src/compress/flate/level2.go +190 -0
  29. package/bin/go/src/compress/flate/level3.go +228 -0
  30. package/bin/go/src/compress/flate/level4.go +200 -0
  31. package/bin/go/src/compress/flate/level5.go +287 -0
  32. package/bin/go/src/compress/flate/level6.go +297 -0
  33. package/bin/go/src/compress/flate/load_store.go +43 -0
  34. package/bin/go/src/compress/flate/regmask_amd64.go +9 -0
  35. package/bin/go/src/compress/flate/regmask_other.go +11 -0
  36. package/bin/go/src/compress/flate/token.go +238 -26
  37. package/bin/go/src/compress/gzip/gzip.go +8 -0
  38. package/bin/go/src/compress/zlib/writer.go +12 -0
  39. package/bin/go/src/context/context.go +6 -5
  40. package/bin/go/src/crypto/cipher/gcm.go +0 -4
  41. package/bin/go/src/crypto/crypto.go +27 -4
  42. package/bin/go/src/crypto/des/const.go +1 -1
  43. package/bin/go/src/crypto/ecdsa/ecdsa.go +21 -4
  44. package/bin/go/src/crypto/ed25519/ed25519.go +13 -0
  45. package/bin/go/src/crypto/internal/boring/aes.go +2 -3
  46. package/bin/go/src/crypto/internal/cryptotest/aead.go +53 -0
  47. package/bin/go/src/crypto/internal/cryptotest/boundary.go +34 -0
  48. package/bin/go/src/crypto/internal/cryptotest/boundary_compat.go +16 -0
  49. package/bin/go/src/crypto/internal/cryptotest/fetchmodule.go +9 -3
  50. package/bin/go/src/crypto/internal/cryptotest/fips140.go +62 -3
  51. package/bin/go/src/crypto/internal/cryptotest/hash.go +14 -0
  52. package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.mod +19 -0
  53. package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/go.sum +27 -0
  54. package/bin/go/src/crypto/internal/cryptotest/wycheproof/_schema/schema_gen.go +151 -0
  55. package/bin/go/src/crypto/internal/cryptotest/wycheproof/schema.go +9792 -0
  56. package/bin/go/src/crypto/internal/cryptotest/wycheproof/schemaversion.go +11 -0
  57. package/bin/go/src/crypto/internal/cryptotest/wycheproof/wycheproof.go +165 -0
  58. package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.mod +14 -0
  59. package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/go.sum +25 -0
  60. package/bin/go/src/crypto/internal/cryptotest/x509limbo/_schema/schema_gen.go +125 -0
  61. package/bin/go/src/crypto/internal/cryptotest/x509limbo/schema.go +591 -0
  62. package/bin/go/src/crypto/internal/cryptotest/x509limbo/schemaversion.go +14 -0
  63. package/bin/go/src/crypto/internal/fips140/aes/_asm/ctr/go.mod +1 -1
  64. package/bin/go/src/crypto/internal/fips140/aes/_asm/standard/go.mod +1 -1
  65. package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/gcm_amd64_asm.go +36 -32
  66. package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.mod +5 -5
  67. package/bin/go/src/crypto/internal/fips140/aes/gcm/_asm/gcm/go.sum +8 -6
  68. package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_amd64.s +29 -17
  69. package/bin/go/src/crypto/internal/fips140/aes/gcm/gcm_arm64.s +73 -72
  70. package/bin/go/src/crypto/internal/fips140/aes/gcm/ghash.go +140 -124
  71. package/bin/go/src/crypto/internal/fips140/bigmod/nat.go +18 -0
  72. package/bin/go/src/crypto/internal/fips140/check/checktest/asm_loong64.s +23 -0
  73. package/bin/go/src/crypto/internal/fips140/check/checktest/asm_none.go +1 -1
  74. package/bin/go/src/crypto/internal/fips140/check/checktest/asm_stub.go +1 -1
  75. package/bin/go/src/crypto/internal/fips140/drbg/rand.go +12 -4
  76. package/bin/go/src/crypto/internal/fips140/ecdsa/ecdsa.go +17 -10
  77. package/bin/go/src/crypto/internal/fips140/edwards25519/field/_asm/fe_amd64_asm.go +0 -90
  78. package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe.go +64 -97
  79. package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.go +0 -5
  80. package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64.s +0 -167
  81. package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_amd64_noasm.go +0 -2
  82. package/bin/go/src/crypto/internal/fips140/edwards25519/field/fe_generic.go +57 -1
  83. package/bin/go/src/crypto/internal/fips140/edwards25519/scalarmult.go +3 -2
  84. package/bin/go/src/crypto/internal/fips140/mldsa/mldsa.go +31 -25
  85. package/bin/go/src/crypto/internal/fips140/mldsa/semiexpanded.go +2 -2
  86. package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.mod +4 -4
  87. package/bin/go/src/crypto/internal/fips140/nistec/_asm/go.sum +6 -0
  88. package/bin/go/src/crypto/internal/fips140/nistec/_asm/p256_asm.go +1 -613
  89. package/bin/go/src/crypto/internal/fips140/nistec/p256.go +2 -2
  90. package/bin/go/src/crypto/internal/fips140/nistec/p256_asm.go +7 -6
  91. package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_amd64.s +0 -503
  92. package/bin/go/src/crypto/internal/fips140/nistec/p256_asm_arm64.s +4 -429
  93. package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv.go +511 -47
  94. package/bin/go/src/crypto/internal/fips140/pbkdf2/pbkdf2.go +1 -1
  95. package/bin/go/src/crypto/internal/fips140/rsa/keygen.go +48 -46
  96. package/bin/go/src/crypto/internal/fips140/rsa/largeexponent.go +365 -0
  97. package/bin/go/src/crypto/internal/fips140/rsa/pkcs1v15.go +27 -0
  98. package/bin/go/src/crypto/internal/fips140/sha256/_asm/go.mod +1 -1
  99. package/bin/go/src/crypto/internal/fips140/sha3/_asm/go.mod +1 -1
  100. package/bin/go/src/crypto/internal/fips140/sha512/_asm/go.mod +1 -1
  101. package/bin/go/src/crypto/internal/fips140/subtle/constant_time.go +1 -1
  102. package/bin/go/src/crypto/internal/fips140/subtle/xor_asm.go +1 -1
  103. package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.go +18 -0
  104. package/bin/go/src/crypto/internal/fips140/subtle/xor_riscv64.s +33 -2
  105. package/bin/go/src/crypto/internal/fips140deps/cpu/cpu.go +2 -0
  106. package/bin/go/src/crypto/internal/fips140deps/time/time.go +7 -4
  107. package/bin/go/src/crypto/internal/fips140only/fips140only.go +0 -7
  108. package/bin/go/src/crypto/internal/fips140only/random_fips140v1.0.go +17 -0
  109. package/bin/go/src/crypto/internal/fips140only/random_fips140v1.28.go +16 -0
  110. package/bin/go/src/crypto/internal/fips140test/acvp_capabilities_fips140v1.28.json +86 -0
  111. package/bin/go/src/crypto/internal/fips140test/acvp_test_fips140v1.28.config.json +58 -0
  112. package/bin/go/src/crypto/internal/rand/rand.go +14 -14
  113. package/bin/go/src/crypto/internal/rand/random_fips140v1.0.go +20 -0
  114. package/bin/go/src/crypto/internal/rand/random_fips140v1.28.go +19 -0
  115. package/bin/go/src/crypto/mldsa/mldsa.go +97 -0
  116. package/bin/go/src/crypto/mldsa/mldsa_fips140v1.0.go +116 -0
  117. package/bin/go/src/crypto/mldsa/mldsa_fips140v1.26.go +226 -0
  118. package/bin/go/src/crypto/mlkem/mlkem.go +8 -2
  119. package/bin/go/src/crypto/rsa/fips.go +26 -8
  120. package/bin/go/src/crypto/rsa/pkcs1v15.go +2 -2
  121. package/bin/go/src/crypto/rsa/rsa.go +25 -2
  122. package/bin/go/src/crypto/sha1/sha1block_decl.go +1 -1
  123. package/bin/go/src/crypto/sha1/sha1block_generic.go +1 -1
  124. package/bin/go/src/crypto/sha1/sha1block_loong64.s +24 -8
  125. package/bin/go/src/crypto/sha1/sha1block_riscv64.s +225 -0
  126. package/bin/go/src/crypto/sha3/sha3.go +3 -2
  127. package/bin/go/src/crypto/tls/alert.go +2 -0
  128. package/bin/go/src/crypto/tls/auth.go +31 -0
  129. package/bin/go/src/crypto/tls/bogo_config.json +12 -23
  130. package/bin/go/src/crypto/tls/cipher_suites.go +3 -11
  131. package/bin/go/src/crypto/tls/common.go +106 -59
  132. package/bin/go/src/crypto/tls/common_string.go +18 -5
  133. package/bin/go/src/crypto/tls/conn.go +33 -35
  134. package/bin/go/src/crypto/tls/defaults.go +26 -20
  135. package/bin/go/src/crypto/tls/defaults_fips140.go +9 -0
  136. package/bin/go/src/crypto/tls/ech.go +9 -4
  137. package/bin/go/src/crypto/tls/generate_cert.go +8 -2
  138. package/bin/go/src/crypto/tls/handshake_client.go +17 -17
  139. package/bin/go/src/crypto/tls/handshake_client_tls13.go +8 -3
  140. package/bin/go/src/crypto/tls/handshake_server.go +26 -19
  141. package/bin/go/src/crypto/tls/handshake_server_tls13.go +8 -5
  142. package/bin/go/src/crypto/tls/key_agreement.go +5 -1
  143. package/bin/go/src/crypto/tls/key_schedule.go +42 -17
  144. package/bin/go/src/crypto/tls/prf.go +1 -1
  145. package/bin/go/src/crypto/tls/quic.go +6 -7
  146. package/bin/go/src/crypto/tls/tls.go +25 -29
  147. package/bin/go/src/crypto/x509/cert_pool.go +8 -4
  148. package/bin/go/src/crypto/x509/constraints.go +5 -0
  149. package/bin/go/src/crypto/x509/parser.go +101 -15
  150. package/bin/go/src/crypto/x509/pkcs8.go +45 -4
  151. package/bin/go/src/crypto/x509/pkix/pkix.go +33 -9
  152. package/bin/go/src/crypto/x509/root.go +113 -0
  153. package/bin/go/src/crypto/x509/root_darwin.go +8 -4
  154. package/bin/go/src/crypto/x509/root_plan9.go +2 -23
  155. package/bin/go/src/crypto/x509/root_unix.go +0 -97
  156. package/bin/go/src/crypto/x509/root_windows.go +8 -3
  157. package/bin/go/src/crypto/x509/verify.go +43 -4
  158. package/bin/go/src/crypto/x509/x509.go +169 -30
  159. package/bin/go/src/database/sql/closemu.go +119 -0
  160. package/bin/go/src/database/sql/convert.go +63 -4
  161. package/bin/go/src/database/sql/driver/driver.go +26 -0
  162. package/bin/go/src/database/sql/driver/types.go +4 -0
  163. package/bin/go/src/database/sql/internal/sql.go +22 -0
  164. package/bin/go/src/database/sql/sql.go +89 -40
  165. package/bin/go/src/debug/buildinfo/buildinfo.go +0 -13
  166. package/bin/go/src/debug/dwarf/buf.go +7 -1
  167. package/bin/go/src/debug/dwarf/class_string.go +3 -2
  168. package/bin/go/src/debug/elf/file.go +80 -50
  169. package/bin/go/src/debug/elf/reader.go +1 -1
  170. package/bin/go/src/debug/gosym/symtab.go +26 -30
  171. package/bin/go/src/debug/macho/file.go +2 -2
  172. package/bin/go/src/debug/macho/reloctype_string.go +12 -8
  173. package/bin/go/src/debug/pe/file.go +6 -3
  174. package/bin/go/src/encoding/base32/base32.go +29 -31
  175. package/bin/go/src/encoding/base64/base64.go +24 -29
  176. package/bin/go/src/encoding/gob/decode.go +7 -1
  177. package/bin/go/src/encoding/gob/type.go +6 -6
  178. package/bin/go/src/encoding/hex/hex.go +6 -6
  179. package/bin/go/src/encoding/json/decode.go +4 -3
  180. package/bin/go/src/encoding/json/encode.go +1 -2
  181. package/bin/go/src/encoding/json/fold.go +1 -1
  182. package/bin/go/src/encoding/json/internal/internal.go +11 -1
  183. package/bin/go/src/encoding/json/internal/jsonflags/flags.go +17 -9
  184. package/bin/go/src/encoding/json/internal/jsonopts/options.go +52 -37
  185. package/bin/go/src/encoding/json/internal/jsonopts/options_format.go +124 -0
  186. package/bin/go/src/encoding/json/internal/jsontest/_embed/canada_geometry.json.zst +0 -0
  187. package/bin/go/src/encoding/json/internal/jsontest/_embed/citm_catalog.json.zst +0 -0
  188. package/bin/go/src/encoding/json/internal/jsontest/_embed/golang_source.json.zst +0 -0
  189. package/bin/go/src/encoding/json/internal/jsontest/_embed/string_escaped.json.zst +0 -0
  190. package/bin/go/src/encoding/json/internal/jsontest/_embed/string_unicode.json.zst +0 -0
  191. package/bin/go/src/encoding/json/internal/jsontest/_embed/synthea_fhir.json.zst +0 -0
  192. package/bin/go/src/encoding/json/internal/jsontest/_embed/twitter_status.json.zst +0 -0
  193. package/bin/go/src/encoding/json/internal/jsontest/testdata.go +10 -4
  194. package/bin/go/src/encoding/json/internal/jsonwire/decode.go +13 -36
  195. package/bin/go/src/encoding/json/internal/jsonwire/encode.go +7 -7
  196. package/bin/go/src/encoding/json/internal/jsonwire/wire.go +30 -38
  197. package/bin/go/src/encoding/json/jsontext/decode.go +49 -14
  198. package/bin/go/src/encoding/json/jsontext/doc.go +6 -11
  199. package/bin/go/src/encoding/json/jsontext/encode.go +55 -39
  200. package/bin/go/src/encoding/json/jsontext/errors.go +34 -3
  201. package/bin/go/src/encoding/json/jsontext/export.go +14 -0
  202. package/bin/go/src/encoding/json/jsontext/options.go +8 -8
  203. package/bin/go/src/encoding/json/jsontext/quote.go +2 -2
  204. package/bin/go/src/encoding/json/jsontext/state.go +14 -14
  205. package/bin/go/src/encoding/json/jsontext/token.go +246 -101
  206. package/bin/go/src/encoding/json/jsontext/value.go +31 -16
  207. package/bin/go/src/encoding/json/stream.go +14 -2
  208. package/bin/go/src/encoding/json/v2/arshal.go +100 -114
  209. package/bin/go/src/encoding/json/v2/arshal_any.go +6 -5
  210. package/bin/go/src/encoding/json/v2/arshal_default.go +292 -189
  211. package/bin/go/src/encoding/json/v2/{arshal_inlined.go → arshal_embedded.go} +14 -14
  212. package/bin/go/src/encoding/json/v2/arshal_funcs.go +28 -47
  213. package/bin/go/src/encoding/json/v2/arshal_methods.go +98 -29
  214. package/bin/go/src/encoding/json/v2/arshal_time.go +33 -13
  215. package/bin/go/src/encoding/json/v2/doc.go +40 -55
  216. package/bin/go/src/encoding/json/v2/errors.go +29 -9
  217. package/bin/go/src/encoding/json/v2/fields.go +83 -81
  218. package/bin/go/src/encoding/json/v2/intern.go +2 -2
  219. package/bin/go/src/encoding/json/v2/options.go +57 -41
  220. package/bin/go/src/encoding/json/v2_decode.go +21 -9
  221. package/bin/go/src/encoding/json/v2_encode.go +21 -10
  222. package/bin/go/src/encoding/json/v2_indent.go +2 -0
  223. package/bin/go/src/encoding/json/v2_inject.go +7 -4
  224. package/bin/go/src/encoding/json/v2_options.go +37 -30
  225. package/bin/go/src/encoding/json/v2_scanner.go +6 -1
  226. package/bin/go/src/encoding/json/v2_stream.go +49 -14
  227. package/bin/go/src/encoding/pem/pem.go +6 -2
  228. package/bin/go/src/fmt/doc.go +11 -1
  229. package/bin/go/src/fmt/print.go +69 -82
  230. package/bin/go/src/go/ast/ast.go +4 -4
  231. package/bin/go/src/go/ast/filter.go +1 -1
  232. package/bin/go/src/go/ast/scope.go +2 -2
  233. package/bin/go/src/go/build/build.go +1 -1
  234. package/bin/go/src/go/build/constraint/vers.go +4 -1
  235. package/bin/go/src/go/build/read.go +2 -2
  236. package/bin/go/src/go/constant/kind_string.go +3 -2
  237. package/bin/go/src/go/constant/value.go +26 -4
  238. package/bin/go/src/go/doc/comment/std.go +1 -0
  239. package/bin/go/src/go/importer/importer.go +4 -3
  240. package/bin/go/src/go/internal/gccgoimporter/parser.go +2 -0
  241. package/bin/go/src/go/internal/gcimporter/ureader.go +141 -56
  242. package/bin/go/src/go/parser/parser.go +11 -22
  243. package/bin/go/src/go/printer/math.go +28 -0
  244. package/bin/go/src/go/printer/nodes.go +28 -11
  245. package/bin/go/src/go/printer/printer.go +3 -1
  246. package/bin/go/src/go/scanner/errors.go +2 -0
  247. package/bin/go/src/go/scanner/scanner.go +40 -28
  248. package/bin/go/src/go/token/position.go +7 -16
  249. package/bin/go/src/go/types/alias.go +0 -18
  250. package/bin/go/src/go/types/api.go +4 -10
  251. package/bin/go/src/go/types/api_predicates.go +2 -2
  252. package/bin/go/src/go/types/assignments.go +44 -38
  253. package/bin/go/src/go/types/builtins.go +199 -168
  254. package/bin/go/src/go/types/call.go +155 -138
  255. package/bin/go/src/go/types/check.go +0 -83
  256. package/bin/go/src/go/types/const.go +22 -10
  257. package/bin/go/src/go/types/conversions.go +19 -19
  258. package/bin/go/src/go/types/cycles.go +29 -42
  259. package/bin/go/src/go/types/decl.go +33 -81
  260. package/bin/go/src/go/types/expr.go +191 -183
  261. package/bin/go/src/go/types/gotype.go +1 -0
  262. package/bin/go/src/go/types/hash.go +309 -0
  263. package/bin/go/src/go/types/index.go +91 -61
  264. package/bin/go/src/go/types/infer.go +11 -11
  265. package/bin/go/src/go/types/instantiate.go +27 -15
  266. package/bin/go/src/go/types/interface.go +2 -2
  267. package/bin/go/src/go/types/literals.go +56 -32
  268. package/bin/go/src/go/types/lookup.go +31 -14
  269. package/bin/go/src/go/types/named.go +58 -54
  270. package/bin/go/src/go/types/object.go +4 -3
  271. package/bin/go/src/go/types/operand.go +50 -34
  272. package/bin/go/src/go/types/range.go +19 -16
  273. package/bin/go/src/go/types/recording.go +24 -7
  274. package/bin/go/src/go/types/resolver.go +16 -18
  275. package/bin/go/src/go/types/scope.go +1 -15
  276. package/bin/go/src/go/types/selection.go +3 -1
  277. package/bin/go/src/go/types/signature.go +10 -11
  278. package/bin/go/src/go/types/stmt.go +34 -28
  279. package/bin/go/src/go/types/subst.go +82 -5
  280. package/bin/go/src/go/types/trie.go +93 -0
  281. package/bin/go/src/go/types/typelists.go +28 -0
  282. package/bin/go/src/go/types/typestring.go +5 -9
  283. package/bin/go/src/go/types/typexpr.go +17 -28
  284. package/bin/go/src/go/types/unify.go +12 -3
  285. package/bin/go/src/go/types/universe.go +12 -40
  286. package/bin/go/src/go/types/version.go +4 -0
  287. package/bin/go/src/go.mod +5 -5
  288. package/bin/go/src/go.sum +8 -8
  289. package/bin/go/src/hash/maphash/hasher.go +139 -0
  290. package/bin/go/src/hash/maphash/maphash.go +59 -4
  291. package/bin/go/src/html/template/attr_string.go +3 -2
  292. package/bin/go/src/html/template/delim_string.go +3 -2
  293. package/bin/go/src/html/template/element_string.go +3 -2
  294. package/bin/go/src/html/template/jsctx_string.go +3 -2
  295. package/bin/go/src/html/template/state_string.go +3 -2
  296. package/bin/go/src/html/template/template.go +7 -4
  297. package/bin/go/src/html/template/transition.go +1 -1
  298. package/bin/go/src/html/template/urlpart_string.go +3 -2
  299. package/bin/go/src/image/format.go +9 -0
  300. package/bin/go/src/image/gif/reader.go +18 -0
  301. package/bin/go/src/image/jpeg/huffman.go +22 -3
  302. package/bin/go/src/image/jpeg/reader.go +54 -29
  303. package/bin/go/src/image/jpeg/scan.go +68 -38
  304. package/bin/go/src/image/png/writer.go +8 -0
  305. package/bin/go/src/index/suffixarray/suffixarray.go +14 -6
  306. package/bin/go/src/internal/abi/abi_generic.go +1 -1
  307. package/bin/go/src/internal/abi/abi_s390x.go +0 -2
  308. package/bin/go/src/internal/abi/compiletype.go +30 -0
  309. package/bin/go/src/internal/abi/iface.go +13 -1
  310. package/bin/go/src/internal/abi/map.go +21 -3
  311. package/bin/go/src/internal/abi/type.go +136 -27
  312. package/bin/go/src/internal/buildcfg/exp.go +8 -8
  313. package/bin/go/src/internal/buildcfg/zbootstrap.go +1 -1
  314. package/bin/go/src/internal/bytealg/bytealg.go +16 -16
  315. package/bin/go/src/internal/bytealg/compare_s390x.s +0 -24
  316. package/bin/go/src/internal/bytealg/equal_s390x.s +0 -18
  317. package/bin/go/src/internal/bytealg/indexbyte_arm64.s +28 -0
  318. package/bin/go/src/internal/bytealg/indexbyte_s390x.s +0 -33
  319. package/bin/go/src/internal/coverage/encodemeta/encode.go +1 -1
  320. package/bin/go/src/internal/cpu/cpu.go +22 -7
  321. package/bin/go/src/internal/cpu/cpu_arm64.go +8 -1
  322. package/bin/go/src/internal/cpu/cpu_arm64.s +7 -0
  323. package/bin/go/src/internal/cpu/cpu_arm64_darwin.go +2 -0
  324. package/bin/go/src/internal/cpu/cpu_arm64_freebsd.go +2 -1
  325. package/bin/go/src/internal/cpu/cpu_arm64_hwcap.go +2 -0
  326. package/bin/go/src/internal/cpu/cpu_arm64_openbsd.go +6 -1
  327. package/bin/go/src/internal/cpu/cpu_arm64_other.go +1 -1
  328. package/bin/go/src/internal/cpu/cpu_arm64_windows.go +26 -0
  329. package/bin/go/src/internal/cpu/cpu_loong64.go +14 -2
  330. package/bin/go/src/internal/cpu/cpu_riscv64.go +10 -0
  331. package/bin/go/src/internal/cpu/cpu_riscv64_linux.go +21 -0
  332. package/bin/go/src/internal/cpu/cpu_windows.go +20 -0
  333. package/bin/go/src/internal/cpu/cpu_x86.go +2 -0
  334. package/bin/go/src/internal/filepathlite/path_windows.go +30 -17
  335. package/bin/go/src/internal/fuzz/fuzz.go +5 -1
  336. package/bin/go/src/internal/fuzz/mutator.go +2 -2
  337. package/bin/go/src/internal/fuzz/worker.go +1 -1
  338. package/bin/go/src/internal/gate/gate.go +76 -0
  339. package/bin/go/src/internal/godebugs/table.go +29 -10
  340. package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_off.go +8 -0
  341. package/bin/go/src/internal/goexperiment/exp_mapsplitgroup_on.go +8 -0
  342. package/bin/go/src/internal/goexperiment/flags.go +5 -3
  343. package/bin/go/src/internal/goversion/goversion.go +1 -1
  344. package/bin/go/src/internal/lazyregexp/lazyre.go +4 -0
  345. package/bin/go/src/internal/nettest/conn.go +437 -0
  346. package/bin/go/src/internal/nettest/listener.go +148 -0
  347. package/bin/go/src/internal/nettest/packetconn.go +250 -0
  348. package/bin/go/src/internal/nettest/queue.go +33 -0
  349. package/bin/go/src/internal/pkgbits/syncmarker_string.go +4 -4
  350. package/bin/go/src/internal/pkgbits/version.go +27 -1
  351. package/bin/go/src/internal/platform/supported.go +8 -10
  352. package/bin/go/src/internal/platform/zosarch.go +1 -3
  353. package/bin/go/src/internal/poll/fd_mutex.go +49 -10
  354. package/bin/go/src/internal/poll/fd_unix.go +6 -1
  355. package/bin/go/src/internal/poll/fd_windows.go +175 -191
  356. package/bin/go/src/internal/poll/fd_writev_libc.go +1 -1
  357. package/bin/go/src/internal/poll/fd_writev_unix.go +1 -1
  358. package/bin/go/src/internal/poll/file_plan9.go +4 -4
  359. package/bin/go/src/internal/poll/sendfile_windows.go +1 -3
  360. package/bin/go/src/internal/poll/splice_linux.go +1 -1
  361. package/bin/go/src/internal/profile/encode.go +1 -1
  362. package/bin/go/src/internal/profile/profile.go +5 -3
  363. package/bin/go/src/internal/profilerecord/profilerecord.go +2 -2
  364. package/bin/go/src/internal/reflectlite/value.go +1 -15
  365. package/bin/go/src/internal/runtime/atomic/atomic_386.go +0 -6
  366. package/bin/go/src/internal/runtime/atomic/atomic_amd64.go +0 -6
  367. package/bin/go/src/internal/runtime/atomic/atomic_andor_generic.go +0 -11
  368. package/bin/go/src/internal/runtime/atomic/atomic_arm.go +0 -6
  369. package/bin/go/src/internal/runtime/atomic/atomic_loong64.go +2 -2
  370. package/bin/go/src/internal/runtime/atomic/atomic_loong64.s +22 -11
  371. package/bin/go/src/internal/runtime/atomic/atomic_mipsx.go +0 -10
  372. package/bin/go/src/internal/runtime/atomic/atomic_riscv64.s +4 -4
  373. package/bin/go/src/internal/runtime/atomic/atomic_s390x.go +0 -6
  374. package/bin/go/src/internal/runtime/atomic/atomic_wasm.go +0 -31
  375. package/bin/go/src/internal/runtime/atomic/linkname.go +34 -0
  376. package/bin/go/src/internal/runtime/exithook/hooks.go +0 -4
  377. package/bin/go/src/internal/runtime/gc/scan/expand_amd64.s +2285 -2285
  378. package/bin/go/src/internal/runtime/gc/scan/mkasm.go +1 -1
  379. package/bin/go/src/internal/runtime/gc/scan/scan_amd64.go +2 -1
  380. package/bin/go/src/internal/runtime/gc/scan/scan_amd64.s +4 -2
  381. package/bin/go/src/internal/runtime/maps/group.go +22 -13
  382. package/bin/go/src/internal/runtime/maps/map.go +35 -14
  383. package/bin/go/src/internal/runtime/maps/memhash_386.s +408 -0
  384. package/bin/go/src/internal/runtime/maps/memhash_aes.go +38 -0
  385. package/bin/go/src/internal/runtime/maps/memhash_aes_asm.go +24 -0
  386. package/bin/go/src/internal/runtime/maps/memhash_aes_simd.go +49 -0
  387. package/bin/go/src/internal/runtime/maps/memhash_align_check.go +10 -0
  388. package/bin/go/src/internal/runtime/maps/memhash_align_nocheck.go +16 -0
  389. package/bin/go/src/internal/runtime/maps/memhash_amd64.s +426 -0
  390. package/bin/go/src/internal/runtime/maps/memhash_arm64.s +366 -0
  391. package/bin/go/src/internal/runtime/maps/memhash_noaes.go +43 -0
  392. package/bin/go/src/internal/runtime/maps/memhash_nosimd_amd64.s +33 -0
  393. package/bin/go/src/internal/runtime/maps/runtime.go +37 -88
  394. package/bin/go/src/internal/runtime/maps/runtime_alg.go +93 -0
  395. package/bin/go/src/internal/runtime/maps/runtime_fast32.go +111 -97
  396. package/bin/go/src/internal/runtime/maps/runtime_fast64.go +137 -98
  397. package/bin/go/src/internal/runtime/maps/runtime_faststr.go +96 -89
  398. package/bin/go/src/{runtime/hash32.go → internal/runtime/maps/runtime_hash32.go} +8 -10
  399. package/bin/go/src/{runtime/hash64.go → internal/runtime/maps/runtime_hash64.go} +8 -8
  400. package/bin/go/src/internal/runtime/maps/table.go +66 -3
  401. package/bin/go/src/internal/runtime/math/math.go +0 -21
  402. package/bin/go/src/internal/runtime/startlinetest/func_amd64.s +2 -1
  403. package/bin/go/src/internal/runtime/sys/dit_arm64.go +3 -0
  404. package/bin/go/src/internal/runtime/sys/dit_arm64.s +16 -3
  405. package/bin/go/src/internal/runtime/syscall/linux/asm_linux_s390x.s +0 -23
  406. package/bin/go/src/internal/runtime/syscall/windows/asm_windows_386.s +7 -4
  407. package/bin/go/src/internal/runtime/syscall/windows/asm_windows_amd64.s +10 -8
  408. package/bin/go/src/internal/runtime/syscall/windows/asm_windows_arm64.s +0 -1
  409. package/bin/go/src/internal/runtime/syscall/windows/defs_windows.go +4 -0
  410. package/bin/go/src/internal/runtime/syscall/windows/syscall_windows.go +7 -9
  411. package/bin/go/src/internal/strconv/atof.go +69 -42
  412. package/bin/go/src/internal/strconv/atoi.go +1 -0
  413. package/bin/go/src/internal/strconv/ftoa.go +329 -357
  414. package/bin/go/src/internal/strconv/itoa.go +53 -59
  415. package/bin/go/src/internal/strconv/pow10gen.go +15 -3
  416. package/bin/go/src/internal/strconv/pow10tab.go +670 -670
  417. package/bin/go/src/internal/strconv/uscale.go +290 -0
  418. package/bin/go/src/internal/stringslite/strings.go +14 -42
  419. package/bin/go/src/internal/syscall/unix/asm_openbsd.s +0 -2
  420. package/bin/go/src/internal/syscall/unix/at.go +1 -1
  421. package/bin/go/src/internal/syscall/unix/at_fstatat.go +1 -1
  422. package/bin/go/src/internal/syscall/unix/at_libc2.go +1 -1
  423. package/bin/go/src/internal/syscall/unix/at_openbsd.go +0 -2
  424. package/bin/go/src/internal/syscall/unix/faccessat_bsd.go +1 -1
  425. package/bin/go/src/internal/syscall/unix/faccessat_openbsd.go +0 -2
  426. package/bin/go/src/internal/syscall/windows/at_windows.go +5 -5
  427. package/bin/go/src/internal/syscall/windows/net_windows.go +1 -0
  428. package/bin/go/src/internal/syscall/windows/string_windows.go +6 -3
  429. package/bin/go/src/internal/syscall/windows/syscall_windows.go +2 -0
  430. package/bin/go/src/internal/syscall/windows/types_windows.go +89 -4
  431. package/bin/go/src/internal/syscall/windows/zsyscall_windows.go +7 -0
  432. package/bin/go/src/internal/testenv/testenv.go +24 -1
  433. package/bin/go/src/internal/trace/event.go +1 -1
  434. package/bin/go/src/internal/trace/tracev2/events.go +2 -0
  435. package/bin/go/src/internal/trace/traceviewer/pprof.go +1 -0
  436. package/bin/go/src/internal/types/errors/generrordocs.go +1 -1
  437. package/bin/go/src/io/fs/fs.go +4 -1
  438. package/bin/go/src/io/fs/glob.go +1 -1
  439. package/bin/go/src/io/fs/readdir.go +3 -3
  440. package/bin/go/src/io/fs/readfile.go +3 -3
  441. package/bin/go/src/io/fs/stat.go +1 -1
  442. package/bin/go/src/io/fs/sub.go +4 -2
  443. package/bin/go/src/iter/iter.go +2 -2
  444. package/bin/go/src/log/slog/handler.go +0 -1
  445. package/bin/go/src/log/slog/json_handler.go +7 -1
  446. package/bin/go/src/log/slog/logger.go +16 -0
  447. package/bin/go/src/log/slog/text_handler.go +10 -1
  448. package/bin/go/src/log/slog/value.go +1 -1
  449. package/bin/go/src/log/syslog/doc.go +5 -0
  450. package/bin/go/src/math/abs.go +1 -1
  451. package/bin/go/src/math/big/accuracy_string.go +4 -4
  452. package/bin/go/src/math/big/arith.go +1 -1
  453. package/bin/go/src/math/big/arith_loong64.s +2 -4
  454. package/bin/go/src/math/big/float.go +2 -0
  455. package/bin/go/src/math/big/ftoa.go +11 -5
  456. package/bin/go/src/math/big/int.go +84 -1
  457. package/bin/go/src/math/big/intconv.go +19 -4
  458. package/bin/go/src/math/big/internal/asmgen/loong64.go +2 -0
  459. package/bin/go/src/math/big/nat.go +68 -17
  460. package/bin/go/src/math/big/natdiv.go +8 -5
  461. package/bin/go/src/math/big/roundingmode_string.go +3 -2
  462. package/bin/go/src/math/copysign.go +1 -2
  463. package/bin/go/src/math/exp2_asm.go +1 -1
  464. package/bin/go/src/math/exp2_noasm.go +1 -1
  465. package/bin/go/src/math/exp_asm.go +1 -1
  466. package/bin/go/src/math/exp_loong64.s +4 -12
  467. package/bin/go/src/math/exp_noasm.go +1 -1
  468. package/bin/go/src/math/exp_riscv64.s +236 -0
  469. package/bin/go/src/math/nextafter.go +4 -2
  470. package/bin/go/src/math/pow10.go +1 -1
  471. package/bin/go/src/math/rand/v2/rand.go +14 -4
  472. package/bin/go/src/mime/type.go +3 -2
  473. package/bin/go/src/net/dial.go +10 -6
  474. package/bin/go/src/net/dnsclient_unix.go +37 -8
  475. package/bin/go/src/net/dnsconfig.go +6 -0
  476. package/bin/go/src/net/fd_plan9.go +13 -6
  477. package/bin/go/src/net/fd_unix.go +3 -7
  478. package/bin/go/src/net/fd_windows.go +4 -9
  479. package/bin/go/src/net/file_plan9.go +1 -1
  480. package/bin/go/src/net/file_posix.go +1 -5
  481. package/bin/go/src/net/http/client.go +21 -4
  482. package/bin/go/src/net/http/clientconn.go +20 -1
  483. package/bin/go/src/net/http/clone.go +1 -10
  484. package/bin/go/src/net/http/cookie.go +5 -6
  485. package/bin/go/src/net/http/cookiejar/jar.go +6 -4
  486. package/bin/go/src/net/http/fcgi/fcgi.go +1 -2
  487. package/bin/go/src/net/http/fs.go +8 -1
  488. package/bin/go/src/net/http/http.go +29 -12
  489. package/bin/go/src/net/http/http2.go +561 -0
  490. package/bin/go/src/net/http/httptest/server.go +305 -60
  491. package/bin/go/src/net/http/httptrace/trace.go +78 -27
  492. package/bin/go/src/net/http/httputil/reverseproxy.go +0 -30
  493. package/bin/go/src/net/http/internal/common.go +14 -0
  494. package/bin/go/src/net/http/internal/http2/api.go +161 -0
  495. package/bin/go/src/net/http/internal/http2/ascii.go +53 -0
  496. package/bin/go/src/net/http/internal/http2/ciphers.go +641 -0
  497. package/bin/go/src/net/http/internal/http2/client_conn_pool.go +285 -0
  498. package/bin/go/src/net/http/internal/http2/config.go +118 -0
  499. package/bin/go/src/net/http/internal/http2/databuffer.go +146 -0
  500. package/bin/go/src/net/http/internal/http2/errors.go +173 -0
  501. package/bin/go/src/net/http/internal/http2/flow.go +175 -0
  502. package/bin/go/src/net/http/internal/http2/frame.go +1905 -0
  503. package/bin/go/src/net/http/internal/http2/gotrack.go +181 -0
  504. package/bin/go/src/net/http/internal/http2/http2.go +403 -0
  505. package/bin/go/src/net/http/internal/http2/pipe.go +184 -0
  506. package/bin/go/src/net/http/internal/http2/server.go +3238 -0
  507. package/bin/go/src/net/http/internal/http2/transport.go +3267 -0
  508. package/bin/go/src/net/http/internal/http2/write.go +380 -0
  509. package/bin/go/src/net/http/internal/http2/writesched.go +289 -0
  510. package/bin/go/src/net/http/internal/http2/writesched_priority_rfc9218.go +224 -0
  511. package/bin/go/src/net/http/internal/http2/writesched_roundrobin.go +119 -0
  512. package/bin/go/src/net/http/internal/httpcommon/httpcommon.go +8 -0
  513. package/bin/go/src/net/http/internal/httpsfv/httpsfv.go +666 -0
  514. package/bin/go/src/net/http/internal/sniff.go +304 -0
  515. package/bin/go/src/net/http/omithttp2.go +28 -49
  516. package/bin/go/src/net/http/pprof/pprof.go +11 -17
  517. package/bin/go/src/net/http/request.go +30 -3
  518. package/bin/go/src/net/http/response.go +6 -2
  519. package/bin/go/src/net/http/server.go +366 -144
  520. package/bin/go/src/net/http/sniff.go +2 -289
  521. package/bin/go/src/net/http/transfer.go +64 -21
  522. package/bin/go/src/net/http/transport.go +288 -83
  523. package/bin/go/src/net/ip.go +4 -0
  524. package/bin/go/src/net/ipsock_plan9.go +4 -4
  525. package/bin/go/src/net/ipsock_posix.go +8 -2
  526. package/bin/go/src/net/lookup.go +10 -0
  527. package/bin/go/src/net/lookup_windows.go +1 -1
  528. package/bin/go/src/net/mail/message.go +8 -3
  529. package/bin/go/src/net/net.go +2 -0
  530. package/bin/go/src/net/netip/netip.go +68 -61
  531. package/bin/go/src/net/sock_posix.go +1 -4
  532. package/bin/go/src/net/textproto/reader.go +11 -3
  533. package/bin/go/src/net/udpsock_plan9.go +2 -7
  534. package/bin/go/src/net/unixsock.go +11 -3
  535. package/bin/go/src/net/url/url.go +33 -0
  536. package/bin/go/src/os/dir_darwin.go +7 -0
  537. package/bin/go/src/os/exec/exec.go +16 -2
  538. package/bin/go/src/os/exec.go +1 -0
  539. package/bin/go/src/os/file.go +8 -1
  540. package/bin/go/src/os/root_windows.go +5 -1
  541. package/bin/go/src/os/signal/doc.go +3 -2
  542. package/bin/go/src/os/signal/signal.go +18 -6
  543. package/bin/go/src/os/statat_unix.go +5 -1
  544. package/bin/go/src/path/filepath/path.go +4 -0
  545. package/bin/go/src/reflect/asm_s390x.s +0 -10
  546. package/bin/go/src/reflect/iter.go +13 -13
  547. package/bin/go/src/reflect/makefunc.go +2 -1
  548. package/bin/go/src/reflect/map.go +61 -18
  549. package/bin/go/src/reflect/type.go +63 -46
  550. package/bin/go/src/reflect/value.go +59 -16
  551. package/bin/go/src/regexp/exec.go +5 -5
  552. package/bin/go/src/regexp/regexp.go +382 -319
  553. package/bin/go/src/regexp/syntax/parse.go +19 -10
  554. package/bin/go/src/runtime/HACKING.md +19 -0
  555. package/bin/go/src/runtime/_mkmalloc/constants.go +6 -4
  556. package/bin/go/src/runtime/_mkmalloc/go.mod +1 -1
  557. package/bin/go/src/runtime/_mkmalloc/mkmalloc.go +405 -64
  558. package/bin/go/src/runtime/alg.go +21 -53
  559. package/bin/go/src/runtime/asm_386.s +11 -461
  560. package/bin/go/src/runtime/asm_amd64.s +30 -537
  561. package/bin/go/src/runtime/asm_arm.s +4 -39
  562. package/bin/go/src/runtime/asm_arm64.s +15 -428
  563. package/bin/go/src/runtime/asm_loong64.s +37 -47
  564. package/bin/go/src/runtime/asm_mips64x.s +15 -15
  565. package/bin/go/src/runtime/asm_mipsx.s +0 -15
  566. package/bin/go/src/runtime/asm_ppc64x.h +0 -16
  567. package/bin/go/src/runtime/asm_ppc64x.s +13 -59
  568. package/bin/go/src/runtime/asm_riscv64.s +30 -91
  569. package/bin/go/src/runtime/asm_s390x.s +49 -49
  570. package/bin/go/src/runtime/asm_wasm.s +0 -15
  571. package/bin/go/src/runtime/atomic_riscv64.s +1 -1
  572. package/bin/go/src/runtime/cgo/abi_riscv64.h +72 -0
  573. package/bin/go/src/runtime/cgo/asm_riscv64.s +7 -48
  574. package/bin/go/src/runtime/cgo/callbacks.go +0 -42
  575. package/bin/go/src/runtime/cgo/callbacks_unix.go +58 -0
  576. package/bin/go/src/runtime/cgo/cgo.go +6 -3
  577. package/bin/go/src/runtime/cgo/gcc_aix_ppc64.S +21 -9
  578. package/bin/go/src/runtime/cgo/gcc_android.c +0 -26
  579. package/bin/go/src/runtime/cgo/gcc_clearenv.c +1 -1
  580. package/bin/go/src/runtime/cgo/gcc_fatalf.c +14 -3
  581. package/bin/go/src/runtime/cgo/{gcc_libinit.c → gcc_libinit_unix.c} +18 -65
  582. package/bin/go/src/runtime/cgo/gcc_libinit_windows.c +23 -35
  583. package/bin/go/src/runtime/cgo/gcc_linux_ppc64x.S +16 -7
  584. package/bin/go/src/runtime/cgo/gcc_netbsd.c +8 -56
  585. package/bin/go/src/runtime/cgo/gcc_s390x.S +13 -4
  586. package/bin/go/src/runtime/cgo/gcc_sigaction.c +1 -1
  587. package/bin/go/src/runtime/cgo/gcc_unix.c +63 -0
  588. package/bin/go/src/runtime/cgo/gcc_util.c +0 -19
  589. package/bin/go/src/runtime/cgo/handle.go +3 -0
  590. package/bin/go/src/runtime/cgo/libcgo.h +7 -10
  591. package/bin/go/src/runtime/cgo/libcgo_unix.h +2 -10
  592. package/bin/go/src/runtime/cgo/pthread_unix.c +138 -0
  593. package/bin/go/src/runtime/cgo/sigaction.go +1 -1
  594. package/bin/go/src/runtime/cgo/windows.go +18 -1
  595. package/bin/go/src/runtime/cgo_ppc64x.go +1 -1
  596. package/bin/go/src/runtime/cgo_sigaction.go +1 -1
  597. package/bin/go/src/runtime/cgocall.go +10 -2
  598. package/bin/go/src/runtime/chan.go +2 -16
  599. package/bin/go/src/runtime/coro.go +2 -2
  600. package/bin/go/src/runtime/cpuflags.go +4 -3
  601. package/bin/go/src/runtime/debug/garbage.go +6 -6
  602. package/bin/go/src/runtime/debug/mod.go +1 -1
  603. package/bin/go/src/runtime/debug/stack.go +1 -1
  604. package/bin/go/src/runtime/debugcall.go +0 -3
  605. package/bin/go/src/runtime/error.go +6 -0
  606. package/bin/go/src/runtime/extern.go +5 -3
  607. package/bin/go/src/runtime/heapdump.go +1 -1
  608. package/bin/go/src/runtime/iface.go +20 -10
  609. package/bin/go/src/runtime/libinit.go +48 -0
  610. package/bin/go/src/runtime/lock_js.go +4 -2
  611. package/bin/go/src/runtime/lock_spinbit.go +13 -12
  612. package/bin/go/src/runtime/lock_wasip1.go +4 -2
  613. package/bin/go/src/runtime/lockrank.go +24 -21
  614. package/bin/go/src/runtime/lockrank_off.go +5 -2
  615. package/bin/go/src/runtime/lockrank_on.go +8 -7
  616. package/bin/go/src/runtime/malloc.go +10 -26
  617. package/bin/go/src/runtime/malloc_generated.go +819 -8628
  618. package/bin/go/src/runtime/malloc_stubs.go +187 -197
  619. package/bin/go/src/runtime/malloc_tables_generated.go +16 -882
  620. package/bin/go/src/runtime/map.go +4 -4
  621. package/bin/go/src/runtime/mbitmap.go +3 -1
  622. package/bin/go/src/runtime/mem.go +2 -6
  623. package/bin/go/src/runtime/mem_sbrk.go +4 -0
  624. package/bin/go/src/runtime/memclr_s390x.s +0 -5
  625. package/bin/go/src/runtime/memmove_s390x.s +0 -7
  626. package/bin/go/src/runtime/metrics/doc.go +5 -29
  627. package/bin/go/src/runtime/metrics/sample.go +3 -0
  628. package/bin/go/src/runtime/metrics.go +3 -2
  629. package/bin/go/src/runtime/mgc.go +41 -25
  630. package/bin/go/src/runtime/mgcmark.go +5 -0
  631. package/bin/go/src/runtime/mgcmark_greenteagc.go +1 -1
  632. package/bin/go/src/runtime/mgcpacer.go +1 -3
  633. package/bin/go/src/runtime/mgcscavenge.go +1 -1
  634. package/bin/go/src/runtime/mheap.go +1 -10
  635. package/bin/go/src/runtime/mklockrank.go +6 -1
  636. package/bin/go/src/runtime/mkpreempt.go +7 -0
  637. package/bin/go/src/runtime/mprof.go +12 -23
  638. package/bin/go/src/runtime/os2_aix.go +3 -3
  639. package/bin/go/src/runtime/os3_solaris.go +10 -0
  640. package/bin/go/src/runtime/os_aix.go +9 -2
  641. package/bin/go/src/runtime/os_darwin.go +3 -8
  642. package/bin/go/src/runtime/os_dragonfly.go +10 -0
  643. package/bin/go/src/runtime/os_js.go +10 -0
  644. package/bin/go/src/runtime/os_linux32.go +19 -6
  645. package/bin/go/src/runtime/os_netbsd.go +10 -0
  646. package/bin/go/src/runtime/os_openbsd.go +10 -0
  647. package/bin/go/src/runtime/os_plan9.go +10 -0
  648. package/bin/go/src/runtime/os_wasip1.go +10 -0
  649. package/bin/go/src/runtime/os_windows.go +45 -12
  650. package/bin/go/src/runtime/os_workdir_ios_arm64.go +98 -0
  651. package/bin/go/src/runtime/os_workdir_stub.go +9 -0
  652. package/bin/go/src/runtime/panic.go +93 -8
  653. package/bin/go/src/runtime/plugin.go +1 -3
  654. package/bin/go/src/runtime/pprof/pprof.go +11 -14
  655. package/bin/go/src/runtime/pprof/protomem.go +8 -15
  656. package/bin/go/src/runtime/preempt_loong64.s +8 -4
  657. package/bin/go/src/runtime/preempt_noxreg.go +2 -0
  658. package/bin/go/src/runtime/preempt_xreg.go +29 -2
  659. package/bin/go/src/runtime/print.go +9 -1
  660. package/bin/go/src/runtime/proc.go +68 -17
  661. package/bin/go/src/runtime/race_riscv64.s +40 -83
  662. package/bin/go/src/runtime/race_s390x.s +0 -16
  663. package/bin/go/src/runtime/rand.go +40 -12
  664. package/bin/go/src/runtime/{rt0_linux_ppc64le.s → rt0_linux_ppc64x.s} +12 -2
  665. package/bin/go/src/runtime/runtime-gdb.py +13 -2
  666. package/bin/go/src/runtime/runtime1.go +69 -18
  667. package/bin/go/src/runtime/runtime2.go +23 -22
  668. package/bin/go/src/runtime/secret/secret.go +7 -2
  669. package/bin/go/src/runtime/secret.go +27 -9
  670. package/bin/go/src/runtime/secret_nosecret.go +1 -1
  671. package/bin/go/src/runtime/sigaction.go +1 -1
  672. package/bin/go/src/runtime/signal_unix.go +5 -3
  673. package/bin/go/src/runtime/softfloat64.go +7 -2
  674. package/bin/go/src/runtime/string.go +4 -1
  675. package/bin/go/src/runtime/stubs.go +14 -4
  676. package/bin/go/src/runtime/stubs_amd64.go +4 -0
  677. package/bin/go/src/runtime/stubs_arm.go +10 -1
  678. package/bin/go/src/runtime/stubs_arm64.go +13 -0
  679. package/bin/go/src/runtime/stubs_loong64.go +18 -0
  680. package/bin/go/src/runtime/stubs_mips64x.go +9 -0
  681. package/bin/go/src/runtime/stubs_mipsx.go +11 -0
  682. package/bin/go/src/runtime/stubs_ppc64x.go +15 -0
  683. package/bin/go/src/runtime/stubs_riscv64.go +13 -0
  684. package/bin/go/src/runtime/stubs_s390x.go +18 -0
  685. package/bin/go/src/runtime/symtab.go +15 -16
  686. package/bin/go/src/runtime/synctest.go +2 -4
  687. package/bin/go/src/runtime/sys_aix_ppc64.s +9 -0
  688. package/bin/go/src/runtime/sys_darwin.go +2 -20
  689. package/bin/go/src/runtime/sys_darwin_amd64.s +1 -4
  690. package/bin/go/src/runtime/sys_darwin_arm64.s +3 -6
  691. package/bin/go/src/runtime/sys_freebsd_riscv64.s +2 -2
  692. package/bin/go/src/runtime/sys_ios_arm64.go +151 -0
  693. package/bin/go/src/runtime/sys_ios_arm64.s +78 -0
  694. package/bin/go/src/runtime/sys_linux_amd64.s +7 -1
  695. package/bin/go/src/runtime/sys_linux_loong64.s +8 -14
  696. package/bin/go/src/runtime/sys_linux_ppc64x.s +0 -12
  697. package/bin/go/src/runtime/sys_linux_riscv64.s +2 -2
  698. package/bin/go/src/runtime/sys_openbsd.go +1 -1
  699. package/bin/go/src/runtime/sys_openbsd_riscv64.s +16 -16
  700. package/bin/go/src/runtime/syscall_windows.go +2 -6
  701. package/bin/go/src/runtime/time.go +19 -57
  702. package/bin/go/src/runtime/trace/subscribe.go +0 -3
  703. package/bin/go/src/runtime/traceback.go +90 -13
  704. package/bin/go/src/runtime/traceregion.go +3 -3
  705. package/bin/go/src/runtime/tracestring.go +5 -0
  706. package/bin/go/src/runtime/type.go +85 -15
  707. package/bin/go/src/runtime/utf8.go +2 -2
  708. package/bin/go/src/simd/archsimd/_gen/go.mod +2 -2
  709. package/bin/go/src/simd/archsimd/_gen/go.sum +2 -2
  710. package/bin/go/src/simd/archsimd/_gen/main.go +106 -15
  711. package/bin/go/src/simd/archsimd/_gen/midway/comments.yaml +151 -0
  712. package/bin/go/src/simd/archsimd/_gen/midway/intersect_simd_ops.go +836 -0
  713. package/bin/go/src/simd/archsimd/_gen/sgutil/asbits.go +139 -0
  714. package/bin/go/src/simd/archsimd/_gen/sgutil/compare_natural.go +73 -0
  715. package/bin/go/src/simd/archsimd/_gen/sgutil/formatted_files.go +66 -0
  716. package/bin/go/src/simd/archsimd/_gen/sgutil/insert_ordered_map.go +159 -0
  717. package/bin/go/src/simd/archsimd/_gen/sgutil/merge_generic_ops.go +245 -0
  718. package/bin/go/src/simd/archsimd/_gen/simdgen/arch.go +173 -0
  719. package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/emit.go +166 -0
  720. package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/instruction.go +642 -0
  721. package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/load.go +54 -0
  722. package/bin/go/src/simd/archsimd/_gen/simdgen/arm64/operands.go +406 -0
  723. package/bin/go/src/simd/archsimd/_gen/simdgen/etetest.sh +1 -1
  724. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdGenericOps.go +19 -52
  725. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdIntrinsics.go +162 -98
  726. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdMachineOps.go +50 -19
  727. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdTypes.go +198 -140
  728. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdrules.go +278 -57
  729. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_simdssa.go +133 -68
  730. package/bin/go/src/simd/archsimd/_gen/simdgen/gen_utility.go +163 -30
  731. package/bin/go/src/simd/archsimd/_gen/simdgen/go_amd64.yaml +1 -0
  732. package/bin/go/src/simd/archsimd/_gen/simdgen/go_arm64.yaml +1 -0
  733. package/bin/go/src/simd/archsimd/_gen/simdgen/godefs.go +113 -15
  734. package/bin/go/src/simd/archsimd/_gen/simdgen/main.go +62 -17
  735. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/categories.yaml +12 -12
  736. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/{go.yaml → go_amd64.yaml} +12 -12
  737. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/AddSub/go_arm64.yaml +91 -0
  738. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/categories.yaml +11 -3
  739. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/go_arm64.yaml +43 -0
  740. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/go_arm64.yaml +81 -0
  741. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/categories.yaml +11 -6
  742. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/{go.yaml → go_amd64.yaml} +8 -8
  743. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Converts/go_arm64.yaml +358 -0
  744. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/categories.yaml +5 -5
  745. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/{go.yaml → go_amd64.yaml} +4 -4
  746. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/FPonlyArith/go_arm64.yaml +52 -0
  747. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/categories.yaml +29 -11
  748. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/{go.yaml → go_amd64.yaml} +1 -0
  749. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/GaloisField/go_arm64.yaml +10 -0
  750. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/categories.yaml +2 -5
  751. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/{go.yaml → go_amd64.yaml} +2 -3
  752. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/IntOnlyArith/go_arm64.yaml +35 -0
  753. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml +5 -8
  754. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/{go.yaml → go_amd64.yaml} +7 -5
  755. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MLOps/go_arm64.yaml +31 -0
  756. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/go_arm64.yaml +61 -0
  757. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/categories.yaml +79 -23
  758. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/{go.yaml → go_amd64.yaml} +213 -104
  759. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Moves/go_arm64.yaml +264 -0
  760. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/categories.yaml +6 -2
  761. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/{go.yaml → go_amd64.yaml} +3 -3
  762. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Mul/go_arm64.yaml +38 -0
  763. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/categories.yaml +7 -0
  764. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/NegAbs/go_arm64.yaml +36 -0
  765. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/categories.yaml +5 -1
  766. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/go_arm64.yaml +19 -0
  767. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/categories.yaml +16 -0
  768. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Reduce/go_arm64.yaml +71 -0
  769. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/categories.yaml +156 -41
  770. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_amd64.yaml +299 -0
  771. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go_arm64.yaml +202 -0
  772. package/bin/go/src/simd/archsimd/_gen/simdgen/types.yaml +2 -0
  773. package/bin/go/src/simd/archsimd/_gen/simdgen/xed.go +44 -11
  774. package/bin/go/src/simd/archsimd/_gen/tmplgen/main.go +668 -123
  775. package/bin/go/src/simd/archsimd/_gen/unify/closure.go +1 -1
  776. package/bin/go/src/simd/archsimd/_gen/unify/env.go +35 -3
  777. package/bin/go/src/simd/archsimd/_gen/unify/yaml.go +4 -4
  778. package/bin/go/src/simd/archsimd/_gen/wasmgen/main.go +2064 -0
  779. package/bin/go/src/simd/archsimd/clmul_arm64.go +79 -0
  780. package/bin/go/src/simd/archsimd/clmul_emulated.go +103 -0
  781. package/bin/go/src/simd/archsimd/compare_gen_arm64.go +155 -0
  782. package/bin/go/src/simd/archsimd/cpu.go +1 -1
  783. package/bin/go/src/simd/archsimd/cpu_other.go +21 -0
  784. package/bin/go/src/simd/archsimd/doc.go +0 -2
  785. package/bin/go/src/simd/archsimd/dummy.s +1 -1
  786. package/bin/go/src/simd/archsimd/generate.go +1 -1
  787. package/bin/go/src/simd/archsimd/internal/test_helpers/checkslices.go +2 -2
  788. package/bin/go/src/simd/archsimd/maskmerge_gen_amd64.go +330 -0
  789. package/bin/go/src/simd/archsimd/maskmerge_gen_arm64.go +167 -0
  790. package/bin/go/src/simd/archsimd/ops_amd64.go +4210 -2475
  791. package/bin/go/src/simd/archsimd/ops_arm64.go +2186 -0
  792. package/bin/go/src/simd/archsimd/ops_emulated_amd64.go +205 -0
  793. package/bin/go/src/simd/archsimd/ops_emulated_wasm.go +212 -0
  794. package/bin/go/src/simd/archsimd/ops_internal_amd64.go +500 -56
  795. package/bin/go/src/simd/archsimd/ops_internal_arm64.go +234 -0
  796. package/bin/go/src/simd/archsimd/ops_wasm.go +1795 -0
  797. package/bin/go/src/simd/archsimd/other_gen_amd64.go +576 -72
  798. package/bin/go/src/simd/archsimd/other_gen_arm64.go +519 -0
  799. package/bin/go/src/simd/archsimd/shuffles_amd64.go +217 -76
  800. package/bin/go/src/simd/archsimd/slice_gen_amd64.go +594 -532
  801. package/bin/go/src/simd/archsimd/slice_gen_arm64.go +125 -0
  802. package/bin/go/src/simd/archsimd/slicepart_128.go +302 -0
  803. package/bin/go/src/simd/archsimd/slicepart_amd64.go +36 -235
  804. package/bin/go/src/simd/archsimd/slicepart_arm64.go +217 -0
  805. package/bin/go/src/simd/archsimd/slicepart_wasm.go +217 -0
  806. package/bin/go/src/simd/archsimd/string.go +1 -1
  807. package/bin/go/src/simd/archsimd/types_amd64.go +165 -341
  808. package/bin/go/src/simd/archsimd/types_arm64.go +224 -0
  809. package/bin/go/src/simd/archsimd/types_wasm.go +354 -0
  810. package/bin/go/src/simd/archsimd/unsafe_helpers.go +60 -0
  811. package/bin/go/src/simd/doc.go +91 -0
  812. package/bin/go/src/simd/dummy.s +7 -0
  813. package/bin/go/src/simd/internal/bridge/decls_amd64.go +4085 -0
  814. package/bin/go/src/simd/internal/bridge/decls_arm64.go +1369 -0
  815. package/bin/go/src/simd/internal/bridge/decls_wasm.go +1369 -0
  816. package/bin/go/src/simd/internal/bridge/import_hook.go +13 -0
  817. package/bin/go/src/simd/internal/bridge/simd_emulated.go +3275 -0
  818. package/bin/go/src/simd/internal/bridge/simd_types_emulated.go +95 -0
  819. package/bin/go/src/simd/internal/bridge/tofrom_128.go +65 -0
  820. package/bin/go/src/simd/internal/bridge/tofrom_amd64.go +123 -0
  821. package/bin/go/src/simd/internal/bridge/tofrom_emulated.go +63 -0
  822. package/bin/go/src/simd/midway_amd64.go +34 -0
  823. package/bin/go/src/simd/midway_arm64.go +22 -0
  824. package/bin/go/src/simd/midway_common.go +138 -0
  825. package/bin/go/src/simd/midway_wasm.go +13 -0
  826. package/bin/go/src/simd/simd_emulated.go +3275 -0
  827. package/bin/go/src/simd/simd_stubs.go +1041 -0
  828. package/bin/go/src/simd/simd_types.go +96 -0
  829. package/bin/go/src/simd/tofrom_amd64.go +374 -0
  830. package/bin/go/src/simd/tofrom_arm64.go +290 -0
  831. package/bin/go/src/simd/tofrom_wasm.go +290 -0
  832. package/bin/go/src/slices/slices.go +9 -7
  833. package/bin/go/src/strconv/isprint.go +81 -51
  834. package/bin/go/src/strings/builder.go +1 -1
  835. package/bin/go/src/strings/strings.go +44 -35
  836. package/bin/go/src/sync/atomic/doc.go +7 -0
  837. package/bin/go/src/sync/cond.go +4 -2
  838. package/bin/go/src/sync/pool.go +6 -15
  839. package/bin/go/src/sync/runtime2_lockrank.go +1 -2
  840. package/bin/go/src/syscall/exec_bsd.go +3 -3
  841. package/bin/go/src/syscall/exec_libc2.go +1 -1
  842. package/bin/go/src/syscall/exec_linux.go +7 -2
  843. package/bin/go/src/syscall/fs_js.go +9 -4
  844. package/bin/go/src/syscall/fs_wasip1.go +6 -0
  845. package/bin/go/src/syscall/js/js.go +2 -2
  846. package/bin/go/src/syscall/linkname_bsd.go +8 -0
  847. package/bin/go/src/syscall/linkname_libc.go +1 -1
  848. package/bin/go/src/syscall/linkname_openbsd.go +0 -2
  849. package/bin/go/src/syscall/mkall.sh +6 -17
  850. package/bin/go/src/syscall/syscall_aix.go +5 -0
  851. package/bin/go/src/syscall/syscall_linux_386.go +9 -0
  852. package/bin/go/src/syscall/syscall_linux_amd64.go +5 -0
  853. package/bin/go/src/syscall/syscall_linux_arm.go +4 -0
  854. package/bin/go/src/syscall/syscall_linux_arm64.go +3 -0
  855. package/bin/go/src/syscall/syscall_linux_loong64.go +3 -0
  856. package/bin/go/src/syscall/syscall_linux_mipsx.go +4 -0
  857. package/bin/go/src/syscall/syscall_linux_riscv64.go +3 -0
  858. package/bin/go/src/syscall/syscall_linux_s390x.go +5 -0
  859. package/bin/go/src/syscall/syscall_openbsd.go +77 -2
  860. package/bin/go/src/syscall/syscall_plan9.go +25 -0
  861. package/bin/go/src/syscall/syscall_solaris.go +11 -0
  862. package/bin/go/src/syscall/syscall_unix.go +19 -0
  863. package/bin/go/src/syscall/syscall_windows.go +1 -1
  864. package/bin/go/src/testing/synctest/synctest.go +21 -0
  865. package/bin/go/src/testing/testing.go +211 -52
  866. package/bin/go/src/text/template/parse/lex.go +6 -6
  867. package/bin/go/src/text/template/parse/node.go +21 -16
  868. package/bin/go/src/text/template/parse/parse.go +23 -6
  869. package/bin/go/src/text/template/template.go +5 -3
  870. package/bin/go/src/time/format.go +3 -0
  871. package/bin/go/src/time/sleep.go +0 -33
  872. package/bin/go/src/time/tick.go +3 -2
  873. package/bin/go/src/time/time.go +2 -2
  874. package/bin/go/src/time/tzdata/zzipdata.go +1 -1
  875. package/bin/go/src/time/zoneinfo.go +5 -4
  876. package/bin/go/src/time/zoneinfo_read.go +1 -1
  877. package/bin/go/src/unicode/tables.go +898 -417
  878. package/bin/go/src/uuid/uuid.go +273 -0
  879. package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.go +3 -3
  880. package/bin/go/src/vendor/golang.org/x/crypto/chacha20poly1305/chacha20poly1305_amd64.s +2066 -6598
  881. package/bin/go/src/vendor/golang.org/x/crypto/hkdf/hkdf.go +100 -0
  882. package/bin/go/src/vendor/golang.org/x/net/dns/dnsmessage/message.go +5 -4
  883. package/bin/go/src/vendor/golang.org/x/net/http/httpproxy/proxy.go +4 -4
  884. package/bin/go/src/vendor/golang.org/x/net/http3/http3.go +46 -0
  885. package/bin/go/src/vendor/golang.org/x/net/idna/{idna10.0.0.go → idna.go} +133 -35
  886. package/bin/go/src/vendor/golang.org/x/net/idna/punycode.go +4 -1
  887. package/bin/go/src/vendor/golang.org/x/net/idna/tables15.0.0.go +1 -1
  888. package/bin/go/src/vendor/golang.org/x/net/idna/tables17.0.0.go +5302 -0
  889. package/bin/go/src/vendor/golang.org/x/net/internal/http3/body.go +231 -0
  890. package/bin/go/src/vendor/golang.org/x/net/internal/http3/conn.go +131 -0
  891. package/bin/go/src/vendor/golang.org/x/net/internal/http3/doc.go +10 -0
  892. package/bin/go/src/vendor/golang.org/x/net/internal/http3/errors.go +102 -0
  893. package/bin/go/src/vendor/golang.org/x/net/internal/http3/http3.go +95 -0
  894. package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack.go +356 -0
  895. package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_decode.go +81 -0
  896. package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_encode.go +61 -0
  897. package/bin/go/src/vendor/golang.org/x/net/internal/http3/qpack_static.go +142 -0
  898. package/bin/go/src/vendor/golang.org/x/net/internal/http3/quic.go +40 -0
  899. package/bin/go/src/vendor/golang.org/x/net/internal/http3/roundtrip.go +423 -0
  900. package/bin/go/src/vendor/golang.org/x/net/internal/http3/server.go +866 -0
  901. package/bin/go/src/vendor/golang.org/x/net/internal/http3/settings.go +66 -0
  902. package/bin/go/src/vendor/golang.org/x/net/internal/http3/stream.go +260 -0
  903. package/bin/go/src/vendor/golang.org/x/net/internal/http3/transport.go +333 -0
  904. package/bin/go/src/vendor/golang.org/x/net/internal/http3/varint.go +23 -0
  905. package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  906. package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  907. package/bin/go/src/vendor/golang.org/x/net/internal/httpcommon/request.go +475 -0
  908. package/bin/go/src/vendor/golang.org/x/net/internal/quic/quicwire/wire.go +150 -0
  909. package/bin/go/src/vendor/golang.org/x/net/quic/ack_delay.go +26 -0
  910. package/bin/go/src/vendor/golang.org/x/net/quic/acks.go +213 -0
  911. package/bin/go/src/vendor/golang.org/x/net/quic/atomic_bits.go +31 -0
  912. package/bin/go/src/vendor/golang.org/x/net/quic/config.go +158 -0
  913. package/bin/go/src/vendor/golang.org/x/net/quic/congestion_reno.go +306 -0
  914. package/bin/go/src/vendor/golang.org/x/net/quic/conn.go +434 -0
  915. package/bin/go/src/vendor/golang.org/x/net/quic/conn_close.go +340 -0
  916. package/bin/go/src/vendor/golang.org/x/net/quic/conn_flow.go +142 -0
  917. package/bin/go/src/vendor/golang.org/x/net/quic/conn_id.go +502 -0
  918. package/bin/go/src/vendor/golang.org/x/net/quic/conn_loss.go +85 -0
  919. package/bin/go/src/vendor/golang.org/x/net/quic/conn_recv.go +631 -0
  920. package/bin/go/src/vendor/golang.org/x/net/quic/conn_send.go +407 -0
  921. package/bin/go/src/vendor/golang.org/x/net/quic/conn_streams.go +483 -0
  922. package/bin/go/src/vendor/golang.org/x/net/quic/crypto_stream.go +157 -0
  923. package/bin/go/src/vendor/golang.org/x/net/quic/dgram.go +53 -0
  924. package/bin/go/src/vendor/golang.org/x/net/quic/doc.go +50 -0
  925. package/bin/go/src/vendor/golang.org/x/net/quic/endpoint.go +478 -0
  926. package/bin/go/src/vendor/golang.org/x/net/quic/errors.go +129 -0
  927. package/bin/go/src/vendor/golang.org/x/net/quic/frame_debug.go +730 -0
  928. package/bin/go/src/vendor/golang.org/x/net/quic/gate.go +86 -0
  929. package/bin/go/src/vendor/golang.org/x/net/quic/idle.go +168 -0
  930. package/bin/go/src/vendor/golang.org/x/net/quic/log.go +67 -0
  931. package/bin/go/src/vendor/golang.org/x/net/quic/loss.go +521 -0
  932. package/bin/go/src/{runtime/cgo/gcc_stack_windows.c → vendor/golang.org/x/net/quic/math.go} +7 -2
  933. package/bin/go/src/vendor/golang.org/x/net/quic/pacer.go +129 -0
  934. package/bin/go/src/vendor/golang.org/x/net/quic/packet.go +267 -0
  935. package/bin/go/src/vendor/golang.org/x/net/quic/packet_number.go +72 -0
  936. package/bin/go/src/vendor/golang.org/x/net/quic/packet_parser.go +519 -0
  937. package/bin/go/src/vendor/golang.org/x/net/quic/packet_protection.go +539 -0
  938. package/bin/go/src/vendor/golang.org/x/net/quic/packet_writer.go +566 -0
  939. package/bin/go/src/vendor/golang.org/x/net/quic/path.go +87 -0
  940. package/bin/go/src/vendor/golang.org/x/net/quic/ping.go +14 -0
  941. package/bin/go/src/vendor/golang.org/x/net/quic/pipe.go +173 -0
  942. package/bin/go/src/vendor/golang.org/x/net/quic/qlog.go +272 -0
  943. package/bin/go/src/vendor/golang.org/x/net/quic/queue.go +63 -0
  944. package/bin/go/src/vendor/golang.org/x/net/quic/quic.go +221 -0
  945. package/bin/go/src/vendor/golang.org/x/net/quic/race_disabled.go +10 -0
  946. package/bin/go/src/vendor/golang.org/x/net/quic/race_enabled.go +27 -0
  947. package/bin/go/src/vendor/golang.org/x/net/quic/rangeset.go +193 -0
  948. package/bin/go/src/vendor/golang.org/x/net/quic/retry.go +240 -0
  949. package/bin/go/src/vendor/golang.org/x/net/quic/rtt.go +71 -0
  950. package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet.go +119 -0
  951. package/bin/go/src/vendor/golang.org/x/net/quic/sent_packet_list.go +93 -0
  952. package/bin/go/src/vendor/golang.org/x/net/quic/sent_val.go +103 -0
  953. package/bin/go/src/vendor/golang.org/x/net/quic/skip.go +62 -0
  954. package/bin/go/src/vendor/golang.org/x/net/quic/stateless_reset.go +59 -0
  955. package/bin/go/src/vendor/golang.org/x/net/quic/stream.go +1106 -0
  956. package/bin/go/src/vendor/golang.org/x/net/quic/stream_limits.go +138 -0
  957. package/bin/go/src/vendor/golang.org/x/net/quic/tls.go +123 -0
  958. package/bin/go/src/vendor/golang.org/x/net/quic/transport_params.go +283 -0
  959. package/bin/go/src/vendor/golang.org/x/net/quic/udp.go +28 -0
  960. package/bin/go/src/vendor/golang.org/x/net/quic/udp_darwin.go +45 -0
  961. package/bin/go/src/vendor/golang.org/x/net/quic/udp_linux.go +39 -0
  962. package/bin/go/src/vendor/golang.org/x/net/quic/udp_msg.go +245 -0
  963. package/bin/go/src/vendor/golang.org/x/net/quic/udp_other.go +62 -0
  964. package/bin/go/src/vendor/golang.org/x/net/quic/udp_packetconn.go +67 -0
  965. package/bin/go/src/vendor/golang.org/x/sys/cpu/asm_darwin_arm64_gc.s +12 -0
  966. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu.go +12 -7
  967. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_arm64.go +3 -6
  968. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64.go +67 -0
  969. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_darwin_arm64_other.go +31 -0
  970. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +1 -0
  971. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_linux_riscv64.go +2 -0
  972. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_loong64.go +14 -2
  973. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +4 -2
  974. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +1 -0
  975. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows.go +26 -0
  976. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_windows_arm64.go +38 -0
  977. package/bin/go/src/vendor/golang.org/x/sys/cpu/cpu_x86.go +124 -50
  978. package/bin/go/src/vendor/golang.org/x/sys/cpu/syscall_darwin_arm64_gc.go +54 -0
  979. package/bin/go/src/vendor/golang.org/x/sys/cpu/zcpu_windows.go +48 -0
  980. package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule.go +4 -0
  981. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +1 -1
  982. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go +2135 -0
  983. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/forminfo.go +18 -8
  984. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +1410 -1410
  985. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/{tables13.0.0.go → tables17.0.0.go} +3530 -3186
  986. package/bin/go/src/vendor/modules.txt +14 -8
  987. package/bin/ttsc-cache.exe +0 -0
  988. package/bin/ttsc.exe +0 -0
  989. package/bin/ttscserver.exe +0 -0
  990. package/package.json +1 -1
  991. package/bin/go/src/crypto/internal/fips140/nistec/p256_ordinv_noasm.go +0 -13
  992. package/bin/go/src/go/internal/scannerhooks/hooks.go +0 -11
  993. package/bin/go/src/hash/maphash/maphash_purego.go +0 -200
  994. package/bin/go/src/hash/maphash/maphash_runtime.go +0 -64
  995. package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_off.go +0 -8
  996. package/bin/go/src/internal/goexperiment/exp_goroutineleakprofile_on.go +0 -8
  997. package/bin/go/src/internal/strconv/atofeisel.go +0 -166
  998. package/bin/go/src/internal/strconv/ftoadbox.go +0 -349
  999. package/bin/go/src/internal/strconv/ftoafixed.go +0 -184
  1000. package/bin/go/src/internal/strconv/math.go +0 -179
  1001. package/bin/go/src/net/http/h2_bundle.go +0 -12371
  1002. package/bin/go/src/net/http/h2_error.go +0 -37
  1003. package/bin/go/src/runtime/cgo/gcc_darwin_amd64.c +0 -61
  1004. package/bin/go/src/runtime/cgo/gcc_darwin_arm64.c +0 -148
  1005. package/bin/go/src/runtime/cgo/gcc_dragonfly_amd64.c +0 -61
  1006. package/bin/go/src/runtime/cgo/gcc_freebsd.c +0 -72
  1007. package/bin/go/src/runtime/cgo/gcc_freebsd_amd64.c +0 -72
  1008. package/bin/go/src/runtime/cgo/gcc_linux.c +0 -67
  1009. package/bin/go/src/runtime/cgo/gcc_linux_amd64.c +0 -92
  1010. package/bin/go/src/runtime/cgo/gcc_linux_arm64.c +0 -88
  1011. package/bin/go/src/runtime/cgo/gcc_linux_s390x.c +0 -64
  1012. package/bin/go/src/runtime/cgo/gcc_openbsd.c +0 -62
  1013. package/bin/go/src/runtime/cgo/gcc_ppc64x.c +0 -68
  1014. package/bin/go/src/runtime/cgo/gcc_signal2_ios_arm64.c +0 -11
  1015. package/bin/go/src/runtime/cgo/gcc_signal_ios_arm64.c +0 -213
  1016. package/bin/go/src/runtime/cgo/gcc_signal_ios_nolldb.c +0 -10
  1017. package/bin/go/src/runtime/cgo/gcc_solaris_amd64.c +0 -83
  1018. package/bin/go/src/runtime/cgo/gcc_stack_darwin.c +0 -25
  1019. package/bin/go/src/runtime/cgo/gcc_stack_unix.c +0 -48
  1020. package/bin/go/src/runtime/cgo/gcc_windows_386.c +0 -55
  1021. package/bin/go/src/runtime/cgo/gcc_windows_amd64.c +0 -54
  1022. package/bin/go/src/runtime/cgo/gcc_windows_arm64.c +0 -42
  1023. package/bin/go/src/runtime/cgo/libcgo_windows.h +0 -6
  1024. package/bin/go/src/runtime/cgo/signal_ios_arm64.go +0 -10
  1025. package/bin/go/src/runtime/cgo/signal_ios_arm64.s +0 -56
  1026. package/bin/go/src/runtime/rt0_linux_ppc64.s +0 -28
  1027. package/bin/go/src/runtime/stubs_ppc64.go +0 -12
  1028. package/bin/go/src/simd/archsimd/_gen/simdgen/go.yaml +0 -1
  1029. package/bin/go/src/simd/archsimd/_gen/simdgen/ops/ShiftRotate/go.yaml +0 -172
  1030. package/bin/go/src/syscall/asm_openbsd_mips64.s +0 -129
  1031. package/bin/go/src/syscall/syscall_openbsd1.go +0 -12
  1032. package/bin/go/src/syscall/syscall_openbsd_libc.go +0 -84
  1033. package/bin/go/src/syscall/syscall_openbsd_mips64.go +0 -43
  1034. package/bin/go/src/syscall/zerrors_openbsd_mips64.go +0 -1682
  1035. package/bin/go/src/syscall/zsyscall_openbsd_mips64.go +0 -1289
  1036. package/bin/go/src/syscall/zsysnum_openbsd_mips64.go +0 -218
  1037. package/bin/go/src/syscall/ztypes_openbsd_mips64.go +0 -443
  1038. package/bin/go/src/vendor/golang.org/x/net/idna/go118.go +0 -13
  1039. package/bin/go/src/vendor/golang.org/x/net/idna/idna9.0.0.go +0 -717
  1040. package/bin/go/src/vendor/golang.org/x/net/idna/pre_go118.go +0 -11
  1041. package/bin/go/src/vendor/golang.org/x/net/idna/tables10.0.0.go +0 -4559
  1042. package/bin/go/src/vendor/golang.org/x/net/idna/tables11.0.0.go +0 -4653
  1043. package/bin/go/src/vendor/golang.org/x/net/idna/tables12.0.0.go +0 -4733
  1044. package/bin/go/src/vendor/golang.org/x/net/idna/tables13.0.0.go +0 -4959
  1045. package/bin/go/src/vendor/golang.org/x/net/idna/tables9.0.0.go +0 -4486
  1046. package/bin/go/src/vendor/golang.org/x/net/idna/trie12.0.0.go +0 -30
  1047. package/bin/go/src/vendor/golang.org/x/net/idna/trie13.0.0.go +0 -30
  1048. package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +0 -11
  1049. package/bin/go/src/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +0 -14
  1050. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +0 -1815
  1051. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +0 -1887
  1052. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +0 -1923
  1053. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +0 -1955
  1054. package/bin/go/src/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +0 -1781
  1055. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +0 -7657
  1056. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +0 -7693
  1057. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +0 -7710
  1058. package/bin/go/src/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +0 -7637
  1059. /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/BitwiseLogic/{go.yaml → go_amd64.yaml} +0 -0
  1060. /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Compares/{go.yaml → go_amd64.yaml} +0 -0
  1061. /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/MinMax/{go.yaml → go_amd64.yaml} +0 -0
  1062. /package/bin/go/src/simd/archsimd/_gen/simdgen/ops/Others/{go.yaml → go_amd64.yaml} +0 -0
@@ -6,1098 +6,1160 @@ package archsimd
6
6
 
7
7
  import "unsafe"
8
8
 
9
- // LoadInt8x16Slice loads an Int8x16 from a slice of at least 16 int8s.
10
- func LoadInt8x16Slice(s []int8) Int8x16 {
11
- return LoadInt8x16((*[16]int8)(s))
9
+ // LoadInt8x16 loads an Int8x16 from a slice of elements.
10
+ // If s does not have at least 16 elements, it panics.
11
+ func LoadInt8x16(s []int8) Int8x16 {
12
+ return LoadInt8x16Array((*[16]int8)(s))
12
13
  }
13
14
 
14
- // StoreSlice stores x into a slice of at least 16 int8s.
15
- func (x Int8x16) StoreSlice(s []int8) {
16
- x.Store((*[16]int8)(s))
15
+ // Store stores the elements of x into a slice.
16
+ // If s does not have at least 16 elements, it panics.
17
+ func (x Int8x16) Store(s []int8) {
18
+ x.StoreArray((*[16]int8)(s))
17
19
  }
18
20
 
19
- // LoadInt16x8Slice loads an Int16x8 from a slice of at least 8 int16s.
20
- func LoadInt16x8Slice(s []int16) Int16x8 {
21
- return LoadInt16x8((*[8]int16)(s))
21
+ // LoadInt16x8 loads an Int16x8 from a slice of elements.
22
+ // If s does not have at least 8 elements, it panics.
23
+ func LoadInt16x8(s []int16) Int16x8 {
24
+ return LoadInt16x8Array((*[8]int16)(s))
22
25
  }
23
26
 
24
- // StoreSlice stores x into a slice of at least 8 int16s.
25
- func (x Int16x8) StoreSlice(s []int16) {
26
- x.Store((*[8]int16)(s))
27
+ // Store stores the elements of x into a slice.
28
+ // If s does not have at least 8 elements, it panics.
29
+ func (x Int16x8) Store(s []int16) {
30
+ x.StoreArray((*[8]int16)(s))
27
31
  }
28
32
 
29
- // LoadInt32x4Slice loads an Int32x4 from a slice of at least 4 int32s.
30
- func LoadInt32x4Slice(s []int32) Int32x4 {
31
- return LoadInt32x4((*[4]int32)(s))
33
+ // LoadInt32x4 loads an Int32x4 from a slice of elements.
34
+ // If s does not have at least 4 elements, it panics.
35
+ func LoadInt32x4(s []int32) Int32x4 {
36
+ return LoadInt32x4Array((*[4]int32)(s))
32
37
  }
33
38
 
34
- // StoreSlice stores x into a slice of at least 4 int32s.
35
- func (x Int32x4) StoreSlice(s []int32) {
36
- x.Store((*[4]int32)(s))
39
+ // Store stores the elements of x into a slice.
40
+ // If s does not have at least 4 elements, it panics.
41
+ func (x Int32x4) Store(s []int32) {
42
+ x.StoreArray((*[4]int32)(s))
37
43
  }
38
44
 
39
- // LoadInt64x2Slice loads an Int64x2 from a slice of at least 2 int64s.
40
- func LoadInt64x2Slice(s []int64) Int64x2 {
41
- return LoadInt64x2((*[2]int64)(s))
45
+ // LoadInt64x2 loads an Int64x2 from a slice of elements.
46
+ // If s does not have at least 2 elements, it panics.
47
+ func LoadInt64x2(s []int64) Int64x2 {
48
+ return LoadInt64x2Array((*[2]int64)(s))
42
49
  }
43
50
 
44
- // StoreSlice stores x into a slice of at least 2 int64s.
45
- func (x Int64x2) StoreSlice(s []int64) {
46
- x.Store((*[2]int64)(s))
51
+ // Store stores the elements of x into a slice.
52
+ // If s does not have at least 2 elements, it panics.
53
+ func (x Int64x2) Store(s []int64) {
54
+ x.StoreArray((*[2]int64)(s))
47
55
  }
48
56
 
49
- // LoadUint8x16Slice loads an Uint8x16 from a slice of at least 16 uint8s.
50
- func LoadUint8x16Slice(s []uint8) Uint8x16 {
51
- return LoadUint8x16((*[16]uint8)(s))
57
+ // LoadUint8x16 loads an Uint8x16 from a slice of elements.
58
+ // If s does not have at least 16 elements, it panics.
59
+ func LoadUint8x16(s []uint8) Uint8x16 {
60
+ return LoadUint8x16Array((*[16]uint8)(s))
52
61
  }
53
62
 
54
- // StoreSlice stores x into a slice of at least 16 uint8s.
55
- func (x Uint8x16) StoreSlice(s []uint8) {
56
- x.Store((*[16]uint8)(s))
63
+ // Store stores the elements of x into a slice.
64
+ // If s does not have at least 16 elements, it panics.
65
+ func (x Uint8x16) Store(s []uint8) {
66
+ x.StoreArray((*[16]uint8)(s))
57
67
  }
58
68
 
59
- // LoadUint16x8Slice loads an Uint16x8 from a slice of at least 8 uint16s.
60
- func LoadUint16x8Slice(s []uint16) Uint16x8 {
61
- return LoadUint16x8((*[8]uint16)(s))
69
+ // LoadUint16x8 loads an Uint16x8 from a slice of elements.
70
+ // If s does not have at least 8 elements, it panics.
71
+ func LoadUint16x8(s []uint16) Uint16x8 {
72
+ return LoadUint16x8Array((*[8]uint16)(s))
62
73
  }
63
74
 
64
- // StoreSlice stores x into a slice of at least 8 uint16s.
65
- func (x Uint16x8) StoreSlice(s []uint16) {
66
- x.Store((*[8]uint16)(s))
75
+ // Store stores the elements of x into a slice.
76
+ // If s does not have at least 8 elements, it panics.
77
+ func (x Uint16x8) Store(s []uint16) {
78
+ x.StoreArray((*[8]uint16)(s))
67
79
  }
68
80
 
69
- // LoadUint32x4Slice loads an Uint32x4 from a slice of at least 4 uint32s.
70
- func LoadUint32x4Slice(s []uint32) Uint32x4 {
71
- return LoadUint32x4((*[4]uint32)(s))
81
+ // LoadUint32x4 loads an Uint32x4 from a slice of elements.
82
+ // If s does not have at least 4 elements, it panics.
83
+ func LoadUint32x4(s []uint32) Uint32x4 {
84
+ return LoadUint32x4Array((*[4]uint32)(s))
72
85
  }
73
86
 
74
- // StoreSlice stores x into a slice of at least 4 uint32s.
75
- func (x Uint32x4) StoreSlice(s []uint32) {
76
- x.Store((*[4]uint32)(s))
87
+ // Store stores the elements of x into a slice.
88
+ // If s does not have at least 4 elements, it panics.
89
+ func (x Uint32x4) Store(s []uint32) {
90
+ x.StoreArray((*[4]uint32)(s))
77
91
  }
78
92
 
79
- // LoadUint64x2Slice loads an Uint64x2 from a slice of at least 2 uint64s.
80
- func LoadUint64x2Slice(s []uint64) Uint64x2 {
81
- return LoadUint64x2((*[2]uint64)(s))
93
+ // LoadUint64x2 loads an Uint64x2 from a slice of elements.
94
+ // If s does not have at least 2 elements, it panics.
95
+ func LoadUint64x2(s []uint64) Uint64x2 {
96
+ return LoadUint64x2Array((*[2]uint64)(s))
82
97
  }
83
98
 
84
- // StoreSlice stores x into a slice of at least 2 uint64s.
85
- func (x Uint64x2) StoreSlice(s []uint64) {
86
- x.Store((*[2]uint64)(s))
99
+ // Store stores the elements of x into a slice.
100
+ // If s does not have at least 2 elements, it panics.
101
+ func (x Uint64x2) Store(s []uint64) {
102
+ x.StoreArray((*[2]uint64)(s))
87
103
  }
88
104
 
89
- // LoadFloat32x4Slice loads a Float32x4 from a slice of at least 4 float32s.
90
- func LoadFloat32x4Slice(s []float32) Float32x4 {
91
- return LoadFloat32x4((*[4]float32)(s))
105
+ // LoadFloat32x4 loads a Float32x4 from a slice of elements.
106
+ // If s does not have at least 4 elements, it panics.
107
+ func LoadFloat32x4(s []float32) Float32x4 {
108
+ return LoadFloat32x4Array((*[4]float32)(s))
92
109
  }
93
110
 
94
- // StoreSlice stores x into a slice of at least 4 float32s.
95
- func (x Float32x4) StoreSlice(s []float32) {
96
- x.Store((*[4]float32)(s))
111
+ // Store stores the elements of x into a slice.
112
+ // If s does not have at least 4 elements, it panics.
113
+ func (x Float32x4) Store(s []float32) {
114
+ x.StoreArray((*[4]float32)(s))
97
115
  }
98
116
 
99
- // LoadFloat64x2Slice loads a Float64x2 from a slice of at least 2 float64s.
100
- func LoadFloat64x2Slice(s []float64) Float64x2 {
101
- return LoadFloat64x2((*[2]float64)(s))
117
+ // LoadFloat64x2 loads a Float64x2 from a slice of elements.
118
+ // If s does not have at least 2 elements, it panics.
119
+ func LoadFloat64x2(s []float64) Float64x2 {
120
+ return LoadFloat64x2Array((*[2]float64)(s))
102
121
  }
103
122
 
104
- // StoreSlice stores x into a slice of at least 2 float64s.
105
- func (x Float64x2) StoreSlice(s []float64) {
106
- x.Store((*[2]float64)(s))
123
+ // Store stores the elements of x into a slice.
124
+ // If s does not have at least 2 elements, it panics.
125
+ func (x Float64x2) Store(s []float64) {
126
+ x.StoreArray((*[2]float64)(s))
107
127
  }
108
128
 
109
- // LoadInt8x32Slice loads an Int8x32 from a slice of at least 32 int8s.
110
- func LoadInt8x32Slice(s []int8) Int8x32 {
111
- return LoadInt8x32((*[32]int8)(s))
129
+ // LoadInt8x32 loads an Int8x32 from a slice of elements.
130
+ // If s does not have at least 32 elements, it panics.
131
+ func LoadInt8x32(s []int8) Int8x32 {
132
+ return LoadInt8x32Array((*[32]int8)(s))
112
133
  }
113
134
 
114
- // StoreSlice stores x into a slice of at least 32 int8s.
115
- func (x Int8x32) StoreSlice(s []int8) {
116
- x.Store((*[32]int8)(s))
135
+ // Store stores the elements of x into a slice.
136
+ // If s does not have at least 32 elements, it panics.
137
+ func (x Int8x32) Store(s []int8) {
138
+ x.StoreArray((*[32]int8)(s))
117
139
  }
118
140
 
119
- // LoadInt16x16Slice loads an Int16x16 from a slice of at least 16 int16s.
120
- func LoadInt16x16Slice(s []int16) Int16x16 {
121
- return LoadInt16x16((*[16]int16)(s))
141
+ // LoadInt16x16 loads an Int16x16 from a slice of elements.
142
+ // If s does not have at least 16 elements, it panics.
143
+ func LoadInt16x16(s []int16) Int16x16 {
144
+ return LoadInt16x16Array((*[16]int16)(s))
122
145
  }
123
146
 
124
- // StoreSlice stores x into a slice of at least 16 int16s.
125
- func (x Int16x16) StoreSlice(s []int16) {
126
- x.Store((*[16]int16)(s))
147
+ // Store stores the elements of x into a slice.
148
+ // If s does not have at least 16 elements, it panics.
149
+ func (x Int16x16) Store(s []int16) {
150
+ x.StoreArray((*[16]int16)(s))
127
151
  }
128
152
 
129
- // LoadInt32x8Slice loads an Int32x8 from a slice of at least 8 int32s.
130
- func LoadInt32x8Slice(s []int32) Int32x8 {
131
- return LoadInt32x8((*[8]int32)(s))
153
+ // LoadInt32x8 loads an Int32x8 from a slice of elements.
154
+ // If s does not have at least 8 elements, it panics.
155
+ func LoadInt32x8(s []int32) Int32x8 {
156
+ return LoadInt32x8Array((*[8]int32)(s))
132
157
  }
133
158
 
134
- // StoreSlice stores x into a slice of at least 8 int32s.
135
- func (x Int32x8) StoreSlice(s []int32) {
136
- x.Store((*[8]int32)(s))
159
+ // Store stores the elements of x into a slice.
160
+ // If s does not have at least 8 elements, it panics.
161
+ func (x Int32x8) Store(s []int32) {
162
+ x.StoreArray((*[8]int32)(s))
137
163
  }
138
164
 
139
- // LoadInt64x4Slice loads an Int64x4 from a slice of at least 4 int64s.
140
- func LoadInt64x4Slice(s []int64) Int64x4 {
141
- return LoadInt64x4((*[4]int64)(s))
165
+ // LoadInt64x4 loads an Int64x4 from a slice of elements.
166
+ // If s does not have at least 4 elements, it panics.
167
+ func LoadInt64x4(s []int64) Int64x4 {
168
+ return LoadInt64x4Array((*[4]int64)(s))
142
169
  }
143
170
 
144
- // StoreSlice stores x into a slice of at least 4 int64s.
145
- func (x Int64x4) StoreSlice(s []int64) {
146
- x.Store((*[4]int64)(s))
171
+ // Store stores the elements of x into a slice.
172
+ // If s does not have at least 4 elements, it panics.
173
+ func (x Int64x4) Store(s []int64) {
174
+ x.StoreArray((*[4]int64)(s))
147
175
  }
148
176
 
149
- // LoadUint8x32Slice loads an Uint8x32 from a slice of at least 32 uint8s.
150
- func LoadUint8x32Slice(s []uint8) Uint8x32 {
151
- return LoadUint8x32((*[32]uint8)(s))
177
+ // LoadUint8x32 loads an Uint8x32 from a slice of elements.
178
+ // If s does not have at least 32 elements, it panics.
179
+ func LoadUint8x32(s []uint8) Uint8x32 {
180
+ return LoadUint8x32Array((*[32]uint8)(s))
152
181
  }
153
182
 
154
- // StoreSlice stores x into a slice of at least 32 uint8s.
155
- func (x Uint8x32) StoreSlice(s []uint8) {
156
- x.Store((*[32]uint8)(s))
183
+ // Store stores the elements of x into a slice.
184
+ // If s does not have at least 32 elements, it panics.
185
+ func (x Uint8x32) Store(s []uint8) {
186
+ x.StoreArray((*[32]uint8)(s))
157
187
  }
158
188
 
159
- // LoadUint16x16Slice loads an Uint16x16 from a slice of at least 16 uint16s.
160
- func LoadUint16x16Slice(s []uint16) Uint16x16 {
161
- return LoadUint16x16((*[16]uint16)(s))
189
+ // LoadUint16x16 loads an Uint16x16 from a slice of elements.
190
+ // If s does not have at least 16 elements, it panics.
191
+ func LoadUint16x16(s []uint16) Uint16x16 {
192
+ return LoadUint16x16Array((*[16]uint16)(s))
162
193
  }
163
194
 
164
- // StoreSlice stores x into a slice of at least 16 uint16s.
165
- func (x Uint16x16) StoreSlice(s []uint16) {
166
- x.Store((*[16]uint16)(s))
195
+ // Store stores the elements of x into a slice.
196
+ // If s does not have at least 16 elements, it panics.
197
+ func (x Uint16x16) Store(s []uint16) {
198
+ x.StoreArray((*[16]uint16)(s))
167
199
  }
168
200
 
169
- // LoadUint32x8Slice loads an Uint32x8 from a slice of at least 8 uint32s.
170
- func LoadUint32x8Slice(s []uint32) Uint32x8 {
171
- return LoadUint32x8((*[8]uint32)(s))
201
+ // LoadUint32x8 loads an Uint32x8 from a slice of elements.
202
+ // If s does not have at least 8 elements, it panics.
203
+ func LoadUint32x8(s []uint32) Uint32x8 {
204
+ return LoadUint32x8Array((*[8]uint32)(s))
172
205
  }
173
206
 
174
- // StoreSlice stores x into a slice of at least 8 uint32s.
175
- func (x Uint32x8) StoreSlice(s []uint32) {
176
- x.Store((*[8]uint32)(s))
207
+ // Store stores the elements of x into a slice.
208
+ // If s does not have at least 8 elements, it panics.
209
+ func (x Uint32x8) Store(s []uint32) {
210
+ x.StoreArray((*[8]uint32)(s))
177
211
  }
178
212
 
179
- // LoadUint64x4Slice loads an Uint64x4 from a slice of at least 4 uint64s.
180
- func LoadUint64x4Slice(s []uint64) Uint64x4 {
181
- return LoadUint64x4((*[4]uint64)(s))
213
+ // LoadUint64x4 loads an Uint64x4 from a slice of elements.
214
+ // If s does not have at least 4 elements, it panics.
215
+ func LoadUint64x4(s []uint64) Uint64x4 {
216
+ return LoadUint64x4Array((*[4]uint64)(s))
182
217
  }
183
218
 
184
- // StoreSlice stores x into a slice of at least 4 uint64s.
185
- func (x Uint64x4) StoreSlice(s []uint64) {
186
- x.Store((*[4]uint64)(s))
219
+ // Store stores the elements of x into a slice.
220
+ // If s does not have at least 4 elements, it panics.
221
+ func (x Uint64x4) Store(s []uint64) {
222
+ x.StoreArray((*[4]uint64)(s))
187
223
  }
188
224
 
189
- // LoadFloat32x8Slice loads a Float32x8 from a slice of at least 8 float32s.
190
- func LoadFloat32x8Slice(s []float32) Float32x8 {
191
- return LoadFloat32x8((*[8]float32)(s))
225
+ // LoadFloat32x8 loads a Float32x8 from a slice of elements.
226
+ // If s does not have at least 8 elements, it panics.
227
+ func LoadFloat32x8(s []float32) Float32x8 {
228
+ return LoadFloat32x8Array((*[8]float32)(s))
192
229
  }
193
230
 
194
- // StoreSlice stores x into a slice of at least 8 float32s.
195
- func (x Float32x8) StoreSlice(s []float32) {
196
- x.Store((*[8]float32)(s))
231
+ // Store stores the elements of x into a slice.
232
+ // If s does not have at least 8 elements, it panics.
233
+ func (x Float32x8) Store(s []float32) {
234
+ x.StoreArray((*[8]float32)(s))
197
235
  }
198
236
 
199
- // LoadFloat64x4Slice loads a Float64x4 from a slice of at least 4 float64s.
200
- func LoadFloat64x4Slice(s []float64) Float64x4 {
201
- return LoadFloat64x4((*[4]float64)(s))
237
+ // LoadFloat64x4 loads a Float64x4 from a slice of elements.
238
+ // If s does not have at least 4 elements, it panics.
239
+ func LoadFloat64x4(s []float64) Float64x4 {
240
+ return LoadFloat64x4Array((*[4]float64)(s))
202
241
  }
203
242
 
204
- // StoreSlice stores x into a slice of at least 4 float64s.
205
- func (x Float64x4) StoreSlice(s []float64) {
206
- x.Store((*[4]float64)(s))
243
+ // Store stores the elements of x into a slice.
244
+ // If s does not have at least 4 elements, it panics.
245
+ func (x Float64x4) Store(s []float64) {
246
+ x.StoreArray((*[4]float64)(s))
207
247
  }
208
248
 
209
- // LoadInt8x64Slice loads an Int8x64 from a slice of at least 64 int8s.
210
- func LoadInt8x64Slice(s []int8) Int8x64 {
211
- return LoadInt8x64((*[64]int8)(s))
249
+ // LoadInt8x64 loads an Int8x64 from a slice of elements.
250
+ // If s does not have at least 64 elements, it panics.
251
+ func LoadInt8x64(s []int8) Int8x64 {
252
+ return LoadInt8x64Array((*[64]int8)(s))
212
253
  }
213
254
 
214
- // StoreSlice stores x into a slice of at least 64 int8s.
215
- func (x Int8x64) StoreSlice(s []int8) {
216
- x.Store((*[64]int8)(s))
255
+ // Store stores the elements of x into a slice.
256
+ // If s does not have at least 64 elements, it panics.
257
+ func (x Int8x64) Store(s []int8) {
258
+ x.StoreArray((*[64]int8)(s))
217
259
  }
218
260
 
219
- // LoadInt16x32Slice loads an Int16x32 from a slice of at least 32 int16s.
220
- func LoadInt16x32Slice(s []int16) Int16x32 {
221
- return LoadInt16x32((*[32]int16)(s))
261
+ // LoadInt16x32 loads an Int16x32 from a slice of elements.
262
+ // If s does not have at least 32 elements, it panics.
263
+ func LoadInt16x32(s []int16) Int16x32 {
264
+ return LoadInt16x32Array((*[32]int16)(s))
222
265
  }
223
266
 
224
- // StoreSlice stores x into a slice of at least 32 int16s.
225
- func (x Int16x32) StoreSlice(s []int16) {
226
- x.Store((*[32]int16)(s))
267
+ // Store stores the elements of x into a slice.
268
+ // If s does not have at least 32 elements, it panics.
269
+ func (x Int16x32) Store(s []int16) {
270
+ x.StoreArray((*[32]int16)(s))
227
271
  }
228
272
 
229
- // LoadInt32x16Slice loads an Int32x16 from a slice of at least 16 int32s.
230
- func LoadInt32x16Slice(s []int32) Int32x16 {
231
- return LoadInt32x16((*[16]int32)(s))
273
+ // LoadInt32x16 loads an Int32x16 from a slice of elements.
274
+ // If s does not have at least 16 elements, it panics.
275
+ func LoadInt32x16(s []int32) Int32x16 {
276
+ return LoadInt32x16Array((*[16]int32)(s))
232
277
  }
233
278
 
234
- // StoreSlice stores x into a slice of at least 16 int32s.
235
- func (x Int32x16) StoreSlice(s []int32) {
236
- x.Store((*[16]int32)(s))
279
+ // Store stores the elements of x into a slice.
280
+ // If s does not have at least 16 elements, it panics.
281
+ func (x Int32x16) Store(s []int32) {
282
+ x.StoreArray((*[16]int32)(s))
237
283
  }
238
284
 
239
- // LoadInt64x8Slice loads an Int64x8 from a slice of at least 8 int64s.
240
- func LoadInt64x8Slice(s []int64) Int64x8 {
241
- return LoadInt64x8((*[8]int64)(s))
285
+ // LoadInt64x8 loads an Int64x8 from a slice of elements.
286
+ // If s does not have at least 8 elements, it panics.
287
+ func LoadInt64x8(s []int64) Int64x8 {
288
+ return LoadInt64x8Array((*[8]int64)(s))
242
289
  }
243
290
 
244
- // StoreSlice stores x into a slice of at least 8 int64s.
245
- func (x Int64x8) StoreSlice(s []int64) {
246
- x.Store((*[8]int64)(s))
291
+ // Store stores the elements of x into a slice.
292
+ // If s does not have at least 8 elements, it panics.
293
+ func (x Int64x8) Store(s []int64) {
294
+ x.StoreArray((*[8]int64)(s))
247
295
  }
248
296
 
249
- // LoadUint8x64Slice loads an Uint8x64 from a slice of at least 64 uint8s.
250
- func LoadUint8x64Slice(s []uint8) Uint8x64 {
251
- return LoadUint8x64((*[64]uint8)(s))
297
+ // LoadUint8x64 loads an Uint8x64 from a slice of elements.
298
+ // If s does not have at least 64 elements, it panics.
299
+ func LoadUint8x64(s []uint8) Uint8x64 {
300
+ return LoadUint8x64Array((*[64]uint8)(s))
252
301
  }
253
302
 
254
- // StoreSlice stores x into a slice of at least 64 uint8s.
255
- func (x Uint8x64) StoreSlice(s []uint8) {
256
- x.Store((*[64]uint8)(s))
303
+ // Store stores the elements of x into a slice.
304
+ // If s does not have at least 64 elements, it panics.
305
+ func (x Uint8x64) Store(s []uint8) {
306
+ x.StoreArray((*[64]uint8)(s))
257
307
  }
258
308
 
259
- // LoadUint16x32Slice loads an Uint16x32 from a slice of at least 32 uint16s.
260
- func LoadUint16x32Slice(s []uint16) Uint16x32 {
261
- return LoadUint16x32((*[32]uint16)(s))
309
+ // LoadUint16x32 loads an Uint16x32 from a slice of elements.
310
+ // If s does not have at least 32 elements, it panics.
311
+ func LoadUint16x32(s []uint16) Uint16x32 {
312
+ return LoadUint16x32Array((*[32]uint16)(s))
262
313
  }
263
314
 
264
- // StoreSlice stores x into a slice of at least 32 uint16s.
265
- func (x Uint16x32) StoreSlice(s []uint16) {
266
- x.Store((*[32]uint16)(s))
315
+ // Store stores the elements of x into a slice.
316
+ // If s does not have at least 32 elements, it panics.
317
+ func (x Uint16x32) Store(s []uint16) {
318
+ x.StoreArray((*[32]uint16)(s))
267
319
  }
268
320
 
269
- // LoadUint32x16Slice loads an Uint32x16 from a slice of at least 16 uint32s.
270
- func LoadUint32x16Slice(s []uint32) Uint32x16 {
271
- return LoadUint32x16((*[16]uint32)(s))
321
+ // LoadUint32x16 loads an Uint32x16 from a slice of elements.
322
+ // If s does not have at least 16 elements, it panics.
323
+ func LoadUint32x16(s []uint32) Uint32x16 {
324
+ return LoadUint32x16Array((*[16]uint32)(s))
272
325
  }
273
326
 
274
- // StoreSlice stores x into a slice of at least 16 uint32s.
275
- func (x Uint32x16) StoreSlice(s []uint32) {
276
- x.Store((*[16]uint32)(s))
327
+ // Store stores the elements of x into a slice.
328
+ // If s does not have at least 16 elements, it panics.
329
+ func (x Uint32x16) Store(s []uint32) {
330
+ x.StoreArray((*[16]uint32)(s))
277
331
  }
278
332
 
279
- // LoadUint64x8Slice loads an Uint64x8 from a slice of at least 8 uint64s.
280
- func LoadUint64x8Slice(s []uint64) Uint64x8 {
281
- return LoadUint64x8((*[8]uint64)(s))
333
+ // LoadUint64x8 loads an Uint64x8 from a slice of elements.
334
+ // If s does not have at least 8 elements, it panics.
335
+ func LoadUint64x8(s []uint64) Uint64x8 {
336
+ return LoadUint64x8Array((*[8]uint64)(s))
282
337
  }
283
338
 
284
- // StoreSlice stores x into a slice of at least 8 uint64s.
285
- func (x Uint64x8) StoreSlice(s []uint64) {
286
- x.Store((*[8]uint64)(s))
339
+ // Store stores the elements of x into a slice.
340
+ // If s does not have at least 8 elements, it panics.
341
+ func (x Uint64x8) Store(s []uint64) {
342
+ x.StoreArray((*[8]uint64)(s))
287
343
  }
288
344
 
289
- // LoadFloat32x16Slice loads a Float32x16 from a slice of at least 16 float32s.
290
- func LoadFloat32x16Slice(s []float32) Float32x16 {
291
- return LoadFloat32x16((*[16]float32)(s))
345
+ // LoadFloat32x16 loads a Float32x16 from a slice of elements.
346
+ // If s does not have at least 16 elements, it panics.
347
+ func LoadFloat32x16(s []float32) Float32x16 {
348
+ return LoadFloat32x16Array((*[16]float32)(s))
292
349
  }
293
350
 
294
- // StoreSlice stores x into a slice of at least 16 float32s.
295
- func (x Float32x16) StoreSlice(s []float32) {
296
- x.Store((*[16]float32)(s))
351
+ // Store stores the elements of x into a slice.
352
+ // If s does not have at least 16 elements, it panics.
353
+ func (x Float32x16) Store(s []float32) {
354
+ x.StoreArray((*[16]float32)(s))
297
355
  }
298
356
 
299
- // LoadFloat64x8Slice loads a Float64x8 from a slice of at least 8 float64s.
300
- func LoadFloat64x8Slice(s []float64) Float64x8 {
301
- return LoadFloat64x8((*[8]float64)(s))
357
+ // LoadFloat64x8 loads a Float64x8 from a slice of elements.
358
+ // If s does not have at least 8 elements, it panics.
359
+ func LoadFloat64x8(s []float64) Float64x8 {
360
+ return LoadFloat64x8Array((*[8]float64)(s))
302
361
  }
303
362
 
304
- // StoreSlice stores x into a slice of at least 8 float64s.
305
- func (x Float64x8) StoreSlice(s []float64) {
306
- x.Store((*[8]float64)(s))
363
+ // Store stores the elements of x into a slice.
364
+ // If s does not have at least 8 elements, it panics.
365
+ func (x Float64x8) Store(s []float64) {
366
+ x.StoreArray((*[8]float64)(s))
307
367
  }
308
368
 
309
- // LoadInt8x64SlicePart loads a Int8x64 from the slice s.
369
+ // LoadInt8x64Part loads a Int8x64 from the slice s, it returns the loaded vector and the
370
+ // number of elements loaded.
310
371
  // If s has fewer than 64 elements, the remaining elements of the vector are filled with zeroes.
311
- // If s has 64 or more elements, the function is equivalent to LoadInt8x64Slice.
312
- func LoadInt8x64SlicePart(s []int8) Int8x64 {
372
+ // If s has 64 or more elements, the function is equivalent to LoadInt8x64.
373
+ func LoadInt8x64Part(s []int8) (Int8x64, int) {
313
374
  l := len(s)
314
375
  if l >= 64 {
315
- return LoadInt8x64Slice(s)
376
+ return LoadInt8x64(s), 64
316
377
  }
317
378
  if l == 0 {
318
379
  var x Int8x64
319
- return x
380
+ return x, 0
320
381
  }
321
382
  mask := Mask8x64FromBits(0xffffffffffffffff >> (64 - l))
322
- return LoadMaskedInt8x64(paInt8x64(s), mask)
383
+ return LoadInt8x64Array(paInt8x64(s)).Masked(mask), l
323
384
  }
324
385
 
325
- // StoreSlicePart stores the 64 elements of x into the slice s.
386
+ // StorePart stores the 64 elements of x into the slice s.
326
387
  // It stores as many elements as will fit in s.
327
- // If s has 64 or more elements, the method is equivalent to x.StoreSlice.
328
- func (x Int8x64) StoreSlicePart(s []int8) {
388
+ // If s has 64 or more elements, the method is equivalent to x.Store.
389
+ func (x Int8x64) StorePart(s []int8) int {
329
390
  l := len(s)
330
391
  if l >= 64 {
331
- x.StoreSlice(s)
332
- return
392
+ x.Store(s)
393
+ return 64
333
394
  }
334
395
  if l == 0 {
335
- return
396
+ return 0
336
397
  }
337
398
  mask := Mask8x64FromBits(0xffffffffffffffff >> (64 - l))
338
- x.StoreMasked(paInt8x64(s), mask)
399
+ x.StoreArrayMasked(paInt8x64(s), mask)
400
+ return l
339
401
  }
340
402
 
341
- // LoadInt16x32SlicePart loads a Int16x32 from the slice s.
403
+ // LoadInt16x32Part loads a Int16x32 from the slice s, it returns the loaded vector and the
404
+ // number of elements loaded.
342
405
  // If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
343
- // If s has 32 or more elements, the function is equivalent to LoadInt16x32Slice.
344
- func LoadInt16x32SlicePart(s []int16) Int16x32 {
406
+ // If s has 32 or more elements, the function is equivalent to LoadInt16x32.
407
+ func LoadInt16x32Part(s []int16) (Int16x32, int) {
345
408
  l := len(s)
346
409
  if l >= 32 {
347
- return LoadInt16x32Slice(s)
410
+ return LoadInt16x32(s), 32
348
411
  }
349
412
  if l == 0 {
350
413
  var x Int16x32
351
- return x
414
+ return x, 0
352
415
  }
353
416
  mask := Mask16x32FromBits(0xffffffff >> (32 - l))
354
- return LoadMaskedInt16x32(paInt16x32(s), mask)
417
+ return LoadInt16x32Array(paInt16x32(s)).Masked(mask), l
355
418
  }
356
419
 
357
- // StoreSlicePart stores the 32 elements of x into the slice s.
420
+ // StorePart stores the 32 elements of x into the slice s.
358
421
  // It stores as many elements as will fit in s.
359
- // If s has 32 or more elements, the method is equivalent to x.StoreSlice.
360
- func (x Int16x32) StoreSlicePart(s []int16) {
422
+ // If s has 32 or more elements, the method is equivalent to x.Store.
423
+ func (x Int16x32) StorePart(s []int16) int {
361
424
  l := len(s)
362
425
  if l >= 32 {
363
- x.StoreSlice(s)
364
- return
426
+ x.Store(s)
427
+ return 32
365
428
  }
366
429
  if l == 0 {
367
- return
430
+ return 0
368
431
  }
369
432
  mask := Mask16x32FromBits(0xffffffff >> (32 - l))
370
- x.StoreMasked(paInt16x32(s), mask)
433
+ x.StoreArrayMasked(paInt16x32(s), mask)
434
+ return l
371
435
  }
372
436
 
373
- // LoadInt32x16SlicePart loads a Int32x16 from the slice s.
437
+ // LoadInt32x16Part loads a Int32x16 from the slice s, it returns the loaded vector and the
438
+ // number of elements loaded.
374
439
  // If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
375
- // If s has 16 or more elements, the function is equivalent to LoadInt32x16Slice.
376
- func LoadInt32x16SlicePart(s []int32) Int32x16 {
440
+ // If s has 16 or more elements, the function is equivalent to LoadInt32x16.
441
+ func LoadInt32x16Part(s []int32) (Int32x16, int) {
377
442
  l := len(s)
378
443
  if l >= 16 {
379
- return LoadInt32x16Slice(s)
444
+ return LoadInt32x16(s), 16
380
445
  }
381
446
  if l == 0 {
382
447
  var x Int32x16
383
- return x
448
+ return x, 0
384
449
  }
385
450
  mask := Mask32x16FromBits(0xffff >> (16 - l))
386
- return LoadMaskedInt32x16(paInt32x16(s), mask)
451
+ return LoadInt32x16Array(paInt32x16(s)).Masked(mask), l
387
452
  }
388
453
 
389
- // StoreSlicePart stores the 16 elements of x into the slice s.
454
+ // StorePart stores the 16 elements of x into the slice s.
390
455
  // It stores as many elements as will fit in s.
391
- // If s has 16 or more elements, the method is equivalent to x.StoreSlice.
392
- func (x Int32x16) StoreSlicePart(s []int32) {
456
+ // If s has 16 or more elements, the method is equivalent to x.Store.
457
+ func (x Int32x16) StorePart(s []int32) int {
393
458
  l := len(s)
394
459
  if l >= 16 {
395
- x.StoreSlice(s)
396
- return
460
+ x.Store(s)
461
+ return 16
397
462
  }
398
463
  if l == 0 {
399
- return
464
+ return 0
400
465
  }
401
466
  mask := Mask32x16FromBits(0xffff >> (16 - l))
402
- x.StoreMasked(paInt32x16(s), mask)
467
+ x.StoreArrayMasked(paInt32x16(s), mask)
468
+ return l
403
469
  }
404
470
 
405
- // LoadInt64x8SlicePart loads a Int64x8 from the slice s.
471
+ // LoadInt64x8Part loads a Int64x8 from the slice s, it returns the loaded vector and the
472
+ // number of elements loaded.
406
473
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
407
- // If s has 8 or more elements, the function is equivalent to LoadInt64x8Slice.
408
- func LoadInt64x8SlicePart(s []int64) Int64x8 {
474
+ // If s has 8 or more elements, the function is equivalent to LoadInt64x8.
475
+ func LoadInt64x8Part(s []int64) (Int64x8, int) {
409
476
  l := len(s)
410
477
  if l >= 8 {
411
- return LoadInt64x8Slice(s)
478
+ return LoadInt64x8(s), 8
412
479
  }
413
480
  if l == 0 {
414
481
  var x Int64x8
415
- return x
482
+ return x, 0
416
483
  }
417
484
  mask := Mask64x8FromBits(0xff >> (8 - l))
418
- return LoadMaskedInt64x8(paInt64x8(s), mask)
485
+ return LoadInt64x8Array(paInt64x8(s)).Masked(mask), l
419
486
  }
420
487
 
421
- // StoreSlicePart stores the 8 elements of x into the slice s.
488
+ // StorePart stores the 8 elements of x into the slice s.
422
489
  // It stores as many elements as will fit in s.
423
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
424
- func (x Int64x8) StoreSlicePart(s []int64) {
490
+ // If s has 8 or more elements, the method is equivalent to x.Store.
491
+ func (x Int64x8) StorePart(s []int64) int {
425
492
  l := len(s)
426
493
  if l >= 8 {
427
- x.StoreSlice(s)
428
- return
494
+ x.Store(s)
495
+ return 8
429
496
  }
430
497
  if l == 0 {
431
- return
498
+ return 0
432
499
  }
433
500
  mask := Mask64x8FromBits(0xff >> (8 - l))
434
- x.StoreMasked(paInt64x8(s), mask)
501
+ x.StoreArrayMasked(paInt64x8(s), mask)
502
+ return l
435
503
  }
436
504
 
437
- // LoadUint8x64SlicePart loads a Uint8x64 from the slice s.
505
+ // LoadUint8x64Part loads a Uint8x64 from the slice s, it returns the loaded vector and the
506
+ // number of elements loaded.
438
507
  // If s has fewer than 64 elements, the remaining elements of the vector are filled with zeroes.
439
- // If s has 64 or more elements, the function is equivalent to LoadUint8x64Slice.
440
- func LoadUint8x64SlicePart(s []uint8) Uint8x64 {
508
+ // If s has 64 or more elements, the function is equivalent to LoadUint8x64.
509
+ func LoadUint8x64Part(s []uint8) (Uint8x64, int) {
441
510
  l := len(s)
442
511
  if l >= 64 {
443
- return LoadUint8x64Slice(s)
512
+ return LoadUint8x64(s), 64
444
513
  }
445
514
  if l == 0 {
446
515
  var x Uint8x64
447
- return x
516
+ return x, 0
448
517
  }
449
518
  mask := Mask8x64FromBits(0xffffffffffffffff >> (64 - l))
450
- return LoadMaskedUint8x64(paUint8x64(s), mask)
519
+ return LoadUint8x64Array(paUint8x64(s)).Masked(mask), l
451
520
  }
452
521
 
453
- // StoreSlicePart stores the 64 elements of x into the slice s.
522
+ // StorePart stores the 64 elements of x into the slice s.
454
523
  // It stores as many elements as will fit in s.
455
- // If s has 64 or more elements, the method is equivalent to x.StoreSlice.
456
- func (x Uint8x64) StoreSlicePart(s []uint8) {
524
+ // If s has 64 or more elements, the method is equivalent to x.Store.
525
+ func (x Uint8x64) StorePart(s []uint8) int {
457
526
  l := len(s)
458
527
  if l >= 64 {
459
- x.StoreSlice(s)
460
- return
528
+ x.Store(s)
529
+ return 64
461
530
  }
462
531
  if l == 0 {
463
- return
532
+ return 0
464
533
  }
465
534
  mask := Mask8x64FromBits(0xffffffffffffffff >> (64 - l))
466
- x.StoreMasked(paUint8x64(s), mask)
535
+ x.StoreArrayMasked(paUint8x64(s), mask)
536
+ return l
467
537
  }
468
538
 
469
- // LoadUint16x32SlicePart loads a Uint16x32 from the slice s.
539
+ // LoadUint16x32Part loads a Uint16x32 from the slice s, it returns the loaded vector and the
540
+ // number of elements loaded.
470
541
  // If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
471
- // If s has 32 or more elements, the function is equivalent to LoadUint16x32Slice.
472
- func LoadUint16x32SlicePart(s []uint16) Uint16x32 {
542
+ // If s has 32 or more elements, the function is equivalent to LoadUint16x32.
543
+ func LoadUint16x32Part(s []uint16) (Uint16x32, int) {
473
544
  l := len(s)
474
545
  if l >= 32 {
475
- return LoadUint16x32Slice(s)
546
+ return LoadUint16x32(s), 32
476
547
  }
477
548
  if l == 0 {
478
549
  var x Uint16x32
479
- return x
550
+ return x, 0
480
551
  }
481
552
  mask := Mask16x32FromBits(0xffffffff >> (32 - l))
482
- return LoadMaskedUint16x32(paUint16x32(s), mask)
553
+ return LoadUint16x32Array(paUint16x32(s)).Masked(mask), l
483
554
  }
484
555
 
485
- // StoreSlicePart stores the 32 elements of x into the slice s.
556
+ // StorePart stores the 32 elements of x into the slice s.
486
557
  // It stores as many elements as will fit in s.
487
- // If s has 32 or more elements, the method is equivalent to x.StoreSlice.
488
- func (x Uint16x32) StoreSlicePart(s []uint16) {
558
+ // If s has 32 or more elements, the method is equivalent to x.Store.
559
+ func (x Uint16x32) StorePart(s []uint16) int {
489
560
  l := len(s)
490
561
  if l >= 32 {
491
- x.StoreSlice(s)
492
- return
562
+ x.Store(s)
563
+ return 32
493
564
  }
494
565
  if l == 0 {
495
- return
566
+ return 0
496
567
  }
497
568
  mask := Mask16x32FromBits(0xffffffff >> (32 - l))
498
- x.StoreMasked(paUint16x32(s), mask)
569
+ x.StoreArrayMasked(paUint16x32(s), mask)
570
+ return l
499
571
  }
500
572
 
501
- // LoadUint32x16SlicePart loads a Uint32x16 from the slice s.
573
+ // LoadUint32x16Part loads a Uint32x16 from the slice s, it returns the loaded vector and the
574
+ // number of elements loaded.
502
575
  // If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
503
- // If s has 16 or more elements, the function is equivalent to LoadUint32x16Slice.
504
- func LoadUint32x16SlicePart(s []uint32) Uint32x16 {
576
+ // If s has 16 or more elements, the function is equivalent to LoadUint32x16.
577
+ func LoadUint32x16Part(s []uint32) (Uint32x16, int) {
505
578
  l := len(s)
506
579
  if l >= 16 {
507
- return LoadUint32x16Slice(s)
580
+ return LoadUint32x16(s), 16
508
581
  }
509
582
  if l == 0 {
510
583
  var x Uint32x16
511
- return x
584
+ return x, 0
512
585
  }
513
586
  mask := Mask32x16FromBits(0xffff >> (16 - l))
514
- return LoadMaskedUint32x16(paUint32x16(s), mask)
587
+ return LoadUint32x16Array(paUint32x16(s)).Masked(mask), l
515
588
  }
516
589
 
517
- // StoreSlicePart stores the 16 elements of x into the slice s.
590
+ // StorePart stores the 16 elements of x into the slice s.
518
591
  // It stores as many elements as will fit in s.
519
- // If s has 16 or more elements, the method is equivalent to x.StoreSlice.
520
- func (x Uint32x16) StoreSlicePart(s []uint32) {
592
+ // If s has 16 or more elements, the method is equivalent to x.Store.
593
+ func (x Uint32x16) StorePart(s []uint32) int {
521
594
  l := len(s)
522
595
  if l >= 16 {
523
- x.StoreSlice(s)
524
- return
596
+ x.Store(s)
597
+ return 16
525
598
  }
526
599
  if l == 0 {
527
- return
600
+ return 0
528
601
  }
529
602
  mask := Mask32x16FromBits(0xffff >> (16 - l))
530
- x.StoreMasked(paUint32x16(s), mask)
603
+ x.StoreArrayMasked(paUint32x16(s), mask)
604
+ return l
531
605
  }
532
606
 
533
- // LoadUint64x8SlicePart loads a Uint64x8 from the slice s.
607
+ // LoadUint64x8Part loads a Uint64x8 from the slice s, it returns the loaded vector and the
608
+ // number of elements loaded.
534
609
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
535
- // If s has 8 or more elements, the function is equivalent to LoadUint64x8Slice.
536
- func LoadUint64x8SlicePart(s []uint64) Uint64x8 {
610
+ // If s has 8 or more elements, the function is equivalent to LoadUint64x8.
611
+ func LoadUint64x8Part(s []uint64) (Uint64x8, int) {
537
612
  l := len(s)
538
613
  if l >= 8 {
539
- return LoadUint64x8Slice(s)
614
+ return LoadUint64x8(s), 8
540
615
  }
541
616
  if l == 0 {
542
617
  var x Uint64x8
543
- return x
618
+ return x, 0
544
619
  }
545
620
  mask := Mask64x8FromBits(0xff >> (8 - l))
546
- return LoadMaskedUint64x8(paUint64x8(s), mask)
621
+ return LoadUint64x8Array(paUint64x8(s)).Masked(mask), l
547
622
  }
548
623
 
549
- // StoreSlicePart stores the 8 elements of x into the slice s.
624
+ // StorePart stores the 8 elements of x into the slice s.
550
625
  // It stores as many elements as will fit in s.
551
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
552
- func (x Uint64x8) StoreSlicePart(s []uint64) {
626
+ // If s has 8 or more elements, the method is equivalent to x.Store.
627
+ func (x Uint64x8) StorePart(s []uint64) int {
553
628
  l := len(s)
554
629
  if l >= 8 {
555
- x.StoreSlice(s)
556
- return
630
+ x.Store(s)
631
+ return 8
557
632
  }
558
633
  if l == 0 {
559
- return
634
+ return 0
560
635
  }
561
636
  mask := Mask64x8FromBits(0xff >> (8 - l))
562
- x.StoreMasked(paUint64x8(s), mask)
637
+ x.StoreArrayMasked(paUint64x8(s), mask)
638
+ return l
563
639
  }
564
640
 
565
- // LoadFloat32x16SlicePart loads a Float32x16 from the slice s.
641
+ // LoadFloat32x16Part loads a Float32x16 from the slice s, it returns the loaded vector and the
642
+ // number of elements loaded.
566
643
  // If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
567
- // If s has 16 or more elements, the function is equivalent to LoadFloat32x16Slice.
568
- func LoadFloat32x16SlicePart(s []float32) Float32x16 {
644
+ // If s has 16 or more elements, the function is equivalent to LoadFloat32x16.
645
+ func LoadFloat32x16Part(s []float32) (Float32x16, int) {
569
646
  l := len(s)
570
647
  if l >= 16 {
571
- return LoadFloat32x16Slice(s)
648
+ return LoadFloat32x16(s), 16
572
649
  }
573
650
  if l == 0 {
574
651
  var x Float32x16
575
- return x
652
+ return x, 0
576
653
  }
577
654
  mask := Mask32x16FromBits(0xffff >> (16 - l))
578
- return LoadMaskedFloat32x16(paFloat32x16(s), mask)
655
+ return LoadFloat32x16Array(paFloat32x16(s)).Masked(mask), l
579
656
  }
580
657
 
581
- // StoreSlicePart stores the 16 elements of x into the slice s.
658
+ // StorePart stores the 16 elements of x into the slice s.
582
659
  // It stores as many elements as will fit in s.
583
- // If s has 16 or more elements, the method is equivalent to x.StoreSlice.
584
- func (x Float32x16) StoreSlicePart(s []float32) {
660
+ // If s has 16 or more elements, the method is equivalent to x.Store.
661
+ func (x Float32x16) StorePart(s []float32) int {
585
662
  l := len(s)
586
663
  if l >= 16 {
587
- x.StoreSlice(s)
588
- return
664
+ x.Store(s)
665
+ return 16
589
666
  }
590
667
  if l == 0 {
591
- return
668
+ return 0
592
669
  }
593
670
  mask := Mask32x16FromBits(0xffff >> (16 - l))
594
- x.StoreMasked(paFloat32x16(s), mask)
671
+ x.StoreArrayMasked(paFloat32x16(s), mask)
672
+ return l
595
673
  }
596
674
 
597
- // LoadFloat64x8SlicePart loads a Float64x8 from the slice s.
675
+ // LoadFloat64x8Part loads a Float64x8 from the slice s, it returns the loaded vector and the
676
+ // number of elements loaded.
598
677
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
599
- // If s has 8 or more elements, the function is equivalent to LoadFloat64x8Slice.
600
- func LoadFloat64x8SlicePart(s []float64) Float64x8 {
678
+ // If s has 8 or more elements, the function is equivalent to LoadFloat64x8.
679
+ func LoadFloat64x8Part(s []float64) (Float64x8, int) {
601
680
  l := len(s)
602
681
  if l >= 8 {
603
- return LoadFloat64x8Slice(s)
682
+ return LoadFloat64x8(s), 8
604
683
  }
605
684
  if l == 0 {
606
685
  var x Float64x8
607
- return x
686
+ return x, 0
608
687
  }
609
688
  mask := Mask64x8FromBits(0xff >> (8 - l))
610
- return LoadMaskedFloat64x8(paFloat64x8(s), mask)
689
+ return LoadFloat64x8Array(paFloat64x8(s)).Masked(mask), l
611
690
  }
612
691
 
613
- // StoreSlicePart stores the 8 elements of x into the slice s.
692
+ // StorePart stores the 8 elements of x into the slice s.
614
693
  // It stores as many elements as will fit in s.
615
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
616
- func (x Float64x8) StoreSlicePart(s []float64) {
694
+ // If s has 8 or more elements, the method is equivalent to x.Store.
695
+ func (x Float64x8) StorePart(s []float64) int {
617
696
  l := len(s)
618
697
  if l >= 8 {
619
- x.StoreSlice(s)
620
- return
698
+ x.Store(s)
699
+ return 8
621
700
  }
622
701
  if l == 0 {
623
- return
702
+ return 0
624
703
  }
625
704
  mask := Mask64x8FromBits(0xff >> (8 - l))
626
- x.StoreMasked(paFloat64x8(s), mask)
705
+ x.StoreArrayMasked(paFloat64x8(s), mask)
706
+ return l
627
707
  }
628
708
 
629
- // LoadInt32x4SlicePart loads a Int32x4 from the slice s.
709
+ // LoadInt32x4Part loads a Int32x4 from the slice s, it returns the loaded vector and the
710
+ // number of elements loaded.
630
711
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
631
- // If s has 4 or more elements, the function is equivalent to LoadInt32x4Slice.
632
- func LoadInt32x4SlicePart(s []int32) Int32x4 {
712
+ // If s has 4 or more elements, the function is equivalent to LoadInt32x4.
713
+ func LoadInt32x4Part(s []int32) (Int32x4, int) {
633
714
  l := len(s)
634
715
  if l >= 4 {
635
- return LoadInt32x4Slice(s)
716
+ return LoadInt32x4(s), 4
636
717
  }
637
718
  if l == 0 {
638
719
  var x Int32x4
639
- return x
720
+ return x, 0
640
721
  }
641
722
  mask := vecMask32[len(vecMask32)/2-l:]
642
- return LoadMaskedInt32x4(paInt32x4(s), LoadInt32x4Slice(mask).asMask())
723
+ return LoadInt32x4Array(paInt32x4(s)).Masked(LoadInt32x4(mask).asMask()), l
643
724
  }
644
725
 
645
- // StoreSlicePart stores the 4 elements of x into the slice s.
726
+ // StorePart stores the 4 elements of x into the slice s.
646
727
  // It stores as many elements as will fit in s.
647
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
648
- func (x Int32x4) StoreSlicePart(s []int32) {
728
+ // If s has 4 or more elements, the method is equivalent to x.Store.
729
+ func (x Int32x4) StorePart(s []int32) int {
649
730
  l := len(s)
650
731
  if l >= 4 {
651
- x.StoreSlice(s)
652
- return
732
+ x.Store(s)
733
+ return 4
653
734
  }
654
735
  if l == 0 {
655
- return
736
+ return 0
656
737
  }
657
738
  mask := vecMask32[len(vecMask32)/2-l:]
658
- x.StoreMasked(paInt32x4(s), LoadInt32x4Slice(mask).asMask())
739
+ x.StoreArrayMasked(paInt32x4(s), LoadInt32x4(mask).asMask())
740
+ return l
659
741
  }
660
742
 
661
- // LoadInt64x2SlicePart loads a Int64x2 from the slice s.
743
+ // LoadInt64x2Part loads a Int64x2 from the slice s, it returns the loaded vector and the
744
+ // number of elements loaded.
662
745
  // If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
663
- // If s has 2 or more elements, the function is equivalent to LoadInt64x2Slice.
664
- func LoadInt64x2SlicePart(s []int64) Int64x2 {
746
+ // If s has 2 or more elements, the function is equivalent to LoadInt64x2.
747
+ func LoadInt64x2Part(s []int64) (Int64x2, int) {
665
748
  l := len(s)
666
749
  if l >= 2 {
667
- return LoadInt64x2Slice(s)
750
+ return LoadInt64x2(s), 2
668
751
  }
669
752
  if l == 0 {
670
753
  var x Int64x2
671
- return x
754
+ return x, 0
672
755
  }
673
756
  mask := vecMask64[len(vecMask64)/2-l:]
674
- return LoadMaskedInt64x2(paInt64x2(s), LoadInt64x2Slice(mask).asMask())
757
+ return LoadInt64x2Array(paInt64x2(s)).Masked(LoadInt64x2(mask).asMask()), l
675
758
  }
676
759
 
677
- // StoreSlicePart stores the 2 elements of x into the slice s.
760
+ // StorePart stores the 2 elements of x into the slice s.
678
761
  // It stores as many elements as will fit in s.
679
- // If s has 2 or more elements, the method is equivalent to x.StoreSlice.
680
- func (x Int64x2) StoreSlicePart(s []int64) {
762
+ // If s has 2 or more elements, the method is equivalent to x.Store.
763
+ func (x Int64x2) StorePart(s []int64) int {
681
764
  l := len(s)
682
765
  if l >= 2 {
683
- x.StoreSlice(s)
684
- return
766
+ x.Store(s)
767
+ return 2
685
768
  }
686
769
  if l == 0 {
687
- return
770
+ return 0
688
771
  }
689
772
  mask := vecMask64[len(vecMask64)/2-l:]
690
- x.StoreMasked(paInt64x2(s), LoadInt64x2Slice(mask).asMask())
773
+ x.StoreArrayMasked(paInt64x2(s), LoadInt64x2(mask).asMask())
774
+ return l
691
775
  }
692
776
 
693
- // LoadUint32x4SlicePart loads a Uint32x4 from the slice s.
777
+ // LoadUint32x4Part loads a Uint32x4 from the slice s, it returns the loaded vector and the
778
+ // number of elements loaded.
694
779
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
695
- // If s has 4 or more elements, the function is equivalent to LoadUint32x4Slice.
696
- func LoadUint32x4SlicePart(s []uint32) Uint32x4 {
780
+ // If s has 4 or more elements, the function is equivalent to LoadUint32x4.
781
+ func LoadUint32x4Part(s []uint32) (Uint32x4, int) {
697
782
  l := len(s)
698
783
  if l >= 4 {
699
- return LoadUint32x4Slice(s)
784
+ return LoadUint32x4(s), 4
700
785
  }
701
786
  if l == 0 {
702
787
  var x Uint32x4
703
- return x
788
+ return x, 0
704
789
  }
705
790
  mask := vecMask32[len(vecMask32)/2-l:]
706
- return LoadMaskedUint32x4(paUint32x4(s), LoadInt32x4Slice(mask).asMask())
791
+ return LoadUint32x4Array(paUint32x4(s)).Masked(LoadInt32x4(mask).asMask()), l
707
792
  }
708
793
 
709
- // StoreSlicePart stores the 4 elements of x into the slice s.
794
+ // StorePart stores the 4 elements of x into the slice s.
710
795
  // It stores as many elements as will fit in s.
711
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
712
- func (x Uint32x4) StoreSlicePart(s []uint32) {
796
+ // If s has 4 or more elements, the method is equivalent to x.Store.
797
+ func (x Uint32x4) StorePart(s []uint32) int {
713
798
  l := len(s)
714
799
  if l >= 4 {
715
- x.StoreSlice(s)
716
- return
800
+ x.Store(s)
801
+ return 4
717
802
  }
718
803
  if l == 0 {
719
- return
804
+ return 0
720
805
  }
721
806
  mask := vecMask32[len(vecMask32)/2-l:]
722
- x.StoreMasked(paUint32x4(s), LoadInt32x4Slice(mask).asMask())
807
+ x.StoreArrayMasked(paUint32x4(s), LoadInt32x4(mask).asMask())
808
+ return l
723
809
  }
724
810
 
725
- // LoadUint64x2SlicePart loads a Uint64x2 from the slice s.
811
+ // LoadUint64x2Part loads a Uint64x2 from the slice s, it returns the loaded vector and the
812
+ // number of elements loaded.
726
813
  // If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
727
- // If s has 2 or more elements, the function is equivalent to LoadUint64x2Slice.
728
- func LoadUint64x2SlicePart(s []uint64) Uint64x2 {
814
+ // If s has 2 or more elements, the function is equivalent to LoadUint64x2.
815
+ func LoadUint64x2Part(s []uint64) (Uint64x2, int) {
729
816
  l := len(s)
730
817
  if l >= 2 {
731
- return LoadUint64x2Slice(s)
818
+ return LoadUint64x2(s), 2
732
819
  }
733
820
  if l == 0 {
734
821
  var x Uint64x2
735
- return x
822
+ return x, 0
736
823
  }
737
824
  mask := vecMask64[len(vecMask64)/2-l:]
738
- return LoadMaskedUint64x2(paUint64x2(s), LoadInt64x2Slice(mask).asMask())
825
+ return LoadUint64x2Array(paUint64x2(s)).Masked(LoadInt64x2(mask).asMask()), l
739
826
  }
740
827
 
741
- // StoreSlicePart stores the 2 elements of x into the slice s.
828
+ // StorePart stores the 2 elements of x into the slice s.
742
829
  // It stores as many elements as will fit in s.
743
- // If s has 2 or more elements, the method is equivalent to x.StoreSlice.
744
- func (x Uint64x2) StoreSlicePart(s []uint64) {
830
+ // If s has 2 or more elements, the method is equivalent to x.Store.
831
+ func (x Uint64x2) StorePart(s []uint64) int {
745
832
  l := len(s)
746
833
  if l >= 2 {
747
- x.StoreSlice(s)
748
- return
834
+ x.Store(s)
835
+ return 2
749
836
  }
750
837
  if l == 0 {
751
- return
838
+ return 0
752
839
  }
753
840
  mask := vecMask64[len(vecMask64)/2-l:]
754
- x.StoreMasked(paUint64x2(s), LoadInt64x2Slice(mask).asMask())
841
+ x.StoreArrayMasked(paUint64x2(s), LoadInt64x2(mask).asMask())
842
+ return l
755
843
  }
756
844
 
757
- // LoadFloat32x4SlicePart loads a Float32x4 from the slice s.
845
+ // LoadFloat32x4Part loads a Float32x4 from the slice s, it returns the loaded vector and the
846
+ // number of elements loaded.
758
847
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
759
- // If s has 4 or more elements, the function is equivalent to LoadFloat32x4Slice.
760
- func LoadFloat32x4SlicePart(s []float32) Float32x4 {
848
+ // If s has 4 or more elements, the function is equivalent to LoadFloat32x4.
849
+ func LoadFloat32x4Part(s []float32) (Float32x4, int) {
761
850
  l := len(s)
762
851
  if l >= 4 {
763
- return LoadFloat32x4Slice(s)
852
+ return LoadFloat32x4(s), 4
764
853
  }
765
854
  if l == 0 {
766
855
  var x Float32x4
767
- return x
856
+ return x, 0
768
857
  }
769
858
  mask := vecMask32[len(vecMask32)/2-l:]
770
- return LoadMaskedFloat32x4(paFloat32x4(s), LoadInt32x4Slice(mask).asMask())
859
+ return LoadFloat32x4Array(paFloat32x4(s)).Masked(LoadInt32x4(mask).asMask()), l
771
860
  }
772
861
 
773
- // StoreSlicePart stores the 4 elements of x into the slice s.
862
+ // StorePart stores the 4 elements of x into the slice s.
774
863
  // It stores as many elements as will fit in s.
775
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
776
- func (x Float32x4) StoreSlicePart(s []float32) {
864
+ // If s has 4 or more elements, the method is equivalent to x.Store.
865
+ func (x Float32x4) StorePart(s []float32) int {
777
866
  l := len(s)
778
867
  if l >= 4 {
779
- x.StoreSlice(s)
780
- return
868
+ x.Store(s)
869
+ return 4
781
870
  }
782
871
  if l == 0 {
783
- return
872
+ return 0
784
873
  }
785
874
  mask := vecMask32[len(vecMask32)/2-l:]
786
- x.StoreMasked(paFloat32x4(s), LoadInt32x4Slice(mask).asMask())
875
+ x.StoreArrayMasked(paFloat32x4(s), LoadInt32x4(mask).asMask())
876
+ return l
787
877
  }
788
878
 
789
- // LoadFloat64x2SlicePart loads a Float64x2 from the slice s.
879
+ // LoadFloat64x2Part loads a Float64x2 from the slice s, it returns the loaded vector and the
880
+ // number of elements loaded.
790
881
  // If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
791
- // If s has 2 or more elements, the function is equivalent to LoadFloat64x2Slice.
792
- func LoadFloat64x2SlicePart(s []float64) Float64x2 {
882
+ // If s has 2 or more elements, the function is equivalent to LoadFloat64x2.
883
+ func LoadFloat64x2Part(s []float64) (Float64x2, int) {
793
884
  l := len(s)
794
885
  if l >= 2 {
795
- return LoadFloat64x2Slice(s)
886
+ return LoadFloat64x2(s), 2
796
887
  }
797
888
  if l == 0 {
798
889
  var x Float64x2
799
- return x
890
+ return x, 0
800
891
  }
801
892
  mask := vecMask64[len(vecMask64)/2-l:]
802
- return LoadMaskedFloat64x2(paFloat64x2(s), LoadInt64x2Slice(mask).asMask())
893
+ return LoadFloat64x2Array(paFloat64x2(s)).Masked(LoadInt64x2(mask).asMask()), l
803
894
  }
804
895
 
805
- // StoreSlicePart stores the 2 elements of x into the slice s.
896
+ // StorePart stores the 2 elements of x into the slice s.
806
897
  // It stores as many elements as will fit in s.
807
- // If s has 2 or more elements, the method is equivalent to x.StoreSlice.
808
- func (x Float64x2) StoreSlicePart(s []float64) {
898
+ // If s has 2 or more elements, the method is equivalent to x.Store.
899
+ func (x Float64x2) StorePart(s []float64) int {
809
900
  l := len(s)
810
901
  if l >= 2 {
811
- x.StoreSlice(s)
812
- return
902
+ x.Store(s)
903
+ return 2
813
904
  }
814
905
  if l == 0 {
815
- return
906
+ return 0
816
907
  }
817
908
  mask := vecMask64[len(vecMask64)/2-l:]
818
- x.StoreMasked(paFloat64x2(s), LoadInt64x2Slice(mask).asMask())
909
+ x.StoreArrayMasked(paFloat64x2(s), LoadInt64x2(mask).asMask())
910
+ return l
819
911
  }
820
912
 
821
- // LoadInt32x8SlicePart loads a Int32x8 from the slice s.
913
+ // LoadInt32x8Part loads a Int32x8 from the slice s, it returns the loaded vector and the
914
+ // number of elements loaded.
822
915
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
823
- // If s has 8 or more elements, the function is equivalent to LoadInt32x8Slice.
824
- func LoadInt32x8SlicePart(s []int32) Int32x8 {
916
+ // If s has 8 or more elements, the function is equivalent to LoadInt32x8.
917
+ func LoadInt32x8Part(s []int32) (Int32x8, int) {
825
918
  l := len(s)
826
919
  if l >= 8 {
827
- return LoadInt32x8Slice(s)
920
+ return LoadInt32x8(s), 8
828
921
  }
829
922
  if l == 0 {
830
923
  var x Int32x8
831
- return x
924
+ return x, 0
832
925
  }
833
926
  mask := vecMask32[len(vecMask32)/2-l:]
834
- return LoadMaskedInt32x8(paInt32x8(s), LoadInt32x8Slice(mask).asMask())
927
+ return LoadInt32x8Array(paInt32x8(s)).Masked(LoadInt32x8(mask).asMask()), l
835
928
  }
836
929
 
837
- // StoreSlicePart stores the 8 elements of x into the slice s.
930
+ // StorePart stores the 8 elements of x into the slice s.
838
931
  // It stores as many elements as will fit in s.
839
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
840
- func (x Int32x8) StoreSlicePart(s []int32) {
932
+ // If s has 8 or more elements, the method is equivalent to x.Store.
933
+ func (x Int32x8) StorePart(s []int32) int {
841
934
  l := len(s)
842
935
  if l >= 8 {
843
- x.StoreSlice(s)
844
- return
936
+ x.Store(s)
937
+ return 8
845
938
  }
846
939
  if l == 0 {
847
- return
940
+ return 0
848
941
  }
849
942
  mask := vecMask32[len(vecMask32)/2-l:]
850
- x.StoreMasked(paInt32x8(s), LoadInt32x8Slice(mask).asMask())
943
+ x.StoreArrayMasked(paInt32x8(s), LoadInt32x8(mask).asMask())
944
+ return l
851
945
  }
852
946
 
853
- // LoadInt64x4SlicePart loads a Int64x4 from the slice s.
947
+ // LoadInt64x4Part loads a Int64x4 from the slice s, it returns the loaded vector and the
948
+ // number of elements loaded.
854
949
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
855
- // If s has 4 or more elements, the function is equivalent to LoadInt64x4Slice.
856
- func LoadInt64x4SlicePart(s []int64) Int64x4 {
950
+ // If s has 4 or more elements, the function is equivalent to LoadInt64x4.
951
+ func LoadInt64x4Part(s []int64) (Int64x4, int) {
857
952
  l := len(s)
858
953
  if l >= 4 {
859
- return LoadInt64x4Slice(s)
954
+ return LoadInt64x4(s), 4
860
955
  }
861
956
  if l == 0 {
862
957
  var x Int64x4
863
- return x
958
+ return x, 0
864
959
  }
865
960
  mask := vecMask64[len(vecMask64)/2-l:]
866
- return LoadMaskedInt64x4(paInt64x4(s), LoadInt64x4Slice(mask).asMask())
961
+ return LoadInt64x4Array(paInt64x4(s)).Masked(LoadInt64x4(mask).asMask()), l
867
962
  }
868
963
 
869
- // StoreSlicePart stores the 4 elements of x into the slice s.
964
+ // StorePart stores the 4 elements of x into the slice s.
870
965
  // It stores as many elements as will fit in s.
871
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
872
- func (x Int64x4) StoreSlicePart(s []int64) {
966
+ // If s has 4 or more elements, the method is equivalent to x.Store.
967
+ func (x Int64x4) StorePart(s []int64) int {
873
968
  l := len(s)
874
969
  if l >= 4 {
875
- x.StoreSlice(s)
876
- return
970
+ x.Store(s)
971
+ return 4
877
972
  }
878
973
  if l == 0 {
879
- return
974
+ return 0
880
975
  }
881
976
  mask := vecMask64[len(vecMask64)/2-l:]
882
- x.StoreMasked(paInt64x4(s), LoadInt64x4Slice(mask).asMask())
977
+ x.StoreArrayMasked(paInt64x4(s), LoadInt64x4(mask).asMask())
978
+ return l
883
979
  }
884
980
 
885
- // LoadUint32x8SlicePart loads a Uint32x8 from the slice s.
981
+ // LoadUint32x8Part loads a Uint32x8 from the slice s, it returns the loaded vector and the
982
+ // number of elements loaded.
886
983
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
887
- // If s has 8 or more elements, the function is equivalent to LoadUint32x8Slice.
888
- func LoadUint32x8SlicePart(s []uint32) Uint32x8 {
984
+ // If s has 8 or more elements, the function is equivalent to LoadUint32x8.
985
+ func LoadUint32x8Part(s []uint32) (Uint32x8, int) {
889
986
  l := len(s)
890
987
  if l >= 8 {
891
- return LoadUint32x8Slice(s)
988
+ return LoadUint32x8(s), 8
892
989
  }
893
990
  if l == 0 {
894
991
  var x Uint32x8
895
- return x
992
+ return x, 0
896
993
  }
897
994
  mask := vecMask32[len(vecMask32)/2-l:]
898
- return LoadMaskedUint32x8(paUint32x8(s), LoadInt32x8Slice(mask).asMask())
995
+ return LoadUint32x8Array(paUint32x8(s)).Masked(LoadInt32x8(mask).asMask()), l
899
996
  }
900
997
 
901
- // StoreSlicePart stores the 8 elements of x into the slice s.
998
+ // StorePart stores the 8 elements of x into the slice s.
902
999
  // It stores as many elements as will fit in s.
903
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
904
- func (x Uint32x8) StoreSlicePart(s []uint32) {
1000
+ // If s has 8 or more elements, the method is equivalent to x.Store.
1001
+ func (x Uint32x8) StorePart(s []uint32) int {
905
1002
  l := len(s)
906
1003
  if l >= 8 {
907
- x.StoreSlice(s)
908
- return
1004
+ x.Store(s)
1005
+ return 8
909
1006
  }
910
1007
  if l == 0 {
911
- return
1008
+ return 0
912
1009
  }
913
1010
  mask := vecMask32[len(vecMask32)/2-l:]
914
- x.StoreMasked(paUint32x8(s), LoadInt32x8Slice(mask).asMask())
1011
+ x.StoreArrayMasked(paUint32x8(s), LoadInt32x8(mask).asMask())
1012
+ return l
915
1013
  }
916
1014
 
917
- // LoadUint64x4SlicePart loads a Uint64x4 from the slice s.
1015
+ // LoadUint64x4Part loads a Uint64x4 from the slice s, it returns the loaded vector and the
1016
+ // number of elements loaded.
918
1017
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
919
- // If s has 4 or more elements, the function is equivalent to LoadUint64x4Slice.
920
- func LoadUint64x4SlicePart(s []uint64) Uint64x4 {
1018
+ // If s has 4 or more elements, the function is equivalent to LoadUint64x4.
1019
+ func LoadUint64x4Part(s []uint64) (Uint64x4, int) {
921
1020
  l := len(s)
922
1021
  if l >= 4 {
923
- return LoadUint64x4Slice(s)
1022
+ return LoadUint64x4(s), 4
924
1023
  }
925
1024
  if l == 0 {
926
1025
  var x Uint64x4
927
- return x
1026
+ return x, 0
928
1027
  }
929
1028
  mask := vecMask64[len(vecMask64)/2-l:]
930
- return LoadMaskedUint64x4(paUint64x4(s), LoadInt64x4Slice(mask).asMask())
1029
+ return LoadUint64x4Array(paUint64x4(s)).Masked(LoadInt64x4(mask).asMask()), l
931
1030
  }
932
1031
 
933
- // StoreSlicePart stores the 4 elements of x into the slice s.
1032
+ // StorePart stores the 4 elements of x into the slice s.
934
1033
  // It stores as many elements as will fit in s.
935
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
936
- func (x Uint64x4) StoreSlicePart(s []uint64) {
1034
+ // If s has 4 or more elements, the method is equivalent to x.Store.
1035
+ func (x Uint64x4) StorePart(s []uint64) int {
937
1036
  l := len(s)
938
1037
  if l >= 4 {
939
- x.StoreSlice(s)
940
- return
1038
+ x.Store(s)
1039
+ return 4
941
1040
  }
942
1041
  if l == 0 {
943
- return
1042
+ return 0
944
1043
  }
945
1044
  mask := vecMask64[len(vecMask64)/2-l:]
946
- x.StoreMasked(paUint64x4(s), LoadInt64x4Slice(mask).asMask())
1045
+ x.StoreArrayMasked(paUint64x4(s), LoadInt64x4(mask).asMask())
1046
+ return l
947
1047
  }
948
1048
 
949
- // LoadFloat32x8SlicePart loads a Float32x8 from the slice s.
1049
+ // LoadFloat32x8Part loads a Float32x8 from the slice s, it returns the loaded vector and the
1050
+ // number of elements loaded.
950
1051
  // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
951
- // If s has 8 or more elements, the function is equivalent to LoadFloat32x8Slice.
952
- func LoadFloat32x8SlicePart(s []float32) Float32x8 {
1052
+ // If s has 8 or more elements, the function is equivalent to LoadFloat32x8.
1053
+ func LoadFloat32x8Part(s []float32) (Float32x8, int) {
953
1054
  l := len(s)
954
1055
  if l >= 8 {
955
- return LoadFloat32x8Slice(s)
1056
+ return LoadFloat32x8(s), 8
956
1057
  }
957
1058
  if l == 0 {
958
1059
  var x Float32x8
959
- return x
1060
+ return x, 0
960
1061
  }
961
1062
  mask := vecMask32[len(vecMask32)/2-l:]
962
- return LoadMaskedFloat32x8(paFloat32x8(s), LoadInt32x8Slice(mask).asMask())
1063
+ return LoadFloat32x8Array(paFloat32x8(s)).Masked(LoadInt32x8(mask).asMask()), l
963
1064
  }
964
1065
 
965
- // StoreSlicePart stores the 8 elements of x into the slice s.
1066
+ // StorePart stores the 8 elements of x into the slice s.
966
1067
  // It stores as many elements as will fit in s.
967
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
968
- func (x Float32x8) StoreSlicePart(s []float32) {
1068
+ // If s has 8 or more elements, the method is equivalent to x.Store.
1069
+ func (x Float32x8) StorePart(s []float32) int {
969
1070
  l := len(s)
970
1071
  if l >= 8 {
971
- x.StoreSlice(s)
972
- return
1072
+ x.Store(s)
1073
+ return 8
973
1074
  }
974
1075
  if l == 0 {
975
- return
1076
+ return 0
976
1077
  }
977
1078
  mask := vecMask32[len(vecMask32)/2-l:]
978
- x.StoreMasked(paFloat32x8(s), LoadInt32x8Slice(mask).asMask())
1079
+ x.StoreArrayMasked(paFloat32x8(s), LoadInt32x8(mask).asMask())
1080
+ return l
979
1081
  }
980
1082
 
981
- // LoadFloat64x4SlicePart loads a Float64x4 from the slice s.
1083
+ // LoadFloat64x4Part loads a Float64x4 from the slice s, it returns the loaded vector and the
1084
+ // number of elements loaded.
982
1085
  // If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
983
- // If s has 4 or more elements, the function is equivalent to LoadFloat64x4Slice.
984
- func LoadFloat64x4SlicePart(s []float64) Float64x4 {
1086
+ // If s has 4 or more elements, the function is equivalent to LoadFloat64x4.
1087
+ func LoadFloat64x4Part(s []float64) (Float64x4, int) {
985
1088
  l := len(s)
986
1089
  if l >= 4 {
987
- return LoadFloat64x4Slice(s)
1090
+ return LoadFloat64x4(s), 4
988
1091
  }
989
1092
  if l == 0 {
990
1093
  var x Float64x4
991
- return x
1094
+ return x, 0
992
1095
  }
993
1096
  mask := vecMask64[len(vecMask64)/2-l:]
994
- return LoadMaskedFloat64x4(paFloat64x4(s), LoadInt64x4Slice(mask).asMask())
1097
+ return LoadFloat64x4Array(paFloat64x4(s)).Masked(LoadInt64x4(mask).asMask()), l
995
1098
  }
996
1099
 
997
- // StoreSlicePart stores the 4 elements of x into the slice s.
1100
+ // StorePart stores the 4 elements of x into the slice s.
998
1101
  // It stores as many elements as will fit in s.
999
- // If s has 4 or more elements, the method is equivalent to x.StoreSlice.
1000
- func (x Float64x4) StoreSlicePart(s []float64) {
1102
+ // If s has 4 or more elements, the method is equivalent to x.Store.
1103
+ func (x Float64x4) StorePart(s []float64) int {
1001
1104
  l := len(s)
1002
1105
  if l >= 4 {
1003
- x.StoreSlice(s)
1004
- return
1106
+ x.Store(s)
1107
+ return 4
1005
1108
  }
1006
1109
  if l == 0 {
1007
- return
1110
+ return 0
1008
1111
  }
1009
1112
  mask := vecMask64[len(vecMask64)/2-l:]
1010
- x.StoreMasked(paFloat64x4(s), LoadInt64x4Slice(mask).asMask())
1113
+ x.StoreArrayMasked(paFloat64x4(s), LoadInt64x4(mask).asMask())
1114
+ return l
1011
1115
  }
1012
1116
 
1013
- // LoadUint8x16SlicePart loads a Uint8x16 from the slice s.
1014
- // If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
1015
- // If s has 16 or more elements, the function is equivalent to LoadUint8x16Slice.
1016
- func LoadUint8x16SlicePart(s []uint8) Uint8x16 {
1017
- if len(s) == 0 {
1018
- var zero Uint8x16
1019
- return zero
1020
- }
1021
- t := unsafe.Slice((*int8)(unsafe.Pointer(&s[0])), len(s))
1022
- return LoadInt8x16SlicePart(t).AsUint8x16()
1023
- }
1024
-
1025
- // StoreSlicePart stores the 16 elements of x into the slice s.
1026
- // It stores as many elements as will fit in s.
1027
- // If s has 16 or more elements, the method is equivalent to x.StoreSlice.
1028
- func (x Uint8x16) StoreSlicePart(s []uint8) {
1029
- if len(s) == 0 {
1030
- return
1031
- }
1032
- t := unsafe.Slice((*int8)(unsafe.Pointer(&s[0])), len(s))
1033
- x.AsInt8x16().StoreSlicePart(t)
1034
- }
1035
-
1036
- // LoadUint16x8SlicePart loads a Uint16x8 from the slice s.
1037
- // If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
1038
- // If s has 8 or more elements, the function is equivalent to LoadUint16x8Slice.
1039
- func LoadUint16x8SlicePart(s []uint16) Uint16x8 {
1040
- if len(s) == 0 {
1041
- var zero Uint16x8
1042
- return zero
1043
- }
1044
- t := unsafe.Slice((*int16)(unsafe.Pointer(&s[0])), len(s))
1045
- return LoadInt16x8SlicePart(t).AsUint16x8()
1046
- }
1047
-
1048
- // StoreSlicePart stores the 8 elements of x into the slice s.
1049
- // It stores as many elements as will fit in s.
1050
- // If s has 8 or more elements, the method is equivalent to x.StoreSlice.
1051
- func (x Uint16x8) StoreSlicePart(s []uint16) {
1052
- if len(s) == 0 {
1053
- return
1054
- }
1055
- t := unsafe.Slice((*int16)(unsafe.Pointer(&s[0])), len(s))
1056
- x.AsInt16x8().StoreSlicePart(t)
1057
- }
1058
-
1059
- // LoadUint8x32SlicePart loads a Uint8x32 from the slice s.
1117
+ // LoadUint8x32Part loads a Uint8x32 from the slice s, it returns the loaded vector and the
1118
+ // number of elements loaded.
1060
1119
  // If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
1061
- // If s has 32 or more elements, the function is equivalent to LoadUint8x32Slice.
1062
- func LoadUint8x32SlicePart(s []uint8) Uint8x32 {
1120
+ // If s has 32 or more elements, the function is equivalent to LoadUint8x32.
1121
+ func LoadUint8x32Part(s []uint8) (Uint8x32, int) {
1063
1122
  if len(s) == 0 {
1064
1123
  var zero Uint8x32
1065
- return zero
1124
+ return zero, 0
1066
1125
  }
1067
1126
  t := unsafe.Slice((*int8)(unsafe.Pointer(&s[0])), len(s))
1068
- return LoadInt8x32SlicePart(t).AsUint8x32()
1127
+ v, l := LoadInt8x32Part(t)
1128
+ return v.AsUint8x32(), l
1069
1129
  }
1070
1130
 
1071
- // StoreSlicePart stores the 32 elements of x into the slice s.
1131
+ // StorePart stores the 32 elements of x into the slice s.
1072
1132
  // It stores as many elements as will fit in s.
1073
- // If s has 32 or more elements, the method is equivalent to x.StoreSlice.
1074
- func (x Uint8x32) StoreSlicePart(s []uint8) {
1133
+ // If s has 32 or more elements, the method is equivalent to x.Store.
1134
+ func (x Uint8x32) StorePart(s []uint8) int {
1075
1135
  if len(s) == 0 {
1076
- return
1136
+ return 0
1077
1137
  }
1078
1138
  t := unsafe.Slice((*int8)(unsafe.Pointer(&s[0])), len(s))
1079
- x.AsInt8x32().StoreSlicePart(t)
1139
+ return x.AsInt8x32().StorePart(t)
1080
1140
  }
1081
1141
 
1082
- // LoadUint16x16SlicePart loads a Uint16x16 from the slice s.
1142
+ // LoadUint16x16Part loads a Uint16x16 from the slice s, it returns the loaded vector and the
1143
+ // number of elements loaded.
1083
1144
  // If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
1084
- // If s has 16 or more elements, the function is equivalent to LoadUint16x16Slice.
1085
- func LoadUint16x16SlicePart(s []uint16) Uint16x16 {
1145
+ // If s has 16 or more elements, the function is equivalent to LoadUint16x16.
1146
+ func LoadUint16x16Part(s []uint16) (Uint16x16, int) {
1086
1147
  if len(s) == 0 {
1087
1148
  var zero Uint16x16
1088
- return zero
1149
+ return zero, 0
1089
1150
  }
1090
1151
  t := unsafe.Slice((*int16)(unsafe.Pointer(&s[0])), len(s))
1091
- return LoadInt16x16SlicePart(t).AsUint16x16()
1152
+ v, l := LoadInt16x16Part(t)
1153
+ return v.AsUint16x16(), l
1092
1154
  }
1093
1155
 
1094
- // StoreSlicePart stores the 16 elements of x into the slice s.
1156
+ // StorePart stores the 16 elements of x into the slice s.
1095
1157
  // It stores as many elements as will fit in s.
1096
- // If s has 16 or more elements, the method is equivalent to x.StoreSlice.
1097
- func (x Uint16x16) StoreSlicePart(s []uint16) {
1158
+ // If s has 16 or more elements, the method is equivalent to x.Store.
1159
+ func (x Uint16x16) StorePart(s []uint16) int {
1098
1160
  if len(s) == 0 {
1099
- return
1161
+ return 0
1100
1162
  }
1101
1163
  t := unsafe.Slice((*int16)(unsafe.Pointer(&s[0])), len(s))
1102
- x.AsInt16x16().StoreSlicePart(t)
1164
+ return x.AsInt16x16().StorePart(t)
1103
1165
  }