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] |
Richard Henderson is evidently working on a system wide cleanup of the FMA issues. This particular patch fixes the FMA issues on the powerpc. Note, I don't seem to be able to test the paired patches at this point, so I'm providing two patches. One patch fixes the normal power/vsx/altivec side of things. It fixes the ppc-fma-*.c and ppc-fmadd-*.c tests that were broken with no other regressions. The second patch adds the same changes to the paired.md file. Ideally, my patch and Richard's will be harmonized to be checked in. It would be useful if somebody has a linuxpaired setup could check the paired changes on their system. 2010-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/46353 * config/rs6000/vector.md (fma<mode>4): Define vector versions of the fma patterns for Altivec, VSX, and paired floating point. (fms<mode>4): Ditto. (fnma<mode>4): Ditto. (fnms<mode>4): Ditto. * config/rs6000/rs6000.opt (-mfused-madd): Make -mfused-madd an alias for -ffp-contract=fast, and -mno-fused-madd an alias for -ffp-contract=off. * config/rs6000/vsx.md (vsx_fnmadd<mode>4_3): New combiner insn for fused multiply/add with the multiply negated for use with -ffast-math. (vsx_fnmsub<mode>4_3): Ditto. * config/rs6000/altivec.md (altivec_vnmsubfp_3): Ditto. * config/rs6000/rs6000.h (TARGET_FUSED_MADD): Define in terms of -ffp-contract. * config/rs6000/rs6000.md (fmssf4): Rename to use standard name for fused multiply/add instructions. Add -ffast-math support for negating the multiply during the fma. (fnmasf4): Ditto. (fnmssf4): Ditto. (fmadf4): Use 'd' constraint for double, not 'f'. (fmsdf4): Use 'd' constraint for double, not 'f'. Use standard name for fused multiply/add instructions. (fnmadf4): Ditto. (fnmadf4_fpr_1): Ditto. (fnmsdf4): Ditto. (fnmsdf4_fpr_1): Ditto. (fnmasf4_2): New combiner insn for fused multiply/add with the multiply negated for use with -ffast-math. (fnmssf4_2): Ditto. (fnmadf4_fpr_2): Ditto. (fnmsdf4_fpr_2): Ditto. * config/rs6000/paired.md (paired_madd): Rewrite to use fma. (paired_msub): Ditto. (paired_madd_2): Rename combiner pattern. (paired_msub_2): Ditto. (paired_nmadd_2): New pattern to use fma. (paired_nmadd_3): Ditto. (paired_nmsub_2): Ditto. (paired_nmsub_3): Ditto. -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meissner@linux.vnet.ibm.com
Attachment:
gcc-power7.patch186b
Description: Text document
Attachment:
gcc-power7.patch187c
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |