[PATCH] D12596: Fix for bootstrap bug introduced in r244921
hfinkel@anl.gov via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 4 15:00:34 PDT 2015
hfinkel added a comment.
> Since I have enabled building vectors using vector shuffles for v2i64 when direct moves are available, there was something I missed in PPCDAGToDAGISel::Select. Namely, when a ISD::VECTOR_SHUFFLE is fed by an ISD::SCALAR_TO_VECTOR which is fed by an unindexed load, we were transforming the node to a VSX load and splat. However, since we produce an MTVSRD and a swap for ISD::SCALAR_TO_VECTOR, this is no longer the right thing to do.
So we have shuffle(scalar_to_vector(load), <0, 0>), and we had been producing a vsx load+splat. Now, instead, we have a load + direct move + swap? Is that better?
> So I have added logic to not change this scalar load to a VSX load-and-splat when we are building a v2i64 and have direct moves.
Repository:
rL LLVM
http://reviews.llvm.org/D12596
More information about the llvm-commits
mailing list