rs6000: Fix UNORDERED without NaNs, for DFP (PR92573)
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 20 Nov 2019 13:38:52 +0000 (14:38 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 20 Nov 2019 13:38:52 +0000 (14:38 +0100)
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

gcc/ChangeLog
gcc/config/rs6000/dfp.md

index 79b8210eccc6548c24b6635a49c27c059f2e6fbe..dc377af56d9ec885f49f0631b987e7d6261445b6 100644 (file)
@@ -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 ...
index 659b3c9a39be6cc0d10b6d703fb1a738962b57e0..687858c2506e678b1e5ae2ee7acef119f2fae131 100644 (file)
   ]
   "TARGET_P9_MISC"
 {
+  if (<CODE> == UNORDERED && !HONOR_NANS (<MODE>mode))
+    {
+      emit_move_insn (operands[0], const0_rtx);
+      DONE;
+    }
+
   operands[3] = gen_reg_rtx (CCFPmode);
 })