This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
(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 <meissner@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. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Attachment:
pr62195.patch01b
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |