x86 NCG: fix regUsageOfInstr for VMOVU & friends
This commit fixes the implementation of 'regUsageOfInstr' for vector operations that take an 'Operand' as the destination, by ensuring that when the destination is an address then the address should be *READ*, and not *WRITTEN*. Getting this wrong is a disaster, as it means the register allocator has incorrect information, which can lead to it discard stores to registers, segfaults ensuing. Fixes #25486
Showing
- compiler/GHC/CmmToAsm/Format.hs 3 additions, 0 deletionscompiler/GHC/CmmToAsm/Format.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs 17 additions, 10 deletionscompiler/GHC/CmmToAsm/X86/Instr.hs
- testsuite/tests/simd/should_run/T25486.hs 48 additions, 0 deletionstestsuite/tests/simd/should_run/T25486.hs
- testsuite/tests/simd/should_run/T25486.stdout 4 additions, 0 deletionstestsuite/tests/simd/should_run/T25486.stdout
- testsuite/tests/simd/should_run/all.T 1 addition, 0 deletionstestsuite/tests/simd/should_run/all.T
Loading
Please register or sign in to comment