Invalid bitcast error or SIGILL during compilation of portable simd mask operations #110722
Labels
A-SIMD
Area: SIMD (Single Instruction Multiple Data)
C-bug
Category: This is a bug.
E-needs-test
Call for participation: An issue has been fixed and does not reproduce, but no test has been added.
PG-portable-simd
Project group: Portable SIMD (https://github.com/rust-lang/project-portable-simd)
I updated some benchmark code using portable simd to a current nightly (which included the llvm version bump from 15 to 16) and ran into the compiler getting killed with SIGILL, or when trying to simplify the code, an LLVM error about an invalid bitcast. It is likely that the problem is inside llvm itself, but so far I was not able to reduce the code to a minimal LLVM IR example.
The initial problematic code involved
gather_select_unchecked
:I could later reproduce it also with casting masks between bitmask,
isize
andi32
:In compiler explorer, with arguments
-C opt-level=3 -Ctarget-cpu=skx
the output is the following:Compiling the same function, with an added
main
function in the rust playground (in release mode) leads to the compiler receiving a SIGILLMeta
rustc --version --verbose
:The text was updated successfully, but these errors were encountered: