* this requires upgrading to wasmparser 0.67.0. * There are no CLIF side changes because the CLIF `select` instruction is polymorphic enough. * on aarch64, there is unfortunately no conditional-move (csel) instruction on vectors. This patch adds a synthetic instruction `VecCSel` which *does* behave like that. At emit time, this is emitted as an if-then-else diamond (4 insns). * aarch64 implementation is otherwise straightforwards.
40 lines
1.4 KiB
TOML
40 lines
1.4 KiB
TOML
[package]
|
|
name = "cranelift-wasm"
|
|
version = "0.68.0"
|
|
authors = ["The Cranelift Project Developers"]
|
|
description = "Translator from WebAssembly to Cranelift IR"
|
|
documentation = "https://docs.rs/cranelift-wasm"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
categories = ["no-std", "wasm"]
|
|
readme = "README.md"
|
|
keywords = ["webassembly", "wasm"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
wasmparser = { version = "0.67.0", default-features = false }
|
|
cranelift-codegen = { path = "../codegen", version = "0.68.0", default-features = false }
|
|
cranelift-entity = { path = "../entity", version = "0.68.0" }
|
|
cranelift-frontend = { path = "../frontend", version = "0.68.0", default-features = false }
|
|
hashbrown = { version = "0.9.1", optional = true }
|
|
itertools = "0.9.0"
|
|
log = { version = "0.4.6", default-features = false }
|
|
serde = { version = "1.0.94", features = ["derive"], optional = true }
|
|
smallvec = "1.0.0"
|
|
thiserror = "1.0.4"
|
|
|
|
[dev-dependencies]
|
|
wat = "1.0.23"
|
|
target-lexicon = "0.11"
|
|
# Enable the riscv feature for cranelift-codegen, as some tests require it
|
|
cranelift-codegen = { path = "../codegen", version = "0.68.0", default-features = false, features = ["riscv"] }
|
|
|
|
[features]
|
|
default = ["std"]
|
|
std = ["cranelift-codegen/std", "cranelift-frontend/std"]
|
|
core = ["hashbrown", "cranelift-codegen/core", "cranelift-frontend/core"]
|
|
enable-serde = ["serde"]
|
|
|
|
[badges]
|
|
maintenance = { status = "experimental" }
|