Bill Schmidt 2be8054b49 [PPC64LE] More vector swap optimization TLC
This makes one substantive change and a few stylistic changes to the
VSX swap optimization pass.

The substantive change is to permit LXSDX and LXSSPX instructions to
participate in swap optimization computations.  The previous change to
insert a swap following a SUBREG_TO_REG widening operation makes this
almost trivial.

I experimented with also permitting STXSDX and STXSSPX instructions.
This can be done using similar techniques:  we could insert a swap
prior to a narrowing COPY operation, and then permit these stores to
participate.  I prototyped this, but discovered that the pattern of a
narrowing COPY followed by an STXSDX does not occur in any of our
test-suite code.  So instead, I added commentary indicating that this
could be done.

Other TLC:
 - I changed SH_COPYSCALAR to SH_COPYWIDEN to more clearly indicate
 the direction of the copy.
 - I factored the insertion of swap instructions into a separate
 function.

Finally, I added a new test case to check that the scalar-to-vector
loads are working properly with swap optimization.

llvm-svn: 242838
2015-07-21 21:40:17 +00:00
..
2013-03-27 06:52:27 +00:00
2014-10-21 23:01:01 +00:00
2014-10-21 23:01:01 +00:00
2014-12-26 16:42:47 +00:00
2013-04-05 23:29:01 +00:00
2015-06-16 16:01:15 +00:00
2013-08-06 17:03:03 +00:00
2013-04-01 15:58:15 +00:00
2015-03-26 00:57:33 +00:00
2013-04-27 00:43:16 +00:00
2012-12-19 15:49:14 +00:00
2015-07-16 21:14:07 +00:00