On Tue, Mar 21, 2017 at 12:57:43PM -0500, Aaron Sawdey wrote: > Both the fails in 80123 are a situation where vsx_splat_<mode> for V2DI > generates rtl for a mtvsrdd but constraint wr doesn't prevent > allocation of r0 for the input. So new constraint wA combines the > attributes of wr and b -- it is BASE_REGS if 64-bit and NO_REGS > otherwise. > > Currently doing bootstrap/regtest on 64-bit LE and BE, and also BE 32- > bit. OK for trunk if everything passes?
Okay. Thanks, Segher > PR target/80123 > * doc/md.texi (Constraints): Document wA constraint. > * config/rs6000/constraints.md (wA): New. > * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. > (rs6000_init_hard_regno_mode_ok): Init wA constraint. > * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. > * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.