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.

Reply via email to