This patch skips constant folding for fmin/max when either argument is sNaN. Accordin...
authorHaochen Gui <guihaoc@gcc.gnu.org>
Mon, 9 May 2022 09:34:23 +0000 (17:34 +0800)
committerHaochen Gui <guihaoc@gcc.gnu.org>
Wed, 11 May 2022 01:27:48 +0000 (09:27 +0800)
commit344e425340e3c8e4539b43bf8f661e02c5a5b9a0
tree4575f1c2f3d4e4e040864eab3a71c95ce2c773ee
parente877898911574037af5aaa68ff6451ec5ced20e9
This patch skips constant folding for fmin/max when either argument is sNaN. According to C standard, fmin(sNaN, sNaN)= qNaN, fmin(sNaN, NaN) = qNaN.

gcc/
PR target/105414
* match.pd (minmax): Skip constant folding for fmin/fmax when both
arguments are sNaN or one is sNaN and another is NaN.

gcc/testsuite/
PR target/105414
* gcc.dg/pr105414.c: New.
gcc/match.pd
gcc/testsuite/gcc.dg/pr105414.c [new file with mode: 0644]