https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93709
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marxin at gcc dot gnu.org --- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- commit r10-7114-g37e0df8a9be5a8232f4ccb73cdadb02121ba523f Author: Jiufu Guo <guoji...@linux.ibm.com> Date: Tue Mar 10 13:51:57 2020 +0800 rs6000: Check -+0 and NaN for smax/smin generation PR93709 mentioned regressions on maxlocval_4.f90 and minlocval_f.f90 which relates to max of '-inf' and 'nan'. This regression occur on P9 because P9 new instruction 'xsmaxcdp' is generated. And for C code `a < b ? b : a` is also generated as `xsmaxcdp` under -O2 for P9. While this instruction behavior more like C/C++ semantic (a>b?a:b). This generates prevents 'xsmaxcdp' to be generated for those cases. 'xsmincdp' also is handled in patch. gcc/ 2020-03-10 Jiufu Guo <guoji...@linux.ibm.com> PR target/93709 * gcc/config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check NAN and SIGNED_ZEROR for smax/smin. gcc/testsuite 2020-03-10 Jiufu Guo <guoji...@linux.ibm.com> PR target/93709 * gcc.target/powerpc/p9-minmax-3.c: New test.