aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2019-11-20 14:38:52 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2019-11-20 14:38:52 +0100
commitbcb4b4b4baad38d0a9ac353822506fa1d7fb6b25 (patch)
tree9123643dd8f14ddefb4f7aba02fef6169f3de7c9
parent041cb6154cfd31dd249fec8cfcc6833e09e5cd06 (diff)
downloadgcc-bcb4b4b4baad38d0a9ac353822506fa1d7fb6b25.zip
gcc-bcb4b4b4baad38d0a9ac353822506fa1d7fb6b25.tar.gz
gcc-bcb4b4b4baad38d0a9ac353822506fa1d7fb6b25.tar.bz2
rs6000: Fix UNORDERED without NaNs, for DFP (PR92573)
This is the analogue of r278103, but for DFP. PR target/92573 * config/rs6000/dfp.md (dfptstsfi_<code>_<mode> for DFP_TEST and DDTD): Handle UNORDERED if !HONOR_NANS. From-SVN: r278497
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/dfp.md6
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 79b8210..dc377af 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/92573
+ * config/rs6000/dfp.md (dfptstsfi_<code>_<mode> for DFP_TEST and DDTD):
+ Handle UNORDERED if !HONOR_NANS.
+
2019-11-20 Jan Hubicka <jh@suse.cz>
* ipa-inline.c (wrapper_heuristics_may_apply): Break out from ...
diff --git a/gcc/config/rs6000/dfp.md b/gcc/config/rs6000/dfp.md
index 659b3c9..687858c 100644
--- a/gcc/config/rs6000/dfp.md
+++ b/gcc/config/rs6000/dfp.md
@@ -289,6 +289,12 @@
]
"TARGET_P9_MISC"
{
+ if (<CODE> == UNORDERED && !HONOR_NANS (<MODE>mode))
+ {
+ emit_move_insn (operands[0], const0_rtx);
+ DONE;
+ }
+
operands[3] = gen_reg_rtx (CCFPmode);
})