At one stage in working on the patches, I was editing the easy_fp_constant predicate, and I noticed there was a test for the constant 0.0 at the top of the function, as well as redundant tests in SFmode/DFmode. I deleted these redundant tests. Is the patch acceptable to check in once the PowerPC bootstraps again:
2014-11-11 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/predicates.md (easy_fp_constant): Delete redunant tests for 0.0. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Index: gcc/config/rs6000/predicates.md =================================================================== --- gcc/config/rs6000/predicates.md (revision 217369) +++ gcc/config/rs6000/predicates.md (working copy) @@ -479,10 +479,6 @@ (define_predicate "easy_fp_constant" && num_insns_constant_wide ((HOST_WIDE_INT) k[3]) == 1); case DFmode: - /* The constant 0.f is easy under VSX. */ - if (op == CONST0_RTX (DFmode) && VECTOR_UNIT_VSX_P (DFmode)) - return 1; - /* Force constants to memory before reload to utilize compress_float_constant. Avoid this when flag_unsafe_math_optimizations is enabled @@ -500,10 +496,6 @@ (define_predicate "easy_fp_constant" && num_insns_constant_wide ((HOST_WIDE_INT) k[1]) == 1); case SFmode: - /* The constant 0.f is easy. */ - if (op == CONST0_RTX (SFmode)) - return 1; - /* Force constants to memory before reload to utilize compress_float_constant. Avoid this when flag_unsafe_math_optimizations is enabled