wasmtime 24.0.0 → 25.0.0

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