aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2019-11-12 22:02:03 +0100
committerSegher Boessenkool <segher@gcc.gnu.org>2019-11-12 22:02:03 +0100
commit5fba7efc6cd96ae81df55e06e3fc9a9cbd7f3f3a (patch)
tree480f9d1fbe0b01dc8790f02bba57cc8e1465ae67 /gcc
parente72763e21ef8aca813b4690af878d6fba014ff1a (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/rs6000/vsx.md12
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);
})