-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:E-easyIssues suitable for newcomers to investigate, including Rust newcomers!Issues suitable for newcomers to investigate, including Rust newcomers!good first issueIssues that are good for new contributors to tackle!Issues that are good for new contributors to tackle!
Description
👋 Hey,
.clif Test Case
test interpret
function %simd_ineg_i64x2(i64x2) -> i64x2 {
block0(v0: i64x2):
v1 = ineg v0
return v1
}
; run: %simd_ineg_i64x2([0 1]) == [0 -1]
Steps to Reproduce
cd craneliftcargo run -- test ./the-above.clif
Expected Results
The test to pass!
Actual Results
ERROR cranelift_filetests::concurrent > FAIL: interpret
FAIL ./lmao.clif: interpret
Caused by:
unexpected trap: StepError(ValueError(InvalidType(Integer, types::I64X2)))
1 tests
Error: 1 failure
It looks like the ineg instruction in the interpreter is implemented for scalar values but not for SIMD!
Versions and Environment
Cranelift version or commit: main
Operating system: Linux
Architecture: X86_64 (but it could be any really!)
Extra Info
I would suspect that this goes wrong in DataValueExt::int(0, ctrl_ty), that operation seems to not be ready to produce SIMD values. We could change that and it might work!
If anyone needs help working on this let me know!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcraneliftIssues related to the Cranelift code generatorIssues related to the Cranelift code generatorcranelift:E-easyIssues suitable for newcomers to investigate, including Rust newcomers!Issues suitable for newcomers to investigate, including Rust newcomers!good first issueIssues that are good for new contributors to tackle!Issues that are good for new contributors to tackle!