aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/loop.c7
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/pr12092-1.c12
4 files changed, 30 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 503f153..5f5d96e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,12 @@
2005-01-01 Roger Sayle <roger@eyesopen.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+ James E. Wilson <wilson@specifixinc.com>
+
+ PR rtl-optimization/12092
+ * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
+ is zero.
+
+2005-01-01 Roger Sayle <roger@eyesopen.com>
Olivier Hainque <hainque@act-europe.fr>
* tree.c (int_fits_type_p): A narrower type always fits in a
diff --git a/gcc/loop.c b/gcc/loop.c
index faf6cb2..7a446ea 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1,6 +1,7 @@
/* Perform various loop optimizations, including strength reduction.
- Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997,
- 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995,
+ 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -4116,7 +4117,7 @@ emit_prefetch_instructions (struct loop *loop)
struct prefetch_info info[MAX_PREFETCHES];
struct loop_ivs *ivs = LOOP_IVS (loop);
- if (!HAVE_prefetch)
+ if (!HAVE_prefetch || PREFETCH_BLOCK == 0)
return;
/* Consider only loops w/o calls. When a call is done, the loop is probably
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 97400f7..7d2bcc0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-01 Roger Sayle <roger@eyesopen.com>
+ Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR rtl-optimization/12092
+ * gcc.dg/pr12092-1.c: New test case.
+
2005-01-01 Geoffrey Keating <geoffk@geoffk.org>
* g++.old-deja/g++.abi/cxa_vec.C: Add -flat_namespace on Darwin
diff --git a/gcc/testsuite/gcc.dg/pr12092-1.c b/gcc/testsuite/gcc.dg/pr12092-1.c
new file mode 100644
index 0000000..3b13c56
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr12092-1.c
@@ -0,0 +1,12 @@
+/* PR rtl-optimization/12092 */
+/* Test case reduced by Andrew Pinski <pinskia@physics.uc.edu> */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-O2 -mtune=i486 -march=pentium4 -fprefetch-loop-arrays" } */
+
+void DecodeAC(int index,int *matrix)
+{
+ int *mptr;
+
+ for(mptr=matrix+index;mptr<matrix+64;mptr++) {*mptr = 0;}
+}
+