On Thu, Aug 21, 2014 at 3:30 PM, Michael Meissner <meiss...@linux.vnet.ibm.com> wrote: > (I'm not sure if an earlier patch got mailed out, I'm sorry if there are > duplicate postings). > > I had a thinko in my patch on August 11th, in that I allowed the wi constraint > to be FLOAT_REGS on a non-VSX system, but I had a pattern in movdi that > generated a VSX instruction. I have tightened wi, so that it applies only > when > VSX is used. > > In addition, I had used wi for lfiwax/lfiwzx and in the case issued an ISA > 2.07 > (power8) instruction. I have changed these cases to use the wj constraint > (constraint for register class under ISA 2.07 for doing move direct of > DImode). I decided that it wasn't worth adding a new constraint for these > cases, and if the user does -mcpu=power8 -mno-move-direct, it will still > generate the lfiwax/lfiwzx instructions which target the traditional floating > point registers. I have done bootstraps with this compiler and it had no > regressions. Is the patch ok to check in? > > 2014-08-21 Michael Meissner <meiss...@linux.vnet.ibm.com> > > PR target/62195 > * doc/md.texi (Machine Constraints): Update PowerPC wi constraint > documentation to state it is only for VSX operations. > > * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Make wi > constraint only active if VSX. > > * config/rs6000/rs6000.md (lfiwax): Use wj constraint instead of > wi cosntraint for ISA 2.07 lxsiwax/lxsiwzx instructions. > (lfiwzx): Likewise.
Okay. Thanks David