[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