summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-31 17:49:00 +0000
committerhp <hp@138bc75d-0d04-0410-961f-82ee72b054a4>2002-08-31 17:49:00 +0000
commitd1da9e8d7c414f90cc4a3ff452967ec1bb807f66 (patch)
treebc7a229594d9934daa8b3425ab32be407ae6dc51
parente337427c05fe13d8274ff20bc38bfe18b09319fd (diff)
downloadgcc-d1da9e8d7c414f90cc4a3ff452967ec1bb807f66.tar.gz
* gcc.c-torture/execute/20020720-1.x: Skip test on
mmix-knuth-mmixware. Correct comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56708 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020720-1.x18
2 files changed, 16 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3f3a17da070..8369762497c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-31 Roger Sayle <roger@eyesopen.com>
+ Hans-Peter Nilsson <hp@bitrange.com>
+
+ * gcc.c-torture/execute/20020720-1.x: Skip test on
+ mmix-knuth-mmixware. Correct comment.
+
2002-08-27 Mark Mitchell <mark@codesourcery.com>
* testsuite/g++.dg/abi/bitfield5.C: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
index 6534217d7c8..4cf53d0d595 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
+++ b/gcc/testsuite/gcc.c-torture/execute/20020720-1.x
@@ -1,15 +1,17 @@
# The following targets fail 20020720-1.c for several reasons:
# (1) They implement floating point instructions via software, or
-# (2) Their machine descriptions obfuscate the "abs(x) < 0.0" comparison.
-# For example, 1 insn performs abs, 1 insn loads 0.0, 1 insn sets
-# CCmode flags based upon the FP comparison, and a 4th insn makes
-# a conditional branch based upon the appropriate bits in the flags.
-# If the intermediate comparison can't be recognized, the combiner
-# is unable to optimize all four RTL instructions simultaneously.
-
+# (2) The "abs(x) < 0.0" comparison is split up in too many intermediate
+# insns for combine to handle -- it can handle max three insns
+# simultaneously. For example, for RISCy machines it is common that 1
+# insn performs abs, 1 insn loads 0.0, 1 insn sets CCmode flags based
+# upon the FP comparison, and a 4th insn makes a conditional branch
+# based upon the appropriate bits in the flags. On the other hand, if
+# for example the comparison insn takes 0.0 as an operand, the
+# combiner is able to see all intermediate instructions simultaneously
+# and can make the optimization.
if { [istarget "powerpc-*-*"] || [istarget "rs6000-*-*"] \
|| [istarget "mips*-*-*"] || [istarget "xtensa-*-*"] \
- || [istarget "sh-*-*"] } {
+ || [istarget "sh-*-*"] || [istarget "mmix-*-*"] } {
return 1
}