On May 25, 2018 8:49:47 PM GMT+02:00, Michael Meissner <meiss...@linux.ibm.com> wrote: >I redid the patch to make the target hook only apply for scalar float >points, >and I removed all of the integer only subcases. > >I have checked this on a little endian Power8 system, and verified that >it >bootstraps correctly and there are no regressions. I have just started >an >x86_64 build. Assuming that build has no regressions, can I check this >into >GCC 9? This bug appears in GCC 8, and I would like to back port this >patch to >GCC 8 as well before GCC 8.2 goes out.
What happens if you hack genmodes to not claim IFmode has any wider relationship with other modes? Richard. >[gcc] >2018-05-25 Michael Meissner <meiss...@linux.ibm.com> > > PR target/85358 > * target.def (default_fp_widening_p): New target hook to automatic > widening betwen two floating point modes. > * optabs.c (expand_binop): Do not automatically widen a binary or > unary scalar floating point op if the backend says that the > widening should not occur. > (expand_twoval_unop): Likewise. > (expand_twoval_binop): Likewise. > (expand_unop): Likewise. > * config/rs6000/rs6000.c (TARGET_DEFAULT_FP_WIDENING_P): Define. > (rs6000_default_fp_widening_p): New target hook to prevent > automatic widening between IEEE 128-bit floating point and IBM > extended double floating point. > * doc/tm.texi (Target Hooks): Document new target hook > default_fp_widening_p. > * doc/tm.texi.in (Target Hooks): Likewise. > >[gcc/testsuite] >2018-05-25 Michael Meissner <meiss...@linux.ibm.com> > > PR target/85358 > * gcc.target/powerpc/pr85358.c: New test.