wasmtime 24.0.0 → 25.0.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 (2451) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +112 -111
  3. data/ext/Cargo.toml +5 -5
  4. data/ext/cargo-vendor/cranelift-bforest-0.112.0/.cargo-checksum.json +1 -0
  5. data/ext/cargo-vendor/cranelift-bforest-0.112.0/Cargo.toml +59 -0
  6. data/ext/cargo-vendor/cranelift-bforest-0.112.0/src/node.rs +806 -0
  7. data/ext/cargo-vendor/cranelift-bforest-0.112.0/src/path.rs +830 -0
  8. data/ext/cargo-vendor/cranelift-bforest-0.112.0/src/pool.rs +219 -0
  9. data/ext/cargo-vendor/cranelift-bitset-0.112.0/.cargo-checksum.json +1 -0
  10. data/ext/cargo-vendor/cranelift-bitset-0.112.0/Cargo.toml +74 -0
  11. data/ext/cargo-vendor/cranelift-bitset-0.112.0/src/scalar.rs +626 -0
  12. data/ext/cargo-vendor/cranelift-codegen-0.112.0/.cargo-checksum.json +1 -0
  13. data/ext/cargo-vendor/cranelift-codegen-0.112.0/Cargo.toml +222 -0
  14. data/ext/cargo-vendor/cranelift-codegen-0.112.0/build.rs +267 -0
  15. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/binemit/mod.rs +168 -0
  16. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/cfg_printer.rs +83 -0
  17. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/data_value.rs +402 -0
  18. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/dbg.rs +28 -0
  19. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/egraph.rs +835 -0
  20. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/incremental_cache.rs +256 -0
  21. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/inst_predicates.rs +207 -0
  22. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/constant.rs +485 -0
  23. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/dfg.rs +1802 -0
  24. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/entities.rs +564 -0
  25. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/extfunc.rs +408 -0
  26. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/extname.rs +333 -0
  27. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/function.rs +500 -0
  28. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/globalvalue.rs +147 -0
  29. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/immediates.rs +1941 -0
  30. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/instructions.rs +1021 -0
  31. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/memtype.rs +190 -0
  32. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/progpoint.rs +75 -0
  33. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/trapcode.rs +148 -0
  34. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/types.rs +624 -0
  35. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/ir/user_stack_maps.rs +199 -0
  36. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/abi.rs +1520 -0
  37. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/args.rs +711 -0
  38. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/emit.rs +3567 -0
  39. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/emit_tests.rs +7972 -0
  40. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/imms.rs +1244 -0
  41. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/mod.rs +3051 -0
  42. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/regs.rs +269 -0
  43. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst/unwind/systemv.rs +174 -0
  44. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/inst.isle +4267 -0
  45. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/lower/isle.rs +811 -0
  46. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/lower.isle +2968 -0
  47. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/pcc.rs +570 -0
  48. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/aarch64/settings.rs +9 -0
  49. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/mod.rs +471 -0
  50. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley32.rs +13 -0
  51. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley64.rs +13 -0
  52. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/abi.rs +798 -0
  53. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/inst/args.rs +192 -0
  54. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/inst/emit.rs +482 -0
  55. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/inst/mod.rs +905 -0
  56. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/inst/regs.rs +164 -0
  57. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/inst.isle +543 -0
  58. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/lower/isle/generated_code.rs +17 -0
  59. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/lower/isle.rs +195 -0
  60. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/lower.isle +178 -0
  61. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/lower.rs +36 -0
  62. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/mod.rs +281 -0
  63. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/pulley_shared/settings.rs +16 -0
  64. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/abi.rs +993 -0
  65. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/args.rs +1957 -0
  66. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/emit.rs +2685 -0
  67. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/emit_tests.rs +2277 -0
  68. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/encode.rs +721 -0
  69. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/mod.rs +1865 -0
  70. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/unwind/systemv.rs +170 -0
  71. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst/vector.rs +1150 -0
  72. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst.isle +3128 -0
  73. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/inst_vector.isle +1907 -0
  74. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/lower/isle.rs +721 -0
  75. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/riscv64/lower.isle +2940 -0
  76. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/abi.rs +1348 -0
  77. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst/emit.rs +3470 -0
  78. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst/emit_tests.rs +13370 -0
  79. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst/mod.rs +3461 -0
  80. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst/regs.rs +169 -0
  81. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst/unwind/systemv.rs +212 -0
  82. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/inst.isle +5071 -0
  83. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/lower/isle.rs +1109 -0
  84. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/s390x/lower.isle +3981 -0
  85. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/unwind/systemv.rs +276 -0
  86. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/abi.rs +1390 -0
  87. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/encoding/evex.rs +747 -0
  88. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/args.rs +2318 -0
  89. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/emit.rs +4400 -0
  90. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/emit_state.rs +55 -0
  91. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/emit_tests.rs +5146 -0
  92. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/mod.rs +2811 -0
  93. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/regs.rs +275 -0
  94. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/stack_switch.rs +52 -0
  95. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst/unwind/systemv.rs +198 -0
  96. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/inst.isle +5382 -0
  97. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/lower/isle.rs +1047 -0
  98. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/lower.isle +4919 -0
  99. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/lower.rs +338 -0
  100. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/mod.rs +239 -0
  101. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isa/x64/pcc.rs +1022 -0
  102. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/isle_prelude.rs +1144 -0
  103. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/lib.rs +106 -0
  104. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/abi.rs +2417 -0
  105. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/buffer.rs +2492 -0
  106. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/isle.rs +890 -0
  107. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/lower.rs +1590 -0
  108. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/mod.rs +560 -0
  109. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/reg.rs +484 -0
  110. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/machinst/vcode.rs +1762 -0
  111. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/opts/extends.isle +95 -0
  112. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/opts/icmp.isle +258 -0
  113. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/opts/selects.isle +88 -0
  114. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/prelude.isle +751 -0
  115. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/prelude_lower.isle +1081 -0
  116. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/print_errors.rs +223 -0
  117. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/remove_constant_phis.rs +419 -0
  118. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/result.rs +111 -0
  119. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/settings.rs +591 -0
  120. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/timing.rs +296 -0
  121. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/verifier/mod.rs +1941 -0
  122. data/ext/cargo-vendor/cranelift-codegen-0.112.0/src/write.rs +694 -0
  123. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/.cargo-checksum.json +1 -0
  124. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/Cargo.toml +54 -0
  125. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/cdsl/settings.rs +429 -0
  126. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/cdsl/types.rs +420 -0
  127. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/cdsl/typevar.rs +946 -0
  128. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/error.rs +48 -0
  129. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/gen_inst.rs +1274 -0
  130. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/gen_isle.rs +519 -0
  131. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/gen_settings.rs +505 -0
  132. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/gen_types.rs +70 -0
  133. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isa/arm64.rs +59 -0
  134. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isa/mod.rs +81 -0
  135. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isa/pulley.rs +14 -0
  136. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isa/riscv64.rs +181 -0
  137. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isa/x86.rs +414 -0
  138. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/isle.rs +142 -0
  139. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/lib.rs +98 -0
  140. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/shared/instructions.rs +3801 -0
  141. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/shared/mod.rs +87 -0
  142. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/shared/settings.rs +361 -0
  143. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/shared/types.rs +103 -0
  144. data/ext/cargo-vendor/cranelift-codegen-meta-0.112.0/src/srcgen.rs +464 -0
  145. data/ext/cargo-vendor/cranelift-codegen-shared-0.112.0/.cargo-checksum.json +1 -0
  146. data/ext/cargo-vendor/cranelift-codegen-shared-0.112.0/Cargo.toml +32 -0
  147. data/ext/cargo-vendor/cranelift-control-0.112.0/.cargo-checksum.json +1 -0
  148. data/ext/cargo-vendor/cranelift-control-0.112.0/Cargo.toml +43 -0
  149. data/ext/cargo-vendor/cranelift-entity-0.112.0/.cargo-checksum.json +1 -0
  150. data/ext/cargo-vendor/cranelift-entity-0.112.0/Cargo.toml +75 -0
  151. data/ext/cargo-vendor/cranelift-entity-0.112.0/src/lib.rs +381 -0
  152. data/ext/cargo-vendor/cranelift-entity-0.112.0/src/packed_option.rs +173 -0
  153. data/ext/cargo-vendor/cranelift-entity-0.112.0/src/sparse.rs +367 -0
  154. data/ext/cargo-vendor/cranelift-frontend-0.112.0/.cargo-checksum.json +1 -0
  155. data/ext/cargo-vendor/cranelift-frontend-0.112.0/Cargo.toml +97 -0
  156. data/ext/cargo-vendor/cranelift-frontend-0.112.0/src/frontend.rs +1963 -0
  157. data/ext/cargo-vendor/cranelift-frontend-0.112.0/src/ssa.rs +1325 -0
  158. data/ext/cargo-vendor/cranelift-frontend-0.112.0/src/switch.rs +676 -0
  159. data/ext/cargo-vendor/cranelift-isle-0.112.0/.cargo-checksum.json +1 -0
  160. data/ext/cargo-vendor/cranelift-isle-0.112.0/Cargo.toml +69 -0
  161. data/ext/cargo-vendor/cranelift-isle-0.112.0/build.rs +35 -0
  162. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/ast.rs +412 -0
  163. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/codegen.rs +922 -0
  164. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/compile.rs +65 -0
  165. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/error.rs +318 -0
  166. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/files.rs +133 -0
  167. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/lexer.rs +343 -0
  168. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/lib.rs +34 -0
  169. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/overlap.rs +130 -0
  170. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/parser.rs +551 -0
  171. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/sema.rs +2482 -0
  172. data/ext/cargo-vendor/cranelift-isle-0.112.0/src/trie_again.rs +696 -0
  173. data/ext/cargo-vendor/cranelift-isle-0.112.0/tests/run_tests.rs +77 -0
  174. data/ext/cargo-vendor/cranelift-native-0.112.0/.cargo-checksum.json +1 -0
  175. data/ext/cargo-vendor/cranelift-native-0.112.0/Cargo.toml +52 -0
  176. data/ext/cargo-vendor/cranelift-native-0.112.0/src/lib.rs +192 -0
  177. data/ext/cargo-vendor/cranelift-wasm-0.112.0/.cargo-checksum.json +1 -0
  178. data/ext/cargo-vendor/cranelift-wasm-0.112.0/Cargo.toml +128 -0
  179. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/code_translator.rs +3723 -0
  180. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/environ/dummy.rs +897 -0
  181. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/environ/spec.rs +922 -0
  182. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/func_translator.rs +283 -0
  183. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/module_translator.rs +120 -0
  184. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/sections_translator.rs +332 -0
  185. data/ext/cargo-vendor/cranelift-wasm-0.112.0/src/translation_utils.rs +95 -0
  186. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.25/.cargo-checksum.json +1 -0
  187. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.25/Cargo.toml +69 -0
  188. data/ext/cargo-vendor/pulley-interpreter-0.1.0/.cargo-checksum.json +1 -0
  189. data/ext/cargo-vendor/pulley-interpreter-0.1.0/Cargo.toml +85 -0
  190. data/ext/cargo-vendor/pulley-interpreter-0.1.0/README.md +109 -0
  191. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/decode.rs +657 -0
  192. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/disas.rs +256 -0
  193. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/encode.rs +198 -0
  194. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/imms.rs +31 -0
  195. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/interp.rs +1113 -0
  196. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/lib.rs +215 -0
  197. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/op.rs +256 -0
  198. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/opcode.rs +126 -0
  199. data/ext/cargo-vendor/pulley-interpreter-0.1.0/src/regs.rs +329 -0
  200. data/ext/cargo-vendor/pulley-interpreter-0.1.0/tests/all/disas.rs +87 -0
  201. data/ext/cargo-vendor/pulley-interpreter-0.1.0/tests/all/interp.rs +1216 -0
  202. data/ext/cargo-vendor/pulley-interpreter-0.1.0/tests/all/main.rs +5 -0
  203. data/ext/cargo-vendor/regalloc2-0.10.2/.cargo-checksum.json +1 -0
  204. data/ext/cargo-vendor/regalloc2-0.10.2/Cargo.toml +83 -0
  205. data/ext/cargo-vendor/regalloc2-0.10.2/doc/DESIGN.md +1411 -0
  206. data/ext/cargo-vendor/regalloc2-0.10.2/src/cfg.rs +135 -0
  207. data/ext/cargo-vendor/regalloc2-0.10.2/src/checker.rs +993 -0
  208. data/ext/cargo-vendor/regalloc2-0.10.2/src/fuzzing/func.rs +651 -0
  209. data/ext/cargo-vendor/regalloc2-0.10.2/src/fuzzing/mod.rs +31 -0
  210. data/ext/cargo-vendor/regalloc2-0.10.2/src/index.rs +209 -0
  211. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/data_structures.rs +838 -0
  212. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/liveranges.rs +882 -0
  213. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/merge.rs +366 -0
  214. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/mod.rs +143 -0
  215. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/moves.rs +1006 -0
  216. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/process.rs +1319 -0
  217. data/ext/cargo-vendor/regalloc2-0.10.2/src/ion/requirement.rs +167 -0
  218. data/ext/cargo-vendor/regalloc2-0.10.2/src/lib.rs +1518 -0
  219. data/ext/cargo-vendor/regalloc2-0.10.2/src/serialize.rs +293 -0
  220. data/ext/cargo-vendor/rustc-hash-2.0.0/.cargo-checksum.json +1 -0
  221. data/ext/cargo-vendor/rustc-hash-2.0.0/CHANGELOG.md +19 -0
  222. data/ext/cargo-vendor/rustc-hash-2.0.0/CODE_OF_CONDUCT.md +3 -0
  223. data/ext/cargo-vendor/rustc-hash-2.0.0/Cargo.toml +39 -0
  224. data/ext/cargo-vendor/rustc-hash-2.0.0/LICENSE-APACHE +176 -0
  225. data/ext/cargo-vendor/rustc-hash-2.0.0/LICENSE-MIT +23 -0
  226. data/ext/cargo-vendor/rustc-hash-2.0.0/README.md +42 -0
  227. data/ext/cargo-vendor/rustc-hash-2.0.0/src/lib.rs +459 -0
  228. data/ext/cargo-vendor/rustc-hash-2.0.0/src/random_state.rs +92 -0
  229. data/ext/cargo-vendor/rustc-hash-2.0.0/src/seeded_state.rs +53 -0
  230. data/ext/cargo-vendor/wasi-common-25.0.0/.cargo-checksum.json +1 -0
  231. data/ext/cargo-vendor/wasi-common-25.0.0/Cargo.toml +242 -0
  232. data/ext/cargo-vendor/wasi-common-25.0.0/src/ctx.rs +128 -0
  233. data/ext/cargo-vendor/wasi-common-25.0.0/src/lib.rs +193 -0
  234. data/ext/cargo-vendor/wasi-common-25.0.0/src/snapshots/mod.rs +24 -0
  235. data/ext/cargo-vendor/wasi-common-25.0.0/src/sync/dir.rs +461 -0
  236. data/ext/cargo-vendor/wasi-common-25.0.0/src/tokio/dir.rs +220 -0
  237. data/ext/cargo-vendor/wasi-common-25.0.0/tests/all/async_.rs +294 -0
  238. data/ext/cargo-vendor/wasi-common-25.0.0/tests/all/main.rs +21 -0
  239. data/ext/cargo-vendor/wasi-common-25.0.0/tests/all/sync.rs +283 -0
  240. data/ext/cargo-vendor/wasm-encoder-0.217.0/.cargo-checksum.json +1 -0
  241. data/ext/cargo-vendor/wasm-encoder-0.217.0/Cargo.toml +65 -0
  242. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/component/builder.rs +469 -0
  243. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/component/exports.rs +129 -0
  244. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/component/imports.rs +169 -0
  245. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/component/instances.rs +199 -0
  246. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/component/types.rs +800 -0
  247. data/ext/cargo-vendor/wasm-encoder-0.217.0/src/core/code.rs +3947 -0
  248. data/ext/cargo-vendor/wasmparser-0.217.0/.cargo-checksum.json +1 -0
  249. data/ext/cargo-vendor/wasmparser-0.217.0/Cargo.lock +679 -0
  250. data/ext/cargo-vendor/wasmparser-0.217.0/Cargo.toml +139 -0
  251. data/ext/cargo-vendor/wasmparser-0.217.0/benches/benchmark.rs +350 -0
  252. data/ext/cargo-vendor/wasmparser-0.217.0/src/binary_reader.rs +2115 -0
  253. data/ext/cargo-vendor/wasmparser-0.217.0/src/features.rs +281 -0
  254. data/ext/cargo-vendor/wasmparser-0.217.0/src/limits.rs +80 -0
  255. data/ext/cargo-vendor/wasmparser-0.217.0/src/parser.rs +1691 -0
  256. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/aliases.rs +119 -0
  257. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/canonicals.rs +121 -0
  258. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/exports.rs +135 -0
  259. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/imports.rs +145 -0
  260. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/instances.rs +166 -0
  261. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/component/types.rs +553 -0
  262. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/code.rs +142 -0
  263. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/coredumps.rs +278 -0
  264. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/data.rs +94 -0
  265. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/exports.rs +65 -0
  266. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/globals.rs +61 -0
  267. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/imports.rs +76 -0
  268. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/init.rs +65 -0
  269. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/operators.rs +479 -0
  270. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/producers.rs +84 -0
  271. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers/core/types.rs +1987 -0
  272. data/ext/cargo-vendor/wasmparser-0.217.0/src/readers.rs +315 -0
  273. data/ext/cargo-vendor/wasmparser-0.217.0/src/resources.rs +245 -0
  274. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/component.rs +3297 -0
  275. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/core/canonical.rs +409 -0
  276. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/core.rs +1374 -0
  277. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/func.rs +340 -0
  278. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/names.rs +1012 -0
  279. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/operators.rs +4845 -0
  280. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator/types.rs +4612 -0
  281. data/ext/cargo-vendor/wasmparser-0.217.0/src/validator.rs +1658 -0
  282. data/ext/cargo-vendor/wasmprinter-0.217.0/.cargo-checksum.json +1 -0
  283. data/ext/cargo-vendor/wasmprinter-0.217.0/Cargo.toml +74 -0
  284. data/ext/cargo-vendor/wasmprinter-0.217.0/src/lib.rs +3250 -0
  285. data/ext/cargo-vendor/wasmtime-25.0.0/.cargo-checksum.json +1 -0
  286. data/ext/cargo-vendor/wasmtime-25.0.0/Cargo.toml +407 -0
  287. data/ext/cargo-vendor/wasmtime-25.0.0/build.rs +38 -0
  288. data/ext/cargo-vendor/wasmtime-25.0.0/src/compile/code_builder.rs +317 -0
  289. data/ext/cargo-vendor/wasmtime-25.0.0/src/compile/runtime.rs +167 -0
  290. data/ext/cargo-vendor/wasmtime-25.0.0/src/compile.rs +881 -0
  291. data/ext/cargo-vendor/wasmtime-25.0.0/src/config.rs +3021 -0
  292. data/ext/cargo-vendor/wasmtime-25.0.0/src/engine/serialization.rs +906 -0
  293. data/ext/cargo-vendor/wasmtime-25.0.0/src/engine.rs +778 -0
  294. data/ext/cargo-vendor/wasmtime-25.0.0/src/lib.rs +406 -0
  295. data/ext/cargo-vendor/wasmtime-25.0.0/src/profiling_agent/jitdump.rs +64 -0
  296. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/component.rs +810 -0
  297. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/func/host.rs +458 -0
  298. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/func/typed.rs +2497 -0
  299. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/linker.rs +704 -0
  300. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/mod.rs +673 -0
  301. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/resources.rs +1132 -0
  302. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/component/types.rs +897 -0
  303. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/coredump.rs +339 -0
  304. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/externals/global.rs +312 -0
  305. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/externals/table.rs +480 -0
  306. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/func.rs +2607 -0
  307. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/disabled/anyref.rs +126 -0
  308. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/disabled/arrayref.rs +56 -0
  309. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/disabled/rooting.rs +229 -0
  310. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/disabled.rs +23 -0
  311. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/enabled/anyref.rs +662 -0
  312. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/enabled/arrayref.rs +879 -0
  313. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/enabled/i31.rs +291 -0
  314. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/enabled/rooting.rs +1755 -0
  315. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/gc/enabled.rs +16 -0
  316. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/instance.rs +989 -0
  317. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/linker.rs +1498 -0
  318. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/memory.rs +1101 -0
  319. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/module.rs +1178 -0
  320. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/store.rs +2877 -0
  321. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/trampoline/global.rs +70 -0
  322. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/trap.rs +641 -0
  323. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/types.rs +2932 -0
  324. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/values.rs +1050 -0
  325. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/const_expr.rs +132 -0
  326. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/cow.rs +992 -0
  327. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/disabled.rs +41 -0
  328. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/enabled/arrayref.rs +342 -0
  329. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/enabled/data.rs +149 -0
  330. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/enabled/drc.rs +1163 -0
  331. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/enabled/structref.rs +336 -0
  332. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/enabled.rs +29 -0
  333. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/gc_ref.rs +479 -0
  334. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc/gc_runtime.rs +718 -0
  335. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/gc.rs +339 -0
  336. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/helpers.c +118 -0
  337. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +95 -0
  338. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +702 -0
  339. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/libcalls.rs +850 -0
  340. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/sys/custom/traphandlers.rs +57 -0
  341. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/sys/unix/machports.rs +440 -0
  342. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/sys/unix/mmap.rs +159 -0
  343. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/sys/unix/signals.rs +465 -0
  344. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/sys/windows/traphandlers.rs +135 -0
  345. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/threads/parking_spot.rs +623 -0
  346. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/traphandlers.rs +787 -0
  347. data/ext/cargo-vendor/wasmtime-25.0.0/src/runtime/vm/vmcontext.rs +1246 -0
  348. data/ext/cargo-vendor/wasmtime-asm-macros-25.0.0/.cargo-checksum.json +1 -0
  349. data/ext/cargo-vendor/wasmtime-asm-macros-25.0.0/Cargo.toml +33 -0
  350. data/ext/cargo-vendor/wasmtime-cache-25.0.0/.cargo-checksum.json +1 -0
  351. data/ext/cargo-vendor/wasmtime-cache-25.0.0/Cargo.toml +112 -0
  352. data/ext/cargo-vendor/wasmtime-cache-25.0.0/build.rs +10 -0
  353. data/ext/cargo-vendor/wasmtime-cache-25.0.0/src/config.rs +584 -0
  354. data/ext/cargo-vendor/wasmtime-cache-25.0.0/src/lib.rs +235 -0
  355. data/ext/cargo-vendor/wasmtime-cache-25.0.0/src/worker/tests.rs +758 -0
  356. data/ext/cargo-vendor/wasmtime-cache-25.0.0/src/worker.rs +890 -0
  357. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/.cargo-checksum.json +1 -0
  358. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/Cargo.toml +115 -0
  359. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/src/bindgen.rs +507 -0
  360. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/src/component.rs +1540 -0
  361. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/codegen.rs +699 -0
  362. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/char.rs +387 -0
  363. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/char_async.rs +414 -0
  364. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/char_tracing_async.rs +461 -0
  365. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/conventions.rs +824 -0
  366. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/conventions_async.rs +899 -0
  367. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/conventions_tracing_async.rs +1190 -0
  368. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/dead-code.rs +279 -0
  369. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/dead-code_async.rs +300 -0
  370. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/dead-code_tracing_async.rs +313 -0
  371. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/direct-import.rs +205 -0
  372. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/direct-import_async.rs +219 -0
  373. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/direct-import_tracing_async.rs +232 -0
  374. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/empty.rs +159 -0
  375. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/empty_async.rs +165 -0
  376. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/empty_tracing_async.rs +165 -0
  377. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/flags.rs +859 -0
  378. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/flags_async.rs +921 -0
  379. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/flags_tracing_async.rs +1096 -0
  380. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/floats.rs +459 -0
  381. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/floats_async.rs +500 -0
  382. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/floats_tracing_async.rs +594 -0
  383. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/function-new.rs +182 -0
  384. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/function-new_async.rs +191 -0
  385. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/function-new_tracing_async.rs +199 -0
  386. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/integers.rs +989 -0
  387. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/integers_async.rs +1128 -0
  388. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/integers_tracing_async.rs +1555 -0
  389. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/lists.rs +2040 -0
  390. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/lists_async.rs +2288 -0
  391. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/lists_tracing_async.rs +2980 -0
  392. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/many-arguments.rs +730 -0
  393. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/many-arguments_async.rs +758 -0
  394. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/many-arguments_tracing_async.rs +819 -0
  395. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multi-return.rs +475 -0
  396. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multi-return_async.rs +519 -0
  397. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multi-return_tracing_async.rs +633 -0
  398. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multiversion.rs +508 -0
  399. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multiversion_async.rs +537 -0
  400. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/multiversion_tracing_async.rs +585 -0
  401. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/records.rs +1056 -0
  402. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/records_async.rs +1146 -0
  403. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/records_tracing_async.rs +1406 -0
  404. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/rename.rs +268 -0
  405. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/rename_async.rs +289 -0
  406. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/rename_tracing_async.rs +302 -0
  407. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-export.rs +879 -0
  408. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-export_async.rs +937 -0
  409. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-export_tracing_async.rs +1011 -0
  410. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-import.rs +1217 -0
  411. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-import_async.rs +1361 -0
  412. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/resources-import_tracing_async.rs +1774 -0
  413. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/share-types.rs +429 -0
  414. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/share-types_async.rs +453 -0
  415. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/share-types_tracing_async.rs +477 -0
  416. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-functions.rs +522 -0
  417. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-functions_async.rs +574 -0
  418. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-functions_tracing_async.rs +718 -0
  419. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-lists.rs +545 -0
  420. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-lists_async.rs +590 -0
  421. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-lists_tracing_async.rs +687 -0
  422. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-wasi.rs +331 -0
  423. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-wasi_async.rs +354 -0
  424. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/simple-wasi_tracing_async.rs +380 -0
  425. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/small-anonymous.rs +454 -0
  426. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/small-anonymous_async.rs +474 -0
  427. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/small-anonymous_tracing_async.rs +496 -0
  428. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-default.rs +182 -0
  429. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-default_async.rs +191 -0
  430. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-default_tracing_async.rs +199 -0
  431. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-export.rs +263 -0
  432. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-export_async.rs +272 -0
  433. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke-export_tracing_async.rs +280 -0
  434. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke.rs +218 -0
  435. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke_async.rs +233 -0
  436. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/smoke_tracing_async.rs +246 -0
  437. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/strings.rs +432 -0
  438. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/strings_async.rs +466 -0
  439. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/strings_tracing_async.rs +538 -0
  440. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/unversioned-foo.rs +250 -0
  441. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/unversioned-foo_async.rs +265 -0
  442. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/unversioned-foo_tracing_async.rs +278 -0
  443. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/use-paths.rs +402 -0
  444. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/use-paths_async.rs +442 -0
  445. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/use-paths_tracing_async.rs +494 -0
  446. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/variants.rs +2016 -0
  447. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/variants_async.rs +2183 -0
  448. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/variants_tracing_async.rs +2705 -0
  449. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/wat.rs +265 -0
  450. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/wat_async.rs +271 -0
  451. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/wat_tracing_async.rs +271 -0
  452. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/worlds-with-types.rs +263 -0
  453. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/worlds-with-types_async.rs +279 -0
  454. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded/worlds-with-types_tracing_async.rs +287 -0
  455. data/ext/cargo-vendor/wasmtime-component-macro-25.0.0/tests/expanded.rs +72 -0
  456. data/ext/cargo-vendor/wasmtime-component-util-25.0.0/.cargo-checksum.json +1 -0
  457. data/ext/cargo-vendor/wasmtime-component-util-25.0.0/Cargo.toml +36 -0
  458. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/.cargo-checksum.json +1 -0
  459. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/Cargo.toml +137 -0
  460. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/compiler.rs +1035 -0
  461. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/attr.rs +308 -0
  462. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/line_program.rs +264 -0
  463. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/mod.rs +256 -0
  464. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/range_info_builder.rs +215 -0
  465. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/simulate.rs +423 -0
  466. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/debug/transform/unit.rs +512 -0
  467. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/func_environ.rs +2757 -0
  468. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/gc/enabled.rs +631 -0
  469. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/gc.rs +189 -0
  470. data/ext/cargo-vendor/wasmtime-cranelift-25.0.0/src/lib.rs +399 -0
  471. data/ext/cargo-vendor/wasmtime-environ-25.0.0/.cargo-checksum.json +1 -0
  472. data/ext/cargo-vendor/wasmtime-environ-25.0.0/Cargo.lock +792 -0
  473. data/ext/cargo-vendor/wasmtime-environ-25.0.0/Cargo.toml +195 -0
  474. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/builtin.rs +184 -0
  475. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/compile/mod.rs +379 -0
  476. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/compile/module_environ.rs +1264 -0
  477. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/component/types.rs +1059 -0
  478. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/demangling.rs +28 -0
  479. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/fact/trampoline.rs +3234 -0
  480. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/fact/traps.rs +116 -0
  481. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/stack_map.rs +60 -0
  482. data/ext/cargo-vendor/wasmtime-environ-25.0.0/src/trap_encoding.rs +189 -0
  483. data/ext/cargo-vendor/wasmtime-fiber-25.0.0/.cargo-checksum.json +1 -0
  484. data/ext/cargo-vendor/wasmtime-fiber-25.0.0/Cargo.toml +84 -0
  485. data/ext/cargo-vendor/wasmtime-fiber-25.0.0/build.rs +39 -0
  486. data/ext/cargo-vendor/wasmtime-fiber-25.0.0/src/lib.rs +343 -0
  487. data/ext/cargo-vendor/wasmtime-jit-debug-25.0.0/.cargo-checksum.json +1 -0
  488. data/ext/cargo-vendor/wasmtime-jit-debug-25.0.0/Cargo.toml +86 -0
  489. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-25.0.0/.cargo-checksum.json +1 -0
  490. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-25.0.0/Cargo.toml +71 -0
  491. data/ext/cargo-vendor/wasmtime-slab-25.0.0/.cargo-checksum.json +1 -0
  492. data/ext/cargo-vendor/wasmtime-slab-25.0.0/Cargo.toml +50 -0
  493. data/ext/cargo-vendor/wasmtime-types-25.0.0/.cargo-checksum.json +1 -0
  494. data/ext/cargo-vendor/wasmtime-types-25.0.0/Cargo.toml +80 -0
  495. data/ext/cargo-vendor/wasmtime-types-25.0.0/src/lib.rs +1846 -0
  496. data/ext/cargo-vendor/wasmtime-versioned-export-macros-25.0.0/.cargo-checksum.json +1 -0
  497. data/ext/cargo-vendor/wasmtime-versioned-export-macros-25.0.0/Cargo.toml +41 -0
  498. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/.cargo-checksum.json +1 -0
  499. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/Cargo.toml +224 -0
  500. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/bindings.rs +563 -0
  501. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/filesystem.rs +607 -0
  502. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/host/filesystem.rs +1091 -0
  503. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/host/io.rs +372 -0
  504. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/pipe.rs +833 -0
  505. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/preview1.rs +2764 -0
  506. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/runtime.rs +188 -0
  507. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/stdio.rs +616 -0
  508. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/stream.rs +265 -0
  509. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/tcp.rs +877 -0
  510. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/src/write_stream.rs +211 -0
  511. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/tests/all/main.rs +91 -0
  512. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/tests/process_stdin.rs +165 -0
  513. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/command.wit +10 -0
  514. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/environment.wit +22 -0
  515. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/exit.wit +17 -0
  516. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/imports.wit +36 -0
  517. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/run.wit +6 -0
  518. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/stdio.wit +26 -0
  519. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/cli/terminal.wit +62 -0
  520. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/clocks/monotonic-clock.wit +50 -0
  521. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/clocks/timezone.wit +55 -0
  522. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/clocks/wall-clock.wit +46 -0
  523. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/clocks/world.wit +11 -0
  524. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/filesystem/preopens.wit +11 -0
  525. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/filesystem/types.wit +678 -0
  526. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/filesystem/world.wit +9 -0
  527. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/io/error.wit +34 -0
  528. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/io/poll.wit +47 -0
  529. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/io/streams.wit +286 -0
  530. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/io/world.wit +10 -0
  531. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/random/insecure-seed.wit +27 -0
  532. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/random/insecure.wit +25 -0
  533. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/random/random.wit +29 -0
  534. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/random/world.wit +13 -0
  535. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/instance-network.wit +11 -0
  536. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/ip-name-lookup.wit +56 -0
  537. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/network.wit +153 -0
  538. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/tcp-create-socket.wit +30 -0
  539. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/tcp.wit +387 -0
  540. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/udp-create-socket.wit +30 -0
  541. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/udp.wit +288 -0
  542. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/deps/sockets/world.wit +19 -0
  543. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/test.wit +13 -0
  544. data/ext/cargo-vendor/wasmtime-wasi-25.0.0/wit/world.wit +6 -0
  545. data/ext/cargo-vendor/wasmtime-winch-25.0.0/.cargo-checksum.json +1 -0
  546. data/ext/cargo-vendor/wasmtime-winch-25.0.0/Cargo.toml +100 -0
  547. data/ext/cargo-vendor/wasmtime-wit-bindgen-25.0.0/.cargo-checksum.json +1 -0
  548. data/ext/cargo-vendor/wasmtime-wit-bindgen-25.0.0/Cargo.toml +66 -0
  549. data/ext/cargo-vendor/wasmtime-wit-bindgen-25.0.0/src/lib.rs +3117 -0
  550. data/ext/cargo-vendor/wasmtime-wit-bindgen-25.0.0/src/rust.rs +427 -0
  551. data/ext/cargo-vendor/wast-217.0.0/.cargo-checksum.json +1 -0
  552. data/ext/cargo-vendor/wast-217.0.0/Cargo.toml +101 -0
  553. data/ext/cargo-vendor/wast-217.0.0/src/component/binary.rs +1014 -0
  554. data/ext/cargo-vendor/wast-217.0.0/src/component/component.rs +324 -0
  555. data/ext/cargo-vendor/wast-217.0.0/src/component/expand.rs +879 -0
  556. data/ext/cargo-vendor/wast-217.0.0/src/component/import.rs +216 -0
  557. data/ext/cargo-vendor/wast-217.0.0/src/component/resolve.rs +994 -0
  558. data/ext/cargo-vendor/wast-217.0.0/src/core/binary/dwarf.rs +613 -0
  559. data/ext/cargo-vendor/wast-217.0.0/src/core/binary.rs +1556 -0
  560. data/ext/cargo-vendor/wast-217.0.0/src/core/expr.rs +2110 -0
  561. data/ext/cargo-vendor/wast-217.0.0/src/core/module.rs +218 -0
  562. data/ext/cargo-vendor/wast-217.0.0/src/core/resolve/mod.rs +111 -0
  563. data/ext/cargo-vendor/wast-217.0.0/src/core/resolve/names.rs +808 -0
  564. data/ext/cargo-vendor/wast-217.0.0/src/core/resolve/types.rs +273 -0
  565. data/ext/cargo-vendor/wast-217.0.0/src/lexer.rs +1573 -0
  566. data/ext/cargo-vendor/wast-217.0.0/src/lib.rs +557 -0
  567. data/ext/cargo-vendor/wast-217.0.0/src/parser.rs +1447 -0
  568. data/ext/cargo-vendor/wast-217.0.0/src/wast.rs +552 -0
  569. data/ext/cargo-vendor/wast-217.0.0/src/wat.rs +66 -0
  570. data/ext/cargo-vendor/wat-1.217.0/.cargo-checksum.json +1 -0
  571. data/ext/cargo-vendor/wat-1.217.0/Cargo.toml +56 -0
  572. data/ext/cargo-vendor/wiggle-25.0.0/.cargo-checksum.json +1 -0
  573. data/ext/cargo-vendor/wiggle-25.0.0/Cargo.toml +119 -0
  574. data/ext/cargo-vendor/wiggle-25.0.0/src/lib.rs +605 -0
  575. data/ext/cargo-vendor/wiggle-generate-25.0.0/.cargo-checksum.json +1 -0
  576. data/ext/cargo-vendor/wiggle-generate-25.0.0/Cargo.toml +85 -0
  577. data/ext/cargo-vendor/wiggle-generate-25.0.0/src/funcs.rs +434 -0
  578. data/ext/cargo-vendor/wiggle-generate-25.0.0/src/lib.rs +100 -0
  579. data/ext/cargo-vendor/wiggle-generate-25.0.0/src/names.rs +299 -0
  580. data/ext/cargo-vendor/wiggle-generate-25.0.0/src/wasmtime.rs +172 -0
  581. data/ext/cargo-vendor/wiggle-macro-25.0.0/.cargo-checksum.json +1 -0
  582. data/ext/cargo-vendor/wiggle-macro-25.0.0/Cargo.toml +78 -0
  583. data/ext/cargo-vendor/winch-codegen-0.23.0/.cargo-checksum.json +1 -0
  584. data/ext/cargo-vendor/winch-codegen-0.23.0/Cargo.toml +95 -0
  585. data/ext/cargo-vendor/winch-codegen-0.23.0/src/abi/local.rs +82 -0
  586. data/ext/cargo-vendor/winch-codegen-0.23.0/src/abi/mod.rs +666 -0
  587. data/ext/cargo-vendor/winch-codegen-0.23.0/src/codegen/bounds.rs +220 -0
  588. data/ext/cargo-vendor/winch-codegen-0.23.0/src/codegen/context.rs +593 -0
  589. data/ext/cargo-vendor/winch-codegen-0.23.0/src/codegen/mod.rs +905 -0
  590. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/aarch64/abi.rs +288 -0
  591. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/aarch64/address.rs +143 -0
  592. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/aarch64/asm.rs +840 -0
  593. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/aarch64/masm.rs +680 -0
  594. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/mod.rs +320 -0
  595. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/x64/abi.rs +494 -0
  596. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/x64/asm.rs +1422 -0
  597. data/ext/cargo-vendor/winch-codegen-0.23.0/src/isa/x64/masm.rs +1113 -0
  598. data/ext/cargo-vendor/winch-codegen-0.23.0/src/masm.rs +986 -0
  599. data/ext/cargo-vendor/winch-codegen-0.23.0/src/regalloc.rs +65 -0
  600. data/ext/cargo-vendor/winch-codegen-0.23.0/src/stack.rs +447 -0
  601. data/ext/cargo-vendor/winch-codegen-0.23.0/src/visitor.rs +2169 -0
  602. data/ext/cargo-vendor/wit-parser-0.217.0/.cargo-checksum.json +1 -0
  603. data/ext/cargo-vendor/wit-parser-0.217.0/Cargo.toml +129 -0
  604. data/ext/cargo-vendor/wit-parser-0.217.0/src/ast/resolve.rs +1575 -0
  605. data/ext/cargo-vendor/wit-parser-0.217.0/src/ast.rs +1886 -0
  606. data/ext/cargo-vendor/wit-parser-0.217.0/src/decoding.rs +1794 -0
  607. data/ext/cargo-vendor/wit-parser-0.217.0/src/lib.rs +910 -0
  608. data/ext/cargo-vendor/wit-parser-0.217.0/src/sizealign.rs +584 -0
  609. data/ext/cargo-vendor/wit-parser-0.217.0/tests/all.rs +154 -0
  610. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-gate3.wit.result +5 -0
  611. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-gate4.wit.result +5 -0
  612. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-gate5.wit.result +5 -0
  613. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg1.wit.result +5 -0
  614. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg2.wit.result +5 -0
  615. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg3.wit.result +5 -0
  616. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg4.wit.result +5 -0
  617. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg5.wit.result +5 -0
  618. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-pkg6.wit.result +5 -0
  619. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/bad-resource15.wit.result +5 -0
  620. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/conflicting-package.wit.result +5 -0
  621. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/duplicate-interface2.wit.result +5 -0
  622. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/include-foreign.wit.result +5 -0
  623. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +5 -0
  624. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/multi-package-deps-share-nest.wit.result +3 -0
  625. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/multiple-package-docs.wit.result +5 -0
  626. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +5 -0
  627. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/non-existance-world-include.wit.result +5 -0
  628. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/pkg-cycle.wit.result +5 -0
  629. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/pkg-cycle2.wit.result +5 -0
  630. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +5 -0
  631. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/resources-return-borrow.wit.result +5 -0
  632. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/return-borrow1.wit.result +5 -0
  633. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/return-borrow2.wit.result +5 -0
  634. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/return-borrow6.wit.result +5 -0
  635. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/return-borrow7.wit.result +5 -0
  636. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/return-borrow8.wit.result +5 -0
  637. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/type-and-resource-same-name.wit.result +5 -0
  638. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/unresolved-use10.wit.result +5 -0
  639. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/use-and-include-world.wit.result +5 -0
  640. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/use-world.wit.result +5 -0
  641. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/parse-fail/very-nested-packages.wit.result +5 -0
  642. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/since-and-unstable.wit +107 -0
  643. data/ext/cargo-vendor/wit-parser-0.217.0/tests/ui/since-and-unstable.wit.json +621 -0
  644. data/ext/src/ruby_api/config.rs +3 -0
  645. data/ext/src/ruby_api/engine.rs +1 -0
  646. data/ext/src/ruby_api/pooling_allocation_config.rs +7 -7
  647. data/ext/src/ruby_api/store.rs +58 -4
  648. data/ext/src/ruby_api/wasi_ctx.rs +6 -6
  649. data/lib/wasmtime/version.rb +1 -1
  650. metadata +1808 -1804
  651. data/ext/cargo-vendor/cranelift-bforest-0.111.0/.cargo-checksum.json +0 -1
  652. data/ext/cargo-vendor/cranelift-bforest-0.111.0/Cargo.toml +0 -57
  653. data/ext/cargo-vendor/cranelift-bforest-0.111.0/src/node.rs +0 -806
  654. data/ext/cargo-vendor/cranelift-bforest-0.111.0/src/path.rs +0 -835
  655. data/ext/cargo-vendor/cranelift-bforest-0.111.0/src/pool.rs +0 -219
  656. data/ext/cargo-vendor/cranelift-bitset-0.111.0/.cargo-checksum.json +0 -1
  657. data/ext/cargo-vendor/cranelift-bitset-0.111.0/Cargo.toml +0 -67
  658. data/ext/cargo-vendor/cranelift-bitset-0.111.0/src/scalar.rs +0 -575
  659. data/ext/cargo-vendor/cranelift-codegen-0.111.0/.cargo-checksum.json +0 -1
  660. data/ext/cargo-vendor/cranelift-codegen-0.111.0/Cargo.toml +0 -213
  661. data/ext/cargo-vendor/cranelift-codegen-0.111.0/build.rs +0 -266
  662. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/binemit/mod.rs +0 -171
  663. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/binemit/stack_map.rs +0 -141
  664. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/cfg_printer.rs +0 -83
  665. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/data_value.rs +0 -410
  666. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/dbg.rs +0 -28
  667. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/egraph.rs +0 -835
  668. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/incremental_cache.rs +0 -256
  669. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/inst_predicates.rs +0 -231
  670. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/constant.rs +0 -489
  671. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/dfg.rs +0 -1806
  672. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/entities.rs +0 -564
  673. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/extfunc.rs +0 -408
  674. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/extname.rs +0 -333
  675. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/function.rs +0 -500
  676. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/globalvalue.rs +0 -147
  677. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/immediates.rs +0 -1941
  678. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/instructions.rs +0 -1026
  679. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/memtype.rs +0 -190
  680. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/progpoint.rs +0 -75
  681. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/trapcode.rs +0 -148
  682. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/types.rs +0 -643
  683. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/ir/user_stack_maps.rs +0 -101
  684. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/abi.rs +0 -1548
  685. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/args.rs +0 -711
  686. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/emit.rs +0 -3599
  687. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/emit_tests.rs +0 -7925
  688. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/imms.rs +0 -1213
  689. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/mod.rs +0 -3052
  690. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/regs.rs +0 -269
  691. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst/unwind/systemv.rs +0 -174
  692. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/inst.isle +0 -4221
  693. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/lower/isle.rs +0 -807
  694. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/lower.isle +0 -2969
  695. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/pcc.rs +0 -568
  696. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/aarch64/settings.rs +0 -9
  697. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/mod.rs +0 -462
  698. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/abi.rs +0 -1021
  699. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/args.rs +0 -2054
  700. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/emit.rs +0 -2736
  701. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/emit_tests.rs +0 -2219
  702. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/encode.rs +0 -675
  703. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/mod.rs +0 -1932
  704. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/unwind/systemv.rs +0 -170
  705. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst/vector.rs +0 -1150
  706. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst.isle +0 -3153
  707. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/inst_vector.isle +0 -1907
  708. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/lower/isle.rs +0 -651
  709. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/riscv64/lower.isle +0 -2953
  710. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/abi.rs +0 -1357
  711. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst/emit.rs +0 -3481
  712. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst/emit_tests.rs +0 -13388
  713. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst/mod.rs +0 -3481
  714. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst/regs.rs +0 -169
  715. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst/unwind/systemv.rs +0 -212
  716. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/inst.isle +0 -5070
  717. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/lower/isle.rs +0 -1156
  718. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/s390x/lower.isle +0 -4022
  719. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/unwind/systemv.rs +0 -276
  720. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/abi.rs +0 -1410
  721. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/encoding/evex.rs +0 -748
  722. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/args.rs +0 -2318
  723. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/emit.rs +0 -4309
  724. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/emit_state.rs +0 -65
  725. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/emit_tests.rs +0 -5137
  726. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/mod.rs +0 -2819
  727. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/regs.rs +0 -275
  728. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst/unwind/systemv.rs +0 -198
  729. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/inst.isle +0 -5381
  730. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/lower/isle.rs +0 -1048
  731. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/lower.isle +0 -4892
  732. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/lower.rs +0 -339
  733. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/mod.rs +0 -239
  734. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isa/x64/pcc.rs +0 -1014
  735. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/isle_prelude.rs +0 -1097
  736. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/lib.rs +0 -106
  737. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/abi.rs +0 -2411
  738. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/buffer.rs +0 -2537
  739. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/isle.rs +0 -881
  740. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/lower.rs +0 -1462
  741. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/mod.rs +0 -564
  742. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/reg.rs +0 -479
  743. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/machinst/vcode.rs +0 -1840
  744. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/opts/extends.isle +0 -91
  745. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/opts/icmp.isle +0 -215
  746. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/opts/selects.isle +0 -77
  747. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/prelude.isle +0 -725
  748. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/prelude_lower.isle +0 -1074
  749. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/print_errors.rs +0 -223
  750. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/remove_constant_phis.rs +0 -419
  751. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/result.rs +0 -111
  752. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/settings.rs +0 -590
  753. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/timing.rs +0 -296
  754. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/verifier/mod.rs +0 -1963
  755. data/ext/cargo-vendor/cranelift-codegen-0.111.0/src/write.rs +0 -694
  756. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/.cargo-checksum.json +0 -1
  757. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/Cargo.toml +0 -52
  758. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/cdsl/settings.rs +0 -429
  759. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/cdsl/types.rs +0 -512
  760. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/cdsl/typevar.rs +0 -980
  761. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/error.rs +0 -48
  762. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/gen_inst.rs +0 -1278
  763. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/gen_isle.rs +0 -519
  764. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/gen_settings.rs +0 -508
  765. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/gen_types.rs +0 -75
  766. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/isa/arm64.rs +0 -53
  767. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/isa/mod.rs +0 -66
  768. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/isa/riscv64.rs +0 -174
  769. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/isa/x86.rs +0 -414
  770. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/isle.rs +0 -126
  771. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/lib.rs +0 -98
  772. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/shared/instructions.rs +0 -3794
  773. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/shared/mod.rs +0 -87
  774. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/shared/settings.rs +0 -348
  775. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/shared/types.rs +0 -143
  776. data/ext/cargo-vendor/cranelift-codegen-meta-0.111.0/src/srcgen.rs +0 -464
  777. data/ext/cargo-vendor/cranelift-codegen-shared-0.111.0/.cargo-checksum.json +0 -1
  778. data/ext/cargo-vendor/cranelift-codegen-shared-0.111.0/Cargo.toml +0 -31
  779. data/ext/cargo-vendor/cranelift-control-0.111.0/.cargo-checksum.json +0 -1
  780. data/ext/cargo-vendor/cranelift-control-0.111.0/Cargo.toml +0 -42
  781. data/ext/cargo-vendor/cranelift-entity-0.111.0/.cargo-checksum.json +0 -1
  782. data/ext/cargo-vendor/cranelift-entity-0.111.0/Cargo.toml +0 -73
  783. data/ext/cargo-vendor/cranelift-entity-0.111.0/src/lib.rs +0 -381
  784. data/ext/cargo-vendor/cranelift-entity-0.111.0/src/packed_option.rs +0 -171
  785. data/ext/cargo-vendor/cranelift-entity-0.111.0/src/sparse.rs +0 -367
  786. data/ext/cargo-vendor/cranelift-frontend-0.111.0/.cargo-checksum.json +0 -1
  787. data/ext/cargo-vendor/cranelift-frontend-0.111.0/Cargo.toml +0 -97
  788. data/ext/cargo-vendor/cranelift-frontend-0.111.0/src/frontend.rs +0 -1977
  789. data/ext/cargo-vendor/cranelift-frontend-0.111.0/src/ssa.rs +0 -1328
  790. data/ext/cargo-vendor/cranelift-frontend-0.111.0/src/switch.rs +0 -683
  791. data/ext/cargo-vendor/cranelift-isle-0.111.0/.cargo-checksum.json +0 -1
  792. data/ext/cargo-vendor/cranelift-isle-0.111.0/Cargo.toml +0 -67
  793. data/ext/cargo-vendor/cranelift-isle-0.111.0/build.rs +0 -35
  794. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/ast.rs +0 -421
  795. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/codegen.rs +0 -920
  796. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/compile.rs +0 -24
  797. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/error.rs +0 -317
  798. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/lexer.rs +0 -405
  799. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/lib.rs +0 -33
  800. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/overlap.rs +0 -137
  801. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/parser.rs +0 -562
  802. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/sema.rs +0 -2503
  803. data/ext/cargo-vendor/cranelift-isle-0.111.0/src/trie_again.rs +0 -695
  804. data/ext/cargo-vendor/cranelift-isle-0.111.0/tests/run_tests.rs +0 -77
  805. data/ext/cargo-vendor/cranelift-native-0.111.0/.cargo-checksum.json +0 -1
  806. data/ext/cargo-vendor/cranelift-native-0.111.0/Cargo.toml +0 -52
  807. data/ext/cargo-vendor/cranelift-native-0.111.0/src/lib.rs +0 -188
  808. data/ext/cargo-vendor/cranelift-wasm-0.111.0/.cargo-checksum.json +0 -1
  809. data/ext/cargo-vendor/cranelift-wasm-0.111.0/Cargo.toml +0 -127
  810. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/code_translator.rs +0 -3721
  811. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/environ/dummy.rs +0 -906
  812. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/environ/spec.rs +0 -945
  813. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/func_translator.rs +0 -271
  814. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/module_translator.rs +0 -120
  815. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/sections_translator.rs +0 -333
  816. data/ext/cargo-vendor/cranelift-wasm-0.111.0/src/translation_utils.rs +0 -91
  817. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.24/.cargo-checksum.json +0 -1
  818. data/ext/cargo-vendor/deterministic-wasi-ctx-0.1.24/Cargo.toml +0 -48
  819. data/ext/cargo-vendor/hashbrown-0.13.2/.cargo-checksum.json +0 -1
  820. data/ext/cargo-vendor/hashbrown-0.13.2/CHANGELOG.md +0 -437
  821. data/ext/cargo-vendor/hashbrown-0.13.2/Cargo.toml +0 -111
  822. data/ext/cargo-vendor/hashbrown-0.13.2/LICENSE-APACHE +0 -201
  823. data/ext/cargo-vendor/hashbrown-0.13.2/LICENSE-MIT +0 -25
  824. data/ext/cargo-vendor/hashbrown-0.13.2/README.md +0 -124
  825. data/ext/cargo-vendor/hashbrown-0.13.2/benches/bench.rs +0 -331
  826. data/ext/cargo-vendor/hashbrown-0.13.2/benches/insert_unique_unchecked.rs +0 -32
  827. data/ext/cargo-vendor/hashbrown-0.13.2/clippy.toml +0 -1
  828. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/mod.rs +0 -4
  829. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/rayon/helpers.rs +0 -27
  830. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/rayon/map.rs +0 -734
  831. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/rayon/mod.rs +0 -4
  832. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/rayon/raw.rs +0 -231
  833. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/rayon/set.rs +0 -659
  834. data/ext/cargo-vendor/hashbrown-0.13.2/src/external_trait_impls/serde.rs +0 -201
  835. data/ext/cargo-vendor/hashbrown-0.13.2/src/lib.rs +0 -183
  836. data/ext/cargo-vendor/hashbrown-0.13.2/src/macros.rs +0 -70
  837. data/ext/cargo-vendor/hashbrown-0.13.2/src/map.rs +0 -8512
  838. data/ext/cargo-vendor/hashbrown-0.13.2/src/raw/alloc.rs +0 -73
  839. data/ext/cargo-vendor/hashbrown-0.13.2/src/raw/bitmask.rs +0 -122
  840. data/ext/cargo-vendor/hashbrown-0.13.2/src/raw/generic.rs +0 -154
  841. data/ext/cargo-vendor/hashbrown-0.13.2/src/raw/mod.rs +0 -2518
  842. data/ext/cargo-vendor/hashbrown-0.13.2/src/raw/sse2.rs +0 -146
  843. data/ext/cargo-vendor/hashbrown-0.13.2/src/rustc_entry.rs +0 -630
  844. data/ext/cargo-vendor/hashbrown-0.13.2/src/scopeguard.rs +0 -72
  845. data/ext/cargo-vendor/hashbrown-0.13.2/src/set.rs +0 -2889
  846. data/ext/cargo-vendor/hashbrown-0.13.2/tests/equivalent_trait.rs +0 -53
  847. data/ext/cargo-vendor/hashbrown-0.13.2/tests/hasher.rs +0 -65
  848. data/ext/cargo-vendor/hashbrown-0.13.2/tests/raw.rs +0 -11
  849. data/ext/cargo-vendor/hashbrown-0.13.2/tests/rayon.rs +0 -533
  850. data/ext/cargo-vendor/hashbrown-0.13.2/tests/serde.rs +0 -65
  851. data/ext/cargo-vendor/hashbrown-0.13.2/tests/set.rs +0 -34
  852. data/ext/cargo-vendor/regalloc2-0.9.3/.cargo-checksum.json +0 -1
  853. data/ext/cargo-vendor/regalloc2-0.9.3/Cargo.toml +0 -72
  854. data/ext/cargo-vendor/regalloc2-0.9.3/doc/DESIGN.md +0 -1420
  855. data/ext/cargo-vendor/regalloc2-0.9.3/src/cfg.rs +0 -134
  856. data/ext/cargo-vendor/regalloc2-0.9.3/src/checker.rs +0 -1089
  857. data/ext/cargo-vendor/regalloc2-0.9.3/src/fuzzing/func.rs +0 -677
  858. data/ext/cargo-vendor/regalloc2-0.9.3/src/fuzzing/mod.rs +0 -28
  859. data/ext/cargo-vendor/regalloc2-0.9.3/src/index.rs +0 -268
  860. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/data_structures.rs +0 -857
  861. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/liveranges.rs +0 -961
  862. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/merge.rs +0 -383
  863. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/mod.rs +0 -150
  864. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/moves.rs +0 -1017
  865. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/process.rs +0 -1307
  866. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/requirement.rs +0 -174
  867. data/ext/cargo-vendor/regalloc2-0.9.3/src/ion/stackmap.rs +0 -79
  868. data/ext/cargo-vendor/regalloc2-0.9.3/src/lib.rs +0 -1526
  869. data/ext/cargo-vendor/regalloc2-0.9.3/src/serialize.rs +0 -311
  870. data/ext/cargo-vendor/wasi-common-24.0.0/.cargo-checksum.json +0 -1
  871. data/ext/cargo-vendor/wasi-common-24.0.0/Cargo.toml +0 -240
  872. data/ext/cargo-vendor/wasi-common-24.0.0/src/ctx.rs +0 -128
  873. data/ext/cargo-vendor/wasi-common-24.0.0/src/lib.rs +0 -193
  874. data/ext/cargo-vendor/wasi-common-24.0.0/src/snapshots/mod.rs +0 -27
  875. data/ext/cargo-vendor/wasi-common-24.0.0/src/sync/dir.rs +0 -462
  876. data/ext/cargo-vendor/wasi-common-24.0.0/src/tokio/dir.rs +0 -221
  877. data/ext/cargo-vendor/wasi-common-24.0.0/tests/all/async_.rs +0 -295
  878. data/ext/cargo-vendor/wasi-common-24.0.0/tests/all/main.rs +0 -21
  879. data/ext/cargo-vendor/wasi-common-24.0.0/tests/all/sync.rs +0 -284
  880. data/ext/cargo-vendor/wasm-encoder-0.215.0/.cargo-checksum.json +0 -1
  881. data/ext/cargo-vendor/wasm-encoder-0.215.0/Cargo.toml +0 -65
  882. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/builder.rs +0 -455
  883. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/exports.rs +0 -124
  884. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/imports.rs +0 -175
  885. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/instances.rs +0 -200
  886. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/names.rs +0 -149
  887. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/component/types.rs +0 -802
  888. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/code.rs +0 -3947
  889. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/names.rs +0 -298
  890. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/core/types.rs +0 -678
  891. data/ext/cargo-vendor/wasm-encoder-0.215.0/src/reencode.rs +0 -2002
  892. data/ext/cargo-vendor/wasm-encoder-0.216.0/.cargo-checksum.json +0 -1
  893. data/ext/cargo-vendor/wasm-encoder-0.216.0/Cargo.toml +0 -65
  894. data/ext/cargo-vendor/wasm-encoder-0.216.0/README.md +0 -80
  895. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/aliases.rs +0 -160
  896. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/builder.rs +0 -455
  897. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/canonicals.rs +0 -159
  898. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/components.rs +0 -29
  899. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/exports.rs +0 -124
  900. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/imports.rs +0 -175
  901. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/instances.rs +0 -200
  902. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/modules.rs +0 -29
  903. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/start.rs +0 -52
  904. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component/types.rs +0 -802
  905. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/component.rs +0 -168
  906. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/code.rs +0 -3947
  907. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/custom.rs +0 -73
  908. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/data.rs +0 -186
  909. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/dump.rs +0 -627
  910. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/elements.rs +0 -222
  911. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/exports.rs +0 -85
  912. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/functions.rs +0 -63
  913. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/globals.rs +0 -100
  914. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/imports.rs +0 -143
  915. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/linking.rs +0 -263
  916. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/memories.rs +0 -115
  917. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/producers.rs +0 -181
  918. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/start.rs +0 -39
  919. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/tables.rs +0 -129
  920. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core/tags.rs +0 -85
  921. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/core.rs +0 -168
  922. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/lib.rs +0 -218
  923. data/ext/cargo-vendor/wasm-encoder-0.216.0/src/raw.rs +0 -30
  924. data/ext/cargo-vendor/wasmparser-0.215.0/.cargo-checksum.json +0 -1
  925. data/ext/cargo-vendor/wasmparser-0.215.0/Cargo.lock +0 -669
  926. data/ext/cargo-vendor/wasmparser-0.215.0/Cargo.toml +0 -137
  927. data/ext/cargo-vendor/wasmparser-0.215.0/benches/benchmark.rs +0 -349
  928. data/ext/cargo-vendor/wasmparser-0.215.0/src/binary_reader.rs +0 -2064
  929. data/ext/cargo-vendor/wasmparser-0.215.0/src/features.rs +0 -175
  930. data/ext/cargo-vendor/wasmparser-0.215.0/src/limits.rs +0 -80
  931. data/ext/cargo-vendor/wasmparser-0.215.0/src/parser.rs +0 -1682
  932. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/aliases.rs +0 -119
  933. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/canonicals.rs +0 -121
  934. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/exports.rs +0 -135
  935. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/imports.rs +0 -130
  936. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/instances.rs +0 -166
  937. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/component/types.rs +0 -553
  938. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/code.rs +0 -142
  939. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/coredumps.rs +0 -278
  940. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/data.rs +0 -96
  941. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/exports.rs +0 -65
  942. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/globals.rs +0 -61
  943. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/imports.rs +0 -76
  944. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/init.rs +0 -57
  945. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/operators.rs +0 -479
  946. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/producers.rs +0 -84
  947. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers/core/types.rs +0 -1964
  948. data/ext/cargo-vendor/wasmparser-0.215.0/src/readers.rs +0 -315
  949. data/ext/cargo-vendor/wasmparser-0.215.0/src/resources.rs +0 -234
  950. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/component.rs +0 -3277
  951. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/core/canonical.rs +0 -233
  952. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/core.rs +0 -1499
  953. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/func.rs +0 -334
  954. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/names.rs +0 -1016
  955. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/operators.rs +0 -4716
  956. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator/types.rs +0 -4592
  957. data/ext/cargo-vendor/wasmparser-0.215.0/src/validator.rs +0 -1643
  958. data/ext/cargo-vendor/wasmprinter-0.215.0/.cargo-checksum.json +0 -1
  959. data/ext/cargo-vendor/wasmprinter-0.215.0/Cargo.toml +0 -74
  960. data/ext/cargo-vendor/wasmprinter-0.215.0/src/lib.rs +0 -3242
  961. data/ext/cargo-vendor/wasmtime-24.0.0/.cargo-checksum.json +0 -1
  962. data/ext/cargo-vendor/wasmtime-24.0.0/Cargo.toml +0 -406
  963. data/ext/cargo-vendor/wasmtime-24.0.0/build.rs +0 -38
  964. data/ext/cargo-vendor/wasmtime-24.0.0/src/compile/code_builder.rs +0 -274
  965. data/ext/cargo-vendor/wasmtime-24.0.0/src/compile/runtime.rs +0 -167
  966. data/ext/cargo-vendor/wasmtime-24.0.0/src/compile.rs +0 -881
  967. data/ext/cargo-vendor/wasmtime-24.0.0/src/config.rs +0 -2875
  968. data/ext/cargo-vendor/wasmtime-24.0.0/src/engine/serialization.rs +0 -902
  969. data/ext/cargo-vendor/wasmtime-24.0.0/src/engine.rs +0 -765
  970. data/ext/cargo-vendor/wasmtime-24.0.0/src/lib.rs +0 -406
  971. data/ext/cargo-vendor/wasmtime-24.0.0/src/profiling_agent/jitdump.rs +0 -64
  972. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/component.rs +0 -811
  973. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/func/host.rs +0 -439
  974. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/func/typed.rs +0 -2497
  975. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/linker.rs +0 -673
  976. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/mod.rs +0 -663
  977. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/resources.rs +0 -1132
  978. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/component/types.rs +0 -897
  979. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/coredump.rs +0 -339
  980. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/externals/global.rs +0 -310
  981. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/externals/table.rs +0 -480
  982. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/func.rs +0 -2598
  983. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/disabled/anyref.rs +0 -77
  984. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/disabled/rooting.rs +0 -229
  985. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/disabled.rs +0 -21
  986. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/enabled/anyref.rs +0 -584
  987. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/enabled/i31.rs +0 -299
  988. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/enabled/rooting.rs +0 -1755
  989. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/gc/enabled.rs +0 -14
  990. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/instance.rs +0 -990
  991. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/linker.rs +0 -1498
  992. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/memory.rs +0 -1101
  993. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/module.rs +0 -1179
  994. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/store.rs +0 -2885
  995. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/trampoline/global.rs +0 -68
  996. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/trap.rs +0 -642
  997. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/types.rs +0 -2868
  998. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/values.rs +0 -1016
  999. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/const_expr.rs +0 -102
  1000. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/cow.rs +0 -988
  1001. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/disabled.rs +0 -39
  1002. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/enabled/drc.rs +0 -1113
  1003. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/enabled/structref.rs +0 -481
  1004. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/enabled.rs +0 -20
  1005. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/gc_ref.rs +0 -502
  1006. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc/gc_runtime.rs +0 -651
  1007. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/gc.rs +0 -303
  1008. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/helpers.c +0 -113
  1009. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/instance/allocator/pooling/gc_heap_pool.rs +0 -93
  1010. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/instance/allocator/pooling/index_allocator.rs +0 -703
  1011. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/libcalls.rs +0 -832
  1012. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/sys/custom/traphandlers.rs +0 -60
  1013. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/sys/unix/machports.rs +0 -445
  1014. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/sys/unix/mmap.rs +0 -159
  1015. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/sys/unix/signals.rs +0 -464
  1016. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/sys/windows/traphandlers.rs +0 -133
  1017. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/threads/parking_spot.rs +0 -623
  1018. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/traphandlers.rs +0 -783
  1019. data/ext/cargo-vendor/wasmtime-24.0.0/src/runtime/vm/vmcontext.rs +0 -1246
  1020. data/ext/cargo-vendor/wasmtime-asm-macros-24.0.0/.cargo-checksum.json +0 -1
  1021. data/ext/cargo-vendor/wasmtime-asm-macros-24.0.0/Cargo.toml +0 -32
  1022. data/ext/cargo-vendor/wasmtime-cache-24.0.0/.cargo-checksum.json +0 -1
  1023. data/ext/cargo-vendor/wasmtime-cache-24.0.0/Cargo.toml +0 -110
  1024. data/ext/cargo-vendor/wasmtime-cache-24.0.0/build.rs +0 -10
  1025. data/ext/cargo-vendor/wasmtime-cache-24.0.0/src/config.rs +0 -584
  1026. data/ext/cargo-vendor/wasmtime-cache-24.0.0/src/lib.rs +0 -235
  1027. data/ext/cargo-vendor/wasmtime-cache-24.0.0/src/worker/tests.rs +0 -758
  1028. data/ext/cargo-vendor/wasmtime-cache-24.0.0/src/worker.rs +0 -890
  1029. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/.cargo-checksum.json +0 -1
  1030. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/Cargo.toml +0 -113
  1031. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/src/bindgen.rs +0 -500
  1032. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/src/component.rs +0 -1330
  1033. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/codegen.rs +0 -698
  1034. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/char.rs +0 -268
  1035. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/char_async.rs +0 -291
  1036. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/conventions.rs +0 -706
  1037. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/conventions_async.rs +0 -757
  1038. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/dead-code.rs +0 -194
  1039. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/dead-code_async.rs +0 -213
  1040. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/direct-import.rs +0 -120
  1041. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/direct-import_async.rs +0 -132
  1042. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/empty.rs +0 -74
  1043. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/empty_async.rs +0 -80
  1044. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/flags.rs +0 -743
  1045. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/flags_async.rs +0 -791
  1046. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/floats.rs +0 -343
  1047. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/floats_async.rs +0 -376
  1048. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/function-new.rs +0 -94
  1049. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/function-new_async.rs +0 -103
  1050. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/integers.rs +0 -873
  1051. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/integers_async.rs +0 -976
  1052. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/lists.rs +0 -1924
  1053. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/lists_async.rs +0 -2114
  1054. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/many-arguments.rs +0 -614
  1055. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/many-arguments_async.rs +0 -638
  1056. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/multi-return.rs +0 -357
  1057. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/multi-return_async.rs +0 -391
  1058. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/multiversion.rs +0 -354
  1059. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/multiversion_async.rs +0 -379
  1060. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/records.rs +0 -940
  1061. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/records_async.rs +0 -1008
  1062. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/rename.rs +0 -183
  1063. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/rename_async.rs +0 -202
  1064. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/resources-export.rs +0 -657
  1065. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/resources-export_async.rs +0 -712
  1066. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/resources-import.rs +0 -1088
  1067. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/resources-import_async.rs +0 -1166
  1068. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/share-types.rs +0 -315
  1069. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/share-types_async.rs +0 -337
  1070. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-functions.rs +0 -399
  1071. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-functions_async.rs +0 -439
  1072. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-lists.rs +0 -427
  1073. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-lists_async.rs +0 -464
  1074. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-wasi.rs +0 -245
  1075. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/simple-wasi_async.rs +0 -264
  1076. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/small-anonymous.rs +0 -338
  1077. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/small-anonymous_async.rs +0 -356
  1078. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke-default.rs +0 -94
  1079. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke-default_async.rs +0 -103
  1080. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke-export.rs +0 -149
  1081. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke-export_async.rs +0 -158
  1082. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke.rs +0 -133
  1083. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/smoke_async.rs +0 -146
  1084. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/strings.rs +0 -316
  1085. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/strings_async.rs +0 -344
  1086. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/unversioned-foo.rs +0 -165
  1087. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/unversioned-foo_async.rs +0 -178
  1088. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/use-paths.rs +0 -317
  1089. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/use-paths_async.rs +0 -349
  1090. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/variants.rs +0 -1896
  1091. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/variants_async.rs +0 -2019
  1092. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/wat.rs +0 -145
  1093. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/wat_async.rs +0 -151
  1094. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/worlds-with-types.rs +0 -175
  1095. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded/worlds-with-types_async.rs +0 -191
  1096. data/ext/cargo-vendor/wasmtime-component-macro-24.0.0/tests/expanded.rs +0 -65
  1097. data/ext/cargo-vendor/wasmtime-component-util-24.0.0/.cargo-checksum.json +0 -1
  1098. data/ext/cargo-vendor/wasmtime-component-util-24.0.0/Cargo.toml +0 -35
  1099. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/.cargo-checksum.json +0 -1
  1100. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/Cargo.toml +0 -132
  1101. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/compiler.rs +0 -1029
  1102. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/attr.rs +0 -328
  1103. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/line_program.rs +0 -287
  1104. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/mod.rs +0 -273
  1105. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/range_info_builder.rs +0 -234
  1106. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/simulate.rs +0 -423
  1107. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/debug/transform/unit.rs +0 -520
  1108. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/func_environ.rs +0 -2721
  1109. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/gc/enabled.rs +0 -648
  1110. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/gc.rs +0 -198
  1111. data/ext/cargo-vendor/wasmtime-cranelift-24.0.0/src/lib.rs +0 -431
  1112. data/ext/cargo-vendor/wasmtime-environ-24.0.0/.cargo-checksum.json +0 -1
  1113. data/ext/cargo-vendor/wasmtime-environ-24.0.0/Cargo.lock +0 -792
  1114. data/ext/cargo-vendor/wasmtime-environ-24.0.0/Cargo.toml +0 -192
  1115. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/builtin.rs +0 -184
  1116. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/compile/mod.rs +0 -379
  1117. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/compile/module_environ.rs +0 -1264
  1118. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/component/types.rs +0 -1041
  1119. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/demangling.rs +0 -28
  1120. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/fact/trampoline.rs +0 -3234
  1121. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/fact/traps.rs +0 -116
  1122. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/stack_map.rs +0 -31
  1123. data/ext/cargo-vendor/wasmtime-environ-24.0.0/src/trap_encoding.rs +0 -189
  1124. data/ext/cargo-vendor/wasmtime-fiber-24.0.0/.cargo-checksum.json +0 -1
  1125. data/ext/cargo-vendor/wasmtime-fiber-24.0.0/Cargo.toml +0 -82
  1126. data/ext/cargo-vendor/wasmtime-fiber-24.0.0/build.rs +0 -39
  1127. data/ext/cargo-vendor/wasmtime-fiber-24.0.0/src/lib.rs +0 -343
  1128. data/ext/cargo-vendor/wasmtime-jit-debug-24.0.0/.cargo-checksum.json +0 -1
  1129. data/ext/cargo-vendor/wasmtime-jit-debug-24.0.0/Cargo.toml +0 -84
  1130. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-24.0.0/.cargo-checksum.json +0 -1
  1131. data/ext/cargo-vendor/wasmtime-jit-icache-coherence-24.0.0/Cargo.toml +0 -69
  1132. data/ext/cargo-vendor/wasmtime-slab-24.0.0/.cargo-checksum.json +0 -1
  1133. data/ext/cargo-vendor/wasmtime-slab-24.0.0/Cargo.toml +0 -48
  1134. data/ext/cargo-vendor/wasmtime-types-24.0.0/.cargo-checksum.json +0 -1
  1135. data/ext/cargo-vendor/wasmtime-types-24.0.0/Cargo.toml +0 -78
  1136. data/ext/cargo-vendor/wasmtime-types-24.0.0/src/lib.rs +0 -1835
  1137. data/ext/cargo-vendor/wasmtime-versioned-export-macros-24.0.0/.cargo-checksum.json +0 -1
  1138. data/ext/cargo-vendor/wasmtime-versioned-export-macros-24.0.0/Cargo.toml +0 -40
  1139. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/.cargo-checksum.json +0 -1
  1140. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/Cargo.toml +0 -222
  1141. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/bindings.rs +0 -561
  1142. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/filesystem.rs +0 -448
  1143. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/host/filesystem.rs +0 -1091
  1144. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/host/io.rs +0 -391
  1145. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/pipe.rs +0 -826
  1146. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/preview1.rs +0 -2801
  1147. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/runtime.rs +0 -176
  1148. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/stdio.rs +0 -596
  1149. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/stream.rs +0 -181
  1150. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/tcp.rs +0 -871
  1151. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/src/write_stream.rs +0 -203
  1152. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/tests/all/main.rs +0 -91
  1153. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/tests/process_stdin.rs +0 -165
  1154. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/command-extended.wit +0 -6
  1155. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/command.wit +0 -7
  1156. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/environment.wit +0 -18
  1157. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/exit.wit +0 -4
  1158. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/imports.wit +0 -20
  1159. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/run.wit +0 -4
  1160. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/stdio.wit +0 -17
  1161. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/cli/terminal.wit +0 -49
  1162. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/clocks/monotonic-clock.wit +0 -45
  1163. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/clocks/wall-clock.wit +0 -42
  1164. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/clocks/world.wit +0 -6
  1165. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/filesystem/preopens.wit +0 -8
  1166. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/filesystem/types.wit +0 -634
  1167. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/filesystem/world.wit +0 -6
  1168. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/http/handler.wit +0 -43
  1169. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/http/proxy.wit +0 -32
  1170. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/http/types.wit +0 -570
  1171. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/io/error.wit +0 -34
  1172. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/io/poll.wit +0 -41
  1173. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/io/streams.wit +0 -262
  1174. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/io/world.wit +0 -6
  1175. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/random/insecure-seed.wit +0 -25
  1176. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/random/insecure.wit +0 -22
  1177. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/random/random.wit +0 -26
  1178. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/random/world.wit +0 -7
  1179. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/instance-network.wit +0 -9
  1180. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/ip-name-lookup.wit +0 -51
  1181. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/network.wit +0 -145
  1182. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/tcp-create-socket.wit +0 -27
  1183. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/tcp.wit +0 -353
  1184. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/udp-create-socket.wit +0 -27
  1185. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/udp.wit +0 -266
  1186. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/deps/sockets/world.wit +0 -11
  1187. data/ext/cargo-vendor/wasmtime-wasi-24.0.0/wit/test.wit +0 -22
  1188. data/ext/cargo-vendor/wasmtime-winch-24.0.0/.cargo-checksum.json +0 -1
  1189. data/ext/cargo-vendor/wasmtime-winch-24.0.0/Cargo.toml +0 -99
  1190. data/ext/cargo-vendor/wasmtime-wit-bindgen-24.0.0/.cargo-checksum.json +0 -1
  1191. data/ext/cargo-vendor/wasmtime-wit-bindgen-24.0.0/Cargo.toml +0 -64
  1192. data/ext/cargo-vendor/wasmtime-wit-bindgen-24.0.0/src/lib.rs +0 -2798
  1193. data/ext/cargo-vendor/wasmtime-wit-bindgen-24.0.0/src/rust.rs +0 -427
  1194. data/ext/cargo-vendor/wast-216.0.0/.cargo-checksum.json +0 -1
  1195. data/ext/cargo-vendor/wast-216.0.0/Cargo.toml +0 -101
  1196. data/ext/cargo-vendor/wast-216.0.0/src/component/binary.rs +0 -1014
  1197. data/ext/cargo-vendor/wast-216.0.0/src/component/component.rs +0 -320
  1198. data/ext/cargo-vendor/wast-216.0.0/src/component/expand.rs +0 -875
  1199. data/ext/cargo-vendor/wast-216.0.0/src/component/import.rs +0 -215
  1200. data/ext/cargo-vendor/wast-216.0.0/src/component/resolve.rs +0 -988
  1201. data/ext/cargo-vendor/wast-216.0.0/src/core/binary/dwarf.rs +0 -610
  1202. data/ext/cargo-vendor/wast-216.0.0/src/core/binary.rs +0 -1539
  1203. data/ext/cargo-vendor/wast-216.0.0/src/core/expr.rs +0 -2110
  1204. data/ext/cargo-vendor/wast-216.0.0/src/core/module.rs +0 -215
  1205. data/ext/cargo-vendor/wast-216.0.0/src/core/resolve/mod.rs +0 -109
  1206. data/ext/cargo-vendor/wast-216.0.0/src/core/resolve/names.rs +0 -791
  1207. data/ext/cargo-vendor/wast-216.0.0/src/core/resolve/types.rs +0 -270
  1208. data/ext/cargo-vendor/wast-216.0.0/src/lexer.rs +0 -1572
  1209. data/ext/cargo-vendor/wast-216.0.0/src/lib.rs +0 -556
  1210. data/ext/cargo-vendor/wast-216.0.0/src/parser.rs +0 -1434
  1211. data/ext/cargo-vendor/wast-216.0.0/src/wast.rs +0 -459
  1212. data/ext/cargo-vendor/wast-216.0.0/src/wat.rs +0 -68
  1213. data/ext/cargo-vendor/wat-1.216.0/.cargo-checksum.json +0 -1
  1214. data/ext/cargo-vendor/wat-1.216.0/Cargo.toml +0 -56
  1215. data/ext/cargo-vendor/wiggle-24.0.0/.cargo-checksum.json +0 -1
  1216. data/ext/cargo-vendor/wiggle-24.0.0/Cargo.toml +0 -117
  1217. data/ext/cargo-vendor/wiggle-24.0.0/src/lib.rs +0 -605
  1218. data/ext/cargo-vendor/wiggle-generate-24.0.0/.cargo-checksum.json +0 -1
  1219. data/ext/cargo-vendor/wiggle-generate-24.0.0/Cargo.toml +0 -83
  1220. data/ext/cargo-vendor/wiggle-generate-24.0.0/src/funcs.rs +0 -434
  1221. data/ext/cargo-vendor/wiggle-generate-24.0.0/src/lib.rs +0 -100
  1222. data/ext/cargo-vendor/wiggle-generate-24.0.0/src/names.rs +0 -299
  1223. data/ext/cargo-vendor/wiggle-generate-24.0.0/src/wasmtime.rs +0 -172
  1224. data/ext/cargo-vendor/wiggle-macro-24.0.0/.cargo-checksum.json +0 -1
  1225. data/ext/cargo-vendor/wiggle-macro-24.0.0/Cargo.toml +0 -76
  1226. data/ext/cargo-vendor/winch-codegen-0.22.0/.cargo-checksum.json +0 -1
  1227. data/ext/cargo-vendor/winch-codegen-0.22.0/Cargo.toml +0 -94
  1228. data/ext/cargo-vendor/winch-codegen-0.22.0/src/abi/local.rs +0 -81
  1229. data/ext/cargo-vendor/winch-codegen-0.22.0/src/abi/mod.rs +0 -666
  1230. data/ext/cargo-vendor/winch-codegen-0.22.0/src/codegen/bounds.rs +0 -220
  1231. data/ext/cargo-vendor/winch-codegen-0.22.0/src/codegen/context.rs +0 -591
  1232. data/ext/cargo-vendor/winch-codegen-0.22.0/src/codegen/mod.rs +0 -880
  1233. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/aarch64/abi.rs +0 -296
  1234. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/aarch64/address.rs +0 -143
  1235. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/aarch64/asm.rs +0 -709
  1236. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/aarch64/masm.rs +0 -665
  1237. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/mod.rs +0 -223
  1238. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/x64/abi.rs +0 -564
  1239. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/x64/asm.rs +0 -1418
  1240. data/ext/cargo-vendor/winch-codegen-0.22.0/src/isa/x64/masm.rs +0 -1115
  1241. data/ext/cargo-vendor/winch-codegen-0.22.0/src/masm.rs +0 -957
  1242. data/ext/cargo-vendor/winch-codegen-0.22.0/src/regalloc.rs +0 -65
  1243. data/ext/cargo-vendor/winch-codegen-0.22.0/src/stack.rs +0 -447
  1244. data/ext/cargo-vendor/winch-codegen-0.22.0/src/visitor.rs +0 -2158
  1245. data/ext/cargo-vendor/wit-parser-0.215.0/.cargo-checksum.json +0 -1
  1246. data/ext/cargo-vendor/wit-parser-0.215.0/Cargo.toml +0 -129
  1247. data/ext/cargo-vendor/wit-parser-0.215.0/src/ast/resolve.rs +0 -1583
  1248. data/ext/cargo-vendor/wit-parser-0.215.0/src/ast.rs +0 -1904
  1249. data/ext/cargo-vendor/wit-parser-0.215.0/src/decoding.rs +0 -1795
  1250. data/ext/cargo-vendor/wit-parser-0.215.0/src/lib.rs +0 -912
  1251. data/ext/cargo-vendor/wit-parser-0.215.0/src/sizealign.rs +0 -179
  1252. data/ext/cargo-vendor/wit-parser-0.215.0/tests/all.rs +0 -154
  1253. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-gate3.wit.result +0 -8
  1254. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-gate4.wit.result +0 -8
  1255. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-gate5.wit.result +0 -8
  1256. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg1.wit.result +0 -9
  1257. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg2.wit.result +0 -8
  1258. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg3.wit.result +0 -8
  1259. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg4.wit.result +0 -8
  1260. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg5.wit.result +0 -8
  1261. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-pkg6.wit.result +0 -8
  1262. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/bad-resource15.wit.result +0 -8
  1263. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/conflicting-package.wit.result +0 -10
  1264. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/duplicate-interface2.wit.result +0 -9
  1265. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/include-foreign.wit.result +0 -8
  1266. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/multi-file-missing-delimiter.wit.result +0 -9
  1267. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/multi-package-deps-share-nest.wit.result +0 -6
  1268. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/multiple-package-docs.wit.result +0 -10
  1269. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/no-access-to-sibling-use.wit.result +0 -9
  1270. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/non-existance-world-include.wit.result +0 -8
  1271. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/pkg-cycle.wit.result +0 -8
  1272. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/pkg-cycle2.wit.result +0 -8
  1273. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/resources-multiple-returns-borrow.wit.result +0 -8
  1274. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/resources-return-borrow.wit.result +0 -8
  1275. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/return-borrow1.wit.result +0 -8
  1276. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/return-borrow2.wit.result +0 -8
  1277. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/return-borrow6.wit.result +0 -8
  1278. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/return-borrow7.wit.result +0 -8
  1279. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/return-borrow8.wit.result +0 -9
  1280. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/type-and-resource-same-name.wit.result +0 -8
  1281. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/unresolved-use10.wit.result +0 -9
  1282. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/use-and-include-world.wit.result +0 -9
  1283. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/use-world.wit.result +0 -8
  1284. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/parse-fail/very-nested-packages.wit.result +0 -8
  1285. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/since-and-unstable.wit +0 -107
  1286. data/ext/cargo-vendor/wit-parser-0.215.0/tests/ui/since-and-unstable.wit.json +0 -623
  1287. /data/ext/cargo-vendor/{cranelift-bforest-0.111.0 → cranelift-bforest-0.112.0}/LICENSE +0 -0
  1288. /data/ext/cargo-vendor/{cranelift-bforest-0.111.0 → cranelift-bforest-0.112.0}/README.md +0 -0
  1289. /data/ext/cargo-vendor/{cranelift-bforest-0.111.0 → cranelift-bforest-0.112.0}/src/lib.rs +0 -0
  1290. /data/ext/cargo-vendor/{cranelift-bforest-0.111.0 → cranelift-bforest-0.112.0}/src/map.rs +0 -0
  1291. /data/ext/cargo-vendor/{cranelift-bforest-0.111.0 → cranelift-bforest-0.112.0}/src/set.rs +0 -0
  1292. /data/ext/cargo-vendor/{cranelift-bitset-0.111.0 → cranelift-bitset-0.112.0}/src/compound.rs +0 -0
  1293. /data/ext/cargo-vendor/{cranelift-bitset-0.111.0 → cranelift-bitset-0.112.0}/src/lib.rs +0 -0
  1294. /data/ext/cargo-vendor/{cranelift-bitset-0.111.0 → cranelift-bitset-0.112.0}/tests/bitset.rs +0 -0
  1295. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/LICENSE +0 -0
  1296. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/README.md +0 -0
  1297. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/benches/x64-evex-encoding.rs +0 -0
  1298. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/alias_analysis.rs +0 -0
  1299. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/constant_hash.rs +0 -0
  1300. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/context.rs +0 -0
  1301. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ctxhash.rs +0 -0
  1302. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/cursor.rs +0 -0
  1303. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/dominator_tree.rs +0 -0
  1304. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/egraph/cost.rs +0 -0
  1305. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/egraph/elaborate.rs +0 -0
  1306. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/flowgraph.rs +0 -0
  1307. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/atomic_rmw_op.rs +0 -0
  1308. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/builder.rs +0 -0
  1309. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/condcodes.rs +0 -0
  1310. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/dynamic_type.rs +0 -0
  1311. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/jumptable.rs +0 -0
  1312. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/known_symbol.rs +0 -0
  1313. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/layout.rs +0 -0
  1314. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/libcall.rs +0 -0
  1315. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/memflags.rs +0 -0
  1316. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/mod.rs +0 -0
  1317. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/pcc.rs +0 -0
  1318. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/sourceloc.rs +0 -0
  1319. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ir/stackslot.rs +0 -0
  1320. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/inst/unwind.rs +0 -0
  1321. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/inst_neon.isle +0 -0
  1322. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/lower/isle/generated_code.rs +0 -0
  1323. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/lower.rs +0 -0
  1324. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/lower_dynamic_neon.isle +0 -0
  1325. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/aarch64/mod.rs +0 -0
  1326. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/call_conv.rs +0 -0
  1327. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/inst/imms.rs +0 -0
  1328. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/inst/regs.rs +0 -0
  1329. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/inst/unwind.rs +0 -0
  1330. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/lower/isle/generated_code.rs +0 -0
  1331. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/lower.rs +0 -0
  1332. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/mod.rs +0 -0
  1333. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/riscv64/settings.rs +0 -0
  1334. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/inst/args.rs +0 -0
  1335. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/inst/imms.rs +0 -0
  1336. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/inst/unwind.rs +0 -0
  1337. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/lower/isle/generated_code.rs +0 -0
  1338. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/lower.rs +0 -0
  1339. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/mod.rs +0 -0
  1340. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/s390x/settings.rs +0 -0
  1341. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/unwind/winx64.rs +0 -0
  1342. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/unwind.rs +0 -0
  1343. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/encoding/mod.rs +0 -0
  1344. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/encoding/rex.rs +0 -0
  1345. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/encoding/vex.rs +0 -0
  1346. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/inst/unwind/winx64.rs +0 -0
  1347. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/inst/unwind.rs +0 -0
  1348. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/lower/isle/generated_code.rs +0 -0
  1349. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/isa/x64/settings.rs +0 -0
  1350. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/iterators.rs +0 -0
  1351. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/legalizer/globalvalue.rs +0 -0
  1352. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/legalizer/mod.rs +0 -0
  1353. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/loop_analysis.rs +0 -0
  1354. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/blockorder.rs +0 -0
  1355. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/compile.rs +0 -0
  1356. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/helpers.rs +0 -0
  1357. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/inst_common.rs +0 -0
  1358. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/pcc.rs +0 -0
  1359. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/machinst/valueregs.rs +0 -0
  1360. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/nan_canonicalization.rs +0 -0
  1361. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/README.md +0 -0
  1362. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/arithmetic.isle +0 -0
  1363. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/bitops.isle +0 -0
  1364. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/cprop.isle +0 -0
  1365. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/generated_code.rs +0 -0
  1366. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/remat.isle +0 -0
  1367. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/shifts.isle +0 -0
  1368. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/spaceship.isle +0 -0
  1369. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/spectre.isle +0 -0
  1370. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts/vector.isle +0 -0
  1371. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/opts.rs +0 -0
  1372. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/prelude_opt.isle +0 -0
  1373. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/ranges.rs +0 -0
  1374. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/scoped_hash_map.rs +0 -0
  1375. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/souper_harvest.rs +0 -0
  1376. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/traversals.rs +0 -0
  1377. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/unionfind.rs +0 -0
  1378. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/unreachable_code.rs +0 -0
  1379. /data/ext/cargo-vendor/{cranelift-codegen-0.111.0 → cranelift-codegen-0.112.0}/src/value_label.rs +0 -0
  1380. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/LICENSE +0 -0
  1381. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/README.md +0 -0
  1382. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/cdsl/formats.rs +0 -0
  1383. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/cdsl/instructions.rs +0 -0
  1384. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/cdsl/isa.rs +0 -0
  1385. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/cdsl/mod.rs +0 -0
  1386. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/cdsl/operands.rs +0 -0
  1387. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/constant_hash.rs +0 -0
  1388. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/isa/s390x.rs +0 -0
  1389. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/shared/entities.rs +0 -0
  1390. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/shared/formats.rs +0 -0
  1391. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/shared/immediates.rs +0 -0
  1392. /data/ext/cargo-vendor/{cranelift-codegen-meta-0.111.0 → cranelift-codegen-meta-0.112.0}/src/unique_table.rs +0 -0
  1393. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.111.0 → cranelift-codegen-shared-0.112.0}/LICENSE +0 -0
  1394. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.111.0 → cranelift-codegen-shared-0.112.0}/README.md +0 -0
  1395. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.111.0 → cranelift-codegen-shared-0.112.0}/src/constant_hash.rs +0 -0
  1396. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.111.0 → cranelift-codegen-shared-0.112.0}/src/constants.rs +0 -0
  1397. /data/ext/cargo-vendor/{cranelift-codegen-shared-0.111.0 → cranelift-codegen-shared-0.112.0}/src/lib.rs +0 -0
  1398. /data/ext/cargo-vendor/{cranelift-control-0.111.0 → cranelift-control-0.112.0}/LICENSE +0 -0
  1399. /data/ext/cargo-vendor/{cranelift-control-0.111.0 → cranelift-control-0.112.0}/README.md +0 -0
  1400. /data/ext/cargo-vendor/{cranelift-control-0.111.0 → cranelift-control-0.112.0}/src/chaos.rs +0 -0
  1401. /data/ext/cargo-vendor/{cranelift-control-0.111.0 → cranelift-control-0.112.0}/src/lib.rs +0 -0
  1402. /data/ext/cargo-vendor/{cranelift-control-0.111.0 → cranelift-control-0.112.0}/src/zero_sized.rs +0 -0
  1403. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/LICENSE +0 -0
  1404. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/README.md +0 -0
  1405. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/boxed_slice.rs +0 -0
  1406. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/iter.rs +0 -0
  1407. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/keys.rs +0 -0
  1408. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/list.rs +0 -0
  1409. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/map.rs +0 -0
  1410. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/primary.rs +0 -0
  1411. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/set.rs +0 -0
  1412. /data/ext/cargo-vendor/{cranelift-entity-0.111.0 → cranelift-entity-0.112.0}/src/unsigned.rs +0 -0
  1413. /data/ext/cargo-vendor/{cranelift-frontend-0.111.0 → cranelift-frontend-0.112.0}/LICENSE +0 -0
  1414. /data/ext/cargo-vendor/{cranelift-frontend-0.111.0 → cranelift-frontend-0.112.0}/README.md +0 -0
  1415. /data/ext/cargo-vendor/{cranelift-frontend-0.111.0 → cranelift-frontend-0.112.0}/src/frontend/safepoints.rs +0 -0
  1416. /data/ext/cargo-vendor/{cranelift-frontend-0.111.0 → cranelift-frontend-0.112.0}/src/lib.rs +0 -0
  1417. /data/ext/cargo-vendor/{cranelift-frontend-0.111.0 → cranelift-frontend-0.112.0}/src/variable.rs +0 -0
  1418. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/README.md +0 -0
  1419. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/bad_converters.isle +0 -0
  1420. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/bound_var_type_mismatch.isle +0 -0
  1421. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/converter_extractor_constructor.isle +0 -0
  1422. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/error1.isle +0 -0
  1423. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/extra_parens.isle +0 -0
  1424. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/impure_expression.isle +0 -0
  1425. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/impure_rhs.isle +0 -0
  1426. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/multi_internal_etor.isle +0 -0
  1427. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/fail/multi_prio.isle +0 -0
  1428. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/borrows.isle +0 -0
  1429. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/borrows_main.rs +0 -0
  1430. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/iflets.isle +0 -0
  1431. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/iflets_main.rs +0 -0
  1432. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/multi_constructor.isle +0 -0
  1433. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/multi_constructor_main.rs +0 -0
  1434. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/multi_extractor.isle +0 -0
  1435. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/multi_extractor_main.rs +0 -0
  1436. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/test.isle +0 -0
  1437. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/link/test_main.rs +0 -0
  1438. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/bound_var.isle +0 -0
  1439. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/construct_and_extract.isle +0 -0
  1440. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/conversions.isle +0 -0
  1441. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/conversions_extern.isle +0 -0
  1442. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/let.isle +0 -0
  1443. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/nodebug.isle +0 -0
  1444. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/prio_trie_bug.isle +0 -0
  1445. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/test2.isle +0 -0
  1446. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/test3.isle +0 -0
  1447. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/test4.isle +0 -0
  1448. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/pass/tutorial.isle +0 -0
  1449. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/run/iconst.isle +0 -0
  1450. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/run/iconst_main.rs +0 -0
  1451. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/run/let_shadowing.isle +0 -0
  1452. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/isle_examples/run/let_shadowing_main.rs +0 -0
  1453. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/src/disjointsets.rs +0 -0
  1454. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/src/log.rs +0 -0
  1455. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/src/serialize.rs +0 -0
  1456. /data/ext/cargo-vendor/{cranelift-isle-0.111.0 → cranelift-isle-0.112.0}/src/stablemapset.rs +0 -0
  1457. /data/ext/cargo-vendor/{cranelift-native-0.111.0 → cranelift-native-0.112.0}/LICENSE +0 -0
  1458. /data/ext/cargo-vendor/{cranelift-native-0.111.0 → cranelift-native-0.112.0}/README.md +0 -0
  1459. /data/ext/cargo-vendor/{cranelift-native-0.111.0 → cranelift-native-0.112.0}/src/riscv.rs +0 -0
  1460. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/LICENSE +0 -0
  1461. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/README.md +0 -0
  1462. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/code_translator/bounds_checks.rs +0 -0
  1463. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/environ/mod.rs +0 -0
  1464. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/heap.rs +0 -0
  1465. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/lib.rs +0 -0
  1466. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/state.rs +0 -0
  1467. /data/ext/cargo-vendor/{cranelift-wasm-0.111.0 → cranelift-wasm-0.112.0}/src/table.rs +0 -0
  1468. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/README.md +0 -0
  1469. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/src/clocks.rs +0 -0
  1470. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/src/lib.rs +0 -0
  1471. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/src/noop_scheduler.rs +0 -0
  1472. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/tests/clocks.rs +0 -0
  1473. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/tests/common/mod.rs +0 -0
  1474. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/tests/random.rs +0 -0
  1475. /data/ext/cargo-vendor/{deterministic-wasi-ctx-0.1.24 → deterministic-wasi-ctx-0.1.25}/tests/scheduler.rs +0 -0
  1476. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/LICENSE +0 -0
  1477. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/README.md +0 -0
  1478. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/deny.toml +0 -0
  1479. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/doc/TODO +0 -0
  1480. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/domtree.rs +0 -0
  1481. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/indexset.rs +0 -0
  1482. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/ion/dump.rs +0 -0
  1483. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/ion/redundant_moves.rs +0 -0
  1484. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/ion/reg_traversal.rs +0 -0
  1485. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/ion/spill.rs +0 -0
  1486. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/moves.rs +0 -0
  1487. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/postorder.rs +0 -0
  1488. /data/ext/cargo-vendor/{regalloc2-0.9.3 → regalloc2-0.10.2}/src/ssa.rs +0 -0
  1489. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/LICENSE +0 -0
  1490. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/README.md +0 -0
  1491. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/clocks.rs +0 -0
  1492. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/dir.rs +0 -0
  1493. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/error.rs +0 -0
  1494. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/file.rs +0 -0
  1495. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/pipe.rs +0 -0
  1496. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/random.rs +0 -0
  1497. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sched/subscription.rs +0 -0
  1498. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sched.rs +0 -0
  1499. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/snapshots/preview_0.rs +0 -0
  1500. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/snapshots/preview_1/error.rs +0 -0
  1501. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/snapshots/preview_1.rs +0 -0
  1502. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/string_array.rs +0 -0
  1503. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/clocks.rs +0 -0
  1504. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/file.rs +0 -0
  1505. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/mod.rs +0 -0
  1506. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/net.rs +0 -0
  1507. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/sched/unix.rs +0 -0
  1508. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/sched/windows.rs +0 -0
  1509. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/sched.rs +0 -0
  1510. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/sync/stdio.rs +0 -0
  1511. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/table.rs +0 -0
  1512. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/file.rs +0 -0
  1513. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/mod.rs +0 -0
  1514. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/net.rs +0 -0
  1515. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/sched/unix.rs +0 -0
  1516. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/sched/windows.rs +0 -0
  1517. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/sched.rs +0 -0
  1518. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/src/tokio/stdio.rs +0 -0
  1519. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/witx/preview0/typenames.witx +0 -0
  1520. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1521. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/witx/preview1/typenames.witx +0 -0
  1522. /data/ext/cargo-vendor/{wasi-common-24.0.0 → wasi-common-25.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1523. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/README.md +0 -0
  1524. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component/aliases.rs +0 -0
  1525. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component/canonicals.rs +0 -0
  1526. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component/components.rs +0 -0
  1527. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component/modules.rs +0 -0
  1528. /data/ext/cargo-vendor/{wasm-encoder-0.216.0 → wasm-encoder-0.217.0}/src/component/names.rs +0 -0
  1529. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component/start.rs +0 -0
  1530. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/component.rs +0 -0
  1531. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/custom.rs +0 -0
  1532. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/data.rs +0 -0
  1533. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/dump.rs +0 -0
  1534. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/elements.rs +0 -0
  1535. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/exports.rs +0 -0
  1536. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/functions.rs +0 -0
  1537. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/globals.rs +0 -0
  1538. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/imports.rs +0 -0
  1539. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/linking.rs +0 -0
  1540. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/memories.rs +0 -0
  1541. /data/ext/cargo-vendor/{wasm-encoder-0.216.0 → wasm-encoder-0.217.0}/src/core/names.rs +0 -0
  1542. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/producers.rs +0 -0
  1543. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/start.rs +0 -0
  1544. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/tables.rs +0 -0
  1545. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core/tags.rs +0 -0
  1546. /data/ext/cargo-vendor/{wasm-encoder-0.216.0 → wasm-encoder-0.217.0}/src/core/types.rs +0 -0
  1547. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/core.rs +0 -0
  1548. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/lib.rs +0 -0
  1549. /data/ext/cargo-vendor/{wasm-encoder-0.215.0 → wasm-encoder-0.217.0}/src/raw.rs +0 -0
  1550. /data/ext/cargo-vendor/{wasm-encoder-0.216.0 → wasm-encoder-0.217.0}/src/reencode/component.rs +0 -0
  1551. /data/ext/cargo-vendor/{wasm-encoder-0.216.0 → wasm-encoder-0.217.0}/src/reencode.rs +0 -0
  1552. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/README.md +0 -0
  1553. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/examples/simple.rs +0 -0
  1554. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/hash.rs +0 -0
  1555. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/index_map/detail.rs +0 -0
  1556. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/index_map/tests.rs +0 -0
  1557. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/index_map.rs +0 -0
  1558. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/index_set.rs +0 -0
  1559. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/map.rs +0 -0
  1560. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/mod.rs +0 -0
  1561. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/collections/set.rs +0 -0
  1562. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/lib.rs +0 -0
  1563. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/component/names.rs +0 -0
  1564. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/component/start.rs +0 -0
  1565. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/component.rs +0 -0
  1566. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/branch_hinting.rs +0 -0
  1567. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/custom.rs +0 -0
  1568. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/dylink0.rs +0 -0
  1569. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/elements.rs +0 -0
  1570. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/functions.rs +0 -0
  1571. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/linking.rs +0 -0
  1572. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/memories.rs +0 -0
  1573. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/names.rs +0 -0
  1574. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/reloc.rs +0 -0
  1575. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/tables.rs +0 -0
  1576. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/tags.rs +0 -0
  1577. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core/types/matches.rs +0 -0
  1578. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/src/readers/core.rs +0 -0
  1579. /data/ext/cargo-vendor/{wasmparser-0.215.0 → wasmparser-0.217.0}/tests/big-module.rs +0 -0
  1580. /data/ext/cargo-vendor/{wasmprinter-0.215.0 → wasmprinter-0.217.0}/README.md +0 -0
  1581. /data/ext/cargo-vendor/{wasmprinter-0.215.0 → wasmprinter-0.217.0}/src/operator.rs +0 -0
  1582. /data/ext/cargo-vendor/{wasmprinter-0.215.0 → wasmprinter-0.217.0}/src/print.rs +0 -0
  1583. /data/ext/cargo-vendor/{wasmprinter-0.215.0 → wasmprinter-0.217.0}/tests/all.rs +0 -0
  1584. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/LICENSE +0 -0
  1585. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/README.md +0 -0
  1586. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/proptest-regressions/runtime/vm/instance/allocator/pooling/memory_pool.txt +0 -0
  1587. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/profiling_agent/perfmap.rs +0 -0
  1588. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/profiling_agent/vtune.rs +0 -0
  1589. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/profiling_agent.rs +0 -0
  1590. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/code.rs +0 -0
  1591. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/code_memory.rs +0 -0
  1592. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_0_hello_world.rs +0 -0
  1593. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_1_world_imports.rs +0 -0
  1594. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_2_world_exports.rs +0 -0
  1595. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_3_interface_imports.rs +0 -0
  1596. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_4_imported_resources.rs +0 -0
  1597. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_5_all_world_export_kinds.rs +0 -0
  1598. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/_6_exported_resources.rs +0 -0
  1599. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/bindgen_examples/mod.rs +0 -0
  1600. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/func/options.rs +0 -0
  1601. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/func.rs +0 -0
  1602. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/instance.rs +0 -0
  1603. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/matching.rs +0 -0
  1604. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/resource_table.rs +0 -0
  1605. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/storage.rs +0 -0
  1606. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/store.rs +0 -0
  1607. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/component/values.rs +0 -0
  1608. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/debug.rs +0 -0
  1609. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/externals.rs +0 -0
  1610. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/func/typed.rs +0 -0
  1611. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/disabled/externref.rs +0 -0
  1612. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/disabled/i31.rs +0 -0
  1613. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/disabled/structref.rs +0 -0
  1614. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/enabled/externref.rs +0 -0
  1615. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/enabled/structref.rs +0 -0
  1616. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc/noextern.rs +0 -0
  1617. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/gc.rs +0 -0
  1618. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/instantiate.rs +0 -0
  1619. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/limits.rs +0 -0
  1620. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/module/registry.rs +0 -0
  1621. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/profiling.rs +0 -0
  1622. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/resources.rs +0 -0
  1623. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/signatures.rs +0 -0
  1624. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/stack.rs +0 -0
  1625. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/store/context.rs +0 -0
  1626. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/store/data.rs +0 -0
  1627. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/store/func_refs.rs +0 -0
  1628. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/trampoline/func.rs +0 -0
  1629. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/trampoline/memory.rs +0 -0
  1630. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/trampoline/table.rs +0 -0
  1631. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/trampoline.rs +0 -0
  1632. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/type_registry.rs +0 -0
  1633. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/types/matching.rs +0 -0
  1634. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/uninhabited.rs +0 -0
  1635. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/unix.rs +0 -0
  1636. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/v128.rs +0 -0
  1637. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/aarch64.rs +0 -0
  1638. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/mod.rs +0 -0
  1639. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/riscv64.rs +0 -0
  1640. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/s390x.S +0 -0
  1641. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/s390x.rs +0 -0
  1642. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/unsupported.rs +0 -0
  1643. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/arch/x86_64.rs +0 -0
  1644. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/async_yield.rs +0 -0
  1645. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/component/libcalls.rs +0 -0
  1646. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/component/resources.rs +0 -0
  1647. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/component.rs +0 -0
  1648. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/debug_builtins.rs +0 -0
  1649. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/export.rs +0 -0
  1650. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/gc/enabled/externref.rs +0 -0
  1651. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/gc/enabled/free_list.rs +0 -0
  1652. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/gc/host_data.rs +0 -0
  1653. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/gc/i31.rs +0 -0
  1654. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/imports.rs +0 -0
  1655. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/on_demand.rs +0 -0
  1656. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling/decommit_queue.rs +0 -0
  1657. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling/generic_stack_pool.rs +0 -0
  1658. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling/memory_pool.rs +0 -0
  1659. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling/table_pool.rs +0 -0
  1660. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling/unix_stack_pool.rs +0 -0
  1661. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator/pooling.rs +0 -0
  1662. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance/allocator.rs +0 -0
  1663. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/instance.rs +0 -0
  1664. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/memory.rs +0 -0
  1665. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mmap.rs +0 -0
  1666. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mmap_vec.rs +0 -0
  1667. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/module_id.rs +0 -0
  1668. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mpk/disabled.rs +0 -0
  1669. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mpk/enabled.rs +0 -0
  1670. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mpk/mod.rs +0 -0
  1671. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mpk/pkru.rs +0 -0
  1672. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/mpk/sys.rs +0 -0
  1673. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/send_sync_ptr.rs +0 -0
  1674. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/store_box.rs +0 -0
  1675. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/custom/capi.rs +0 -0
  1676. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/custom/mmap.rs +0 -0
  1677. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/custom/mod.rs +0 -0
  1678. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/custom/unwind.rs +0 -0
  1679. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/custom/vm.rs +0 -0
  1680. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/miri/mmap.rs +0 -0
  1681. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/miri/mod.rs +0 -0
  1682. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/miri/traphandlers.rs +0 -0
  1683. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/miri/unwind.rs +0 -0
  1684. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/miri/vm.rs +0 -0
  1685. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/mod.rs +0 -0
  1686. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/unix/macos_traphandlers.rs +0 -0
  1687. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/unix/mod.rs +0 -0
  1688. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/unix/unwind.rs +0 -0
  1689. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/unix/vm.rs +0 -0
  1690. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/windows/mmap.rs +0 -0
  1691. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/windows/mod.rs +0 -0
  1692. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/windows/unwind.rs +0 -0
  1693. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/sys/windows/vm.rs +0 -0
  1694. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/table.rs +0 -0
  1695. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/threads/mod.rs +0 -0
  1696. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/threads/shared_memory.rs +0 -0
  1697. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/threads/shared_memory_disabled.rs +0 -0
  1698. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/traphandlers/backtrace.rs +0 -0
  1699. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/traphandlers/coredump_disabled.rs +0 -0
  1700. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/traphandlers/coredump_enabled.rs +0 -0
  1701. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm/vmcontext/vm_host_func_context.rs +0 -0
  1702. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/vm.rs +0 -0
  1703. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime/windows.rs +0 -0
  1704. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/runtime.rs +0 -0
  1705. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/sync_nostd.rs +0 -0
  1706. /data/ext/cargo-vendor/{wasmtime-24.0.0 → wasmtime-25.0.0}/src/sync_std.rs +0 -0
  1707. /data/ext/cargo-vendor/{wasmtime-asm-macros-24.0.0 → wasmtime-asm-macros-25.0.0}/src/lib.rs +0 -0
  1708. /data/ext/cargo-vendor/{wasmtime-cache-24.0.0 → wasmtime-cache-25.0.0}/LICENSE +0 -0
  1709. /data/ext/cargo-vendor/{wasmtime-cache-24.0.0 → wasmtime-cache-25.0.0}/src/config/tests.rs +0 -0
  1710. /data/ext/cargo-vendor/{wasmtime-cache-24.0.0 → wasmtime-cache-25.0.0}/src/tests.rs +0 -0
  1711. /data/ext/cargo-vendor/{wasmtime-cache-24.0.0 → wasmtime-cache-25.0.0}/src/worker/tests/system_time_stub.rs +0 -0
  1712. /data/ext/cargo-vendor/{wasmtime-cache-24.0.0 → wasmtime-cache-25.0.0}/tests/cache_write_default_config.rs +0 -0
  1713. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/build.rs +0 -0
  1714. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/src/lib.rs +0 -0
  1715. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/char.wit +0 -0
  1716. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/conventions.wit +0 -0
  1717. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/dead-code.wit +0 -0
  1718. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/direct-import.wit +0 -0
  1719. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/empty.wit +0 -0
  1720. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/flags.wit +0 -0
  1721. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/floats.wit +0 -0
  1722. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/function-new.wit +0 -0
  1723. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/integers.wit +0 -0
  1724. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/lists.wit +0 -0
  1725. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/many-arguments.wit +0 -0
  1726. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/multi-return.wit +0 -0
  1727. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/multiversion/deps/v1/root.wit +0 -0
  1728. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/multiversion/deps/v2/root.wit +0 -0
  1729. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/multiversion/root.wit +0 -0
  1730. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/records.wit +0 -0
  1731. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/rename.wit +0 -0
  1732. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/resources-export.wit +0 -0
  1733. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/resources-import.wit +0 -0
  1734. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/share-types.wit +0 -0
  1735. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/simple-functions.wit +0 -0
  1736. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/simple-lists.wit +0 -0
  1737. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/simple-wasi.wit +0 -0
  1738. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/small-anonymous.wit +0 -0
  1739. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/smoke-default.wit +0 -0
  1740. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/smoke-export.wit +0 -0
  1741. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/smoke.wit +0 -0
  1742. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/strings.wit +0 -0
  1743. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/unversioned-foo.wit +0 -0
  1744. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/use-paths.wit +0 -0
  1745. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/variants.wit +0 -0
  1746. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/wat.wit +0 -0
  1747. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen/worlds-with-types.wit +0 -0
  1748. /data/ext/cargo-vendor/{wasmtime-component-macro-24.0.0 → wasmtime-component-macro-25.0.0}/tests/codegen_no_std.rs +0 -0
  1749. /data/ext/cargo-vendor/{wasmtime-component-util-24.0.0 → wasmtime-component-util-25.0.0}/src/lib.rs +0 -0
  1750. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/LICENSE +0 -0
  1751. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/SECURITY.md +0 -0
  1752. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/builder.rs +0 -0
  1753. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/compiled_function.rs +0 -0
  1754. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/compiler/component.rs +0 -0
  1755. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/gc.rs +0 -0
  1756. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/transform/address_transform.rs +0 -0
  1757. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/transform/expression.rs +0 -0
  1758. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/transform/refs.rs +0 -0
  1759. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/transform/utils.rs +0 -0
  1760. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug/write_debuginfo.rs +0 -0
  1761. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/debug.rs +0 -0
  1762. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/gc/disabled.rs +0 -0
  1763. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/isa_builder.rs +0 -0
  1764. /data/ext/cargo-vendor/{wasmtime-cranelift-24.0.0 → wasmtime-cranelift-25.0.0}/src/obj.rs +0 -0
  1765. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/LICENSE +0 -0
  1766. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/examples/factc.rs +0 -0
  1767. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/address_map.rs +0 -0
  1768. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/compile/address_map.rs +0 -0
  1769. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/compile/module_artifacts.rs +0 -0
  1770. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/compile/module_types.rs +0 -0
  1771. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/compile/trap_encoding.rs +0 -0
  1772. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/artifacts.rs +0 -0
  1773. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/compiler.rs +0 -0
  1774. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/dfg.rs +0 -0
  1775. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/info.rs +0 -0
  1776. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/names.rs +0 -0
  1777. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/translate/adapt.rs +0 -0
  1778. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/translate/inline.rs +0 -0
  1779. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/translate.rs +0 -0
  1780. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/types_builder/resources.rs +0 -0
  1781. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/types_builder.rs +0 -0
  1782. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component/vmcomponent_offsets.rs +0 -0
  1783. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/component.rs +0 -0
  1784. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/fact/core_types.rs +0 -0
  1785. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/fact/signature.rs +0 -0
  1786. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/fact/transcode.rs +0 -0
  1787. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/fact.rs +0 -0
  1788. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/gc.rs +0 -0
  1789. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/lib.rs +0 -0
  1790. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/module.rs +0 -0
  1791. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/module_artifacts.rs +0 -0
  1792. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/module_types.rs +0 -0
  1793. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/obj.rs +0 -0
  1794. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/ref_bits.rs +0 -0
  1795. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/scopevec.rs +0 -0
  1796. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/tunables.rs +0 -0
  1797. /data/ext/cargo-vendor/{wasmtime-environ-24.0.0 → wasmtime-environ-25.0.0}/src/vmoffsets.rs +0 -0
  1798. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/LICENSE +0 -0
  1799. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/aarch64.rs +0 -0
  1800. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/arm.rs +0 -0
  1801. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/riscv64.rs +0 -0
  1802. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/s390x.S +0 -0
  1803. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/x86.rs +0 -0
  1804. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix/x86_64.rs +0 -0
  1805. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/unix.rs +0 -0
  1806. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/windows.c +0 -0
  1807. /data/ext/cargo-vendor/{wasmtime-fiber-24.0.0 → wasmtime-fiber-25.0.0}/src/windows.rs +0 -0
  1808. /data/ext/cargo-vendor/{wasmtime-jit-debug-24.0.0 → wasmtime-jit-debug-25.0.0}/README.md +0 -0
  1809. /data/ext/cargo-vendor/{wasmtime-jit-debug-24.0.0 → wasmtime-jit-debug-25.0.0}/src/gdb_jit_int.rs +0 -0
  1810. /data/ext/cargo-vendor/{wasmtime-jit-debug-24.0.0 → wasmtime-jit-debug-25.0.0}/src/lib.rs +0 -0
  1811. /data/ext/cargo-vendor/{wasmtime-jit-debug-24.0.0 → wasmtime-jit-debug-25.0.0}/src/perf_jitdump.rs +0 -0
  1812. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-24.0.0 → wasmtime-jit-icache-coherence-25.0.0}/src/lib.rs +0 -0
  1813. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-24.0.0 → wasmtime-jit-icache-coherence-25.0.0}/src/libc.rs +0 -0
  1814. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-24.0.0 → wasmtime-jit-icache-coherence-25.0.0}/src/miri.rs +0 -0
  1815. /data/ext/cargo-vendor/{wasmtime-jit-icache-coherence-24.0.0 → wasmtime-jit-icache-coherence-25.0.0}/src/win.rs +0 -0
  1816. /data/ext/cargo-vendor/{wasmtime-slab-24.0.0 → wasmtime-slab-25.0.0}/src/lib.rs +0 -0
  1817. /data/ext/cargo-vendor/{wasmtime-types-24.0.0 → wasmtime-types-25.0.0}/LICENSE +0 -0
  1818. /data/ext/cargo-vendor/{wasmtime-types-24.0.0 → wasmtime-types-25.0.0}/src/error.rs +0 -0
  1819. /data/ext/cargo-vendor/{wasmtime-types-24.0.0 → wasmtime-types-25.0.0}/src/prelude.rs +0 -0
  1820. /data/ext/cargo-vendor/{wasmtime-versioned-export-macros-24.0.0 → wasmtime-versioned-export-macros-25.0.0}/src/lib.rs +0 -0
  1821. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/LICENSE +0 -0
  1822. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/README.md +0 -0
  1823. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/clocks/host.rs +0 -0
  1824. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/clocks.rs +0 -0
  1825. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/ctx.rs +0 -0
  1826. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/error.rs +0 -0
  1827. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/clocks.rs +0 -0
  1828. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/env.rs +0 -0
  1829. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/exit.rs +0 -0
  1830. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/filesystem/sync.rs +0 -0
  1831. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/instance_network.rs +0 -0
  1832. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/mod.rs +0 -0
  1833. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/network.rs +0 -0
  1834. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/random.rs +0 -0
  1835. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/tcp.rs +0 -0
  1836. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/tcp_create_socket.rs +0 -0
  1837. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/udp.rs +0 -0
  1838. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/host/udp_create_socket.rs +0 -0
  1839. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/ip_name_lookup.rs +0 -0
  1840. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/lib.rs +0 -0
  1841. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/network.rs +0 -0
  1842. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/poll.rs +0 -0
  1843. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/preview0.rs +0 -0
  1844. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/random.rs +0 -0
  1845. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/stdio/worker_thread_stdin.rs +0 -0
  1846. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/src/udp.rs +0 -0
  1847. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/tests/all/api.rs +0 -0
  1848. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/tests/all/async_.rs +0 -0
  1849. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/tests/all/preview1.rs +0 -0
  1850. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/tests/all/sync.rs +0 -0
  1851. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/witx/preview0/typenames.witx +0 -0
  1852. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/witx/preview0/wasi_unstable.witx +0 -0
  1853. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/witx/preview1/typenames.witx +0 -0
  1854. /data/ext/cargo-vendor/{wasmtime-wasi-24.0.0 → wasmtime-wasi-25.0.0}/witx/preview1/wasi_snapshot_preview1.witx +0 -0
  1855. /data/ext/cargo-vendor/{wasmtime-winch-24.0.0 → wasmtime-winch-25.0.0}/LICENSE +0 -0
  1856. /data/ext/cargo-vendor/{wasmtime-winch-24.0.0 → wasmtime-winch-25.0.0}/src/builder.rs +0 -0
  1857. /data/ext/cargo-vendor/{wasmtime-winch-24.0.0 → wasmtime-winch-25.0.0}/src/compiler.rs +0 -0
  1858. /data/ext/cargo-vendor/{wasmtime-winch-24.0.0 → wasmtime-winch-25.0.0}/src/lib.rs +0 -0
  1859. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-24.0.0 → wasmtime-wit-bindgen-25.0.0}/src/source.rs +0 -0
  1860. /data/ext/cargo-vendor/{wasmtime-wit-bindgen-24.0.0 → wasmtime-wit-bindgen-25.0.0}/src/types.rs +0 -0
  1861. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/README.md +0 -0
  1862. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/alias.rs +0 -0
  1863. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/custom.rs +0 -0
  1864. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/export.rs +0 -0
  1865. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/func.rs +0 -0
  1866. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/instance.rs +0 -0
  1867. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/item_ref.rs +0 -0
  1868. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/module.rs +0 -0
  1869. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/types.rs +0 -0
  1870. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component/wast.rs +0 -0
  1871. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/component.rs +0 -0
  1872. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/binary/dwarf_disabled.rs +0 -0
  1873. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/custom.rs +0 -0
  1874. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/export.rs +0 -0
  1875. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/func.rs +0 -0
  1876. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/global.rs +0 -0
  1877. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/import.rs +0 -0
  1878. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/memory.rs +0 -0
  1879. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/resolve/deinline_import_export.rs +0 -0
  1880. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/table.rs +0 -0
  1881. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/tag.rs +0 -0
  1882. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/types.rs +0 -0
  1883. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core/wast.rs +0 -0
  1884. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/core.rs +0 -0
  1885. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/encode.rs +0 -0
  1886. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/error.rs +0 -0
  1887. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/gensym.rs +0 -0
  1888. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/names.rs +0 -0
  1889. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/src/token.rs +0 -0
  1890. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/annotations.rs +0 -0
  1891. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/comments.rs +0 -0
  1892. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-core-func-alias.wat +0 -0
  1893. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-core-func-alias.wat.err +0 -0
  1894. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-func-alias.wat +0 -0
  1895. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-func-alias.wat.err +0 -0
  1896. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-index.wat +0 -0
  1897. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-index.wat.err +0 -0
  1898. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name.wat +0 -0
  1899. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name.wat.err +0 -0
  1900. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name2.wat +0 -0
  1901. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name2.wat.err +0 -0
  1902. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name3.wat +0 -0
  1903. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/bad-name3.wat.err +0 -0
  1904. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block1.wat +0 -0
  1905. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block1.wat.err +0 -0
  1906. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block2.wat +0 -0
  1907. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block2.wat.err +0 -0
  1908. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block3.wat +0 -0
  1909. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/block3.wat.err +0 -0
  1910. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment0.wat +0 -0
  1911. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment0.wat.err +0 -0
  1912. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment1.wat +0 -0
  1913. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment1.wat.err +0 -0
  1914. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment2.wat +0 -0
  1915. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment2.wat.err +0 -0
  1916. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment3.wat +0 -0
  1917. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment3.wat.err +0 -0
  1918. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment4.wat +0 -0
  1919. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment4.wat.err +0 -0
  1920. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment5.wat +0 -0
  1921. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment5.wat.err +0 -0
  1922. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment6.wat +0 -0
  1923. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment6.wat.err +0 -0
  1924. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment7.wat +0 -0
  1925. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment7.wat.err +0 -0
  1926. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment8.wat +0 -0
  1927. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-block-comment8.wat.err +0 -0
  1928. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment0.wat +0 -0
  1929. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment0.wat.err +0 -0
  1930. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment1.wat +0 -0
  1931. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment1.wat.err +0 -0
  1932. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment2.wat +0 -0
  1933. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment2.wat.err +0 -0
  1934. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment3.wat +0 -0
  1935. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment3.wat.err +0 -0
  1936. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment4.wat +0 -0
  1937. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment4.wat.err +0 -0
  1938. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment5.wat +0 -0
  1939. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment5.wat.err +0 -0
  1940. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment6.wat +0 -0
  1941. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment6.wat.err +0 -0
  1942. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment7.wat +0 -0
  1943. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment7.wat.err +0 -0
  1944. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment8.wat +0 -0
  1945. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-line-comment8.wat.err +0 -0
  1946. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string0.wat +0 -0
  1947. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string0.wat.err +0 -0
  1948. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string1.wat +0 -0
  1949. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string1.wat.err +0 -0
  1950. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string2.wat +0 -0
  1951. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string2.wat.err +0 -0
  1952. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string3.wat +0 -0
  1953. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string3.wat.err +0 -0
  1954. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string4.wat +0 -0
  1955. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string4.wat.err +0 -0
  1956. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string5.wat +0 -0
  1957. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string5.wat.err +0 -0
  1958. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string6.wat +0 -0
  1959. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string6.wat.err +0 -0
  1960. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string7.wat +0 -0
  1961. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string7.wat.err +0 -0
  1962. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string8.wat +0 -0
  1963. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/confusing-string8.wat.err +0 -0
  1964. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/inline1.wat +0 -0
  1965. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/inline1.wat.err +0 -0
  1966. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/newline-in-string.wat +0 -0
  1967. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/newline-in-string.wat.err +0 -0
  1968. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string1.wat +0 -0
  1969. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string1.wat.err +0 -0
  1970. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string10.wat +0 -0
  1971. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string10.wat.err +0 -0
  1972. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string11.wat +0 -0
  1973. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string11.wat.err +0 -0
  1974. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string12.wat +0 -0
  1975. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string12.wat.err +0 -0
  1976. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string13.wat +0 -0
  1977. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string13.wat.err +0 -0
  1978. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string14.wat +0 -0
  1979. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string14.wat.err +0 -0
  1980. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string15.wat +0 -0
  1981. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string15.wat.err +0 -0
  1982. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string16.wat +0 -0
  1983. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string16.wat.err +0 -0
  1984. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string2.wat +0 -0
  1985. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string2.wat.err +0 -0
  1986. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string3.wat +0 -0
  1987. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string3.wat.err +0 -0
  1988. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string4.wat +0 -0
  1989. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string4.wat.err +0 -0
  1990. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string5.wat +0 -0
  1991. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string5.wat.err +0 -0
  1992. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string6.wat +0 -0
  1993. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string6.wat.err +0 -0
  1994. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string7.wat +0 -0
  1995. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string7.wat.err +0 -0
  1996. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string8.wat +0 -0
  1997. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string8.wat.err +0 -0
  1998. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string9.wat +0 -0
  1999. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/string9.wat.err +0 -0
  2000. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/unbalanced.wat +0 -0
  2001. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail/unbalanced.wat.err +0 -0
  2002. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/parse-fail.rs +0 -0
  2003. /data/ext/cargo-vendor/{wast-216.0.0 → wast-217.0.0}/tests/recursive.rs +0 -0
  2004. /data/ext/cargo-vendor/{wat-1.216.0 → wat-1.217.0}/README.md +0 -0
  2005. /data/ext/cargo-vendor/{wat-1.216.0 → wat-1.217.0}/src/lib.rs +0 -0
  2006. /data/ext/cargo-vendor/{wiggle-24.0.0 → wiggle-25.0.0}/LICENSE +0 -0
  2007. /data/ext/cargo-vendor/{wiggle-24.0.0 → wiggle-25.0.0}/README.md +0 -0
  2008. /data/ext/cargo-vendor/{wiggle-24.0.0 → wiggle-25.0.0}/src/error.rs +0 -0
  2009. /data/ext/cargo-vendor/{wiggle-24.0.0 → wiggle-25.0.0}/src/guest_type.rs +0 -0
  2010. /data/ext/cargo-vendor/{wiggle-24.0.0 → wiggle-25.0.0}/src/region.rs +0 -0
  2011. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/LICENSE +0 -0
  2012. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/README.md +0 -0
  2013. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/codegen_settings.rs +0 -0
  2014. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/config.rs +0 -0
  2015. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/lifetimes.rs +0 -0
  2016. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/module_trait.rs +0 -0
  2017. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/error.rs +0 -0
  2018. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/flags.rs +0 -0
  2019. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/handle.rs +0 -0
  2020. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/mod.rs +0 -0
  2021. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/record.rs +0 -0
  2022. /data/ext/cargo-vendor/{wiggle-generate-24.0.0 → wiggle-generate-25.0.0}/src/types/variant.rs +0 -0
  2023. /data/ext/cargo-vendor/{wiggle-macro-24.0.0 → wiggle-macro-25.0.0}/LICENSE +0 -0
  2024. /data/ext/cargo-vendor/{wiggle-macro-24.0.0 → wiggle-macro-25.0.0}/build.rs +0 -0
  2025. /data/ext/cargo-vendor/{wiggle-macro-24.0.0 → wiggle-macro-25.0.0}/src/lib.rs +0 -0
  2026. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/LICENSE +0 -0
  2027. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/build.rs +0 -0
  2028. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/codegen/builtin.rs +0 -0
  2029. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/codegen/call.rs +0 -0
  2030. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/codegen/control.rs +0 -0
  2031. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/codegen/env.rs +0 -0
  2032. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/frame/mod.rs +0 -0
  2033. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/aarch64/mod.rs +0 -0
  2034. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/aarch64/regs.rs +0 -0
  2035. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/reg.rs +0 -0
  2036. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/x64/address.rs +0 -0
  2037. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/x64/mod.rs +0 -0
  2038. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/isa/x64/regs.rs +0 -0
  2039. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/lib.rs +0 -0
  2040. /data/ext/cargo-vendor/{winch-codegen-0.22.0 → winch-codegen-0.23.0}/src/regset.rs +0 -0
  2041. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/README.md +0 -0
  2042. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/abi.rs +0 -0
  2043. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/ast/lex.rs +0 -0
  2044. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/ast/toposort.rs +0 -0
  2045. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/live.rs +0 -0
  2046. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/metadata.rs +0 -0
  2047. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/resolve.rs +0 -0
  2048. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/src/serde_.rs +0 -0
  2049. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/comments.wit +0 -0
  2050. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/comments.wit.json +0 -0
  2051. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/complex-include/deps/bar/root.wit +0 -0
  2052. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/complex-include/deps/baz/root.wit +0 -0
  2053. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/complex-include/root.wit +0 -0
  2054. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/complex-include.wit.json +0 -0
  2055. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/cross-package-resource/deps/foo/foo.wit +0 -0
  2056. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/cross-package-resource/foo.wit +0 -0
  2057. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/cross-package-resource.wit.json +0 -0
  2058. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/diamond1/deps/dep1/types.wit +0 -0
  2059. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/diamond1/deps/dep2/types.wit +0 -0
  2060. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/diamond1/join.wit +0 -0
  2061. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/diamond1.wit.json +0 -0
  2062. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/disambiguate-diamond/shared1.wit +0 -0
  2063. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/disambiguate-diamond/shared2.wit +0 -0
  2064. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/disambiguate-diamond/world.wit +0 -0
  2065. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/disambiguate-diamond.wit.json +0 -0
  2066. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/empty.wit +0 -0
  2067. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/empty.wit.json +0 -0
  2068. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/feature-gates.wit +0 -0
  2069. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/feature-gates.wit.json +0 -0
  2070. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/another-pkg/other-doc.wit +0 -0
  2071. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/corp/saas.wit +0 -0
  2072. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/different-pkg/the-doc.wit +0 -0
  2073. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/foreign-pkg/the-doc.wit +0 -0
  2074. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/some-pkg/some-doc.wit +0 -0
  2075. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/wasi/clocks.wit +0 -0
  2076. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/deps/wasi/filesystem.wit +0 -0
  2077. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps/root.wit +0 -0
  2078. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/another-pkg/other-doc.wit +0 -0
  2079. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/corp/saas.wit +0 -0
  2080. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/different-pkg/the-doc.wit +0 -0
  2081. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/foreign-pkg/the-doc.wit +0 -0
  2082. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/some-pkg/some-doc.wit +0 -0
  2083. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/wasi/clocks.wit +0 -0
  2084. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/wasi/filesystem.wit +0 -0
  2085. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/deps/wasi/wasi.wit +0 -0
  2086. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union/root.wit +0 -0
  2087. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps-union.wit.json +0 -0
  2088. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/foreign-deps.wit.json +0 -0
  2089. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/functions.wit +0 -0
  2090. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/functions.wit.json +0 -0
  2091. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/ignore-files-deps/deps/bar/types.wit +0 -0
  2092. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/ignore-files-deps/deps/ignore-me.txt +0 -0
  2093. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/ignore-files-deps/world.wit +0 -0
  2094. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/ignore-files-deps.wit.json +0 -0
  2095. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/import-export-overlap1.wit +0 -0
  2096. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/import-export-overlap1.wit.json +0 -0
  2097. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/import-export-overlap2.wit +0 -0
  2098. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/import-export-overlap2.wit.json +0 -0
  2099. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/include-reps.wit +0 -0
  2100. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/include-reps.wit.json +0 -0
  2101. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kebab-name-include-with.wit +0 -0
  2102. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kebab-name-include-with.wit.json +0 -0
  2103. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps/a.wit +0 -0
  2104. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps/deps/b/root.wit +0 -0
  2105. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps/deps/c.wit +0 -0
  2106. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps/deps/d.wat +0 -0
  2107. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps/deps/e.wasm +0 -0
  2108. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/kinds-of-deps.wit.json +0 -0
  2109. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/many-names/a.wit +0 -0
  2110. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/many-names/b.wit +0 -0
  2111. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/many-names.wit.json +0 -0
  2112. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file/bar.wit +0 -0
  2113. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file/cycle-a.wit +0 -0
  2114. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file/cycle-b.wit +0 -0
  2115. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file/foo.wit +0 -0
  2116. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file-multi-package/a.wit +0 -0
  2117. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file-multi-package/b.wit +0 -0
  2118. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file-multi-package.wit.json +0 -0
  2119. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-file.wit.json +0 -0
  2120. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-deps/deps/dep.wit +0 -0
  2121. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-deps/root.wit +0 -0
  2122. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-deps.wit.json +0 -0
  2123. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-shared-deps/deps/dep1/types.wit +0 -0
  2124. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-shared-deps/deps/dep2/types.wit +0 -0
  2125. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-shared-deps/packages.wit +0 -0
  2126. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-shared-deps.wit.json +0 -0
  2127. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-transitive-deps/deps/dep1/types.wit +0 -0
  2128. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-transitive-deps/deps/dep2/types.wit +0 -0
  2129. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-transitive-deps/packages.wit +0 -0
  2130. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/multi-package-transitive-deps.wit.json +0 -0
  2131. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/name-both-resource-and-type/deps/dep/foo.wit +0 -0
  2132. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/name-both-resource-and-type/foo.wit +0 -0
  2133. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/name-both-resource-and-type.wit.json +0 -0
  2134. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax1.wit +0 -0
  2135. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax1.wit.json +0 -0
  2136. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax3.wit +0 -0
  2137. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax3.wit.json +0 -0
  2138. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax4.wit +0 -0
  2139. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/package-syntax4.wit.json +0 -0
  2140. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-multiple-nested.wit +0 -0
  2141. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-multiple-nested.wit.json +0 -0
  2142. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-colliding-decl-names.wit +0 -0
  2143. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-colliding-decl-names.wit.json +0 -0
  2144. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-internal-references.wit +0 -0
  2145. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-internal-references.wit.json +0 -0
  2146. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-with-semver.wit +0 -0
  2147. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-nested-with-semver.wit.json +0 -0
  2148. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-single-nested.wit +0 -0
  2149. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/packages-single-nested.wit.json +0 -0
  2150. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/alias-no-type.wit +0 -0
  2151. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/alias-no-type.wit.result +0 -0
  2152. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/async.wit.result +0 -0
  2153. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/async1.wit.result +0 -0
  2154. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated1.wit +0 -0
  2155. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated1.wit.result +0 -0
  2156. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated2.wit +0 -0
  2157. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated2.wit.result +0 -0
  2158. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated3.wit +0 -0
  2159. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated3.wit.result +0 -0
  2160. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated4.wit +0 -0
  2161. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-deprecated4.wit.result +0 -0
  2162. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-function.wit +0 -0
  2163. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-function.wit.result +0 -0
  2164. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-function2.wit +0 -0
  2165. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-function2.wit.result +0 -0
  2166. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate1.wit +0 -0
  2167. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate1.wit.result +0 -0
  2168. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate2.wit +0 -0
  2169. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate2.wit.result +0 -0
  2170. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate3.wit +0 -0
  2171. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate4.wit +0 -0
  2172. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-gate5.wit +0 -0
  2173. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include1.wit +0 -0
  2174. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include1.wit.result +0 -0
  2175. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include2.wit +0 -0
  2176. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include2.wit.result +0 -0
  2177. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include3.wit +0 -0
  2178. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-include3.wit.result +0 -0
  2179. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-list.wit +0 -0
  2180. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-list.wit.result +0 -0
  2181. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg1/root.wit +0 -0
  2182. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg2/deps/bar/empty.wit +0 -0
  2183. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg2/root.wit +0 -0
  2184. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg3/deps/bar/baz.wit +0 -0
  2185. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg3/root.wit +0 -0
  2186. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg4/deps/bar/baz.wit +0 -0
  2187. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg4/root.wit +0 -0
  2188. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg5/deps/bar/baz.wit +0 -0
  2189. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg5/root.wit +0 -0
  2190. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg6/deps/bar/baz.wit +0 -0
  2191. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-pkg6/root.wit +0 -0
  2192. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource1.wit +0 -0
  2193. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource1.wit.result +0 -0
  2194. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource10.wit +0 -0
  2195. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource10.wit.result +0 -0
  2196. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource11.wit +0 -0
  2197. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource11.wit.result +0 -0
  2198. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource12.wit +0 -0
  2199. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource12.wit.result +0 -0
  2200. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource13.wit +0 -0
  2201. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource13.wit.result +0 -0
  2202. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource14.wit +0 -0
  2203. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource14.wit.result +0 -0
  2204. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource15/deps/foo/foo.wit +0 -0
  2205. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource15/foo.wit +0 -0
  2206. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource2.wit +0 -0
  2207. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource2.wit.result +0 -0
  2208. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource3.wit +0 -0
  2209. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource3.wit.result +0 -0
  2210. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource4.wit +0 -0
  2211. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource4.wit.result +0 -0
  2212. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource5.wit +0 -0
  2213. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource5.wit.result +0 -0
  2214. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource6.wit +0 -0
  2215. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource6.wit.result +0 -0
  2216. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource7.wit +0 -0
  2217. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource7.wit.result +0 -0
  2218. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource8.wit +0 -0
  2219. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource8.wit.result +0 -0
  2220. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource9.wit +0 -0
  2221. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-resource9.wit.result +0 -0
  2222. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-since1.wit +0 -0
  2223. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-since1.wit.result +0 -0
  2224. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-since3.wit +0 -0
  2225. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-since3.wit.result +0 -0
  2226. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-world-type1.wit +0 -0
  2227. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/bad-world-type1.wit.result +0 -0
  2228. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/conflicting-package/a.wit +0 -0
  2229. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/conflicting-package/b.wit +0 -0
  2230. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle.wit +0 -0
  2231. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle.wit.result +0 -0
  2232. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle2.wit +0 -0
  2233. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle2.wit.result +0 -0
  2234. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle3.wit +0 -0
  2235. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle3.wit.result +0 -0
  2236. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle4.wit +0 -0
  2237. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle4.wit.result +0 -0
  2238. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle5.wit +0 -0
  2239. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/cycle5.wit.result +0 -0
  2240. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/dangling-type.wit +0 -0
  2241. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/dangling-type.wit.result +0 -0
  2242. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-function-params.wit +0 -0
  2243. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-function-params.wit.result +0 -0
  2244. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-functions.wit +0 -0
  2245. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-functions.wit.result +0 -0
  2246. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-interface.wit +0 -0
  2247. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-interface.wit.result +0 -0
  2248. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-interface2/foo.wit +0 -0
  2249. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-interface2/foo2.wit +0 -0
  2250. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-type.wit +0 -0
  2251. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/duplicate-type.wit.result +0 -0
  2252. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/empty-enum.wit +0 -0
  2253. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/empty-enum.wit.result +0 -0
  2254. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/empty-variant1.wit +0 -0
  2255. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/empty-variant1.wit.result +0 -0
  2256. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/export-twice.wit +0 -0
  2257. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/export-twice.wit.result +0 -0
  2258. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export1.wit +0 -0
  2259. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export1.wit.result +0 -0
  2260. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export2.wit +0 -0
  2261. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export2.wit.result +0 -0
  2262. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export3.wit +0 -0
  2263. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export3.wit.result +0 -0
  2264. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export4.wit +0 -0
  2265. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export4.wit.result +0 -0
  2266. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export5.wit +0 -0
  2267. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-and-export5.wit.result +0 -0
  2268. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-twice.wit +0 -0
  2269. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/import-twice.wit.result +0 -0
  2270. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-cycle.wit +0 -0
  2271. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-cycle.wit.result +0 -0
  2272. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-foreign/deps/bar/empty.wit +0 -0
  2273. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-foreign/root.wit +0 -0
  2274. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-with-id.wit +0 -0
  2275. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-with-id.wit.result +0 -0
  2276. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-with-on-id.wit +0 -0
  2277. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/include-with-on-id.wit.result +0 -0
  2278. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-toplevel.wit +0 -0
  2279. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-toplevel.wit.result +0 -0
  2280. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-type-reference.wit +0 -0
  2281. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-type-reference.wit.result +0 -0
  2282. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-type-reference2.wit +0 -0
  2283. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/invalid-type-reference2.wit.result +0 -0
  2284. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit +0 -0
  2285. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/kebab-name-include-not-found.wit.result +0 -0
  2286. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/kebab-name-include.wit +0 -0
  2287. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/kebab-name-include.wit.result +0 -0
  2288. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/keyword.wit +0 -0
  2289. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/keyword.wit.result +0 -0
  2290. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-main-declaration-initial-main.wit +0 -0
  2291. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-main-declaration-initial-main.wit.result +0 -0
  2292. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-main-declaration-initial-nested.wit +0 -0
  2293. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-main-declaration-initial-nested.wit.result +0 -0
  2294. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-package.wit +0 -0
  2295. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/missing-package.wit.result +0 -0
  2296. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multi-file-missing-delimiter/observe.wit +0 -0
  2297. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multi-file-missing-delimiter/world.wit +0 -0
  2298. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multi-package-deps-share-nest/deps/dep1/types.wit +0 -0
  2299. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multi-package-deps-share-nest/deps/dep2/types.wit +0 -0
  2300. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multi-package-deps-share-nest/root.wit +0 -0
  2301. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-package-docs/a.wit +0 -0
  2302. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-package-docs/b.wit +0 -0
  2303. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-package-inline-cycle.wit +0 -0
  2304. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-package-inline-cycle.wit.result +0 -0
  2305. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit +0 -0
  2306. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/multiple-packages-no-scope-blocks.wit.result +0 -0
  2307. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/nested-packages-colliding-names.wit +0 -0
  2308. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/nested-packages-colliding-names.wit.result +0 -0
  2309. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/nested-packages-with-error.wit +0 -0
  2310. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/nested-packages-with-error.wit.result +0 -0
  2311. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/no-access-to-sibling-use/bar.wit +0 -0
  2312. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/no-access-to-sibling-use/foo.wit +0 -0
  2313. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/non-existance-world-include/deps/bar/baz.wit +0 -0
  2314. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/non-existance-world-include/root.wit +0 -0
  2315. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/pkg-cycle/deps/a1/root.wit +0 -0
  2316. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/pkg-cycle/root.wit +0 -0
  2317. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/pkg-cycle2/deps/a1/root.wit +0 -0
  2318. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/pkg-cycle2/deps/a2/root.wit +0 -0
  2319. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/pkg-cycle2/root.wit +0 -0
  2320. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/resources-multiple-returns-borrow.wit +0 -0
  2321. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/resources-return-borrow.wit +0 -0
  2322. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow1.wit +0 -0
  2323. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow2.wit +0 -0
  2324. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow3.wit +0 -0
  2325. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow3.wit.result +0 -0
  2326. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow4.wit +0 -0
  2327. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow4.wit.result +0 -0
  2328. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow5.wit +0 -0
  2329. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow5.wit.result +0 -0
  2330. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow6.wit +0 -0
  2331. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow7.wit +0 -0
  2332. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow8/deps/baz.wit +0 -0
  2333. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/return-borrow8/foo.wit +0 -0
  2334. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/type-and-resource-same-name/deps/dep/foo.wit +0 -0
  2335. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/type-and-resource-same-name/foo.wit +0 -0
  2336. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/undefined-typed.wit +0 -0
  2337. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/undefined-typed.wit.result +0 -0
  2338. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unknown-interface.wit +0 -0
  2339. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unknown-interface.wit.result +0 -0
  2340. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface1.wit +0 -0
  2341. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface1.wit.result +0 -0
  2342. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface2.wit +0 -0
  2343. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface2.wit.result +0 -0
  2344. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface3.wit +0 -0
  2345. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface3.wit.result +0 -0
  2346. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface4.wit +0 -0
  2347. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-interface4.wit.result +0 -0
  2348. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use1.wit +0 -0
  2349. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use1.wit.result +0 -0
  2350. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use10/bar.wit +0 -0
  2351. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use10/foo.wit +0 -0
  2352. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use2.wit +0 -0
  2353. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use2.wit.result +0 -0
  2354. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use3.wit +0 -0
  2355. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use3.wit.result +0 -0
  2356. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use7.wit +0 -0
  2357. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use7.wit.result +0 -0
  2358. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use8.wit +0 -0
  2359. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use8.wit.result +0 -0
  2360. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use9.wit +0 -0
  2361. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unresolved-use9.wit.result +0 -0
  2362. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/unterminated-string.wit.result +0 -0
  2363. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-and-include-world/deps/bar/baz.wit +0 -0
  2364. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-and-include-world/root.wit +0 -0
  2365. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict.wit +0 -0
  2366. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict.wit.result +0 -0
  2367. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict2.wit +0 -0
  2368. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict2.wit.result +0 -0
  2369. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict3.wit +0 -0
  2370. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-conflict3.wit.result +0 -0
  2371. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-cycle1.wit +0 -0
  2372. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-cycle1.wit.result +0 -0
  2373. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-cycle4.wit +0 -0
  2374. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-cycle4.wit.result +0 -0
  2375. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-shadow1.wit +0 -0
  2376. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-shadow1.wit.result +0 -0
  2377. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-world/deps/bar/baz.wit +0 -0
  2378. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/use-world/root.wit +0 -0
  2379. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/very-nested-packages.wit +0 -0
  2380. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-interface-clash.wit +0 -0
  2381. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-interface-clash.wit.result +0 -0
  2382. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-same-fields2.wit +0 -0
  2383. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-same-fields2.wit.result +0 -0
  2384. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-same-fields3.wit +0 -0
  2385. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-same-fields3.wit.result +0 -0
  2386. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-top-level-func.wit +0 -0
  2387. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-top-level-func.wit.result +0 -0
  2388. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-top-level-func2.wit +0 -0
  2389. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/parse-fail/world-top-level-func2.wit.result +0 -0
  2390. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/random.wit +0 -0
  2391. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/random.wit.json +0 -0
  2392. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-empty.wit +0 -0
  2393. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-empty.wit.json +0 -0
  2394. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-multiple-returns-own.wit +0 -0
  2395. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-multiple-returns-own.wit.json +0 -0
  2396. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-multiple.wit +0 -0
  2397. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-multiple.wit.json +0 -0
  2398. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-return-own.wit +0 -0
  2399. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources-return-own.wit.json +0 -0
  2400. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources.wit +0 -0
  2401. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources.wit.json +0 -0
  2402. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources1.wit +0 -0
  2403. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/resources1.wit.json +0 -0
  2404. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/same-name-import-export.wit +0 -0
  2405. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/same-name-import-export.wit.json +0 -0
  2406. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/shared-types.wit +0 -0
  2407. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/shared-types.wit.json +0 -0
  2408. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/simple-wasm-text.wat +0 -0
  2409. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/simple-wasm-text.wit.json +0 -0
  2410. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/stress-export-elaborate.wit +0 -0
  2411. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/stress-export-elaborate.wit.json +0 -0
  2412. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/type-then-eof.wit +0 -0
  2413. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/type-then-eof.wit.json +0 -0
  2414. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/types.wit +0 -0
  2415. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/types.wit.json +0 -0
  2416. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/union-fuzz-1.wit +0 -0
  2417. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/union-fuzz-1.wit.json +0 -0
  2418. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/union-fuzz-2.wit +0 -0
  2419. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/union-fuzz-2.wit.json +0 -0
  2420. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/use-chain.wit +0 -0
  2421. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/use-chain.wit.json +0 -0
  2422. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/use.wit +0 -0
  2423. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/use.wit.json +0 -0
  2424. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/version-syntax.wit +0 -0
  2425. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/version-syntax.wit.json +0 -0
  2426. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/versions/deps/a1/foo.wit +0 -0
  2427. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/versions/deps/a2/foo.wit +0 -0
  2428. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/versions/foo.wit +0 -0
  2429. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/versions.wit.json +0 -0
  2430. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/wasi.wit +0 -0
  2431. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/wasi.wit.json +0 -0
  2432. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-diamond.wit +0 -0
  2433. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-diamond.wit.json +0 -0
  2434. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-iface-no-collide.wit +0 -0
  2435. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-iface-no-collide.wit.json +0 -0
  2436. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import1.wit +0 -0
  2437. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import1.wit.json +0 -0
  2438. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import2.wit +0 -0
  2439. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import2.wit.json +0 -0
  2440. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import3.wit +0 -0
  2441. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-implicit-import3.wit.json +0 -0
  2442. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-same-fields4.wit +0 -0
  2443. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-same-fields4.wit.json +0 -0
  2444. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-top-level-funcs.wit +0 -0
  2445. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-top-level-funcs.wit.json +0 -0
  2446. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-top-level-resources.wit +0 -0
  2447. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/world-top-level-resources.wit.json +0 -0
  2448. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/worlds-union-dedup.wit +0 -0
  2449. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/worlds-union-dedup.wit.json +0 -0
  2450. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/worlds-with-types.wit +0 -0
  2451. /data/ext/cargo-vendor/{wit-parser-0.215.0 → wit-parser-0.217.0}/tests/ui/worlds-with-types.wit.json +0 -0
@@ -0,0 +1,2968 @@
1
+ ;; aarch64 instruction selection and CLIF-to-MachInst lowering.
2
+
3
+ ;; The main lowering constructor term: takes a clif `Inst` and returns the
4
+ ;; register(s) within which the lowered instruction's result values live.
5
+ (decl partial lower (Inst) InstOutput)
6
+
7
+ ;; Variant of the main lowering constructor term, which receives an
8
+ ;; additional argument (a vector of branch targets to be used) for
9
+ ;; implementing branches.
10
+ ;; For two-branch instructions, the first target is `taken` and the second
11
+ ;; `not_taken`, even if it is a Fallthrough instruction: because we reorder
12
+ ;; blocks while we lower, the fallthrough in the new order is not (necessarily)
13
+ ;; the same as the fallthrough in CLIF. So, we use the explicitly-provided
14
+ ;; target.
15
+ (decl partial lower_branch (Inst MachLabelSlice) Unit)
16
+
17
+ ;;;; Rules for `iconst` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18
+
19
+ (rule (lower (has_type ty (iconst (u64_from_imm64 n))))
20
+ (imm ty (ImmExtend.Zero) n))
21
+
22
+ ;;;; Rules for `f16const` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23
+
24
+ (rule (lower (f16const (u16_from_ieee16 n)))
25
+ (constant_f16 n))
26
+
27
+ ;;;; Rules for `f32const` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
28
+
29
+ (rule (lower (f32const (u32_from_ieee32 n)))
30
+ (constant_f32 n))
31
+
32
+ ;;;; Rules for `f64const` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33
+
34
+ (rule (lower (f64const (u64_from_ieee64 n)))
35
+ (constant_f64 n))
36
+
37
+ ;;;; Rules for `f128const` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
38
+
39
+ (rule (lower (has_type $F128 (f128const (u128_from_constant n))))
40
+ (constant_f128 n))
41
+
42
+ ;;;; Rules for `nop` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
43
+
44
+ (rule (lower (nop))
45
+ (invalid_reg))
46
+
47
+ ;;;; Rules for `iadd` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
48
+
49
+ ;; `i64` and smaller
50
+
51
+ ;; Base case, simply adding things in registers.
52
+ (rule -1 (lower (has_type (fits_in_64 ty) (iadd x y)))
53
+ (add ty x y))
54
+
55
+ ;; Special cases for when one operand is an immediate that fits in 12 bits.
56
+ (rule 4 (lower (has_type (fits_in_64 ty) (iadd x (imm12_from_value y))))
57
+ (add_imm ty x y))
58
+
59
+ (rule 5 (lower (has_type (fits_in_64 ty) (iadd (imm12_from_value x) y)))
60
+ (add_imm ty y x))
61
+
62
+ ;; Same as the previous special cases, except we can switch the addition to a
63
+ ;; subtraction if the negated immediate fits in 12 bits.
64
+ (rule 2 (lower (has_type (fits_in_64 ty) (iadd x y)))
65
+ (if-let imm12_neg (imm12_from_negated_value y))
66
+ (sub_imm ty x imm12_neg))
67
+
68
+ (rule 3 (lower (has_type (fits_in_64 ty) (iadd x y)))
69
+ (if-let imm12_neg (imm12_from_negated_value x))
70
+ (sub_imm ty y imm12_neg))
71
+
72
+ ;; Special cases for when we're adding an extended register where the extending
73
+ ;; operation can get folded into the add itself.
74
+ (rule 0 (lower (has_type (fits_in_64 ty) (iadd x (extended_value_from_value y))))
75
+ (add_extend ty x y))
76
+
77
+ (rule 1 (lower (has_type (fits_in_64 ty) (iadd (extended_value_from_value x) y)))
78
+ (add_extend ty y x))
79
+
80
+ ;; Special cases for when we're adding the shift of a different
81
+ ;; register by a constant amount and the shift can get folded into the add.
82
+ (rule 7 (lower (has_type (fits_in_64 ty)
83
+ (iadd x (ishl y (iconst k)))))
84
+ (if-let amt (lshl_from_imm64 ty k))
85
+ (add_shift ty x y amt))
86
+
87
+ (rule 6 (lower (has_type (fits_in_64 ty)
88
+ (iadd (ishl x (iconst k)) y)))
89
+ (if-let amt (lshl_from_imm64 ty k))
90
+ (add_shift ty y x amt))
91
+
92
+ ;; Fold an `iadd` and `imul` combination into a `madd` instruction.
93
+ (rule 7 (lower (has_type (fits_in_64 ty) (iadd x (imul y z))))
94
+ (madd ty y z x))
95
+
96
+ (rule 6 (lower (has_type (fits_in_64 ty) (iadd (imul x y) z)))
97
+ (madd ty x y z))
98
+
99
+ ;; Fold an `isub` and `imul` combination into a `msub` instruction.
100
+ (rule (lower (has_type (fits_in_64 ty) (isub x (imul y z))))
101
+ (msub ty y z x))
102
+
103
+ ;; vectors
104
+
105
+ (rule -2 (lower (has_type ty @ (multi_lane _ _) (iadd x y)))
106
+ (add_vec x y (vector_size ty)))
107
+
108
+ ;; `i128`
109
+ (rule -3 (lower (has_type $I128 (iadd x y)))
110
+ (let
111
+ ;; Get the high/low registers for `x`.
112
+ ((x_regs ValueRegs x)
113
+ (x_lo Reg (value_regs_get x_regs 0))
114
+ (x_hi Reg (value_regs_get x_regs 1))
115
+
116
+ ;; Get the high/low registers for `y`.
117
+ (y_regs ValueRegs y)
118
+ (y_lo Reg (value_regs_get y_regs 0))
119
+ (y_hi Reg (value_regs_get y_regs 1)))
120
+ ;; the actual addition is `adds` followed by `adc` which comprises the
121
+ ;; low/high bits of the result
122
+ (with_flags
123
+ (add_with_flags_paired $I64 x_lo y_lo)
124
+ (adc_paired $I64 x_hi y_hi))))
125
+
126
+ ;;;; Rules for `shuffle` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
127
+
128
+ ;; When a single element of one vector is broadcast to all the destination
129
+ ;; lanes then the `dup` instruction can be used for this operation. Note that
130
+ ;; for now this only matches lane selection from the first vector `a`, but
131
+ ;; if necessary in the future rules can be added to select from `b` as well.
132
+ (rule 6 (lower (shuffle a b (shuffle_dup8_from_imm n)))
133
+ (vec_dup_from_fpu a (VectorSize.Size8x16) n))
134
+ (rule 5 (lower (shuffle a b (shuffle_dup16_from_imm n)))
135
+ (vec_dup_from_fpu a (VectorSize.Size16x8) n))
136
+ (rule 4 (lower (shuffle a b (shuffle_dup32_from_imm n)))
137
+ (vec_dup_from_fpu a (VectorSize.Size32x4) n))
138
+ (rule 3 (lower (shuffle a b (shuffle_dup64_from_imm n)))
139
+ (vec_dup_from_fpu a (VectorSize.Size64x2) n))
140
+
141
+ ;; If the `Immediate` specified to the extractor looks like a duplication of the
142
+ ;; `n`th lane of the first vector of size K-byte lanes, then each extractor
143
+ ;; returns the `n` value as a `u8` to be used as part of a `vec_dup_from_fpu`
144
+ ;; instruction. Note that there's a different extractor for each bit-width of
145
+ ;; lane.
146
+ (decl shuffle_dup8_from_imm (u8) Immediate)
147
+ (extern extractor shuffle_dup8_from_imm shuffle_dup8_from_imm)
148
+ (decl shuffle_dup16_from_imm (u8) Immediate)
149
+ (extern extractor shuffle_dup16_from_imm shuffle_dup16_from_imm)
150
+ (decl shuffle_dup32_from_imm (u8) Immediate)
151
+ (extern extractor shuffle_dup32_from_imm shuffle_dup32_from_imm)
152
+ (decl shuffle_dup64_from_imm (u8) Immediate)
153
+ (extern extractor shuffle_dup64_from_imm shuffle_dup64_from_imm)
154
+
155
+ ;; When the shuffle looks like "concatenate `a` and `b` and shift right by n*8
156
+ ;; bytes", that's an `ext` instruction.
157
+ (rule 2 (lower (shuffle a b (vec_extract_imm4_from_immediate n)))
158
+ (vec_extract a b n))
159
+
160
+ ;; Attempts to extract `n` from the specified shuffle `Immediate` where each
161
+ ;; byte of the `Immediate` is a consecutive sequence starting from `n`. This
162
+ ;; value of `n` is used as part of the `vec_extract` instruction which extracts
163
+ ;; consecutive bytes from two vectors into one final vector, offset by `n`
164
+ ;; bytes.
165
+ (decl vec_extract_imm4_from_immediate (u8) Immediate)
166
+ (extern extractor vec_extract_imm4_from_immediate vec_extract_imm4_from_immediate)
167
+
168
+ ;; Rules for the `uzp1` and `uzp2` instructions which gather even-numbered lanes
169
+ ;; or odd-numbered lanes
170
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1e1c_1a18_1614_1210_0e0c_0a08_0604_0200)))
171
+ (vec_uzp1 a b (VectorSize.Size8x16)))
172
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1d_1b19_1715_1311_0f0d_0b09_0705_0301)))
173
+ (vec_uzp2 a b (VectorSize.Size8x16)))
174
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1d1c_1918_1514_1110_0d0c_0908_0504_0100)))
175
+ (vec_uzp1 a b (VectorSize.Size16x8)))
176
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e_1b1a_1716_1312_0f0e_0b0a_0706_0302)))
177
+ (vec_uzp2 a b (VectorSize.Size16x8)))
178
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1b1a1918_13121110_0b0a0908_03020100)))
179
+ (vec_uzp1 a b (VectorSize.Size32x4)))
180
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e1d1c_17161514_0f0e0d0c_07060504)))
181
+ (vec_uzp2 a b (VectorSize.Size32x4)))
182
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1716151413121110_0706050403020100)))
183
+ (vec_uzp1 a b (VectorSize.Size64x2)))
184
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e1d1c1b1a1918_0f0e0d0c0b0a0908)))
185
+ (vec_uzp2 a b (VectorSize.Size64x2)))
186
+
187
+ ;; Rules for the `zip1` and `zip2` instructions which interleave lanes in the
188
+ ;; low or high halves of the two input vectors.
189
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1707_1606_1505_1404_1303_1202_1101_1000)))
190
+ (vec_zip1 a b (VectorSize.Size8x16)))
191
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f0f_1e0e_1d0d_1c0c_1b0b_1a0a_1909_1808)))
192
+ (vec_zip2 a b (VectorSize.Size8x16)))
193
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1716_0706_1514_0504_1312_0302_1110_0100)))
194
+ (vec_zip1 a b (VectorSize.Size16x8)))
195
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e_0f0e_1d1c_0d0c_1b1a_0b0a_1918_0908)))
196
+ (vec_zip2 a b (VectorSize.Size16x8)))
197
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x17161514_07060504_13121110_03020100)))
198
+ (vec_zip1 a b (VectorSize.Size32x4)))
199
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e1d1c_0f0e0d0c_1b1a1918_0b0a0908)))
200
+ (vec_zip2 a b (VectorSize.Size32x4)))
201
+ ;; Note that zip1/zip2 for i64x2 vectors is omitted since it's already covered
202
+ ;; by the i64x2 cases of uzp1/uzp2 above where both zip and uzp have the same
203
+ ;; semantics for 64-bit lanes.
204
+
205
+ ;; Rules for the `trn1` and `trn2` instructions which interleave odd or even
206
+ ;; lanes in the two input vectors.
207
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1e0e_1c0c_1a0a_1808_1606_1404_1202_1000)))
208
+ (vec_trn1 a b (VectorSize.Size8x16)))
209
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f0f_1d0d_1b0b_1909_1707_1505_1303_1101)))
210
+ (vec_trn2 a b (VectorSize.Size8x16)))
211
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1d1c_0d0c_1918_0908_1514_0504_1110_0100)))
212
+ (vec_trn1 a b (VectorSize.Size16x8)))
213
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e_0f0e_1b1a_0b0a_1716_0706_1312_0302)))
214
+ (vec_trn2 a b (VectorSize.Size16x8)))
215
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1b1a1918_0b0a0908_13121110_03020100)))
216
+ (vec_trn1 a b (VectorSize.Size32x4)))
217
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x1f1e1d1c_0f0e0d0c_17161514_07060504)))
218
+ (vec_trn2 a b (VectorSize.Size32x4)))
219
+ ;; Note that trn1/trn2 for i64x2 vectors is omitted since it's already covered
220
+ ;; by the i64x2 cases of uzp1/uzp2 above where both trn and uzp have the same
221
+ ;; semantics for 64-bit lanes.
222
+
223
+ ;; Rules for the `rev{16,32,64}` instructions where reversals happen at either
224
+ ;; the byte level, the 16-bit level, or 32-bit level. Note that all of these
225
+ ;; patterns only match reversals in the first operand, but they can
226
+ ;; theoretically be extended if necessary to reversals in the second operand.
227
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x0e0f_0c0d_0a0b_0809_0607_0405_0203_0001)))
228
+ (rev16 a (VectorSize.Size8x16)))
229
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x0c0d0e0f_08090a0b_04050607_00010203)))
230
+ (rev32 a (VectorSize.Size8x16)))
231
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x0d0c0f0e_09080b0a_05040706_01000302)))
232
+ (rev32 a (VectorSize.Size16x8)))
233
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x08090a0b0c0d0e0f_0001020304050607)))
234
+ (rev64 a (VectorSize.Size8x16)))
235
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x09080b0a0d0c0f0e_0100030205040706)))
236
+ (rev64 a (VectorSize.Size16x8)))
237
+ (rule 1 (lower (shuffle a b (u128_from_immediate 0x0b0a09080f0e0d0c_0302010007060504)))
238
+ (rev64 a (VectorSize.Size32x4)))
239
+
240
+ (rule (lower (has_type ty (shuffle rn rn2 (u128_from_immediate mask))))
241
+ (let ((mask_reg Reg (constant_f128 mask)))
242
+ (vec_tbl2 rn rn2 mask_reg ty)))
243
+
244
+ ;;;; Rules for `swizzle` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
245
+
246
+ (rule (lower (has_type vec_i128_ty (swizzle rn rm)))
247
+ (vec_tbl rn rm))
248
+
249
+ ;;;; Rules for `isplit` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
250
+
251
+ (rule (lower (isplit x @ (value_type $I128)))
252
+ (let
253
+ ((x_regs ValueRegs x)
254
+ (x_lo ValueRegs (value_regs_get x_regs 0))
255
+ (x_hi ValueRegs (value_regs_get x_regs 1)))
256
+ (output_pair x_lo x_hi)))
257
+
258
+ ;;;; Rules for `iconcat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
259
+
260
+ (rule (lower (has_type $I128 (iconcat lo hi)))
261
+ (output (value_regs lo hi)))
262
+
263
+ ;;;; Rules for `scalar_to_vector` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
264
+
265
+ (rule (lower (has_type $F32X4 (scalar_to_vector x)))
266
+ (fpu_extend x (ScalarSize.Size32)))
267
+
268
+ (rule (lower (has_type $F64X2 (scalar_to_vector x)))
269
+ (fpu_extend x (ScalarSize.Size64)))
270
+
271
+ (rule -1 (lower (scalar_to_vector x @ (value_type $I64)))
272
+ (mov_to_fpu x (ScalarSize.Size64)))
273
+
274
+ (rule -2 (lower (scalar_to_vector x @ (value_type (int_fits_in_32 _))))
275
+ (mov_to_fpu (put_in_reg_zext32 x) (ScalarSize.Size32)))
276
+
277
+ ;;;; Rules for `vall_true` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
278
+
279
+ ;; cmeq vtmp.2d, vm.2d, #0
280
+ ;; addp dtmp, vtmp.2d
281
+ ;; fcmp dtmp, dtmp
282
+ ;; cset xd, eq
283
+ ;;
284
+ ;; Note that after the ADDP the value of the temporary register will be either
285
+ ;; 0 when all input elements are true, i.e. non-zero, or a NaN otherwise
286
+ ;; (either -1 or -2 when represented as an integer); NaNs are the only
287
+ ;; floating-point numbers that compare unequal to themselves.
288
+ (rule (lower (vall_true x @ (value_type (multi_lane 64 2))))
289
+ (let ((x1 Reg (cmeq0 x (VectorSize.Size64x2)))
290
+ (x2 Reg (addp x1 x1 (VectorSize.Size64x2))))
291
+ (with_flags (fpu_cmp (ScalarSize.Size64) x2 x2)
292
+ (materialize_bool_result (Cond.Eq)))))
293
+
294
+ (rule (lower (vall_true x @ (value_type (multi_lane 32 2))))
295
+ (let ((x1 Reg (mov_from_vec x 0 (ScalarSize.Size64))))
296
+ (with_flags (cmp_rr_shift (OperandSize.Size64) (zero_reg) x1 32)
297
+ (ccmp_imm
298
+ (OperandSize.Size32)
299
+ x1
300
+ (u8_into_uimm5 0)
301
+ (nzcv $false $true $false $false)
302
+ (Cond.Ne)))))
303
+
304
+ ;; This operation is implemented by using uminv to create a scalar value, which
305
+ ;; is then compared against zero.
306
+ ;;
307
+ ;; uminv bn, vm.16b
308
+ ;; mov xm, vn.d[0]
309
+ ;; cmp xm, #0
310
+ ;; cset xm, ne
311
+ (rule -1 (lower (vall_true x @ (value_type (lane_fits_in_32 ty))))
312
+ (if (not_vec32x2 ty))
313
+ (let ((x1 Reg (vec_lanes (VecLanesOp.Uminv) x (vector_size ty)))
314
+ (x2 Reg (mov_from_vec x1 0 (ScalarSize.Size64))))
315
+ (with_flags (cmp_imm (OperandSize.Size64) x2 (u8_into_imm12 0))
316
+ (materialize_bool_result (Cond.Ne)))))
317
+
318
+ ;;;; Rules for `vany_true` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
319
+
320
+ (rule (lower (vany_true x @ (value_type in_ty)))
321
+ (with_flags (vanytrue x in_ty)
322
+ (materialize_bool_result (Cond.Ne))))
323
+
324
+ ;;;; Rules for `iadd_pairwise` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
325
+
326
+ ;; special case for the `i16x8.extadd_pairwise_i8x16_s` wasm instruction
327
+ (rule (lower (has_type $I16X8 (iadd_pairwise (swiden_low x) (swiden_high x))))
328
+ (saddlp8 x))
329
+
330
+ ;; special case for the `i32x4.extadd_pairwise_i16x8_s` wasm instruction
331
+ (rule (lower (has_type $I32X4 (iadd_pairwise (swiden_low x) (swiden_high x))))
332
+ (saddlp16 x))
333
+
334
+ ;; special case for the `i16x8.extadd_pairwise_i8x16_u` wasm instruction
335
+ (rule (lower (has_type $I16X8 (iadd_pairwise (uwiden_low x) (uwiden_high x))))
336
+ (uaddlp8 x))
337
+
338
+ ;; special case for the `i32x4.extadd_pairwise_i16x8_u` wasm instruction
339
+ (rule (lower (has_type $I32X4 (iadd_pairwise (uwiden_low x) (uwiden_high x))))
340
+ (uaddlp16 x))
341
+
342
+ (rule -1 (lower (has_type ty (iadd_pairwise x y)))
343
+ (addp x y (vector_size ty)))
344
+
345
+ ;;;; Rules for `iabs` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
346
+
347
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (iabs x)))
348
+ (vec_abs x (vector_size ty)))
349
+
350
+ (rule 2 (lower (has_type $I64 (iabs x)))
351
+ (abs (OperandSize.Size64) x))
352
+
353
+ (rule 1 (lower (has_type (fits_in_32 ty) (iabs x)))
354
+ (abs (OperandSize.Size32) (put_in_reg_sext32 x)))
355
+
356
+ ; `rustc` implementation.
357
+ ; - create a bitmask of all 1s if negative, or 0s if positive.
358
+ ; - xor all bits by bitmask. then subtract bitmask from xor'd values.
359
+ ; - if `x` is positive, the xor'd bits = x and the mask = 0, so we end up with
360
+ ; `x - 0`.
361
+ ; - if `x` is negative, the xor'd bits = ~x and the mask = -1, so we end up with
362
+ ; `~x - (-1) = ~x + 1`, which is exactly `abs(x)`.
363
+ (rule (lower (has_type $I128 (iabs x)))
364
+ (let ((x_regs ValueRegs x)
365
+ (x_lo Reg (value_regs_get x_regs 0))
366
+ (x_hi Reg (value_regs_get x_regs 1))
367
+ (asr_reg Reg (asr_imm $I64 x_hi (imm_shift_from_u8 63)))
368
+ (eor_hi Reg (eor $I64 x_hi asr_reg))
369
+ (eor_lo Reg (eor $I64 x_lo asr_reg))
370
+ (subs_lo ProducesFlags (sub_with_flags_paired $I64 eor_lo asr_reg))
371
+ (sbc_hi ConsumesFlags (sbc_paired $I64 eor_hi asr_reg)))
372
+ (with_flags subs_lo sbc_hi)))
373
+
374
+ ;;;; Rules for `avg_round` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
375
+
376
+ (rule (lower (has_type $I64X2 (avg_round x y)))
377
+ (let ((one Reg (splat_const 1 (VectorSize.Size64x2)))
378
+ (c Reg (orr_vec x y (VectorSize.Size64x2)))
379
+ (c Reg (and_vec c one (VectorSize.Size64x2)))
380
+ (x Reg (ushr_vec_imm x 1 (VectorSize.Size64x2)))
381
+ (y Reg (ushr_vec_imm y 1 (VectorSize.Size64x2)))
382
+ (sum Reg (add_vec x y (VectorSize.Size64x2))))
383
+ (add_vec c sum (VectorSize.Size64x2))))
384
+
385
+ (rule -1 (lower (has_type (lane_fits_in_32 ty) (avg_round x y)))
386
+ (vec_rrr (VecALUOp.Urhadd) x y (vector_size ty)))
387
+
388
+ ;;;; Rules for `sqmul_round_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
389
+
390
+ (rule (lower (has_type ty @ (multi_lane _ _) (sqmul_round_sat x y)))
391
+ (vec_rrr (VecALUOp.Sqrdmulh) x y (vector_size ty)))
392
+
393
+ ;;;; Rules for `fadd` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
394
+
395
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fadd rn rm)))
396
+ (vec_rrr (VecALUOp.Fadd) rn rm (vector_size ty)))
397
+
398
+ (rule (lower (has_type (ty_scalar_float ty) (fadd rn rm)))
399
+ (fpu_rrr (FPUOp2.Add) rn rm (scalar_size ty)))
400
+
401
+ ;;;; Rules for `fsub` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
402
+
403
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fsub rn rm)))
404
+ (vec_rrr (VecALUOp.Fsub) rn rm (vector_size ty)))
405
+
406
+ (rule (lower (has_type (ty_scalar_float ty) (fsub rn rm)))
407
+ (fpu_rrr (FPUOp2.Sub) rn rm (scalar_size ty)))
408
+
409
+ ;;;; Rules for `fmul` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
410
+
411
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fmul rn rm)))
412
+ (vec_rrr (VecALUOp.Fmul) rn rm (vector_size ty)))
413
+
414
+ (rule (lower (has_type (ty_scalar_float ty) (fmul rn rm)))
415
+ (fpu_rrr (FPUOp2.Mul) rn rm (scalar_size ty)))
416
+
417
+ ;;;; Rules for `fdiv` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
418
+
419
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fdiv rn rm)))
420
+ (vec_rrr (VecALUOp.Fdiv) rn rm (vector_size ty)))
421
+
422
+ (rule (lower (has_type (ty_scalar_float ty) (fdiv rn rm)))
423
+ (fpu_rrr (FPUOp2.Div) rn rm (scalar_size ty)))
424
+
425
+ ;;;; Rules for `fmin` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
426
+
427
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fmin rn rm)))
428
+ (vec_rrr (VecALUOp.Fmin) rn rm (vector_size ty)))
429
+
430
+ (rule (lower (has_type (ty_scalar_float ty) (fmin rn rm)))
431
+ (fpu_rrr (FPUOp2.Min) rn rm (scalar_size ty)))
432
+
433
+ ;;;; Rules for `fmax` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
434
+
435
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fmax rn rm)))
436
+ (vec_rrr (VecALUOp.Fmax) rn rm (vector_size ty)))
437
+
438
+ (rule (lower (has_type (ty_scalar_float ty) (fmax rn rm)))
439
+ (fpu_rrr (FPUOp2.Max) rn rm (scalar_size ty)))
440
+
441
+ ;;;; Rules for `sqrt` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
442
+
443
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (sqrt x)))
444
+ (vec_misc (VecMisc2.Fsqrt) x (vector_size ty)))
445
+
446
+ (rule (lower (has_type (ty_scalar_float ty) (sqrt x)))
447
+ (fpu_rr (FPUOp1.Sqrt) x (scalar_size ty)))
448
+
449
+ ;;;; Rules for `fneg` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
450
+
451
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fneg x)))
452
+ (vec_misc (VecMisc2.Fneg) x (vector_size ty)))
453
+
454
+ (rule (lower (has_type (ty_scalar_float ty) (fneg x)))
455
+ (fpu_rr (FPUOp1.Neg) x (scalar_size ty)))
456
+
457
+ ;;;; Rules for `fabs` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
458
+
459
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (fabs x)))
460
+ (vec_misc (VecMisc2.Fabs) x (vector_size ty)))
461
+
462
+ (rule (lower (has_type (ty_scalar_float ty) (fabs x)))
463
+ (fpu_rr (FPUOp1.Abs) x (scalar_size ty)))
464
+
465
+ ;;;; Rules for `fpromote` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
466
+
467
+ (rule (lower (has_type $F64 (fpromote x)))
468
+ (fpu_rr (FPUOp1.Cvt32To64) x (ScalarSize.Size32)))
469
+
470
+ ;;;; Rules for `fdemote` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
471
+
472
+ (rule (lower (has_type $F32 (fdemote x)))
473
+ (fpu_rr (FPUOp1.Cvt64To32) x (ScalarSize.Size64)))
474
+
475
+ ;;;; Rules for `ceil` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
476
+
477
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (ceil x)))
478
+ (vec_misc (VecMisc2.Frintp) x (vector_size ty)))
479
+
480
+ (rule (lower (has_type $F32 (ceil x)))
481
+ (fpu_round (FpuRoundMode.Plus32) x))
482
+
483
+ (rule (lower (has_type $F64 (ceil x)))
484
+ (fpu_round (FpuRoundMode.Plus64) x))
485
+
486
+ ;;;; Rules for `floor` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
487
+
488
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (floor x)))
489
+ (vec_misc (VecMisc2.Frintm) x (vector_size ty)))
490
+
491
+ (rule (lower (has_type $F32 (floor x)))
492
+ (fpu_round (FpuRoundMode.Minus32) x))
493
+
494
+ (rule (lower (has_type $F64 (floor x)))
495
+ (fpu_round (FpuRoundMode.Minus64) x))
496
+
497
+ ;;;; Rules for `trunc` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
498
+
499
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (trunc x)))
500
+ (vec_misc (VecMisc2.Frintz) x (vector_size ty)))
501
+
502
+ (rule (lower (has_type $F32 (trunc x)))
503
+ (fpu_round (FpuRoundMode.Zero32) x))
504
+
505
+ (rule (lower (has_type $F64 (trunc x)))
506
+ (fpu_round (FpuRoundMode.Zero64) x))
507
+
508
+ ;;;; Rules for `nearest` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
509
+
510
+ (rule -1 (lower (has_type ty @ (multi_lane _ _) (nearest x)))
511
+ (vec_misc (VecMisc2.Frintn) x (vector_size ty)))
512
+
513
+ (rule (lower (has_type $F32 (nearest x)))
514
+ (fpu_round (FpuRoundMode.Nearest32) x))
515
+
516
+ (rule (lower (has_type $F64 (nearest x)))
517
+ (fpu_round (FpuRoundMode.Nearest64) x))
518
+
519
+ ;;;; Rules for `fma` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
520
+
521
+ (type IsFneg (enum (Result (negate u64) (value Value))))
522
+
523
+ (decl pure is_fneg (Value) IsFneg)
524
+ (rule 1 (is_fneg (fneg n)) (IsFneg.Result 1 n))
525
+ (rule 0 (is_fneg n) (IsFneg.Result 0 n))
526
+
527
+ (decl pure is_fneg_neg (IsFneg) u64)
528
+ (rule (is_fneg_neg (IsFneg.Result n _)) n)
529
+
530
+ (decl pure get_fneg_value (IsFneg) Value)
531
+ (rule (get_fneg_value (IsFneg.Result _ v)) v)
532
+
533
+ (decl fmadd_series (Type u64 u64 Value Value Value) InstOutput)
534
+ ;; MAdd: + x * y + z
535
+ (rule 0 (fmadd_series (ty_scalar_float ty) 0 0 x y z) (fpu_rrrr (FPUOp3.MAdd) (scalar_size ty) x y z))
536
+ ;; MSub: - x * y + z
537
+ (rule 0 (fmadd_series (ty_scalar_float ty) 1 0 x y z) (fpu_rrrr (FPUOp3.MSub) (scalar_size ty) x y z))
538
+ ;; NMAdd: - x * y - z
539
+ (rule 0 (fmadd_series (ty_scalar_float ty) 1 1 x y z) (fpu_rrrr (FPUOp3.NMAdd) (scalar_size ty) x y z))
540
+ ;; NMSub: + x * y - z
541
+ (rule 0 (fmadd_series (ty_scalar_float ty) 0 1 x y z) (fpu_rrrr (FPUOp3.NMSub) (scalar_size ty) x y z))
542
+
543
+ (rule (lower (has_type (ty_scalar_float ty) (fma x_src y_src z_src)))
544
+ (let
545
+ ((x_res IsFneg (is_fneg x_src))
546
+ (y_res IsFneg (is_fneg y_src))
547
+ (z_res IsFneg (is_fneg z_src)))
548
+ (fmadd_series ty (u64_xor (is_fneg_neg x_res) (is_fneg_neg y_res)) (is_fneg_neg z_res) (get_fneg_value x_res) (get_fneg_value y_res) (get_fneg_value z_res))))
549
+
550
+ ;; Delegate vector-based lowerings to helpers below
551
+ (rule 1 (lower (has_type ty @ (multi_lane _ _) (fma x y z)))
552
+ (lower_fmla (VecALUModOp.Fmla) x y z (vector_size ty)))
553
+
554
+ ;; Lowers a fused-multiply-add operation handling various forms of the
555
+ ;; instruction to get maximal coverage of what's available on AArch64.
556
+ (decl lower_fmla (VecALUModOp Value Value Value VectorSize) Reg)
557
+
558
+ ;; Base case, emit the op requested.
559
+ (rule (lower_fmla op x y z size)
560
+ (vec_rrr_mod op z x y size))
561
+
562
+ ;; Special case: if one of the multiplicands are a splat then the element-based
563
+ ;; fma can be used instead with 0 as the element index.
564
+ (rule 1 (lower_fmla op (splat x) y z size)
565
+ (vec_fmla_elem op z y x size 0))
566
+ (rule 2 (lower_fmla op x (splat y) z size)
567
+ (vec_fmla_elem op z x y size 0))
568
+
569
+ ;; Special case: if one of the multiplicands is a shuffle to broadcast a
570
+ ;; single element of a vector then the element-based fma can be used like splat
571
+ ;; above.
572
+ ;;
573
+ ;; Note that in Cranelift shuffle always has i8x16 inputs and outputs so
574
+ ;; a `bitcast` is matched here explicitly since that's the main way a shuffle
575
+ ;; output will be fed into this instruction.
576
+ (rule 3 (lower_fmla op (bitcast _ (shuffle x x (shuffle32_from_imm n n n n))) y z size @ (VectorSize.Size32x4))
577
+ (if-let $true (u64_lt n 4))
578
+ (vec_fmla_elem op z y x size n))
579
+ (rule 4 (lower_fmla op x (bitcast _ (shuffle y y (shuffle32_from_imm n n n n))) z size @ (VectorSize.Size32x4))
580
+ (if-let $true (u64_lt n 4))
581
+ (vec_fmla_elem op z x y size n))
582
+ (rule 3 (lower_fmla op (bitcast _ (shuffle x x (shuffle64_from_imm n n))) y z size @ (VectorSize.Size64x2))
583
+ (if-let $true (u64_lt n 2))
584
+ (vec_fmla_elem op z y x size n))
585
+ (rule 4 (lower_fmla op x (bitcast _ (shuffle y y (shuffle64_from_imm n n))) z size @ (VectorSize.Size64x2))
586
+ (if-let $true (u64_lt n 2))
587
+ (vec_fmla_elem op z x y size n))
588
+
589
+ ;; Special case: if one of the multiplicands is `fneg` then peel that away,
590
+ ;; reverse the operation being performed, and then recurse on `lower_fmla`
591
+ ;; again to generate the actual instruction.
592
+ ;;
593
+ ;; Note that these are the highest priority cases for `lower_fmla` to peel
594
+ ;; away as many `fneg` operations as possible.
595
+ (rule 5 (lower_fmla op (fneg x) y z size)
596
+ (lower_fmla (neg_fmla op) x y z size))
597
+ (rule 6 (lower_fmla op x (fneg y) z size)
598
+ (lower_fmla (neg_fmla op) x y z size))
599
+
600
+ (decl neg_fmla (VecALUModOp) VecALUModOp)
601
+ (rule (neg_fmla (VecALUModOp.Fmla)) (VecALUModOp.Fmls))
602
+ (rule (neg_fmla (VecALUModOp.Fmls)) (VecALUModOp.Fmla))
603
+
604
+ ;;;; Rules for `fcopysign` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
605
+
606
+ (rule (lower (has_type ty (fcopysign x y)))
607
+ (fcopy_sign x y ty))
608
+
609
+ ;;;; Rules for `fcvt_to_uint` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
610
+
611
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_uint x @ (value_type $F32))))
612
+ (fpu_to_int_cvt (FpuToIntOp.F32ToU32) x $false $F32 out_ty))
613
+
614
+ (rule 1 (lower (has_type $I64 (fcvt_to_uint x @ (value_type $F32))))
615
+ (fpu_to_int_cvt (FpuToIntOp.F32ToU64) x $false $F32 $I64))
616
+
617
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_uint x @ (value_type $F64))))
618
+ (fpu_to_int_cvt (FpuToIntOp.F64ToU32) x $false $F64 out_ty))
619
+
620
+ (rule 1 (lower (has_type $I64 (fcvt_to_uint x @ (value_type $F64))))
621
+ (fpu_to_int_cvt (FpuToIntOp.F64ToU64) x $false $F64 $I64))
622
+
623
+ ;;;; Rules for `fcvt_to_sint` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
624
+
625
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_sint x @ (value_type $F32))))
626
+ (fpu_to_int_cvt (FpuToIntOp.F32ToI32) x $true $F32 out_ty))
627
+
628
+ (rule 1 (lower (has_type $I64 (fcvt_to_sint x @ (value_type $F32))))
629
+ (fpu_to_int_cvt (FpuToIntOp.F32ToI64) x $true $F32 $I64))
630
+
631
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_sint x @ (value_type $F64))))
632
+ (fpu_to_int_cvt (FpuToIntOp.F64ToI32) x $true $F64 out_ty))
633
+
634
+ (rule 1 (lower (has_type $I64 (fcvt_to_sint x @ (value_type $F64))))
635
+ (fpu_to_int_cvt (FpuToIntOp.F64ToI64) x $true $F64 $I64))
636
+
637
+ ;;;; Rules for `fcvt_from_uint` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
638
+
639
+ (rule -1 (lower (has_type ty @ (multi_lane 32 _) (fcvt_from_uint x @ (value_type (multi_lane 32 _)))))
640
+ (vec_misc (VecMisc2.Ucvtf) x (vector_size ty)))
641
+
642
+ (rule -1 (lower (has_type ty @ (multi_lane 64 _) (fcvt_from_uint x @ (value_type (multi_lane 64 _)))))
643
+ (vec_misc (VecMisc2.Ucvtf) x (vector_size ty)))
644
+
645
+ (rule (lower (has_type $F32 (fcvt_from_uint x @ (value_type (fits_in_32 _)))))
646
+ (int_to_fpu (IntToFpuOp.U32ToF32) (put_in_reg_zext32 x)))
647
+
648
+ (rule (lower (has_type $F64 (fcvt_from_uint x @ (value_type (fits_in_32 _)))))
649
+ (int_to_fpu (IntToFpuOp.U32ToF64) (put_in_reg_zext32 x)))
650
+
651
+ (rule 1 (lower (has_type $F32 (fcvt_from_uint x @ (value_type $I64))))
652
+ (int_to_fpu (IntToFpuOp.U64ToF32) x))
653
+
654
+ (rule 1 (lower (has_type $F64 (fcvt_from_uint x @ (value_type $I64))))
655
+ (int_to_fpu (IntToFpuOp.U64ToF64) x))
656
+
657
+ ;;;; Rules for `fcvt_from_sint` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
658
+
659
+ (rule -1 (lower (has_type ty @ (multi_lane 32 _) (fcvt_from_sint x @ (value_type (multi_lane 32 _)))))
660
+ (vec_misc (VecMisc2.Scvtf) x (vector_size ty)))
661
+
662
+ (rule -1 (lower (has_type ty @ (multi_lane 64 _) (fcvt_from_sint x @ (value_type (multi_lane 64 _)))))
663
+ (vec_misc (VecMisc2.Scvtf) x (vector_size ty)))
664
+
665
+ (rule (lower (has_type $F32 (fcvt_from_sint x @ (value_type (fits_in_32 _)))))
666
+ (int_to_fpu (IntToFpuOp.I32ToF32) (put_in_reg_sext32 x)))
667
+
668
+ (rule (lower (has_type $F64 (fcvt_from_sint x @ (value_type (fits_in_32 _)))))
669
+ (int_to_fpu (IntToFpuOp.I32ToF64) (put_in_reg_sext32 x)))
670
+
671
+ (rule 1 (lower (has_type $F32 (fcvt_from_sint x @ (value_type $I64))))
672
+ (int_to_fpu (IntToFpuOp.I64ToF32) x))
673
+
674
+ (rule 1 (lower (has_type $F64 (fcvt_from_sint x @ (value_type $I64))))
675
+ (int_to_fpu (IntToFpuOp.I64ToF64) x))
676
+
677
+ ;;;; Rules for `fcvt_to_uint_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
678
+
679
+ (rule -1 (lower (has_type ty @ (multi_lane 32 _) (fcvt_to_uint_sat x @ (value_type (multi_lane 32 _)))))
680
+ (vec_misc (VecMisc2.Fcvtzu) x (vector_size ty)))
681
+
682
+ (rule -1 (lower (has_type ty @ (multi_lane 64 _) (fcvt_to_uint_sat x @ (value_type (multi_lane 64 _)))))
683
+ (vec_misc (VecMisc2.Fcvtzu) x (vector_size ty)))
684
+
685
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_uint_sat x @ (value_type $F32))))
686
+ (fpu_to_int_cvt_sat (FpuToIntOp.F32ToU32) x $false out_ty))
687
+
688
+ (rule 1 (lower (has_type $I64 (fcvt_to_uint_sat x @ (value_type $F32))))
689
+ (fpu_to_int_cvt_sat (FpuToIntOp.F32ToU64) x $false $I64))
690
+
691
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_uint_sat x @ (value_type $F64))))
692
+ (fpu_to_int_cvt_sat (FpuToIntOp.F64ToU32) x $false out_ty))
693
+
694
+ (rule 1 (lower (has_type $I64 (fcvt_to_uint_sat x @ (value_type $F64))))
695
+ (fpu_to_int_cvt_sat (FpuToIntOp.F64ToU64) x $false $I64))
696
+
697
+ ;;;; Rules for `fcvt_to_sint_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
698
+
699
+ (rule -1 (lower (has_type ty @ (multi_lane 32 _) (fcvt_to_sint_sat x @ (value_type (multi_lane 32 _)))))
700
+ (vec_misc (VecMisc2.Fcvtzs) x (vector_size ty)))
701
+
702
+ (rule -1 (lower (has_type ty @ (multi_lane 64 _) (fcvt_to_sint_sat x @ (value_type (multi_lane 64 _)))))
703
+ (vec_misc (VecMisc2.Fcvtzs) x (vector_size ty)))
704
+
705
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_sint_sat x @ (value_type $F32))))
706
+ (fpu_to_int_cvt_sat (FpuToIntOp.F32ToI32) x $true out_ty))
707
+
708
+ (rule 1 (lower (has_type $I64 (fcvt_to_sint_sat x @ (value_type $F32))))
709
+ (fpu_to_int_cvt_sat (FpuToIntOp.F32ToI64) x $true $I64))
710
+
711
+ (rule (lower (has_type (fits_in_32 out_ty) (fcvt_to_sint_sat x @ (value_type $F64))))
712
+ (fpu_to_int_cvt_sat (FpuToIntOp.F64ToI32) x $true out_ty))
713
+
714
+ (rule 1 (lower (has_type $I64 (fcvt_to_sint_sat x @ (value_type $F64))))
715
+ (fpu_to_int_cvt_sat (FpuToIntOp.F64ToI64) x $true $I64))
716
+
717
+ ;;;; Rules for `isub` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
718
+
719
+ ;; `i64` and smaller
720
+
721
+ ;; Base case, simply subtracting things in registers.
722
+ (rule -4 (lower (has_type (fits_in_64 ty) (isub x y)))
723
+ (sub ty x y))
724
+
725
+ ;; Special case for when one operand is an immediate that fits in 12 bits.
726
+ (rule 0 (lower (has_type (fits_in_64 ty) (isub x (imm12_from_value y))))
727
+ (sub_imm ty x y))
728
+
729
+ ;; Same as the previous special case, except we can switch the subtraction to an
730
+ ;; addition if the negated immediate fits in 12 bits.
731
+ (rule 2 (lower (has_type (fits_in_64 ty) (isub x y)))
732
+ (if-let imm12_neg (imm12_from_negated_value y))
733
+ (add_imm ty x imm12_neg))
734
+
735
+ ;; Special cases for when we're subtracting an extended register where the
736
+ ;; extending operation can get folded into the sub itself.
737
+ (rule 1 (lower (has_type (fits_in_64 ty) (isub x (extended_value_from_value y))))
738
+ (sub_extend ty x y))
739
+
740
+ ;; Finally a special case for when we're subtracting the shift of a different
741
+ ;; register by a constant amount and the shift can get folded into the sub.
742
+ (rule -3 (lower (has_type (fits_in_64 ty)
743
+ (isub x (ishl y (iconst k)))))
744
+ (if-let amt (lshl_from_imm64 ty k))
745
+ (sub_shift ty x y amt))
746
+
747
+ ;; vectors
748
+ (rule -2 (lower (has_type ty @ (multi_lane _ _) (isub x y)))
749
+ (sub_vec x y (vector_size ty)))
750
+
751
+ ;; `i128`
752
+ (rule -1 (lower (has_type $I128 (isub x y)))
753
+ (sub_i128 x y))
754
+
755
+ ;;;; Rules for `uadd_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
756
+
757
+ (rule (lower (has_type (ty_vec128 ty) (uadd_sat x y)))
758
+ (uqadd x y (vector_size ty)))
759
+
760
+ ;;;; Rules for `sadd_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
761
+
762
+ (rule (lower (has_type (ty_vec128 ty) (sadd_sat x y)))
763
+ (sqadd x y (vector_size ty)))
764
+
765
+ ;;;; Rules for `usub_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
766
+
767
+ (rule (lower (has_type (ty_vec128 ty) (usub_sat x y)))
768
+ (uqsub x y (vector_size ty)))
769
+
770
+ ;;;; Rules for `ssub_sat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
771
+
772
+ (rule (lower (has_type (ty_vec128 ty) (ssub_sat x y)))
773
+ (sqsub x y (vector_size ty)))
774
+
775
+ ;;;; Rules for `ineg` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
776
+
777
+ ;; `i64` and smaller.
778
+ (rule 1 (lower (has_type (fits_in_64 ty) (ineg x)))
779
+ (sub ty (zero_reg) x))
780
+
781
+ ;; `i128`
782
+ (rule 2 (lower (has_type $I128 (ineg x)))
783
+ (sub_i128 (value_regs_zero) x))
784
+
785
+ ;; vectors.
786
+ (rule (lower (has_type (ty_vec128 ty) (ineg x)))
787
+ (neg x (vector_size ty)))
788
+
789
+ ;;;; Rules for `imul` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
790
+
791
+ ;; `i64` and smaller.
792
+ (rule -3 (lower (has_type (fits_in_64 ty) (imul x y)))
793
+ (madd ty x y (zero_reg)))
794
+
795
+ ;; `i128`.
796
+ (rule -1 (lower (has_type $I128 (imul x y)))
797
+ (let
798
+ ;; Get the high/low registers for `x`.
799
+ ((x_regs ValueRegs x)
800
+ (x_lo Reg (value_regs_get x_regs 0))
801
+ (x_hi Reg (value_regs_get x_regs 1))
802
+
803
+ ;; Get the high/low registers for `y`.
804
+ (y_regs ValueRegs y)
805
+ (y_lo Reg (value_regs_get y_regs 0))
806
+ (y_hi Reg (value_regs_get y_regs 1))
807
+
808
+ ;; 128bit mul formula:
809
+ ;; dst_lo = x_lo * y_lo
810
+ ;; dst_hi = umulhi(x_lo, y_lo) + (x_lo * y_hi) + (x_hi * y_lo)
811
+ ;;
812
+ ;; We can convert the above formula into the following
813
+ ;; umulh dst_hi, x_lo, y_lo
814
+ ;; madd dst_hi, x_lo, y_hi, dst_hi
815
+ ;; madd dst_hi, x_hi, y_lo, dst_hi
816
+ ;; madd dst_lo, x_lo, y_lo, zero
817
+ (dst_hi1 Reg (umulh $I64 x_lo y_lo))
818
+ (dst_hi2 Reg (madd $I64 x_lo y_hi dst_hi1))
819
+ (dst_hi Reg (madd $I64 x_hi y_lo dst_hi2))
820
+ (dst_lo Reg (madd $I64 x_lo y_lo (zero_reg))))
821
+ (value_regs dst_lo dst_hi)))
822
+
823
+ ;; Case for i8x16, i16x8, and i32x4.
824
+ (rule -2 (lower (has_type (ty_vec128 ty @ (not_i64x2)) (imul x y)))
825
+ (mul x y (vector_size ty)))
826
+
827
+ ;; Special lowering for i64x2.
828
+ ;;
829
+ ;; This I64X2 multiplication is performed with several 32-bit
830
+ ;; operations.
831
+ ;;
832
+ ;; 64-bit numbers x and y, can be represented as:
833
+ ;; x = a + 2^32(b)
834
+ ;; y = c + 2^32(d)
835
+ ;;
836
+ ;; A 64-bit multiplication is:
837
+ ;; x * y = ac + 2^32(ad + bc) + 2^64(bd)
838
+ ;; note: `2^64(bd)` can be ignored, the value is too large to fit in
839
+ ;; 64 bits.
840
+ ;;
841
+ ;; This sequence implements a I64X2 multiply, where the registers
842
+ ;; `rn` and `rm` are split up into 32-bit components:
843
+ ;; rn = |d|c|b|a|
844
+ ;; rm = |h|g|f|e|
845
+ ;;
846
+ ;; rn * rm = |cg + 2^32(ch + dg)|ae + 2^32(af + be)|
847
+ ;;
848
+ ;; The sequence is:
849
+ ;; rev64 rd.4s, rm.4s
850
+ ;; mul rd.4s, rd.4s, rn.4s
851
+ ;; xtn tmp1.2s, rn.2d
852
+ ;; addp rd.4s, rd.4s, rd.4s
853
+ ;; xtn tmp2.2s, rm.2d
854
+ ;; shll rd.2d, rd.2s, #32
855
+ ;; umlal rd.2d, tmp2.2s, tmp1.2s
856
+ (rule -1 (lower (has_type $I64X2 (imul x y)))
857
+ (let ((rn Reg x)
858
+ (rm Reg y)
859
+ ;; Reverse the 32-bit elements in the 64-bit words.
860
+ ;; rd = |g|h|e|f|
861
+ (rev Reg (rev64 rm (VectorSize.Size32x4)))
862
+
863
+ ;; Calculate the high half components.
864
+ ;; rd = |dg|ch|be|af|
865
+ ;;
866
+ ;; Note that this 32-bit multiply of the high half
867
+ ;; discards the bits that would overflow, same as
868
+ ;; if 64-bit operations were used. Also the Shll
869
+ ;; below would shift out the overflow bits anyway.
870
+ (mul Reg (mul rev rn (VectorSize.Size32x4)))
871
+
872
+ ;; Extract the low half components of rn.
873
+ ;; tmp1 = |c|a|
874
+ (tmp1 Reg (xtn rn (ScalarSize.Size32)))
875
+
876
+ ;; Sum the respective high half components.
877
+ ;; rd = |dg+ch|be+af||dg+ch|be+af|
878
+ (sum Reg (addp mul mul (VectorSize.Size32x4)))
879
+
880
+ ;; Extract the low half components of rm.
881
+ ;; tmp2 = |g|e|
882
+ (tmp2 Reg (xtn rm (ScalarSize.Size32)))
883
+
884
+ ;; Shift the high half components, into the high half.
885
+ ;; rd = |dg+ch << 32|be+af << 32|
886
+ (shift Reg (shll32 sum $false))
887
+
888
+ ;; Multiply the low components together, and accumulate with the high
889
+ ;; half.
890
+ ;; rd = |rd[1] + cg|rd[0] + ae|
891
+ (result Reg (umlal32 shift tmp2 tmp1 $false)))
892
+ result))
893
+
894
+ ;; Special case for `i16x8.extmul_low_i8x16_s`.
895
+ (rule (lower (has_type $I16X8
896
+ (imul (swiden_low x @ (value_type $I8X16))
897
+ (swiden_low y @ (value_type $I8X16)))))
898
+ (smull8 x y $false))
899
+
900
+ ;; Special case for `i16x8.extmul_high_i8x16_s`.
901
+ (rule (lower (has_type $I16X8
902
+ (imul (swiden_high x @ (value_type $I8X16))
903
+ (swiden_high y @ (value_type $I8X16)))))
904
+ (smull8 x y $true))
905
+
906
+ ;; Special case for `i16x8.extmul_low_i8x16_u`.
907
+ (rule (lower (has_type $I16X8
908
+ (imul (uwiden_low x @ (value_type $I8X16))
909
+ (uwiden_low y @ (value_type $I8X16)))))
910
+ (umull8 x y $false))
911
+
912
+ ;; Special case for `i16x8.extmul_high_i8x16_u`.
913
+ (rule (lower (has_type $I16X8
914
+ (imul (uwiden_high x @ (value_type $I8X16))
915
+ (uwiden_high y @ (value_type $I8X16)))))
916
+ (umull8 x y $true))
917
+
918
+ ;; Special case for `i32x4.extmul_low_i16x8_s`.
919
+ (rule (lower (has_type $I32X4
920
+ (imul (swiden_low x @ (value_type $I16X8))
921
+ (swiden_low y @ (value_type $I16X8)))))
922
+ (smull16 x y $false))
923
+
924
+ ;; Special case for `i32x4.extmul_high_i16x8_s`.
925
+ (rule (lower (has_type $I32X4
926
+ (imul (swiden_high x @ (value_type $I16X8))
927
+ (swiden_high y @ (value_type $I16X8)))))
928
+ (smull16 x y $true))
929
+
930
+ ;; Special case for `i32x4.extmul_low_i16x8_u`.
931
+ (rule (lower (has_type $I32X4
932
+ (imul (uwiden_low x @ (value_type $I16X8))
933
+ (uwiden_low y @ (value_type $I16X8)))))
934
+ (umull16 x y $false))
935
+
936
+ ;; Special case for `i32x4.extmul_high_i16x8_u`.
937
+ (rule (lower (has_type $I32X4
938
+ (imul (uwiden_high x @ (value_type $I16X8))
939
+ (uwiden_high y @ (value_type $I16X8)))))
940
+ (umull16 x y $true))
941
+
942
+ ;; Special case for `i64x2.extmul_low_i32x4_s`.
943
+ (rule (lower (has_type $I64X2
944
+ (imul (swiden_low x @ (value_type $I32X4))
945
+ (swiden_low y @ (value_type $I32X4)))))
946
+ (smull32 x y $false))
947
+
948
+ ;; Special case for `i64x2.extmul_high_i32x4_s`.
949
+ (rule (lower (has_type $I64X2
950
+ (imul (swiden_high x @ (value_type $I32X4))
951
+ (swiden_high y @ (value_type $I32X4)))))
952
+ (smull32 x y $true))
953
+
954
+ ;; Special case for `i64x2.extmul_low_i32x4_u`.
955
+ (rule (lower (has_type $I64X2
956
+ (imul (uwiden_low x @ (value_type $I32X4))
957
+ (uwiden_low y @ (value_type $I32X4)))))
958
+ (umull32 x y $false))
959
+
960
+ ;; Special case for `i64x2.extmul_high_i32x4_u`.
961
+ (rule (lower (has_type $I64X2
962
+ (imul (uwiden_high x @ (value_type $I32X4))
963
+ (uwiden_high y @ (value_type $I32X4)))))
964
+ (umull32 x y $true))
965
+
966
+ ;;;; Rules for `smulhi` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
967
+
968
+ (rule 1 (lower (has_type $I64 (smulhi x y)))
969
+ (smulh $I64 x y))
970
+
971
+ (rule (lower (has_type (fits_in_32 ty) (smulhi x y)))
972
+ (let ((x64 Reg (put_in_reg_sext64 x))
973
+ (y64 Reg (put_in_reg_sext64 y))
974
+ (mul Reg (madd $I64 x64 y64 (zero_reg)))
975
+ (result Reg (asr_imm $I64 mul (imm_shift_from_u8 (ty_bits ty)))))
976
+ result))
977
+
978
+ ;;;; Rules for `umulhi` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
979
+
980
+ (rule 1 (lower (has_type $I64 (umulhi x y)))
981
+ (umulh $I64 x y))
982
+
983
+ (rule (lower (has_type (fits_in_32 ty) (umulhi x y)))
984
+ (let (
985
+ (x64 Reg (put_in_reg_zext64 x))
986
+ (y64 Reg (put_in_reg_zext64 y))
987
+ (mul Reg (madd $I64 x64 y64 (zero_reg)))
988
+ (result Reg (lsr_imm $I64 mul (imm_shift_from_u8 (ty_bits ty))))
989
+ )
990
+ (value_reg result)))
991
+
992
+ ;;;; Rules for `udiv` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
993
+
994
+ ;; TODO: Add UDiv32 to implement 32-bit directly, rather
995
+ ;; than extending the input.
996
+ ;;
997
+ ;; Note that aarch64's `udiv` doesn't trap so to respect the semantics of
998
+ ;; CLIF's `udiv` the check for zero needs to be manually performed.
999
+ (rule (lower (has_type (fits_in_64 ty) (udiv x y)))
1000
+ (a64_udiv $I64 (put_in_reg_zext64 x) (put_nonzero_in_reg_zext64 y)))
1001
+
1002
+ ;; Helper for placing a `Value` into a `Reg` and validating that it's nonzero.
1003
+ (decl put_nonzero_in_reg_zext64 (Value) Reg)
1004
+ (rule -1 (put_nonzero_in_reg_zext64 val)
1005
+ (trap_if_zero_divisor (put_in_reg_zext64 val)))
1006
+
1007
+ ;; Special case where if a `Value` is known to be nonzero we can trivially
1008
+ ;; move it into a register.
1009
+ (rule (put_nonzero_in_reg_zext64 (and (value_type ty)
1010
+ (iconst (nonzero_u64_from_imm64 n))))
1011
+ (imm ty (ImmExtend.Zero) n))
1012
+
1013
+ ;;;; Rules for `sdiv` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1014
+
1015
+ ;; TODO: Add SDiv32 to implement 32-bit directly, rather
1016
+ ;; than extending the input.
1017
+ ;;
1018
+ ;; The sequence of checks here should look like:
1019
+ ;;
1020
+ ;; cbnz rm, #8
1021
+ ;; udf ; divide by zero
1022
+ ;; cmn rm, 1
1023
+ ;; ccmp rn, 1, #nzcv, eq
1024
+ ;; b.vc #8
1025
+ ;; udf ; signed overflow
1026
+ ;;
1027
+ ;; Note The div instruction does not trap on divide by zero or overflow, so
1028
+ ;; checks need to be manually inserted.
1029
+ ;;
1030
+ ;; TODO: if `y` is -1 then a check that `x` is not INT_MIN is all that's
1031
+ ;; necessary, but right now `y` is checked to not be -1 as well.
1032
+ (rule (lower (has_type (fits_in_64 ty) (sdiv x y)))
1033
+ (let ((x64 Reg (put_in_reg_sext64 x))
1034
+ (y64 Reg (put_nonzero_in_reg_sext64 y))
1035
+ (valid_x64 Reg (trap_if_div_overflow ty x64 y64))
1036
+ (result Reg (a64_sdiv $I64 valid_x64 y64)))
1037
+ result))
1038
+
1039
+ ;; Special case for `sdiv` where no checks are needed due to division by a
1040
+ ;; constant meaning the checks are always passed.
1041
+ (rule 1 (lower (has_type (fits_in_64 ty) (sdiv x (iconst imm))))
1042
+ (if-let y (safe_divisor_from_imm64 ty imm))
1043
+ (a64_sdiv $I64 (put_in_reg_sext64 x) (imm ty (ImmExtend.Sign) y)))
1044
+
1045
+ ;; Helper for placing a `Value` into a `Reg` and validating that it's nonzero.
1046
+ (decl put_nonzero_in_reg_sext64 (Value) Reg)
1047
+ (rule -1 (put_nonzero_in_reg_sext64 val)
1048
+ (trap_if_zero_divisor (put_in_reg_sext64 val)))
1049
+
1050
+ ;; Note that this has a special case where if the `Value` is a constant that's
1051
+ ;; not zero we can skip the zero check.
1052
+ (rule (put_nonzero_in_reg_sext64 (and (value_type ty)
1053
+ (iconst (nonzero_u64_from_imm64 n))))
1054
+ (imm ty (ImmExtend.Sign) n))
1055
+
1056
+ ;;;; Rules for `urem` and `srem` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1057
+
1058
+ ;; Remainder (x % y) is implemented as:
1059
+ ;;
1060
+ ;; tmp = x / y
1061
+ ;; result = x - (tmp*y)
1062
+ ;;
1063
+ ;; use 'result' for tmp and you have:
1064
+ ;;
1065
+ ;; cbnz y, #8 ; branch over trap
1066
+ ;; udf ; divide by zero
1067
+ ;; div rd, x, y ; rd = x / y
1068
+ ;; msub rd, rd, y, x ; rd = x - rd * y
1069
+
1070
+ (rule (lower (has_type (fits_in_64 ty) (urem x y)))
1071
+ (let ((x64 Reg (put_in_reg_zext64 x))
1072
+ (y64 Reg (put_nonzero_in_reg_zext64 y))
1073
+ (div Reg (a64_udiv $I64 x64 y64))
1074
+ (result Reg (msub $I64 div y64 x64)))
1075
+ result))
1076
+
1077
+ (rule (lower (has_type (fits_in_64 ty) (srem x y)))
1078
+ (let ((x64 Reg (put_in_reg_sext64 x))
1079
+ (y64 Reg (put_nonzero_in_reg_sext64 y))
1080
+ (div Reg (a64_sdiv $I64 x64 y64))
1081
+ (result Reg (msub $I64 div y64 x64)))
1082
+ result))
1083
+
1084
+ ;;; Rules for integer min/max: umin, smin, umax, smax ;;;;;;;;;;;;;;;;;;;;;;;;;
1085
+
1086
+ ;; `i64` and smaller.
1087
+
1088
+ ;; cmp $x, $y
1089
+ ;; csel .., $x, $y, $cc
1090
+ (decl cmp_and_choose (Type Cond bool Value Value) ValueRegs)
1091
+ (rule (cmp_and_choose (fits_in_64 ty) cc _ x y)
1092
+ (let ((x Reg (put_in_reg x))
1093
+ (y Reg (put_in_reg y)))
1094
+ (with_flags_reg (cmp (operand_size ty) x y)
1095
+ (csel cc x y))))
1096
+
1097
+ ;; `i16` and `i8` min/max require sign extension as
1098
+ ;; the comparison operates on (at least) 32 bits.
1099
+ (rule 1 (cmp_and_choose (fits_in_16 ty) cc signed x y)
1100
+ (let ((x Reg (extend (put_in_reg x) signed (ty_bits ty) 32))
1101
+ (y Reg (extend (put_in_reg y) signed (ty_bits ty) 32)))
1102
+ (with_flags_reg (cmp (operand_size ty) x y)
1103
+ (csel cc x y))))
1104
+
1105
+ (rule 2 (lower (has_type (and (fits_in_64 ty) (ty_int _)) (umin x y)))
1106
+ (cmp_and_choose ty (Cond.Lo) $false x y))
1107
+ (rule 2 (lower (has_type (and (fits_in_64 ty) (ty_int _)) (smin x y)))
1108
+ (cmp_and_choose ty (Cond.Lt) $true x y))
1109
+ (rule 2 (lower (has_type (and (fits_in_64 ty) (ty_int _)) (umax x y)))
1110
+ (cmp_and_choose ty (Cond.Hi) $false x y))
1111
+ (rule 2 (lower (has_type (and (fits_in_64 ty) (ty_int _)) (smax x y)))
1112
+ (cmp_and_choose ty (Cond.Gt) $true x y))
1113
+
1114
+ ;; Vector types.
1115
+
1116
+ (rule (lower (has_type ty @ (not_i64x2) (smin x y)))
1117
+ (vec_rrr (VecALUOp.Smin) x y (vector_size ty)))
1118
+
1119
+ (rule 1 (lower (has_type $I64X2 (smin x y)))
1120
+ (bsl $I64X2 (vec_rrr (VecALUOp.Cmgt) y x (VectorSize.Size64x2)) x y))
1121
+
1122
+ (rule (lower (has_type ty @ (not_i64x2) (umin x y)))
1123
+ (vec_rrr (VecALUOp.Umin) x y (vector_size ty)))
1124
+
1125
+ (rule 1 (lower (has_type $I64X2 (umin x y)))
1126
+ (bsl $I64X2 (vec_rrr (VecALUOp.Cmhi) y x (VectorSize.Size64x2)) x y))
1127
+
1128
+ (rule (lower (has_type ty @ (not_i64x2) (smax x y)))
1129
+ (vec_rrr (VecALUOp.Smax) x y (vector_size ty)))
1130
+
1131
+ (rule 1 (lower (has_type $I64X2 (smax x y)))
1132
+ (bsl $I64X2 (vec_rrr (VecALUOp.Cmgt) x y (VectorSize.Size64x2)) x y))
1133
+
1134
+ (rule (lower (has_type ty @ (not_i64x2) (umax x y)))
1135
+ (vec_rrr (VecALUOp.Umax) x y (vector_size ty)))
1136
+
1137
+ (rule 1 (lower (has_type $I64X2 (umax x y)))
1138
+ (bsl $I64X2 (vec_rrr (VecALUOp.Cmhi) x y (VectorSize.Size64x2)) x y))
1139
+
1140
+ ;;;; Rules for `uextend` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1141
+
1142
+ ;; General rule for extending input to an output which fits in a single
1143
+ ;; register.
1144
+ (rule -2 (lower (has_type (fits_in_64 out) (uextend x @ (value_type in))))
1145
+ (extend x $false (ty_bits in) (ty_bits out)))
1146
+
1147
+ ;; Extraction of a vector lane automatically extends as necessary, so we can
1148
+ ;; skip an explicit extending instruction.
1149
+ (rule 1 (lower (has_type (fits_in_64 out)
1150
+ (uextend (extractlane vec @ (value_type in)
1151
+ (u8_from_uimm8 lane)))))
1152
+ (mov_from_vec (put_in_reg vec) lane (lane_size in)))
1153
+
1154
+ ;; Atomic loads will also automatically zero their upper bits so the `uextend`
1155
+ ;; instruction can effectively get skipped here.
1156
+ (rule 1 (lower (has_type (fits_in_64 out)
1157
+ (uextend x @ (and (value_type in) (atomic_load flags _)))))
1158
+ (if-let mem_op (is_sinkable_inst x))
1159
+ (load_acquire in flags (sink_atomic_load mem_op)))
1160
+
1161
+ ;; Conversion to 128-bit needs a zero-extension of the lower bits and the upper
1162
+ ;; bits are all zero.
1163
+ (rule -1 (lower (has_type $I128 (uextend x)))
1164
+ (value_regs (put_in_reg_zext64 x) (imm $I64 (ImmExtend.Zero) 0)))
1165
+
1166
+ ;; Like above where vector extraction automatically zero-extends extending to
1167
+ ;; i128 only requires generating a 0 constant for the upper bits.
1168
+ (rule (lower (has_type $I128
1169
+ (uextend (extractlane vec @ (value_type in)
1170
+ (u8_from_uimm8 lane)))))
1171
+ (value_regs (mov_from_vec (put_in_reg vec) lane (lane_size in)) (imm $I64 (ImmExtend.Zero) 0)))
1172
+
1173
+ ;; Zero extensions from a load can be encoded in the load itself
1174
+ (rule (lower (has_type (fits_in_64 _) (uextend x @ (has_type in_ty (load flags address offset)))))
1175
+ (if-let inst (is_sinkable_inst x))
1176
+ (let ((_ Unit (sink_inst inst)))
1177
+ (aarch64_uload in_ty (amode in_ty address offset) flags)))
1178
+
1179
+ (decl aarch64_uload (Type AMode MemFlags) Reg)
1180
+ (rule (aarch64_uload $I8 amode flags) (aarch64_uload8 amode flags))
1181
+ (rule (aarch64_uload $I16 amode flags) (aarch64_uload16 amode flags))
1182
+ (rule (aarch64_uload $I32 amode flags) (aarch64_uload32 amode flags))
1183
+
1184
+ ;;;; Rules for `sextend` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1185
+
1186
+ ;; General rule for extending input to an output which fits in a single
1187
+ ;; register.
1188
+ (rule -4 (lower (has_type (fits_in_64 out) (sextend x @ (value_type in))))
1189
+ (extend x $true (ty_bits in) (ty_bits out)))
1190
+
1191
+ ;; Extraction of a vector lane automatically extends as necessary, so we can
1192
+ ;; skip an explicit extending instruction.
1193
+ (rule -3 (lower (has_type (fits_in_64 out)
1194
+ (sextend (extractlane vec @ (value_type in)
1195
+ (u8_from_uimm8 lane)))))
1196
+ (mov_from_vec_signed (put_in_reg vec)
1197
+ lane
1198
+ (vector_size in)
1199
+ (size_from_ty out)))
1200
+
1201
+ ;; 64-bit to 128-bit only needs to sign-extend the input to the upper bits.
1202
+ (rule -2 (lower (has_type $I128 (sextend x)))
1203
+ (let ((lo Reg (put_in_reg_sext64 x))
1204
+ (hi Reg (asr_imm $I64 lo (imm_shift_from_u8 63))))
1205
+ (value_regs lo hi)))
1206
+
1207
+ ;; Like above where vector extraction automatically zero-extends extending to
1208
+ ;; i128 only requires generating a 0 constant for the upper bits.
1209
+ ;;
1210
+ ;; Note that `mov_from_vec_signed` doesn't exist for i64x2, so that's
1211
+ ;; specifically excluded here.
1212
+ (rule (lower (has_type $I128
1213
+ (sextend (extractlane vec @ (value_type in @ (not_i64x2))
1214
+ (u8_from_uimm8 lane)))))
1215
+ (let ((lo Reg (mov_from_vec_signed (put_in_reg vec)
1216
+ lane
1217
+ (vector_size in)
1218
+ (size_from_ty $I64)))
1219
+ (hi Reg (asr_imm $I64 lo (imm_shift_from_u8 63))))
1220
+ (value_regs lo hi)))
1221
+
1222
+ ;; Extension from an extraction of i64x2 into i128.
1223
+ (rule -1 (lower (has_type $I128
1224
+ (sextend (extractlane vec @ (value_type $I64X2)
1225
+ (u8_from_uimm8 lane)))))
1226
+ (let ((lo Reg (mov_from_vec (put_in_reg vec)
1227
+ lane
1228
+ (ScalarSize.Size64)))
1229
+ (hi Reg (asr_imm $I64 lo (imm_shift_from_u8 63))))
1230
+ (value_regs lo hi)))
1231
+
1232
+ ;; Signed extensions from a load can be encoded in the load itself
1233
+ (rule (lower (has_type (fits_in_64 _) (sextend x @ (has_type in_ty (load flags address offset)))))
1234
+ (if-let inst (is_sinkable_inst x))
1235
+ (let ((_ Unit (sink_inst inst)))
1236
+ (aarch64_sload in_ty (amode in_ty address offset) flags)))
1237
+
1238
+ (decl aarch64_sload (Type AMode MemFlags) Reg)
1239
+ (rule (aarch64_sload $I8 amode flags) (aarch64_sload8 amode flags))
1240
+ (rule (aarch64_sload $I16 amode flags) (aarch64_sload16 amode flags))
1241
+ (rule (aarch64_sload $I32 amode flags) (aarch64_sload32 amode flags))
1242
+
1243
+ ;;;; Rules for `bnot` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1244
+
1245
+ ;; Base case using `orn` between two registers.
1246
+ ;;
1247
+ ;; Note that bitwise negation is implemented here as
1248
+ ;;
1249
+ ;; NOT rd, rm ==> ORR_NOT rd, zero, rm
1250
+ (rule -1 (lower (has_type (fits_in_64 ty) (bnot x)))
1251
+ (orr_not ty (zero_reg) x))
1252
+
1253
+ ;; Special case to use `orr_not_shift` if it's a `bnot` of a const-left-shifted
1254
+ ;; value.
1255
+ (rule 1 (lower (has_type (fits_in_64 ty)
1256
+ (bnot (ishl x (iconst k)))))
1257
+ (if-let amt (lshl_from_imm64 ty k))
1258
+ (orr_not_shift ty (zero_reg) x amt))
1259
+
1260
+ ;; Implementation of `bnot` for `i128`.
1261
+ (rule (lower (has_type $I128 (bnot x)))
1262
+ (let ((x_regs ValueRegs x)
1263
+ (x_lo Reg (value_regs_get x_regs 0))
1264
+ (x_hi Reg (value_regs_get x_regs 1))
1265
+ (new_lo Reg (orr_not $I64 (zero_reg) x_lo))
1266
+ (new_hi Reg (orr_not $I64 (zero_reg) x_hi)))
1267
+ (value_regs new_lo new_hi)))
1268
+
1269
+ ;; Implementation of `bnot` for vector types.
1270
+ (rule -2 (lower (has_type (ty_vec128 ty) (bnot x)))
1271
+ (not x (vector_size ty)))
1272
+
1273
+ ;; Special-cases for fusing a bnot with bxor
1274
+ (rule 2 (lower (has_type (fits_in_64 ty) (bnot (bxor x y))))
1275
+ (alu_rs_imm_logic (ALUOp.EorNot) ty x y))
1276
+ (rule 3 (lower (has_type $I128 (bnot (bxor x y)))) (i128_alu_bitop (ALUOp.EorNot) $I64 x y))
1277
+
1278
+ ;;;; Rules for `band` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1279
+
1280
+ (rule -1 (lower (has_type (fits_in_64 ty) (band x y)))
1281
+ (alu_rs_imm_logic_commutative (ALUOp.And) ty x y))
1282
+
1283
+ (rule (lower (has_type $I128 (band x y))) (i128_alu_bitop (ALUOp.And) $I64 x y))
1284
+
1285
+ (rule -2 (lower (has_type (ty_vec128 ty) (band x y)))
1286
+ (and_vec x y (vector_size ty)))
1287
+
1288
+ ;; Specialized lowerings for `(band x (bnot y))` which is additionally produced
1289
+ ;; by Cranelift's `band_not` instruction that is legalized into the simpler
1290
+ ;; forms early on.
1291
+
1292
+ (rule 1 (lower (has_type (fits_in_64 ty) (band x (bnot y))))
1293
+ (alu_rs_imm_logic (ALUOp.AndNot) ty x y))
1294
+ (rule 2 (lower (has_type (fits_in_64 ty) (band (bnot y) x)))
1295
+ (alu_rs_imm_logic (ALUOp.AndNot) ty x y))
1296
+
1297
+ (rule 3 (lower (has_type $I128 (band x (bnot y)))) (i128_alu_bitop (ALUOp.AndNot) $I64 x y))
1298
+ (rule 4 (lower (has_type $I128 (band (bnot y) x))) (i128_alu_bitop (ALUOp.AndNot) $I64 x y))
1299
+
1300
+ (rule 5 (lower (has_type (ty_vec128 ty) (band x (bnot y))))
1301
+ (bic_vec x y (vector_size ty)))
1302
+ (rule 6 (lower (has_type (ty_vec128 ty) (band (bnot y) x)))
1303
+ (bic_vec x y (vector_size ty)))
1304
+
1305
+ ;;;; Rules for `bor` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1306
+
1307
+ (rule -1 (lower (has_type (fits_in_64 ty) (bor x y)))
1308
+ (alu_rs_imm_logic_commutative (ALUOp.Orr) ty x y))
1309
+
1310
+ (rule (lower (has_type $I128 (bor x y))) (i128_alu_bitop (ALUOp.Orr) $I64 x y))
1311
+
1312
+ (rule -2 (lower (has_type (ty_vec128 ty) (bor x y)))
1313
+ (orr_vec x y (vector_size ty)))
1314
+
1315
+ ;; Specialized lowerings for `(bor x (bnot y))` which is additionally produced
1316
+ ;; by Cranelift's `bor_not` instruction that is legalized into the simpler
1317
+ ;; forms early on.
1318
+
1319
+ (rule 1 (lower (has_type (fits_in_64 ty) (bor x (bnot y))))
1320
+ (alu_rs_imm_logic (ALUOp.OrrNot) ty x y))
1321
+ (rule 2 (lower (has_type (fits_in_64 ty) (bor (bnot y) x)))
1322
+ (alu_rs_imm_logic (ALUOp.OrrNot) ty x y))
1323
+
1324
+ (rule 3 (lower (has_type $I128 (bor x (bnot y)))) (i128_alu_bitop (ALUOp.OrrNot) $I64 x y))
1325
+ (rule 4 (lower (has_type $I128 (bor (bnot y) x))) (i128_alu_bitop (ALUOp.OrrNot) $I64 x y))
1326
+
1327
+ ;;;; Rules for `bxor` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1328
+
1329
+ (rule -1 (lower (has_type (fits_in_64 ty) (bxor x y)))
1330
+ (alu_rs_imm_logic_commutative (ALUOp.Eor) ty x y))
1331
+
1332
+ (rule (lower (has_type $I128 (bxor x y))) (i128_alu_bitop (ALUOp.Eor) $I64 x y))
1333
+
1334
+ (rule -2 (lower (has_type (ty_vec128 ty) (bxor x y)))
1335
+ (eor_vec x y (vector_size ty)))
1336
+
1337
+ ;; Specialized lowerings for `(bxor x (bnot y))` which is additionally produced
1338
+ ;; by Cranelift's `bxor_not` instruction that is legalized into the simpler
1339
+ ;; forms early on.
1340
+
1341
+ (rule 1 (lower (has_type (fits_in_64 ty) (bxor x (bnot y))))
1342
+ (alu_rs_imm_logic (ALUOp.EorNot) ty x y))
1343
+ (rule 2 (lower (has_type (fits_in_64 ty) (bxor (bnot y) x)))
1344
+ (alu_rs_imm_logic (ALUOp.EorNot) ty x y))
1345
+
1346
+ (rule 3 (lower (has_type $I128 (bxor x (bnot y)))) (i128_alu_bitop (ALUOp.EorNot) $I64 x y))
1347
+ (rule 4 (lower (has_type $I128 (bxor (bnot y) x))) (i128_alu_bitop (ALUOp.EorNot) $I64 x y))
1348
+
1349
+ ;;;; Rules for `ishl` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1350
+
1351
+ ;; Shift for i8/i16/i32.
1352
+ (rule -1 (lower (has_type (fits_in_32 ty) (ishl x y)))
1353
+ (do_shift (ALUOp.Lsl) ty x y))
1354
+
1355
+ ;; Shift for i64.
1356
+ (rule (lower (has_type $I64 (ishl x y)))
1357
+ (do_shift (ALUOp.Lsl) $I64 x y))
1358
+
1359
+ ;; Shift for i128.
1360
+ (rule (lower (has_type $I128 (ishl x y)))
1361
+ (lower_shl128 x (value_regs_get y 0)))
1362
+
1363
+ ;; lsl lo_lshift, src_lo, amt
1364
+ ;; lsl hi_lshift, src_hi, amt
1365
+ ;; mvn inv_amt, amt
1366
+ ;; lsr lo_rshift, src_lo, #1
1367
+ ;; lsr lo_rshift, lo_rshift, inv_amt
1368
+ ;; orr maybe_hi, hi_lshift, lo_rshift
1369
+ ;; tst amt, #0x40
1370
+ ;; csel dst_hi, lo_lshift, maybe_hi, ne
1371
+ ;; csel dst_lo, xzr, lo_lshift, ne
1372
+ (decl lower_shl128 (ValueRegs Reg) ValueRegs)
1373
+ (rule (lower_shl128 src amt)
1374
+ (let ((src_lo Reg (value_regs_get src 0))
1375
+ (src_hi Reg (value_regs_get src 1))
1376
+ (lo_lshift Reg (lsl $I64 src_lo amt))
1377
+ (hi_lshift Reg (lsl $I64 src_hi amt))
1378
+ (inv_amt Reg (orr_not $I32 (zero_reg) amt))
1379
+ (lo_rshift Reg (lsr $I64 (lsr_imm $I64 src_lo (imm_shift_from_u8 1))
1380
+ inv_amt))
1381
+ (maybe_hi Reg (orr $I64 hi_lshift lo_rshift))
1382
+ )
1383
+ (with_flags
1384
+ (tst_imm $I64 amt (u64_into_imm_logic $I64 64))
1385
+ (consumes_flags_concat
1386
+ (csel (Cond.Ne) (zero_reg) lo_lshift)
1387
+ (csel (Cond.Ne) lo_lshift maybe_hi)))))
1388
+
1389
+ ;; Shift for vector types.
1390
+ (rule -3 (lower (has_type (ty_vec128 ty) (ishl x y)))
1391
+ (let ((size VectorSize (vector_size ty))
1392
+ (masked_shift_amt Reg (and_imm $I32 y (shift_mask ty)))
1393
+ (shift Reg (vec_dup masked_shift_amt size)))
1394
+ (sshl x shift size)))
1395
+ (rule -2 (lower (has_type (ty_vec128 ty) (ishl x (iconst (u64_from_imm64 n)))))
1396
+ (ushl_vec_imm x (shift_masked_imm ty n) (vector_size ty)))
1397
+
1398
+ (decl pure shift_masked_imm (Type u64) u8)
1399
+ (extern constructor shift_masked_imm shift_masked_imm)
1400
+
1401
+ ;; Helper function to emit a shift operation with the opcode specified and
1402
+ ;; the output type specified. The `Reg` provided is shifted by the `Value`
1403
+ ;; given.
1404
+ ;;
1405
+ ;; Note that this automatically handles the clif semantics of masking the
1406
+ ;; shift amount where necessary.
1407
+ (decl do_shift (ALUOp Type Reg Value) Reg)
1408
+
1409
+ ;; 8/16-bit shift base case.
1410
+ ;;
1411
+ ;; When shifting for amounts larger than the size of the type, the CLIF shift
1412
+ ;; instructions implement a "wrapping" behaviour, such that an i8 << 8 is
1413
+ ;; equivalent to i8 << 0
1414
+ ;;
1415
+ ;; On i32 and i64 types this matches what the aarch64 spec does, but on smaller
1416
+ ;; types (i16, i8) we need to do this manually, so we wrap the shift amount
1417
+ ;; with an AND instruction
1418
+ (rule -1 (do_shift op (fits_in_16 ty) x y)
1419
+ (let ((shift_amt Reg (value_regs_get y 0))
1420
+ (masked_shift_amt Reg (and_imm $I32 shift_amt (shift_mask ty))))
1421
+ (alu_rrr op $I32 x masked_shift_amt)))
1422
+
1423
+ (decl shift_mask (Type) ImmLogic)
1424
+ (extern constructor shift_mask shift_mask)
1425
+
1426
+ ;; 32/64-bit shift base cases.
1427
+ (rule (do_shift op $I32 x y) (alu_rrr op $I32 x (value_regs_get y 0)))
1428
+ (rule (do_shift op $I64 x y) (alu_rrr op $I64 x (value_regs_get y 0)))
1429
+
1430
+ ;; Special case for shifting by a constant value where the value can fit into an
1431
+ ;; `ImmShift`.
1432
+ ;;
1433
+ ;; Note that this rule explicitly has a higher priority than the others
1434
+ ;; to ensure it's attempted first, otherwise the type-based filters on the
1435
+ ;; previous rules seem to take priority over this rule.
1436
+ (rule 1 (do_shift op ty x (iconst k))
1437
+ (if-let shift (imm_shift_from_imm64 ty k))
1438
+ (alu_rr_imm_shift op ty x shift))
1439
+
1440
+ ;;;; Rules for `ushr` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1441
+
1442
+ ;; Shift for i8/i16/i32.
1443
+ (rule -1 (lower (has_type (fits_in_32 ty) (ushr x y)))
1444
+ (do_shift (ALUOp.Lsr) ty (put_in_reg_zext32 x) y))
1445
+
1446
+ ;; Shift for i64.
1447
+ (rule (lower (has_type $I64 (ushr x y)))
1448
+ (do_shift (ALUOp.Lsr) $I64 (put_in_reg_zext64 x) y))
1449
+
1450
+ ;; Shift for i128.
1451
+ (rule (lower (has_type $I128 (ushr x y)))
1452
+ (lower_ushr128 x (value_regs_get y 0)))
1453
+
1454
+ ;; Vector shifts.
1455
+ ;;
1456
+ ;; Note that for constant shifts a 0-width shift can't be emitted so it's
1457
+ ;; special cased to pass through the input as-is since a 0-shift doesn't modify
1458
+ ;; the input anyway.
1459
+ (rule -4 (lower (has_type (ty_vec128 ty) (ushr x y)))
1460
+ (let ((size VectorSize (vector_size ty))
1461
+ (masked_shift_amt Reg (and_imm $I32 y (shift_mask ty)))
1462
+ (shift Reg (vec_dup (sub $I64 (zero_reg) masked_shift_amt) size)))
1463
+ (ushl x shift size)))
1464
+ (rule -3 (lower (has_type (ty_vec128 ty) (ushr x (iconst (u64_from_imm64 n)))))
1465
+ (ushr_vec_imm x (shift_masked_imm ty n) (vector_size ty)))
1466
+ (rule -2 (lower (has_type (ty_vec128 ty) (ushr x (iconst (u64_from_imm64 n)))))
1467
+ (if-let 0 (shift_masked_imm ty n))
1468
+ x)
1469
+
1470
+ ;; lsr lo_rshift, src_lo, amt
1471
+ ;; lsr hi_rshift, src_hi, amt
1472
+ ;; mvn inv_amt, amt
1473
+ ;; lsl hi_lshift, src_hi, #1
1474
+ ;; lsl hi_lshift, hi_lshift, inv_amt
1475
+ ;; tst amt, #0x40
1476
+ ;; orr maybe_lo, lo_rshift, hi_lshift
1477
+ ;; csel dst_hi, xzr, hi_rshift, ne
1478
+ ;; csel dst_lo, hi_rshift, maybe_lo, ne
1479
+ (decl lower_ushr128 (ValueRegs Reg) ValueRegs)
1480
+ (rule (lower_ushr128 src amt)
1481
+ (let ((src_lo Reg (value_regs_get src 0))
1482
+ (src_hi Reg (value_regs_get src 1))
1483
+ (lo_rshift Reg (lsr $I64 src_lo amt))
1484
+ (hi_rshift Reg (lsr $I64 src_hi amt))
1485
+
1486
+ (inv_amt Reg (orr_not $I32 (zero_reg) amt))
1487
+ (hi_lshift Reg (lsl $I64 (lsl_imm $I64 src_hi (imm_shift_from_u8 1))
1488
+ inv_amt))
1489
+ (maybe_lo Reg (orr $I64 lo_rshift hi_lshift))
1490
+ )
1491
+ (with_flags
1492
+ (tst_imm $I64 amt (u64_into_imm_logic $I64 64))
1493
+ (consumes_flags_concat
1494
+ (csel (Cond.Ne) hi_rshift maybe_lo)
1495
+ (csel (Cond.Ne) (zero_reg) hi_rshift)))))
1496
+
1497
+ ;;;; Rules for `sshr` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1498
+
1499
+ ;; Shift for i8/i16/i32.
1500
+ (rule -4 (lower (has_type (fits_in_32 ty) (sshr x y)))
1501
+ (do_shift (ALUOp.Asr) ty (put_in_reg_sext32 x) y))
1502
+
1503
+ ;; Shift for i64.
1504
+ (rule (lower (has_type $I64 (sshr x y)))
1505
+ (do_shift (ALUOp.Asr) $I64 (put_in_reg_sext64 x) y))
1506
+
1507
+ ;; Shift for i128.
1508
+ (rule (lower (has_type $I128 (sshr x y)))
1509
+ (lower_sshr128 x (value_regs_get y 0)))
1510
+
1511
+ ;; Vector shifts.
1512
+ ;;
1513
+ ;; Note that right shifts are implemented with a negative left shift. Also note
1514
+ ;; that for constant shifts a 0-width shift can't be emitted so it's special
1515
+ ;; cased to pass through the input as-is since a 0-shift doesn't modify the
1516
+ ;; input anyway.
1517
+ (rule -3 (lower (has_type (ty_vec128 ty) (sshr x y)))
1518
+ (let ((size VectorSize (vector_size ty))
1519
+ (masked_shift_amt Reg (and_imm $I32 y (shift_mask ty)))
1520
+ (shift Reg (vec_dup (sub $I64 (zero_reg) masked_shift_amt) size)))
1521
+ (sshl x shift size)))
1522
+ (rule -2 (lower (has_type (ty_vec128 ty) (sshr x (iconst (u64_from_imm64 n)))))
1523
+ (sshr_vec_imm x (shift_masked_imm ty n) (vector_size ty)))
1524
+ (rule -1 (lower (has_type (ty_vec128 ty) (sshr x (iconst (u64_from_imm64 n)))))
1525
+ (if-let 0 (shift_masked_imm ty n))
1526
+ x)
1527
+
1528
+ ;; lsr lo_rshift, src_lo, amt
1529
+ ;; asr hi_rshift, src_hi, amt
1530
+ ;; mvn inv_amt, amt
1531
+ ;; lsl hi_lshift, src_hi, #1
1532
+ ;; lsl hi_lshift, hi_lshift, inv_amt
1533
+ ;; asr hi_sign, src_hi, #63
1534
+ ;; orr maybe_lo, lo_rshift, hi_lshift
1535
+ ;; tst amt, #0x40
1536
+ ;; csel dst_hi, hi_sign, hi_rshift, ne
1537
+ ;; csel dst_lo, hi_rshift, maybe_lo, ne
1538
+ (decl lower_sshr128 (ValueRegs Reg) ValueRegs)
1539
+ (rule (lower_sshr128 src amt)
1540
+ (let ((src_lo Reg (value_regs_get src 0))
1541
+ (src_hi Reg (value_regs_get src 1))
1542
+ (lo_rshift Reg (lsr $I64 src_lo amt))
1543
+ (hi_rshift Reg (asr $I64 src_hi amt))
1544
+
1545
+ (inv_amt Reg (orr_not $I32 (zero_reg) amt))
1546
+ (hi_lshift Reg (lsl $I64 (lsl_imm $I64 src_hi (imm_shift_from_u8 1))
1547
+ inv_amt))
1548
+ (hi_sign Reg (asr_imm $I64 src_hi (imm_shift_from_u8 63)))
1549
+ (maybe_lo Reg (orr $I64 lo_rshift hi_lshift))
1550
+ )
1551
+ (with_flags
1552
+ (tst_imm $I64 amt (u64_into_imm_logic $I64 64))
1553
+ (consumes_flags_concat
1554
+ (csel (Cond.Ne) hi_rshift maybe_lo)
1555
+ (csel (Cond.Ne) hi_sign hi_rshift)))))
1556
+
1557
+ ;;;; Rules for `rotl` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1558
+
1559
+ ;; General 8/16-bit case.
1560
+ (rule -2 (lower (has_type (fits_in_16 ty) (rotl x y)))
1561
+ (let ((amt Reg (value_regs_get y 0))
1562
+ (neg_shift Reg (sub $I32 (zero_reg) amt)))
1563
+ (small_rotr ty (put_in_reg_zext32 x) neg_shift)))
1564
+
1565
+ ;; Specialization for the 8/16-bit case when the rotation amount is an immediate.
1566
+ (rule -1 (lower (has_type (fits_in_16 ty) (rotl x (iconst k))))
1567
+ (if-let n (imm_shift_from_imm64 ty k))
1568
+ (small_rotr_imm ty (put_in_reg_zext32 x) (negate_imm_shift ty n)))
1569
+
1570
+ ;; aarch64 doesn't have a left-rotate instruction, but a left rotation of K
1571
+ ;; places is effectively a right rotation of N - K places, if N is the integer's
1572
+ ;; bit size. We implement left rotations with this trick.
1573
+ ;;
1574
+ ;; Note that when negating the shift amount here the upper bits are ignored
1575
+ ;; by the rotr instruction, meaning that we'll still left-shift by the desired
1576
+ ;; amount.
1577
+
1578
+ ;; General 32-bit case.
1579
+ (rule (lower (has_type $I32 (rotl x y)))
1580
+ (let ((amt Reg (value_regs_get y 0))
1581
+ (neg_shift Reg (sub $I32 (zero_reg) amt)))
1582
+ (a64_rotr $I32 x neg_shift)))
1583
+
1584
+ ;; General 64-bit case.
1585
+ (rule (lower (has_type $I64 (rotl x y)))
1586
+ (let ((amt Reg (value_regs_get y 0))
1587
+ (neg_shift Reg (sub $I64 (zero_reg) amt)))
1588
+ (a64_rotr $I64 x neg_shift)))
1589
+
1590
+ ;; Specialization for the 32-bit case when the rotation amount is an immediate.
1591
+ (rule 1 (lower (has_type $I32 (rotl x (iconst k))))
1592
+ (if-let n (imm_shift_from_imm64 $I32 k))
1593
+ (a64_rotr_imm $I32 x (negate_imm_shift $I32 n)))
1594
+
1595
+ ;; Specialization for the 64-bit case when the rotation amount is an immediate.
1596
+ (rule 1 (lower (has_type $I64 (rotl x (iconst k))))
1597
+ (if-let n (imm_shift_from_imm64 $I64 k))
1598
+ (a64_rotr_imm $I64 x (negate_imm_shift $I64 n)))
1599
+
1600
+ (decl negate_imm_shift (Type ImmShift) ImmShift)
1601
+ (extern constructor negate_imm_shift negate_imm_shift)
1602
+
1603
+ ;; General 128-bit case.
1604
+ ;;
1605
+ ;; TODO: much better codegen is possible with a constant amount.
1606
+ (rule (lower (has_type $I128 (rotl x y)))
1607
+ (let ((val ValueRegs x)
1608
+ (amt Reg (value_regs_get y 0))
1609
+ (neg_amt Reg (sub $I64 (imm $I64 (ImmExtend.Zero) 128) amt))
1610
+ (lshift ValueRegs (lower_shl128 val amt))
1611
+ (rshift ValueRegs (lower_ushr128 val neg_amt)))
1612
+ (value_regs
1613
+ (orr $I64 (value_regs_get lshift 0) (value_regs_get rshift 0))
1614
+ (orr $I64 (value_regs_get lshift 1) (value_regs_get rshift 1)))))
1615
+
1616
+ ;;;; Rules for `rotr` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1617
+
1618
+ ;; General 8/16-bit case.
1619
+ (rule -3 (lower (has_type (fits_in_16 ty) (rotr x y)))
1620
+ (small_rotr ty (put_in_reg_zext32 x) (value_regs_get y 0)))
1621
+
1622
+ ;; General 32-bit case.
1623
+ (rule -1 (lower (has_type $I32 (rotr x y)))
1624
+ (a64_rotr $I32 x (value_regs_get y 0)))
1625
+
1626
+ ;; General 64-bit case.
1627
+ (rule -1 (lower (has_type $I64 (rotr x y)))
1628
+ (a64_rotr $I64 x (value_regs_get y 0)))
1629
+
1630
+ ;; Specialization for the 8/16-bit case when the rotation amount is an immediate.
1631
+ (rule -2 (lower (has_type (fits_in_16 ty) (rotr x (iconst k))))
1632
+ (if-let n (imm_shift_from_imm64 ty k))
1633
+ (small_rotr_imm ty (put_in_reg_zext32 x) n))
1634
+
1635
+ ;; Specialization for the 32-bit case when the rotation amount is an immediate.
1636
+ (rule (lower (has_type $I32 (rotr x (iconst k))))
1637
+ (if-let n (imm_shift_from_imm64 $I32 k))
1638
+ (a64_rotr_imm $I32 x n))
1639
+
1640
+ ;; Specialization for the 64-bit case when the rotation amount is an immediate.
1641
+ (rule (lower (has_type $I64 (rotr x (iconst k))))
1642
+ (if-let n (imm_shift_from_imm64 $I64 k))
1643
+ (a64_rotr_imm $I64 x n))
1644
+
1645
+ ;; For a < 32-bit rotate-right, we synthesize this as:
1646
+ ;;
1647
+ ;; rotr rd, val, amt
1648
+ ;;
1649
+ ;; =>
1650
+ ;;
1651
+ ;; and masked_amt, amt, <bitwidth - 1>
1652
+ ;; sub tmp_sub, masked_amt, <bitwidth>
1653
+ ;; sub neg_amt, zero, tmp_sub ; neg
1654
+ ;; lsr val_rshift, val, masked_amt
1655
+ ;; lsl val_lshift, val, neg_amt
1656
+ ;; orr rd, val_lshift val_rshift
1657
+ (decl small_rotr (Type Reg Reg) Reg)
1658
+ (rule (small_rotr ty val amt)
1659
+ (let ((masked_amt Reg (and_imm $I32 amt (rotr_mask ty)))
1660
+ (tmp_sub Reg (sub_imm $I32 masked_amt (u8_into_imm12 (ty_bits ty))))
1661
+ (neg_amt Reg (sub $I32 (zero_reg) tmp_sub))
1662
+ (val_rshift Reg (lsr $I32 val masked_amt))
1663
+ (val_lshift Reg (lsl $I32 val neg_amt)))
1664
+ (orr $I32 val_lshift val_rshift)))
1665
+
1666
+ (decl rotr_mask (Type) ImmLogic)
1667
+ (extern constructor rotr_mask rotr_mask)
1668
+
1669
+ ;; For a constant amount, we can instead do:
1670
+ ;;
1671
+ ;; rotr rd, val, #amt
1672
+ ;;
1673
+ ;; =>
1674
+ ;;
1675
+ ;; lsr val_rshift, val, #<amt>
1676
+ ;; lsl val_lshift, val, <bitwidth - amt>
1677
+ ;; orr rd, val_lshift, val_rshift
1678
+ (decl small_rotr_imm (Type Reg ImmShift) Reg)
1679
+ (rule (small_rotr_imm ty val amt)
1680
+ (let ((val_rshift Reg (lsr_imm $I32 val amt))
1681
+ (val_lshift Reg (lsl_imm $I32 val (rotr_opposite_amount ty amt))))
1682
+ (orr $I32 val_lshift val_rshift)))
1683
+
1684
+ (decl rotr_opposite_amount (Type ImmShift) ImmShift)
1685
+ (extern constructor rotr_opposite_amount rotr_opposite_amount)
1686
+
1687
+ ;; General 128-bit case.
1688
+ ;;
1689
+ ;; TODO: much better codegen is possible with a constant amount.
1690
+ (rule (lower (has_type $I128 (rotr x y)))
1691
+ (let ((val ValueRegs x)
1692
+ (amt Reg (value_regs_get y 0))
1693
+ (neg_amt Reg (sub $I64 (imm $I64 (ImmExtend.Zero) 128) amt))
1694
+ (rshift ValueRegs (lower_ushr128 val amt))
1695
+ (lshift ValueRegs (lower_shl128 val neg_amt))
1696
+ (hi Reg (orr $I64 (value_regs_get rshift 1) (value_regs_get lshift 1)))
1697
+ (lo Reg (orr $I64 (value_regs_get rshift 0) (value_regs_get lshift 0))))
1698
+ (value_regs lo hi)))
1699
+
1700
+ ;;;; Rules for `bitrev` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1701
+
1702
+ ;; Reversing an 8-bit value with a 32-bit bitrev instruction will place
1703
+ ;; the reversed result in the highest 8 bits, so we need to shift them down into
1704
+ ;; place.
1705
+ (rule (lower (has_type $I8 (bitrev x)))
1706
+ (lsr_imm $I32 (rbit $I32 x) (imm_shift_from_u8 24)))
1707
+
1708
+ ;; Reversing an 16-bit value with a 32-bit bitrev instruction will place
1709
+ ;; the reversed result in the highest 16 bits, so we need to shift them down into
1710
+ ;; place.
1711
+ (rule (lower (has_type $I16 (bitrev x)))
1712
+ (lsr_imm $I32 (rbit $I32 x) (imm_shift_from_u8 16)))
1713
+
1714
+ (rule (lower (has_type $I128 (bitrev x)))
1715
+ (let ((val ValueRegs x)
1716
+ (lo_rev Reg (rbit $I64 (value_regs_get val 0)))
1717
+ (hi_rev Reg (rbit $I64 (value_regs_get val 1))))
1718
+ (value_regs hi_rev lo_rev)))
1719
+
1720
+ (rule -1 (lower (has_type ty (bitrev x)))
1721
+ (rbit ty x))
1722
+
1723
+
1724
+ ;;;; Rules for `clz` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1725
+
1726
+ (rule (lower (has_type $I8 (clz x)))
1727
+ (sub_imm $I32 (a64_clz $I32 (put_in_reg_zext32 x)) (u8_into_imm12 24)))
1728
+
1729
+ (rule (lower (has_type $I16 (clz x)))
1730
+ (sub_imm $I32 (a64_clz $I32 (put_in_reg_zext32 x)) (u8_into_imm12 16)))
1731
+
1732
+ (rule (lower (has_type $I128 (clz x)))
1733
+ (lower_clz128 x))
1734
+
1735
+ (rule -1 (lower (has_type ty (clz x)))
1736
+ (a64_clz ty x))
1737
+
1738
+ ;; clz hi_clz, hi
1739
+ ;; clz lo_clz, lo
1740
+ ;; lsr tmp, hi_clz, #6
1741
+ ;; madd dst_lo, lo_clz, tmp, hi_clz
1742
+ ;; mov dst_hi, 0
1743
+ (decl lower_clz128 (ValueRegs) ValueRegs)
1744
+ (rule (lower_clz128 val)
1745
+ (let ((hi_clz Reg (a64_clz $I64 (value_regs_get val 1)))
1746
+ (lo_clz Reg (a64_clz $I64 (value_regs_get val 0)))
1747
+ (tmp Reg (lsr_imm $I64 hi_clz (imm_shift_from_u8 6))))
1748
+ (value_regs (madd $I64 lo_clz tmp hi_clz) (imm $I64 (ImmExtend.Zero) 0))))
1749
+
1750
+ ;;;; Rules for `ctz` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1751
+
1752
+ ;; Note that all `ctz` instructions are implemented by reversing the bits and
1753
+ ;; then using a `clz` instruction since the tail zeros are the same as the
1754
+ ;; leading zeros of the reversed value.
1755
+
1756
+ (rule (lower (has_type $I8 (ctz x)))
1757
+ (a64_clz $I32 (orr_imm $I32 (rbit $I32 x) (u64_into_imm_logic $I32 0x800000))))
1758
+
1759
+ (rule (lower (has_type $I16 (ctz x)))
1760
+ (a64_clz $I32 (orr_imm $I32 (rbit $I32 x) (u64_into_imm_logic $I32 0x8000))))
1761
+
1762
+ (rule (lower (has_type $I128 (ctz x)))
1763
+ (let ((val ValueRegs x)
1764
+ (lo Reg (rbit $I64 (value_regs_get val 0)))
1765
+ (hi Reg (rbit $I64 (value_regs_get val 1))))
1766
+ (lower_clz128 (value_regs hi lo))))
1767
+
1768
+ (rule -1 (lower (has_type ty (ctz x)))
1769
+ (a64_clz ty (rbit ty x)))
1770
+
1771
+ ;;;; Rules for `cls` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1772
+
1773
+ (rule (lower (has_type $I8 (cls x)))
1774
+ (sub_imm $I32 (a64_cls $I32 (put_in_reg_sext32 x)) (u8_into_imm12 24)))
1775
+
1776
+ (rule (lower (has_type $I16 (cls x)))
1777
+ (sub_imm $I32 (a64_cls $I32 (put_in_reg_sext32 x)) (u8_into_imm12 16)))
1778
+
1779
+ ;; cls lo_cls, lo
1780
+ ;; cls hi_cls, hi
1781
+ ;; eon sign_eq_eor, hi, lo
1782
+ ;; lsr sign_eq, sign_eq_eor, #63
1783
+ ;; madd lo_sign_bits, out_lo, sign_eq, sign_eq
1784
+ ;; cmp hi_cls, #63
1785
+ ;; csel maybe_lo, lo_sign_bits, xzr, eq
1786
+ ;; add out_lo, maybe_lo, hi_cls
1787
+ ;; mov out_hi, 0
1788
+ (rule (lower (has_type $I128 (cls x)))
1789
+ (let ((val ValueRegs x)
1790
+ (lo Reg (value_regs_get val 0))
1791
+ (hi Reg (value_regs_get val 1))
1792
+ (lo_cls Reg (a64_cls $I64 lo))
1793
+ (hi_cls Reg (a64_cls $I64 hi))
1794
+ (sign_eq_eon Reg (eon $I64 hi lo))
1795
+ (sign_eq Reg (lsr_imm $I64 sign_eq_eon (imm_shift_from_u8 63)))
1796
+ (lo_sign_bits Reg (madd $I64 lo_cls sign_eq sign_eq))
1797
+ (maybe_lo Reg (with_flags_reg
1798
+ (cmp64_imm hi_cls (u8_into_imm12 63))
1799
+ (csel (Cond.Eq) lo_sign_bits (zero_reg)))))
1800
+ (value_regs (add $I64 maybe_lo hi_cls) (imm $I64 (ImmExtend.Zero) 0))))
1801
+
1802
+ (rule -1 (lower (has_type ty (cls x)))
1803
+ (a64_cls ty x))
1804
+
1805
+ ;;;; Rules for `bswap` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1806
+
1807
+ (rule (lower (has_type $I16 (bswap x)))
1808
+ (a64_rev16 $I16 x))
1809
+
1810
+ (rule (lower (has_type $I32 (bswap x)))
1811
+ (a64_rev32 $I32 x))
1812
+
1813
+ (rule (lower (has_type $I64 (bswap x)))
1814
+ (a64_rev64 $I64 x))
1815
+
1816
+ (rule (lower (has_type $I128 (bswap x)))
1817
+ (value_regs
1818
+ (a64_rev64 $I64 (value_regs_get x 1))
1819
+ (a64_rev64 $I64 (value_regs_get x 0))))
1820
+
1821
+ ;;;; Rules for `bmask` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1822
+
1823
+ ;; Bmask tests the value against zero, and uses `csetm` to assert the result.
1824
+ (rule (lower (has_type out_ty (bmask x @ (value_type in_ty))))
1825
+ (lower_bmask out_ty in_ty x))
1826
+
1827
+ ;;;; Rules for `popcnt` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1828
+
1829
+ ;; The implementation of `popcnt` for scalar types is done by moving the value
1830
+ ;; into a vector register, using the `cnt` instruction, and then collating the
1831
+ ;; result back into a normal register.
1832
+ ;;
1833
+ ;; The general sequence emitted here is
1834
+ ;;
1835
+ ;; fmov tmp, in_lo
1836
+ ;; if ty == i128:
1837
+ ;; mov tmp.d[1], in_hi
1838
+ ;;
1839
+ ;; cnt tmp.16b, tmp.16b / cnt tmp.8b, tmp.8b
1840
+ ;; addv tmp, tmp.16b / addv tmp, tmp.8b / addp tmp.8b, tmp.8b, tmp.8b / (no instruction for 8-bit inputs)
1841
+ ;;
1842
+ ;; umov out_lo, tmp.b[0]
1843
+ ;; if ty == i128:
1844
+ ;; mov out_hi, 0
1845
+
1846
+ (rule (lower (has_type $I8 (popcnt x)))
1847
+ (let ((tmp Reg (mov_to_fpu x (ScalarSize.Size32)))
1848
+ (nbits Reg (vec_cnt tmp (VectorSize.Size8x8))))
1849
+ (mov_from_vec nbits 0 (ScalarSize.Size8))))
1850
+
1851
+ ;; Note that this uses `addp` instead of `addv` as it's usually cheaper.
1852
+ (rule (lower (has_type $I16 (popcnt x)))
1853
+ (let ((tmp Reg (mov_to_fpu x (ScalarSize.Size32)))
1854
+ (nbits Reg (vec_cnt tmp (VectorSize.Size8x8)))
1855
+ (added Reg (addp nbits nbits (VectorSize.Size8x8))))
1856
+ (mov_from_vec added 0 (ScalarSize.Size8))))
1857
+
1858
+ (rule (lower (has_type $I32 (popcnt x)))
1859
+ (let ((tmp Reg (mov_to_fpu x (ScalarSize.Size32)))
1860
+ (nbits Reg (vec_cnt tmp (VectorSize.Size8x8)))
1861
+ (added Reg (addv nbits (VectorSize.Size8x8))))
1862
+ (mov_from_vec added 0 (ScalarSize.Size8))))
1863
+
1864
+ (rule (lower (has_type $I64 (popcnt x)))
1865
+ (let ((tmp Reg (mov_to_fpu x (ScalarSize.Size64)))
1866
+ (nbits Reg (vec_cnt tmp (VectorSize.Size8x8)))
1867
+ (added Reg (addv nbits (VectorSize.Size8x8))))
1868
+ (mov_from_vec added 0 (ScalarSize.Size8))))
1869
+
1870
+ (rule (lower (has_type $I128 (popcnt x)))
1871
+ (let ((val ValueRegs x)
1872
+ (tmp_half Reg (mov_to_fpu (value_regs_get val 0) (ScalarSize.Size64)))
1873
+ (tmp Reg (mov_to_vec tmp_half (value_regs_get val 1) 1 (VectorSize.Size64x2)))
1874
+ (nbits Reg (vec_cnt tmp (VectorSize.Size8x16)))
1875
+ (added Reg (addv nbits (VectorSize.Size8x16))))
1876
+ (value_regs (mov_from_vec added 0 (ScalarSize.Size8)) (imm $I64 (ImmExtend.Zero) 0))))
1877
+
1878
+ (rule (lower (has_type $I8X16 (popcnt x)))
1879
+ (vec_cnt x (VectorSize.Size8x16)))
1880
+
1881
+ ;;;; Rules for `bitselect` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1882
+
1883
+ (rule (lower (has_type ty (bitselect c x y)))
1884
+ (if (ty_int_ref_scalar_64 ty))
1885
+ (let ((tmp1 Reg (and_reg ty x c))
1886
+ (tmp2 Reg (bic ty y c)))
1887
+ (orr ty tmp1 tmp2)))
1888
+
1889
+ (rule 1 (lower (has_type (ty_vec128 ty) (bitselect c x y)))
1890
+ (bsl ty c x y))
1891
+
1892
+ ;;;; Rules for `ireduce` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1893
+
1894
+ ;; T -> I{64,32,16,8}: We can simply pass through the value: values
1895
+ ;; are always stored with high bits undefined, so we can just leave
1896
+ ;; them be.
1897
+ (rule (lower (has_type ty (ireduce src)))
1898
+ (if (ty_int_ref_scalar_64 ty))
1899
+ (value_regs_get src 0))
1900
+
1901
+ ;;;; Rules for `fcmp` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1902
+
1903
+ (rule 4 (lower (has_type ty @ (multi_lane _ _) (fcmp (fcmp_zero_cond_not_eq cond) x y)))
1904
+ (if (zero_value y))
1905
+ (let ((rn Reg x)
1906
+ (vec_size VectorSize (vector_size ty)))
1907
+ (value_reg (not (fcmeq0 rn vec_size) vec_size))))
1908
+
1909
+ (rule 3 (lower (has_type ty @ (multi_lane _ _) (fcmp (fcmp_zero_cond cond) x y)))
1910
+ (if (zero_value y))
1911
+ (let ((rn Reg x)
1912
+ (vec_size VectorSize (vector_size ty)))
1913
+ (value_reg (float_cmp_zero cond rn vec_size))))
1914
+
1915
+ (rule 2 (lower (has_type ty @ (multi_lane _ _) (fcmp (fcmp_zero_cond_not_eq cond) x y)))
1916
+ (if (zero_value x))
1917
+ (let ((rn Reg y)
1918
+ (vec_size VectorSize (vector_size ty)))
1919
+ (value_reg (not (fcmeq0 rn vec_size) vec_size))))
1920
+
1921
+ (rule 1 (lower (has_type ty @ (multi_lane _ _) (fcmp (fcmp_zero_cond cond) x y)))
1922
+ (if (zero_value x))
1923
+ (let ((rn Reg y)
1924
+ (vec_size VectorSize (vector_size ty)))
1925
+ (value_reg (float_cmp_zero_swap cond rn vec_size))))
1926
+
1927
+ (rule 0 (lower (has_type out_ty
1928
+ (fcmp cond x @ (value_type (ty_scalar_float in_ty)) y)))
1929
+ (with_flags (fpu_cmp (scalar_size in_ty) x y)
1930
+ (materialize_bool_result (fp_cond_code cond))))
1931
+
1932
+ (rule -1 (lower (has_type out_ty (fcmp cond x @ (value_type in_ty) y)))
1933
+ (if (ty_vector_float in_ty))
1934
+ (vec_cmp x y in_ty (fp_cond_code cond)))
1935
+
1936
+ ;;;; Rules for `icmp` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1937
+
1938
+ (rule 3 (lower (has_type ty @ (multi_lane _ _) (icmp (icmp_zero_cond_not_eq cond) x y)))
1939
+ (if (zero_value y))
1940
+ (let ((rn Reg x)
1941
+ (vec_size VectorSize (vector_size ty)))
1942
+ (value_reg (not (cmeq0 rn vec_size) vec_size))))
1943
+
1944
+ (rule 2 (lower (has_type ty @ (multi_lane _ _) (icmp (icmp_zero_cond cond) x y)))
1945
+ (if (zero_value y))
1946
+ (let ((rn Reg x)
1947
+ (vec_size VectorSize (vector_size ty)))
1948
+ (value_reg (int_cmp_zero cond rn vec_size))))
1949
+
1950
+ (rule 1 (lower (has_type ty @ (multi_lane _ _) (icmp (icmp_zero_cond_not_eq cond) x y)))
1951
+ (if (zero_value x))
1952
+ (let ((rn Reg y)
1953
+ (vec_size VectorSize (vector_size ty)))
1954
+ (value_reg (not (cmeq0 rn vec_size) vec_size))))
1955
+
1956
+ (rule 0 (lower (has_type ty @ (multi_lane _ _) (icmp (icmp_zero_cond cond) x y)))
1957
+ (if (zero_value x))
1958
+ (let ((rn Reg y)
1959
+ (vec_size VectorSize (vector_size ty)))
1960
+ (value_reg (int_cmp_zero_swap cond rn vec_size))))
1961
+
1962
+ (rule -1 (lower (icmp cond x @ (value_type in_ty) y))
1963
+ (lower_icmp_into_reg cond x y in_ty $I8))
1964
+
1965
+ ;;;; Rules for `trap` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1966
+
1967
+ (rule (lower (trap trap_code))
1968
+ (side_effect (udf trap_code)))
1969
+
1970
+ ;;;; Rules for `select` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1971
+
1972
+ (rule (lower (has_type ty
1973
+ (select (maybe_uextend (icmp cc
1974
+ x @ (value_type in_ty)
1975
+ y))
1976
+ rn
1977
+ rm)))
1978
+ (let ((comparison FlagsAndCC (lower_icmp_into_flags cc x y in_ty)))
1979
+ (lower_select (flags_and_cc_flags comparison)
1980
+ (cond_code (flags_and_cc_cc comparison))
1981
+ ty
1982
+ rn
1983
+ rm)))
1984
+
1985
+ (rule (lower (has_type ty
1986
+ (select (maybe_uextend (fcmp cc x @ (value_type in_ty) y))
1987
+ rn
1988
+ rm)))
1989
+ (let ((cond Cond (fp_cond_code cc)))
1990
+ (lower_select
1991
+ (fpu_cmp (scalar_size in_ty) x y)
1992
+ cond ty rn rm)))
1993
+
1994
+ (rule -1 (lower (has_type ty (select rcond @ (value_type $I8) rn rm)))
1995
+ (let ((rcond Reg rcond))
1996
+ (lower_select
1997
+ (tst_imm $I32 rcond (u64_into_imm_logic $I32 255))
1998
+ (Cond.Ne) ty rn rm)))
1999
+
2000
+ (rule -2 (lower (has_type ty (select rcond @ (value_type (fits_in_32 _)) rn rm)))
2001
+ (let ((rcond Reg (put_in_reg_zext32 rcond)))
2002
+ (lower_select
2003
+ (cmp (OperandSize.Size32) rcond (zero_reg))
2004
+ (Cond.Ne) ty rn rm)))
2005
+
2006
+ (rule -3 (lower (has_type ty (select rcond @ (value_type (fits_in_64 _)) rn rm)))
2007
+ (let ((rcond Reg (put_in_reg_zext64 rcond)))
2008
+ (lower_select
2009
+ (cmp (OperandSize.Size64) rcond (zero_reg))
2010
+ (Cond.Ne) ty rn rm)))
2011
+
2012
+ (rule -4 (lower (has_type ty (select rcond @ (value_type $I128) rn rm)))
2013
+ (let ((c ValueRegs (put_in_regs rcond))
2014
+ (c_lo Reg (value_regs_get c 0))
2015
+ (c_hi Reg (value_regs_get c 1))
2016
+ (rt Reg (orr $I64 c_lo c_hi)))
2017
+ (lower_select
2018
+ (cmp (OperandSize.Size64) rt (zero_reg))
2019
+ (Cond.Ne) ty rn rm)))
2020
+
2021
+ ;;;; Rules for `select_spectre_guard` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2022
+
2023
+ (rule (lower (has_type ty
2024
+ (select_spectre_guard (maybe_uextend (icmp cc x @ (value_type in_ty) y))
2025
+ if_true
2026
+ if_false)))
2027
+ (let ((comparison FlagsAndCC (lower_icmp_into_flags cc x y in_ty))
2028
+ (dst ValueRegs (lower_select
2029
+ (flags_and_cc_flags comparison)
2030
+ (cond_code (flags_and_cc_cc comparison))
2031
+ ty
2032
+ if_true
2033
+ if_false))
2034
+ (_ InstOutput (side_effect (csdb))))
2035
+ dst))
2036
+
2037
+ (rule -1 (lower (has_type ty (select_spectre_guard rcond @ (value_type (fits_in_64 _)) rn rm)))
2038
+ (let ((rcond Reg (put_in_reg_zext64 rcond)))
2039
+ (lower_select
2040
+ (cmp (OperandSize.Size64) rcond (zero_reg))
2041
+ (Cond.Ne) ty rn rm)))
2042
+
2043
+ (rule -2 (lower (has_type ty (select_spectre_guard rcond @ (value_type $I128) rn rm)))
2044
+ (let ((c ValueRegs (put_in_regs rcond))
2045
+ (c_lo Reg (value_regs_get c 0))
2046
+ (c_hi Reg (value_regs_get c 1))
2047
+ (rt Reg (orr $I64 c_lo c_hi)))
2048
+ (lower_select
2049
+ (cmp (OperandSize.Size64) rt (zero_reg))
2050
+ (Cond.Ne) ty rn rm)))
2051
+
2052
+ ;;;; Rules for `vconst` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2053
+
2054
+ (rule (lower (has_type (ty_vec128 _) (vconst (u128_from_constant x))))
2055
+ (constant_f128 x))
2056
+
2057
+ (rule 1 (lower (has_type ty (vconst (u64_from_constant x))))
2058
+ (if (ty_vec64 ty))
2059
+ (constant_f64 x))
2060
+
2061
+ ;;;; Rules for `splat` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2062
+
2063
+ (rule -1 (lower (has_type ty (splat x @ (value_type in_ty))))
2064
+ (if (ty_int_ref_scalar_64 in_ty))
2065
+ (vec_dup x (vector_size ty)))
2066
+
2067
+ (rule -2 (lower (has_type ty (splat x @ (value_type (ty_scalar_float _)))))
2068
+ (vec_dup_from_fpu x (vector_size ty) 0))
2069
+
2070
+ (rule (lower (has_type ty (splat (f32const (u32_from_ieee32 n)))))
2071
+ (splat_const n (vector_size ty)))
2072
+
2073
+ (rule (lower (has_type ty (splat (f64const (u64_from_ieee64 n)))))
2074
+ (splat_const n (vector_size ty)))
2075
+
2076
+ (rule (lower (has_type ty (splat (iconst (u64_from_imm64 n)))))
2077
+ (splat_const n (vector_size ty)))
2078
+
2079
+ (rule (lower (has_type ty (splat (ireduce (iconst (u64_from_imm64 n))))))
2080
+ (splat_const n (vector_size ty)))
2081
+
2082
+ (rule (lower (has_type ty (splat x @ (load flags _ _))))
2083
+ (if-let mem_op (is_sinkable_inst x))
2084
+ (let ((addr Reg (sink_load_into_addr (lane_type ty) mem_op)))
2085
+ (ld1r addr (vector_size ty) flags)))
2086
+
2087
+ ;;;; Rules for `AtomicLoad` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2088
+ (rule (lower (has_type (valid_atomic_transaction ty) (atomic_load flags addr)))
2089
+ (load_acquire ty flags addr))
2090
+
2091
+
2092
+ ;;;; Rules for `AtomicStore` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2093
+ (rule (lower (atomic_store flags
2094
+ src @ (value_type (valid_atomic_transaction ty))
2095
+ addr))
2096
+ (side_effect (store_release ty flags src addr)))
2097
+
2098
+ ;;;; Rules for `AtomicRMW` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2099
+
2100
+ (rule 1 (lower (and (use_lse)
2101
+ (has_type (valid_atomic_transaction ty)
2102
+ (atomic_rmw flags (AtomicRmwOp.Add) addr src))))
2103
+ (lse_atomic_rmw (AtomicRMWOp.Add) addr src ty flags))
2104
+ (rule 1 (lower (and (use_lse)
2105
+ (has_type (valid_atomic_transaction ty)
2106
+ (atomic_rmw flags (AtomicRmwOp.Xor) addr src))))
2107
+ (lse_atomic_rmw (AtomicRMWOp.Eor) addr src ty flags))
2108
+ (rule 1 (lower (and (use_lse)
2109
+ (has_type (valid_atomic_transaction ty)
2110
+ (atomic_rmw flags (AtomicRmwOp.Or) addr src))))
2111
+ (lse_atomic_rmw (AtomicRMWOp.Set) addr src ty flags))
2112
+ (rule 1 (lower (and (use_lse)
2113
+ (has_type (valid_atomic_transaction ty)
2114
+ (atomic_rmw flags (AtomicRmwOp.Smax) addr src))))
2115
+ (lse_atomic_rmw (AtomicRMWOp.Smax) addr src ty flags))
2116
+ (rule 1 (lower (and (use_lse)
2117
+ (has_type (valid_atomic_transaction ty)
2118
+ (atomic_rmw flags (AtomicRmwOp.Smin) addr src))))
2119
+ (lse_atomic_rmw (AtomicRMWOp.Smin) addr src ty flags))
2120
+ (rule 1 (lower (and (use_lse)
2121
+ (has_type (valid_atomic_transaction ty)
2122
+ (atomic_rmw flags (AtomicRmwOp.Umax) addr src))))
2123
+ (lse_atomic_rmw (AtomicRMWOp.Umax) addr src ty flags))
2124
+ (rule 1 (lower (and (use_lse)
2125
+ (has_type (valid_atomic_transaction ty)
2126
+ (atomic_rmw flags (AtomicRmwOp.Umin) addr src))))
2127
+ (lse_atomic_rmw (AtomicRMWOp.Umin) addr src ty flags))
2128
+ (rule 1 (lower (and (use_lse)
2129
+ (has_type (valid_atomic_transaction ty)
2130
+ (atomic_rmw flags (AtomicRmwOp.Sub) addr src))))
2131
+ (lse_atomic_rmw (AtomicRMWOp.Add) addr (sub ty (zero_reg) src) ty flags))
2132
+ (rule 1 (lower (and (use_lse)
2133
+ (has_type (valid_atomic_transaction ty)
2134
+ (atomic_rmw flags (AtomicRmwOp.And) addr src))))
2135
+ (lse_atomic_rmw (AtomicRMWOp.Clr) addr (eon ty src (zero_reg)) ty flags))
2136
+
2137
+
2138
+ (rule (lower (has_type (valid_atomic_transaction ty)
2139
+ (atomic_rmw flags (AtomicRmwOp.Add) addr src)))
2140
+ (atomic_rmw_loop (AtomicRMWLoopOp.Add) addr src ty flags))
2141
+ (rule (lower (has_type (valid_atomic_transaction ty)
2142
+ (atomic_rmw flags (AtomicRmwOp.Sub) addr src)))
2143
+ (atomic_rmw_loop (AtomicRMWLoopOp.Sub) addr src ty flags))
2144
+ (rule (lower (has_type (valid_atomic_transaction ty)
2145
+ (atomic_rmw flags (AtomicRmwOp.And) addr src)))
2146
+ (atomic_rmw_loop (AtomicRMWLoopOp.And) addr src ty flags))
2147
+ (rule (lower (has_type (valid_atomic_transaction ty)
2148
+ (atomic_rmw flags (AtomicRmwOp.Nand) addr src)))
2149
+ (atomic_rmw_loop (AtomicRMWLoopOp.Nand) addr src ty flags))
2150
+ (rule (lower (has_type (valid_atomic_transaction ty)
2151
+ (atomic_rmw flags (AtomicRmwOp.Or) addr src)))
2152
+ (atomic_rmw_loop (AtomicRMWLoopOp.Orr) addr src ty flags))
2153
+ (rule (lower (has_type (valid_atomic_transaction ty)
2154
+ (atomic_rmw flags (AtomicRmwOp.Xor) addr src)))
2155
+ (atomic_rmw_loop (AtomicRMWLoopOp.Eor) addr src ty flags))
2156
+ (rule (lower (has_type (valid_atomic_transaction ty)
2157
+ (atomic_rmw flags (AtomicRmwOp.Smin) addr src)))
2158
+ (atomic_rmw_loop (AtomicRMWLoopOp.Smin) addr src ty flags))
2159
+ (rule (lower (has_type (valid_atomic_transaction ty)
2160
+ (atomic_rmw flags (AtomicRmwOp.Smax) addr src)))
2161
+ (atomic_rmw_loop (AtomicRMWLoopOp.Smax) addr src ty flags))
2162
+ (rule (lower (has_type (valid_atomic_transaction ty)
2163
+ (atomic_rmw flags (AtomicRmwOp.Umin) addr src)))
2164
+ (atomic_rmw_loop (AtomicRMWLoopOp.Umin) addr src ty flags))
2165
+ (rule (lower (has_type (valid_atomic_transaction ty)
2166
+ (atomic_rmw flags (AtomicRmwOp.Umax) addr src)))
2167
+ (atomic_rmw_loop (AtomicRMWLoopOp.Umax) addr src ty flags))
2168
+ (rule (lower (has_type (valid_atomic_transaction ty)
2169
+ (atomic_rmw flags (AtomicRmwOp.Xchg) addr src)))
2170
+ (atomic_rmw_loop (AtomicRMWLoopOp.Xchg) addr src ty flags))
2171
+
2172
+ ;;;; Rules for `AtomicCAS` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2173
+ (rule 1 (lower (and (use_lse)
2174
+ (has_type (valid_atomic_transaction ty)
2175
+ (atomic_cas flags addr src1 src2))))
2176
+ (lse_atomic_cas addr src1 src2 ty flags))
2177
+
2178
+ (rule (lower (and (has_type (valid_atomic_transaction ty)
2179
+ (atomic_cas flags addr src1 src2))))
2180
+ (atomic_cas_loop addr src1 src2 ty flags))
2181
+
2182
+ ;;;; Rules for 'fvdemote' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2183
+ (rule (lower (fvdemote x))
2184
+ (fcvtn x (ScalarSize.Size32)))
2185
+
2186
+
2187
+ ;;;; Rules for `snarrow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2188
+ (rule 1 (lower (has_type (ty_vec128_int ty) (snarrow x y)))
2189
+ (if (zero_value y))
2190
+ (sqxtn x (lane_size ty)))
2191
+
2192
+ (rule 2 (lower (has_type (ty_vec64_int ty) (snarrow x y)))
2193
+ (let ((dst Reg (mov_vec_elem x y 1 0 (VectorSize.Size64x2))))
2194
+ (sqxtn dst (lane_size ty))))
2195
+
2196
+ (rule 0 (lower (has_type (ty_vec128_int ty) (snarrow x y)))
2197
+ (let ((low_half Reg (sqxtn x (lane_size ty)))
2198
+ (result Reg (sqxtn2 low_half y (lane_size ty))))
2199
+ result))
2200
+
2201
+
2202
+ ;;;; Rules for `unarrow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2203
+ (rule 1 (lower (has_type (ty_vec128_int ty) (unarrow x y)))
2204
+ (if (zero_value y))
2205
+ (sqxtun x (lane_size ty)))
2206
+
2207
+ (rule 2 (lower (has_type (ty_vec64_int ty) (unarrow x y)))
2208
+ (let ((dst Reg (mov_vec_elem x y 1 0 (VectorSize.Size64x2))))
2209
+ (sqxtun dst (lane_size ty))))
2210
+
2211
+ (rule 0 (lower (has_type (ty_vec128_int ty) (unarrow x y)))
2212
+ (let ((low_half Reg (sqxtun x (lane_size ty)))
2213
+ (result Reg (sqxtun2 low_half y (lane_size ty))))
2214
+ result))
2215
+
2216
+
2217
+ ;;;; Rules for `uunarrow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2218
+
2219
+ (rule 1 (lower (has_type (ty_vec128_int ty) (uunarrow x y)))
2220
+ (if (zero_value y))
2221
+ (uqxtn x (lane_size ty)))
2222
+
2223
+ (rule 2 (lower (has_type (ty_vec64_int ty) (uunarrow x y)))
2224
+ (let ((dst Reg (mov_vec_elem x y 1 0 (VectorSize.Size64x2))))
2225
+ (uqxtn dst (lane_size ty))))
2226
+
2227
+ (rule 0 (lower (has_type (ty_vec128_int ty) (uunarrow x y)))
2228
+ (let ((low_half Reg (uqxtn x (lane_size ty)))
2229
+ (result Reg (uqxtn2 low_half y (lane_size ty))))
2230
+ result))
2231
+
2232
+ ;;;; Rules for `swiden_low` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2233
+
2234
+ (rule (lower (has_type ty (swiden_low x)))
2235
+ (vec_extend (VecExtendOp.Sxtl) x $false (lane_size ty)))
2236
+
2237
+ ;;;; Rules for `swiden_high` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2238
+
2239
+ (rule 1 (lower (has_type (ty_vec128 ty) (swiden_high x)))
2240
+ (vec_extend (VecExtendOp.Sxtl) x $true (lane_size ty)))
2241
+
2242
+ (rule (lower (has_type ty (swiden_high x)))
2243
+ (if (ty_vec64 ty))
2244
+ (let ((tmp Reg (fpu_move_from_vec x 1 (VectorSize.Size32x2))))
2245
+ (vec_extend (VecExtendOp.Sxtl) tmp $false (lane_size ty))))
2246
+
2247
+ ;;;; Rules for `uwiden_low` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2248
+
2249
+ (rule (lower (has_type ty (uwiden_low x)))
2250
+ (vec_extend (VecExtendOp.Uxtl) x $false (lane_size ty)))
2251
+
2252
+ ;;;; Rules for `uwiden_high` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2253
+
2254
+ (rule 1 (lower (has_type (ty_vec128 ty) (uwiden_high x)))
2255
+ (vec_extend (VecExtendOp.Uxtl) x $true (lane_size ty)))
2256
+
2257
+ (rule (lower (has_type ty (uwiden_high x)))
2258
+ (if (ty_vec64 ty))
2259
+ (let ((tmp Reg (fpu_move_from_vec x 1 (VectorSize.Size32x2))))
2260
+ (vec_extend (VecExtendOp.Uxtl) tmp $false (lane_size ty))))
2261
+
2262
+ ;;;; Rules for `Fence` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2263
+
2264
+ (rule (lower (fence))
2265
+ (side_effect (aarch64_fence)))
2266
+
2267
+ ;;;; Rules for `Debugtrap` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2268
+
2269
+ (rule (lower (debugtrap))
2270
+ (side_effect (brk)))
2271
+
2272
+ ;;;; Rules for `func_addr` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2273
+
2274
+ (rule (lower (func_addr (func_ref_data _ extname _)))
2275
+ (load_ext_name (box_external_name extname) 0))
2276
+
2277
+ ;;;; Rules for `symbol_value` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2278
+
2279
+ (rule (lower (symbol_value (symbol_value_data extname _ offset)))
2280
+ (load_ext_name (box_external_name extname) offset))
2281
+
2282
+ ;;; Rules for `get_{frame,stack}_pointer` and `get_return_address` ;;;;;;;;;;;;;
2283
+
2284
+ (rule (lower (get_frame_pointer))
2285
+ (aarch64_fp))
2286
+
2287
+ (rule (lower (get_stack_pointer))
2288
+ (aarch64_sp))
2289
+
2290
+ (rule (lower (get_return_address))
2291
+ (aarch64_link))
2292
+
2293
+ ;;;; Rules for calls ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2294
+
2295
+ (rule (lower (call (func_ref_data sig_ref extname dist) inputs))
2296
+ (gen_call sig_ref extname dist inputs))
2297
+
2298
+ (rule (lower (call_indirect sig_ref val inputs))
2299
+ (gen_call_indirect sig_ref val inputs))
2300
+
2301
+ ;;;; Rules for `return` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2302
+
2303
+ ;; N.B.: the Ret itself is generated by the ABI.
2304
+ (rule (lower (return args))
2305
+ (lower_return args))
2306
+
2307
+ ;;;; Rules for `return_call` and `return_call_indirect` ;;;;;;;;;;;;;;;;;;;;;;;;
2308
+
2309
+ (rule (lower (return_call (func_ref_data sig_ref extname dist) args))
2310
+ (gen_return_call sig_ref extname dist args))
2311
+
2312
+ (rule (lower (return_call_indirect sig_ref callee args))
2313
+ (gen_return_call_indirect sig_ref callee args))
2314
+
2315
+ ;;;; Rules for loads ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2316
+
2317
+ (rule (lower
2318
+ (has_type $I8 (load flags address offset)))
2319
+ (aarch64_uload8 (amode $I8 address offset) flags))
2320
+ (rule (lower
2321
+ (has_type $I16 (load flags address offset)))
2322
+ (aarch64_uload16 (amode $I16 address offset) flags))
2323
+ (rule (lower
2324
+ (has_type $I32 (load flags address offset)))
2325
+ (aarch64_uload32 (amode $I32 address offset) flags))
2326
+ (rule (lower
2327
+ (has_type $I64 (load flags address offset)))
2328
+ (aarch64_uload64 (amode $I64 address offset) flags))
2329
+ (rule (lower
2330
+ (has_type $F16 (load flags address offset)))
2331
+ (aarch64_fpuload16 (amode $F16 address offset) flags))
2332
+ (rule (lower
2333
+ (has_type $F32 (load flags address offset)))
2334
+ (aarch64_fpuload32 (amode $F32 address offset) flags))
2335
+ (rule (lower
2336
+ (has_type $F64 (load flags address offset)))
2337
+ (aarch64_fpuload64 (amode $F64 address offset) flags))
2338
+ (rule (lower
2339
+ (has_type $F128 (load flags address offset)))
2340
+ (aarch64_fpuload128 (amode $F128 address offset) flags))
2341
+ (rule (lower
2342
+ (has_type $I128 (load flags address offset)))
2343
+ (aarch64_loadp64 (pair_amode address offset) flags))
2344
+ (rule -1 (lower
2345
+ (has_type (ty_vec64 _)
2346
+ (load flags address offset)))
2347
+ (aarch64_fpuload64 (amode $F64 address offset) flags))
2348
+ (rule -3 (lower
2349
+ (has_type (ty_vec128 _)
2350
+ (load flags address offset)))
2351
+ (aarch64_fpuload128 (amode $I8X16 address offset) flags))
2352
+ (rule -2 (lower
2353
+ (has_type (ty_dyn_vec64 _)
2354
+ (load flags address offset)))
2355
+ (aarch64_fpuload64 (amode $F64 address offset) flags))
2356
+ (rule -4 (lower
2357
+ (has_type (ty_dyn_vec128 _)
2358
+ (load flags address offset)))
2359
+ (aarch64_fpuload128 (amode $I8X16 address offset) flags))
2360
+
2361
+ (rule (lower
2362
+ (uload8 flags address offset))
2363
+ (aarch64_uload8 (amode $I8 address offset) flags))
2364
+ (rule (lower
2365
+ (sload8 flags address offset))
2366
+ (aarch64_sload8 (amode $I8 address offset) flags))
2367
+ (rule (lower
2368
+ (uload16 flags address offset))
2369
+ (aarch64_uload16 (amode $I16 address offset) flags))
2370
+ (rule (lower
2371
+ (sload16 flags address offset))
2372
+ (aarch64_sload16 (amode $I16 address offset) flags))
2373
+ (rule (lower
2374
+ (uload32 flags address offset))
2375
+ (aarch64_uload32 (amode $I32 address offset) flags))
2376
+ (rule (lower
2377
+ (sload32 flags address offset))
2378
+ (aarch64_sload32 (amode $I32 address offset) flags))
2379
+
2380
+ (rule (lower
2381
+ (sload8x8 flags address offset))
2382
+ (vec_extend (VecExtendOp.Sxtl)
2383
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2384
+ $false
2385
+ (ScalarSize.Size16)))
2386
+ (rule (lower
2387
+ (uload8x8 flags address offset))
2388
+ (vec_extend (VecExtendOp.Uxtl)
2389
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2390
+ $false
2391
+ (ScalarSize.Size16)))
2392
+ (rule (lower
2393
+ (sload16x4 flags address offset))
2394
+ (vec_extend (VecExtendOp.Sxtl)
2395
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2396
+ $false
2397
+ (ScalarSize.Size32)))
2398
+ (rule (lower
2399
+ (uload16x4 flags address offset))
2400
+ (vec_extend (VecExtendOp.Uxtl)
2401
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2402
+ $false
2403
+ (ScalarSize.Size32)))
2404
+ (rule (lower
2405
+ (sload32x2 flags address offset))
2406
+ (vec_extend (VecExtendOp.Sxtl)
2407
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2408
+ $false
2409
+ (ScalarSize.Size64)))
2410
+ (rule (lower
2411
+ (uload32x2 flags address offset))
2412
+ (vec_extend (VecExtendOp.Uxtl)
2413
+ (aarch64_fpuload64 (amode $F64 address offset) flags)
2414
+ $false
2415
+ (ScalarSize.Size64)))
2416
+
2417
+ ;;;; Rules for stores ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2418
+
2419
+ (rule (lower
2420
+ (store flags value @ (value_type $I8) address offset))
2421
+ (side_effect
2422
+ (aarch64_store8 (amode $I8 address offset) flags value)))
2423
+ (rule (lower
2424
+ (store flags value @ (value_type $I16) address offset))
2425
+ (side_effect
2426
+ (aarch64_store16 (amode $I16 address offset) flags value)))
2427
+ (rule (lower
2428
+ (store flags value @ (value_type $I32) address offset))
2429
+ (side_effect
2430
+ (aarch64_store32 (amode $I32 address offset) flags value)))
2431
+ (rule (lower
2432
+ (store flags value @ (value_type $I64) address offset))
2433
+ (side_effect
2434
+ (aarch64_store64 (amode $I64 address offset) flags value)))
2435
+
2436
+ (rule (lower
2437
+ (istore8 flags value address offset))
2438
+ (side_effect
2439
+ (aarch64_store8 (amode $I8 address offset) flags value)))
2440
+ (rule (lower
2441
+ (istore16 flags value address offset))
2442
+ (side_effect
2443
+ (aarch64_store16 (amode $I16 address offset) flags value)))
2444
+ (rule (lower
2445
+ (istore32 flags value address offset))
2446
+ (side_effect
2447
+ (aarch64_store32 (amode $I32 address offset) flags value)))
2448
+
2449
+ (rule (lower
2450
+ (store flags value @ (value_type $F16) address offset))
2451
+ (side_effect
2452
+ (aarch64_fpustore16 (amode $F16 address offset) flags value)))
2453
+ (rule (lower
2454
+ (store flags value @ (value_type $F32) address offset))
2455
+ (side_effect
2456
+ (aarch64_fpustore32 (amode $F32 address offset) flags value)))
2457
+ (rule (lower
2458
+ (store flags value @ (value_type $F64) address offset))
2459
+ (side_effect
2460
+ (aarch64_fpustore64 (amode $F64 address offset) flags value)))
2461
+ (rule (lower
2462
+ (store flags value @ (value_type $F128) address offset))
2463
+ (side_effect
2464
+ (aarch64_fpustore128 (amode $F128 address offset) flags value)))
2465
+
2466
+ (rule (lower
2467
+ (store flags value @ (value_type $I128) address offset))
2468
+ (side_effect
2469
+ (aarch64_storep64 (pair_amode address offset) flags
2470
+ (value_regs_get value 0)
2471
+ (value_regs_get value 1))))
2472
+
2473
+ (rule -1 (lower
2474
+ (store flags value @ (value_type (ty_vec64 _)) address offset))
2475
+ (side_effect
2476
+ (aarch64_fpustore64 (amode $F64 address offset) flags value)))
2477
+ (rule -3 (lower
2478
+ (store flags value @ (value_type (ty_vec128 _)) address offset))
2479
+ (side_effect
2480
+ (aarch64_fpustore128 (amode $I8X16 address offset) flags value)))
2481
+ (rule -2 (lower
2482
+ (store flags value @ (value_type (ty_dyn_vec64 _)) address offset))
2483
+ (side_effect
2484
+ (aarch64_fpustore64 (amode $F64 address offset) flags value)))
2485
+ (rule -4 (lower
2486
+ (store flags value @ (value_type (ty_dyn_vec128 _)) address offset))
2487
+ (side_effect
2488
+ (aarch64_fpustore128 (amode $I8X16 address offset) flags value)))
2489
+
2490
+ ;;; Rules for `{get,set}_pinned_reg` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2491
+
2492
+ (rule (lower (get_pinned_reg))
2493
+ (mov_from_preg (preg_pinned)))
2494
+
2495
+ (rule (lower (set_pinned_reg val))
2496
+ (side_effect (write_pinned_reg val)))
2497
+
2498
+ ;;; Rules for `bitcast` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2499
+
2500
+ ; SIMD&FP <=> SIMD&FP
2501
+ (rule 7 (lower (has_type (ty_float_or_vec _) (bitcast _ x @ (value_type (ty_float_or_vec _)))))
2502
+ x)
2503
+
2504
+ ; I128 => SIMD&FP
2505
+ (rule 6 (lower (has_type (ty_float_or_vec _) (bitcast _ x @ (value_type $I128))))
2506
+ (mov_to_vec (mov_to_fpu (value_regs_get x 0) (ScalarSize.Size64)) (value_regs_get x 1) 1 (VectorSize.Size64x2)))
2507
+
2508
+ ; SIMD&FP => I128
2509
+ (rule 5 (lower (has_type $I128 (bitcast _ x @ (value_type (ty_float_or_vec _)))))
2510
+ (value_regs (mov_from_vec x 0 (ScalarSize.Size64)) (mov_from_vec x 1 (ScalarSize.Size64))))
2511
+
2512
+ ; GPR => SIMD&FP
2513
+ (rule 4 (lower (has_type (ty_float_or_vec _) (bitcast _ x @ (value_type in_ty))))
2514
+ (if (ty_int_ref_scalar_64 in_ty))
2515
+ (mov_to_fpu x (scalar_size in_ty)))
2516
+
2517
+ ; SIMD&FP => GPR
2518
+ (rule 3 (lower (has_type out_ty (bitcast _ x @ (value_type (fits_in_64 (ty_float_or_vec _))))))
2519
+ (if (ty_int_ref_scalar_64 out_ty))
2520
+ (mov_from_vec x 0 (scalar_size out_ty)))
2521
+
2522
+ ; GPR <=> GPR
2523
+ (rule 1 (lower (has_type out_ty (bitcast _ x @ (value_type in_ty))))
2524
+ (if (ty_int_ref_scalar_64 out_ty))
2525
+ (if (ty_int_ref_scalar_64 in_ty))
2526
+ x)
2527
+ (rule 0 (lower (has_type $I128 (bitcast _ x @ (value_type $I128)))) x)
2528
+
2529
+ ;;; Rules for `extractlane` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2530
+
2531
+ ;; extractlane with lane 0 can pass through the value unchanged; upper
2532
+ ;; bits are undefined when a narrower type is in a wider register.
2533
+ (rule 2 (lower (has_type (ty_scalar_float _) (extractlane val (u8_from_uimm8 0))))
2534
+ val)
2535
+
2536
+ (rule 0 (lower (has_type (ty_int ty)
2537
+ (extractlane val
2538
+ (u8_from_uimm8 lane))))
2539
+ (mov_from_vec val lane (scalar_size ty)))
2540
+
2541
+ (rule 1 (lower (has_type (ty_scalar_float ty)
2542
+ (extractlane val @ (value_type vty)
2543
+ (u8_from_uimm8 lane))))
2544
+ (fpu_move_from_vec val lane (vector_size vty)))
2545
+
2546
+ ;;; Rules for `insertlane` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2547
+
2548
+ (rule 1 (lower (insertlane vec @ (value_type vty)
2549
+ val @ (value_type (ty_int _))
2550
+ (u8_from_uimm8 lane)))
2551
+ (mov_to_vec vec val lane (vector_size vty)))
2552
+
2553
+ (rule (lower (insertlane vec @ (value_type vty)
2554
+ val @ (value_type (ty_scalar_float _))
2555
+ (u8_from_uimm8 lane)))
2556
+ (mov_vec_elem vec val lane 0 (vector_size vty)))
2557
+
2558
+ ;;; Rules for `stack_addr` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2559
+
2560
+ (rule (lower (stack_addr stack_slot offset))
2561
+ (compute_stack_addr stack_slot offset))
2562
+
2563
+ ;;; Rules for `vhigh_bits` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2564
+
2565
+ ;; All three sequences use one integer temporary and two vector
2566
+ ;; temporaries. The shift is done early so as to give the register
2567
+ ;; allocator the possibility of using the same reg for `tmp_v1` and
2568
+ ;; `src_v` in the case that this is the last use of `src_v`. See
2569
+ ;; https://github.com/WebAssembly/simd/pull/201 for the background and
2570
+ ;; derivation of these sequences. Alternative sequences are discussed
2571
+ ;; in https://github.com/bytecodealliance/wasmtime/issues/2296,
2572
+ ;; although they are not used here.
2573
+
2574
+ (rule (lower (vhigh_bits vec @ (value_type $I8X16)))
2575
+ (let (
2576
+ ;; Replicate the MSB of each of the 16 byte lanes across
2577
+ ;; the whole lane (sshr is an arithmetic right shift).
2578
+ (shifted Reg (sshr_vec_imm vec 7 (VectorSize.Size8x16)))
2579
+ ;; Bitwise-and with a mask
2580
+ ;; `0x80402010_08040201_80402010_08040201` to get the bit
2581
+ ;; in the proper location for each group of 8 lanes.
2582
+ (anded Reg (and_vec shifted (constant_f128 0x80402010_08040201_80402010_08040201) (VectorSize.Size8x16)))
2583
+ ;; Produce a version of `anded` with upper 8 lanes and
2584
+ ;; lower 8 lanes swapped.
2585
+ (anded_swapped Reg (vec_extract anded anded 8))
2586
+ ;; Zip together the two; with the above this produces the lane permutation:
2587
+ ;; 15 7 14 6 13 5 12 4 11 3 10 2 9 1 8 0
2588
+ (zipped Reg (zip1 anded anded_swapped (VectorSize.Size8x16)))
2589
+ ;; Add 16-bit lanes together ("add across vector"), so we
2590
+ ;; get, in the low 16 bits, 15+14+...+8 in the high byte
2591
+ ;; and 7+6+...+0 in the low byte. This effectively puts
2592
+ ;; the 16 MSBs together, giving our results.
2593
+ ;;
2594
+ ;; N.B.: `Size16x8` is not a typo!
2595
+ (result Reg (addv zipped (VectorSize.Size16x8))))
2596
+ (mov_from_vec result 0 (ScalarSize.Size16))))
2597
+
2598
+ (rule (lower (vhigh_bits vec @ (value_type $I16X8)))
2599
+ (let (
2600
+ ;; Replicate the MSB of each of the 8 16-bit lanes across
2601
+ ;; the whole lane (sshr is an arithmetic right shift).
2602
+ (shifted Reg (sshr_vec_imm vec 15 (VectorSize.Size16x8)))
2603
+ ;; Bitwise-and with a mask
2604
+ ;; `0x0080_0040_0020_0010_0008_0004_0002_0001` to get the
2605
+ ;; bit in the proper location for each group of 4 lanes.
2606
+ (anded Reg (and_vec shifted (constant_f128 0x0080_0040_0020_0010_0008_0004_0002_0001) (VectorSize.Size16x8)))
2607
+ ;; Add lanes together to get the 8 MSBs in the low byte.
2608
+ (result Reg (addv anded (VectorSize.Size16x8))))
2609
+ (mov_from_vec result 0 (ScalarSize.Size16))))
2610
+
2611
+ (rule (lower (vhigh_bits vec @ (value_type $I32X4)))
2612
+ (let (
2613
+ ;; Replicate the MSB of each of the 4 32-bit lanes across
2614
+ ;; the whole lane (sshr is an arithmetic right shift).
2615
+ (shifted Reg (sshr_vec_imm vec 31 (VectorSize.Size32x4)))
2616
+ ;; Bitwise-and with a mask
2617
+ ;; `0x00000008_00000004_00000002_00000001` to get the bit
2618
+ ;; in the proper location for each group of 4 lanes.
2619
+ (anded Reg (and_vec shifted (constant_f128 0x00000008_00000004_00000002_00000001) (VectorSize.Size32x4)))
2620
+ ;; Add lanes together to get the 4 MSBs in the low byte.
2621
+ (result Reg (addv anded (VectorSize.Size32x4))))
2622
+ (mov_from_vec result 0 (ScalarSize.Size32))))
2623
+
2624
+ (rule (lower (vhigh_bits vec @ (value_type $I64X2)))
2625
+ (let (
2626
+ ;; Grab the MSB out of each of the lanes, right-shift to
2627
+ ;; LSB, and add with a left-shift of upper lane's MSB back
2628
+ ;; to bit 1. the whole lane (sshr is an arithmetic right
2629
+ ;; shift).
2630
+ (upper_msb Reg (mov_from_vec vec 1 (ScalarSize.Size64)))
2631
+ (lower_msb Reg (mov_from_vec vec 0 (ScalarSize.Size64)))
2632
+ (upper_msb Reg (lsr_imm $I64 upper_msb (imm_shift_from_u8 63)))
2633
+ (lower_msb Reg (lsr_imm $I64 lower_msb (imm_shift_from_u8 63))))
2634
+ (add_shift $I64 lower_msb upper_msb (lshl_from_u64 $I64 1))))
2635
+
2636
+ ;;; Rules for `uadd_overflow_trap` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2637
+
2638
+ (rule (lower (has_type (fits_in_64 ty) (uadd_overflow_trap a b tc)))
2639
+ (trap_if_overflow (add_with_flags_paired ty a b) tc))
2640
+
2641
+ ;;;; Helpers for `*_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2642
+
2643
+ ;; put a narrow value into a register and sign-/zero-extend depending on the ArgumentExtension
2644
+ (decl put_in_reg_ext32 (Value ArgumentExtension) Reg)
2645
+ (rule (put_in_reg_ext32 val (ArgumentExtension.Sext))
2646
+ (put_in_reg_sext32 val))
2647
+ (rule (put_in_reg_ext32 val (ArgumentExtension.Uext))
2648
+ (put_in_reg_zext32 val))
2649
+
2650
+ ;; For narrow values emit a normal op with both arguments zero/sign extended.
2651
+ ;; Then check if the output is the same as itself zero/sign extended from the narrower width.
2652
+ (decl overflow_op_small (Type Value Value ArgumentExtension ALUOp) InstOutput)
2653
+ (rule (overflow_op_small ty a b arg_ext alu_op)
2654
+ (let ((extend ExtendOp (lower_extend_op ty arg_ext))
2655
+
2656
+ ;; Instead of emitting two `{u,s}xt{b,h}` we do one as an instruction and
2657
+ ;; the other as an extend operation in the alu_op.
2658
+ ;;
2659
+ ;; uxtb a_ext, a
2660
+ ;; alu_op out, a_ext, b, {u,s}xtb
2661
+ ;; cmp out, out, {u,s}xtb
2662
+ ;; cset out_of, ne
2663
+ (a_ext Reg (put_in_reg_ext32 a arg_ext))
2664
+ (out Reg (alu_rrr_extend alu_op ty a_ext b extend))
2665
+ (out_of Reg (with_flags_reg
2666
+ (cmp_extend (OperandSize.Size32) out out extend)
2667
+ (cset (Cond.Ne)))))
2668
+ (output_pair
2669
+ (value_reg out)
2670
+ (value_reg out_of))))
2671
+
2672
+ ;; For register sized op's just emit a op+cset, without further masking.
2673
+ ;;
2674
+ ;; op out, a, b
2675
+ ;; cset out_of, cond
2676
+ ;;
2677
+ ;; conds expected:
2678
+ ;; Hs: Carry set, unsigned overflow; Vs: Signed Over-/Underflow;
2679
+ ;; Lo: Carry clear, meaning no unsigned overflow.
2680
+ ;; (this is because subtraction is implemented as an add with the two's complement value on aarch64, meaning there is a sub-overflow if the add does not overflow)
2681
+ (decl overflow_op_normal (Type Value Value ALUOp Cond) InstOutput)
2682
+ (rule (overflow_op_normal ty a b alu_op cond)
2683
+ (let ((out ValueRegs
2684
+ (with_flags
2685
+ (alu_rrr_with_flags_paired ty a b alu_op)
2686
+ (cset_paired cond))))
2687
+ (output_pair
2688
+ (value_regs_get out 0)
2689
+ (value_regs_get out 1))))
2690
+
2691
+ ;; For 128bit integers emit, for example, add+adcs+cset
2692
+ (decl overflow_op_128 (Value Value ALUOp ALUOp Cond) InstOutput)
2693
+ (rule (overflow_op_128 x y alu_op1 alu_op2 cond)
2694
+ (let
2695
+ ;; Get the high/low registers for `x`.
2696
+ ((x_regs ValueRegs x)
2697
+ (x_lo Reg (value_regs_get x_regs 0))
2698
+ (x_hi Reg (value_regs_get x_regs 1))
2699
+
2700
+ ;; Get the high/low registers for `y`.
2701
+ (y_regs ValueRegs y)
2702
+ (y_lo Reg (value_regs_get y_regs 0))
2703
+ (y_hi Reg (value_regs_get y_regs 1)))
2704
+ ;; cannot use the with_flags helper here but it should be fine right now
2705
+ (let
2706
+ ((lo_inst ProducesFlags (alu_rrr_with_flags_paired $I64 x_lo y_lo alu_op1))
2707
+ (hi_inst ConsumesAndProducesFlags (alu_rrr_with_flags_chained $I64 x_hi y_hi alu_op2))
2708
+ (of_inst ConsumesFlags (cset_paired cond))
2709
+
2710
+ (result MultiReg (with_flags_chained lo_inst hi_inst of_inst)))
2711
+ (multi_reg_to_pair_and_single result)))
2712
+ )
2713
+
2714
+ ;;;; Rules for `uadd_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2715
+
2716
+ ;; For values smaller than a register, we do a normal `add` with both arguments
2717
+ ;; zero extended. We then check if the output is the same as itself zero extended.
2718
+ (rule 1 (lower (has_type (fits_in_16 ty) (uadd_overflow a b)))
2719
+ (overflow_op_small ty a b (ArgumentExtension.Uext) (ALUOp.Add)))
2720
+
2721
+ ;; For register sized add's we just emit a adds+cset, without further masking.
2722
+ (rule 2 (lower (has_type (ty_32_or_64 ty) (uadd_overflow a b)))
2723
+ (overflow_op_normal ty a b (ALUOp.AddS) (Cond.Hs)))
2724
+
2725
+ ;; For 128bit integers we emit add+adcs+cset
2726
+ (rule 0 (lower (has_type $I128 (uadd_overflow x y)))
2727
+ (overflow_op_128 x y (ALUOp.AddS) (ALUOp.AdcS) (Cond.Hs)))
2728
+
2729
+ ;;;; Rules for `sadd_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2730
+
2731
+ ;; sxt{b,h} a_ext, a
2732
+ ;; add out, a_ext, b, sxt{b,h}
2733
+ ;; cmp out, out, sxt{b,h}
2734
+ ;; cset of, ne
2735
+ (rule 1 (lower (has_type (fits_in_16 ty) (sadd_overflow a b)))
2736
+ (overflow_op_small ty a b (ArgumentExtension.Sext) (ALUOp.Add)))
2737
+
2738
+ ;; adds a, b
2739
+ ;; cset of, vs
2740
+ (rule 2 (lower (has_type (ty_32_or_64 ty) (sadd_overflow a b)))
2741
+ (overflow_op_normal ty a b (ALUOp.AddS) (Cond.Vs)))
2742
+
2743
+ ;; adds x_lo, y_lo
2744
+ ;; addcs x_hi, y_hi
2745
+ ;; cset of, vs
2746
+ (rule 0 (lower (has_type $I128 (sadd_overflow x y)))
2747
+ (overflow_op_128 x y (ALUOp.AddS) (ALUOp.AdcS) (Cond.Vs)))
2748
+
2749
+ ;;;; Rules for `usub_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2750
+
2751
+ ;; uxt{b,h} a_ext, a
2752
+ ;; sub out, a_ext, b, ext{b,h}
2753
+ ;; cmp out, out, uxt{b,h}
2754
+ ;; cset of, ne
2755
+ (rule 1 (lower (has_type (fits_in_16 ty) (usub_overflow a b)))
2756
+ (overflow_op_small ty a b (ArgumentExtension.Uext) (ALUOp.Sub)))
2757
+
2758
+ ;; subs a, b
2759
+ ;; cset of, lo
2760
+ (rule 2 (lower (has_type (ty_32_or_64 ty) (usub_overflow a b)))
2761
+ (overflow_op_normal ty a b (ALUOp.SubS) (Cond.Lo)))
2762
+
2763
+ ;; subs x_lo, y_lo
2764
+ ;; sbcs x_hi, y_hi
2765
+ ;; cset of, lo
2766
+ (rule 0 (lower (has_type $I128 (usub_overflow x y)))
2767
+ (overflow_op_128 x y (ALUOp.SubS) (ALUOp.SbcS) (Cond.Lo)))
2768
+
2769
+ ;;;; Rules for `ssub_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2770
+
2771
+ ;; sxt{b,h} a_ext, a
2772
+ ;; sub out, a_ext, b, sxt{b,h}
2773
+ ;; cmp out, out, sxt{b,h}
2774
+ ;; cset of, ne
2775
+ (rule 1 (lower (has_type (fits_in_16 ty) (ssub_overflow a b)))
2776
+ (overflow_op_small ty a b (ArgumentExtension.Sext) (ALUOp.Sub)))
2777
+
2778
+ ;; subs a, b
2779
+ ;; cset of, vs
2780
+ (rule 2 (lower (has_type (ty_32_or_64 ty) (ssub_overflow a b)))
2781
+ (overflow_op_normal ty a b (ALUOp.SubS) (Cond.Vs)))
2782
+
2783
+ ;; subs x_lo, y_lo
2784
+ ;; sbcs x_hi, y_hi
2785
+ ;; cset of, vs
2786
+ (rule 0 (lower (has_type $I128 (ssub_overflow x y)))
2787
+ (overflow_op_128 x y (ALUOp.SubS) (ALUOp.SbcS) (Cond.Vs)))
2788
+
2789
+ ;;;; Rules for `umul_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2790
+
2791
+ ;; uxt{b,h} a_ext, a
2792
+ ;; uxt{b,h} b_ext, b
2793
+ ;; mul out, a_ext, b_ext
2794
+ ;; cmp out, out, uxt{b,h}
2795
+ ;; cset of, ne
2796
+ (rule 1 (lower (has_type (fits_in_16 ty) (umul_overflow a b)))
2797
+ (let ((extend ExtendOp (lower_extend_op ty (ArgumentExtension.Uext)))
2798
+
2799
+ (a_uext Reg (put_in_reg_zext32 a))
2800
+ (b_uext Reg (put_in_reg_zext32 b))
2801
+ (out Reg (madd ty a_uext b_uext (zero_reg)))
2802
+ (out_of Reg (with_flags_reg
2803
+ (cmp_extend (OperandSize.Size32) out out extend)
2804
+ (cset (Cond.Ne)))))
2805
+ (output_pair
2806
+ (value_reg out)
2807
+ (value_reg out_of))))
2808
+
2809
+ ;; umull out, a, b
2810
+ ;; cmp out, out, uxtw
2811
+ ;; cset of, ne
2812
+ (rule 2 (lower (has_type $I32 (umul_overflow a b)))
2813
+ (let (
2814
+ (out Reg (umaddl a b (zero_reg)))
2815
+ (out_of Reg (with_flags_reg
2816
+ (cmp_extend (OperandSize.Size64) out out (ExtendOp.UXTW))
2817
+ (cset (Cond.Ne)))))
2818
+ (output_pair
2819
+ (value_reg out)
2820
+ (value_reg out_of))))
2821
+
2822
+ ;; mul out, a, b
2823
+ ;; umulh tmp, a, b
2824
+ ;; cmp tmp, #0
2825
+ ;; cset of, ne
2826
+ (rule 2 (lower (has_type $I64 (umul_overflow a b)))
2827
+ (let (
2828
+ (out Reg (madd $I64 a b (zero_reg)))
2829
+ (tmp Reg (umulh $I64 a b))
2830
+ (out_of Reg (with_flags_reg
2831
+ (cmp64_imm tmp (u8_into_imm12 0))
2832
+ (cset (Cond.Ne)))))
2833
+ (output_pair
2834
+ (value_reg out)
2835
+ (value_reg out_of))))
2836
+
2837
+ ;;;; Rules for `smul_overflow` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2838
+
2839
+ ;; sxt{b,h} a_ext, a
2840
+ ;; sxt{b,h} b_ext, b
2841
+ ;; mul out, a_ext, b_ext
2842
+ ;; cmp out, out, sxt{b,h}
2843
+ ;; cset of, ne
2844
+ (rule 1 (lower (has_type (fits_in_16 ty) (smul_overflow a b)))
2845
+ (let ((extend ExtendOp (lower_extend_op ty (ArgumentExtension.Sext)))
2846
+
2847
+ (a_sext Reg (put_in_reg_sext32 a))
2848
+ (b_sext Reg (put_in_reg_sext32 b))
2849
+ (out Reg (madd ty a_sext b_sext (zero_reg)))
2850
+ (out_of Reg (with_flags_reg
2851
+ (cmp_extend (OperandSize.Size32) out out extend)
2852
+ (cset (Cond.Ne)))))
2853
+ (output_pair
2854
+ (value_reg out)
2855
+ (value_reg out_of))))
2856
+
2857
+ ;; smull out, a, b
2858
+ ;; cmp out, out, sxtw
2859
+ ;; cset of, ne
2860
+ (rule 2 (lower (has_type $I32 (smul_overflow a b)))
2861
+ (let (
2862
+ (out Reg (smaddl a b (zero_reg)))
2863
+ (out_of Reg (with_flags_reg
2864
+ (cmp_extend (OperandSize.Size64) out out (ExtendOp.SXTW))
2865
+ (cset (Cond.Ne)))))
2866
+ (output_pair
2867
+ (value_reg out)
2868
+ (value_reg out_of))))
2869
+
2870
+ ;; mul out, a, b
2871
+ ;; smulh tmp, a, b
2872
+ ;; cmp tmp, out, ASR #63
2873
+ ;; cset of, ne
2874
+ (rule 2 (lower (has_type $I64 (smul_overflow a b)))
2875
+ (let (
2876
+ (out Reg (madd $I64 a b (zero_reg)))
2877
+ (tmp Reg (smulh $I64 a b))
2878
+ (out_of Reg (with_flags_reg
2879
+ (cmp_rr_shift_asr (OperandSize.Size64) tmp out 63)
2880
+ (cset (Cond.Ne)))))
2881
+ (output_pair
2882
+ (value_reg out)
2883
+ (value_reg out_of))))
2884
+
2885
+ ;;; Rules for `tls_value` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2886
+
2887
+ (rule (lower (has_type (tls_model (TlsModel.ElfGd)) (tls_value (symbol_value_data name _ _))))
2888
+ (elf_tls_get_addr name))
2889
+
2890
+ (rule (lower (has_type (tls_model (TlsModel.Macho)) (tls_value (symbol_value_data name _ _))))
2891
+ (macho_tls_get_addr name))
2892
+
2893
+ ;;; Rules for `fvpromote_low` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2894
+
2895
+ (rule (lower (fvpromote_low val))
2896
+ (vec_rr_long (VecRRLongOp.Fcvtl32) val $false))
2897
+
2898
+ ;;; Rules for `brif` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2899
+
2900
+ ;; `brif` following `icmp`
2901
+ (rule (lower_branch (brif (maybe_uextend (icmp cc x @ (value_type ty) y)) _ _) (two_targets taken not_taken))
2902
+ (let ((comparison FlagsAndCC (lower_icmp_into_flags cc x y ty))
2903
+ (cond Cond (cond_code (flags_and_cc_cc comparison))))
2904
+ (emit_side_effect
2905
+ (with_flags_side_effect (flags_and_cc_flags comparison)
2906
+ (cond_br taken
2907
+ not_taken
2908
+ (cond_br_cond cond))))))
2909
+
2910
+ ;; `brif` following `fcmp`
2911
+ (rule (lower_branch (brif (maybe_uextend (fcmp cc x @ (value_type (ty_scalar_float ty)) y)) _ _) (two_targets taken not_taken))
2912
+ (let ((cond Cond (fp_cond_code cc)))
2913
+ (emit_side_effect
2914
+ (with_flags_side_effect (fpu_cmp (scalar_size ty) x y)
2915
+ (cond_br taken not_taken
2916
+ (cond_br_cond cond))))))
2917
+
2918
+ ;; standard `brif`
2919
+ (rule -1 (lower_branch (brif c @ (value_type $I128) _ _) (two_targets taken not_taken))
2920
+ (let ((flags ProducesFlags (flags_to_producesflags c))
2921
+ (c ValueRegs (put_in_regs c))
2922
+ (c_lo Reg (value_regs_get c 0))
2923
+ (c_hi Reg (value_regs_get c 1))
2924
+ (rt Reg (orr $I64 c_lo c_hi)))
2925
+ (emit_side_effect
2926
+ (with_flags_side_effect flags
2927
+ (cond_br taken not_taken (cond_br_not_zero rt))))))
2928
+ (rule -2 (lower_branch (brif c @ (value_type ty) _ _) (two_targets taken not_taken))
2929
+ (if (ty_int_ref_scalar_64 ty))
2930
+ (let ((flags ProducesFlags (flags_to_producesflags c))
2931
+ (rt Reg (put_in_reg_zext64 c)))
2932
+ (emit_side_effect
2933
+ (with_flags_side_effect flags
2934
+ (cond_br taken not_taken (cond_br_not_zero rt))))))
2935
+
2936
+ ;; Special lowerings for `tbnz` - "Test bit and Branch if Nonzero"
2937
+ (rule 1 (lower_branch (brif (band x @ (value_type ty) (u64_from_iconst n)) _ _)
2938
+ (two_targets taken not_taken))
2939
+ (if-let bit (test_and_compare_bit_const ty n))
2940
+ (emit_side_effect (tbnz taken not_taken x bit)))
2941
+
2942
+ ;; Special lowering for `tbz` - "Test bit and Branch if Zero"
2943
+ (rule 1 (lower_branch (brif (icmp (IntCC.Equal)
2944
+ (band x @ (value_type (fits_in_64 ty))
2945
+ (u64_from_iconst n))
2946
+ (u64_from_iconst 0)) _ _)
2947
+ (two_targets taken not_taken))
2948
+ (if-let bit (test_and_compare_bit_const ty n))
2949
+ (emit_side_effect (tbz taken not_taken x bit)))
2950
+
2951
+ (decl pure partial test_and_compare_bit_const (Type u64) u8)
2952
+ (extern constructor test_and_compare_bit_const test_and_compare_bit_const)
2953
+
2954
+ ;;; Rules for `jump` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2955
+
2956
+ (rule (lower_branch (jump _) (single_target label))
2957
+ (emit_side_effect (aarch64_jump label)))
2958
+
2959
+ ;;; Rules for `br_table` ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2960
+
2961
+ ;; `targets` contains the default target with the list of branch targets
2962
+ ;; concatenated.
2963
+ (rule (lower_branch (br_table idx _) (jump_table_targets default targets))
2964
+ (let ((jt_size u32 (jump_table_size targets))
2965
+ (_ InstOutput (side_effect
2966
+ (emit_island (targets_jt_space targets))))
2967
+ (ridx Reg (put_in_reg_zext32 idx)))
2968
+ (br_table_impl (u32_as_u64 jt_size) ridx default targets)))