diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2019-11-12 22:02:03 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2019-11-12 22:02:03 +0100 |
commit | 5fba7efc6cd96ae81df55e06e3fc9a9cbd7f3f3a (patch) | |
tree | 480f9d1fbe0b01dc8790f02bba57cc8e1465ae67 /gcc | |
parent | e72763e21ef8aca813b4690af878d6fba014ff1a (diff) | |
download | gcc-5fba7efc6cd96ae81df55e06e3fc9a9cbd7f3f3a.zip gcc-5fba7efc6cd96ae81df55e06e3fc9a9cbd7f3f3a.tar.gz gcc-5fba7efc6cd96ae81df55e06e3fc9a9cbd7f3f3a.tar.bz2 |
rs6000: Handle unordered for xscmpexp[dq]p without NaNs (PR92449)
* config/rs6000/vsx.md (xscmpexpdp_<code> for CMP_TEST): Handle
UNORDERED if !HONOR_NANS (DFmode).
(xscmpexpqp_<code>_<mode> for CMP_TEST and IEEE128): Handle UNORDERED
if !HONOR_NANS (<MODE>mode).
From-SVN: r278103
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/vsx.md | 12 |
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d283626..574b598 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-11-12 Segher Boessenkool <segher@kernel.crashing.org> + + * config/rs6000/vsx.md (xscmpexpdp_<code> for CMP_TEST): Handle + UNORDERED if !HONOR_NANS (DFmode). + (xscmpexpqp_<code>_<mode> for CMP_TEST and IEEE128): Handle UNORDERED + if !HONOR_NANS (<MODE>mode). + 2019-11-12 Jan Hubicka <hubicka@ucw.cz> * ipa-cp.c (ignore_edge_p): Also look for optimize flag. diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index aa13b20..3aa8e21 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -4526,6 +4526,12 @@ (const_int 0)))] "TARGET_P9_VECTOR" { + if (<CODE> == UNORDERED && !HONOR_NANS (DFmode)) + { + emit_move_insn (operands[0], const0_rtx); + DONE; + } + operands[3] = gen_reg_rtx (CCFPmode); }) @@ -4554,6 +4560,12 @@ (const_int 0)))] "TARGET_P9_VECTOR" { + if (<CODE> == UNORDERED && !HONOR_NANS (<MODE>mode)) + { + emit_move_insn (operands[0], const0_rtx); + DONE; + } + operands[3] = gen_reg_rtx (CCFPmode); }) |