rs6000: Improve vsx_init_v4si
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 23 Jul 2018 11:27:38 +0000 (13:27 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 23 Jul 2018 11:27:38 +0000 (13:27 +0200)
commit9fede15c4d5f7873ed906eb8cddee7cb35d2cec4
tree4f8dd49a9f0622b8b149e9208bdc828ff65ba1b0
parent268e16e89b2fe7ed6f9f03c877e05714464a704a
rs6000: Improve vsx_init_v4si

This changes vsx_init_v4si to be an expander.  That way, no special
cases are needed anymore for special arguments: the normal RTL passes
can deal with it.

* config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Adjust.
* config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Delete.
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Always force
the elements into a register.
(rs6000_split_v4si_init_di_reg): Delete.
(rs6000_split_v4si_init): Delete.
* config/rs6000/vsx.md (unspec): Delete UNSPEC_VSX_VEC_INIT.
(vsx_init_v4si): Rewrite as a define_expand.

From-SVN: r262930
gcc/ChangeLog
gcc/config/rs6000/rs6000-p8swap.c
gcc/config/rs6000/rs6000-protos.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/vsx.md