[PATCH] D43087: [SelectionDAG][X86] Fix incorrect offset generated for VMASKMOV
Alexander Ivchenko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 14 04:29:48 PST 2018
aivchenk added a comment.
The problem originated from a miscompare in a benchmark. That appeared to be a machine-scheduler that moved writes after reads of a pointer. It turned out that the scheduler was within its rights to do so, as it checked the offset of the following pointer:
VMASKMOVPSYmr %stack.1.stack_output_vec, 1, $noreg, 32, $noreg, [[AVX_SET0_]], killed [[VMASKMOVPSYrm1]] :: (store 32 into %ir.stack_output_vec, align 4)
.. and it returned '0', instead of '32' I don't have a testcase-ready assembly at this point, but since the problem is local, I believe having MIR test to check that would be a better choice
https://reviews.llvm.org/D43087
More information about the llvm-commits
mailing list