mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-31 00:57:24 +00:00
![]() Dec negation was implemented across gen-dev, gen-llvm, gen-wasm as a call to the compiled zig function `bitcode::DEC_NEGATE`. f32 and f64 negation were implemented already for gen-llvm, gen-wasm. for gen-dev x86_64, float negation is implemented by flipping the sign bit, which means `xorps` for f32, and `xorpd` for f64 for gen-dev aarch64, there is conveniently a `fneg` instruction |
||
---|---|---|
.. | ||
benches | ||
src | ||
build.rs | ||
Cargo.toml | ||
README.md |
Running our CodeGen tests
Our code generation tests are all in this crate. Feature flags are used to run the tests with a specific backend. For convenience, some aliases are added in .cargo/config
:
[alias]
test-gen-llvm = "test -p test_gen"
test-gen-dev = "test -p test_gen --no-default-features --features gen-dev"
test-gen-wasm = "test -p test_gen --no-default-features --features gen-wasm"
So we can run:
cargo test-gen-llvm
To run the gen tests with the LLVM backend. To filter tests, append a filter like so:
> cargo test-gen-wasm wasm_str::small
Finished test [unoptimized + debuginfo] target(s) in 0.13s
Running src/tests.rs (target/debug/deps/test_gen-b4ad63a9dd50f050)
running 2 tests
test wasm_str::small_str_literal ... ok
test wasm_str::small_str_zeroed_literal ... ok