aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20020225-1.c17
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 61dedb6..8d445c8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-25 Alan Modra <amodra@bigpond.net.au>
+
+ * gcc.c-torture/execute/20020225-1.c: New.
+
2002-02-24 Neil Booth <neil@daikokuya.demon.co.uk>
* testsuite/gcc.dg/cpp/wchar-1.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20020225-1.c b/gcc/testsuite/gcc.c-torture/execute/20020225-1.c
new file mode 100644
index 0000000..61724a1
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20020225-1.c
@@ -0,0 +1,17 @@
+/* This testcase failed at -O2 on powerpc64 due to andsi3 writing
+ non-zero bits to the high 32 bits of a 64 bit register. */
+
+extern void abort (void);
+extern void exit (int);
+
+unsigned long foo (unsigned long base, unsigned int val)
+{
+ return base + (val & 0x80000001);
+}
+
+int main (void)
+{
+ if (foo (0L, 0x0ffffff0) != 0L)
+ abort ();
+ exit (0);
+}