-
Notifications
You must be signed in to change notification settings - Fork 1.7k
x64: Incorrect codegen for f32x4.abs v128.not #3327
Copy link
Copy link
Closed
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcranelift:area:x64Issues related to x64 codegenIssues related to x64 codegenfuzz-bugBugs found by a fuzzerBugs found by a fuzzerwasm-proposal:simdIssues related to the WebAssembly SIMD proposalIssues related to the WebAssembly SIMD proposal
Metadata
Metadata
Assignees
Labels
bugIncorrect behavior in the current implementation that needs fixingIncorrect behavior in the current implementation that needs fixingcranelift:area:x64Issues related to x64 codegenIssues related to x64 codegenfuzz-bugBugs found by a fuzzerBugs found by a fuzzerwasm-proposal:simdIssues related to the WebAssembly SIMD proposalIssues related to the WebAssembly SIMD proposal
Found via fuzzing this module:
yields:
when it should print
u128::MAX.The disassembly of this function is:
I don't for sure know what's going on here with each individual instruction, but this sort of looks like a register allocator issue? I'm not sure what the second
xorpsis doing there with those registers. If this is a register allocator thing it may or may not be related to #3216