On Wed, Jan 18, 2017 at 02:38:30PM -0600, Peter Bergner wrote: > This is a partial patch for PR78516. This patch fixes some broken constraints > in spe.md that were exposed by the rs6000 port's switch to using LRA. > In order to change some of the constraints to outputs from inout, I had > to change some of the instructions we emit to equivalent forms. > > Joseph has said this patch is enough to allow the SPE build to finish. > We still have an outstanding ICE while building glibc. That looks like a > latent LRA bug. We have a "fix" that allows SPE to build glibc, but > unfortunately, it causes an ICE while bootstrapping a powerpc64le-linux gcc. > I'm am tracking that down, but that will not make GCC 7. > > Is this ok for trunk?
This looks good, please apply. Thanks, Segher > PR target/78516 > * config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints. > Use the evmergelohi instruction. > (mov_si<mode>_e500_subreg4_2_le): Likewise. > (mov_sitf_e500_subreg8_2_be): Likewise. > (mov_sitf_e500_subreg12_2_le): Likewise. > (mov_si<mode>_e500_subreg0_2_le): Fix constraints. > (mov_si<mode>_e500_subreg4_2_be): Likewise. > (mov_sitf_e500_subreg8_2_le): Likewise. > (mov_sitf_e500_subreg12_2_be): Likewise.