Index: loop.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/loop.c,v retrieving revision 1.470 diff -u -d -b -w -u -p -r1.470 loop.c --- loop.c 7 Sep 2003 05:21:35 -0000 1.470 +++ loop.c 8 Sep 2003 05:25:34 -0000 @@ -4029,7 +4029,7 @@ emit_prefetch_instructions (struct loop /* Prefetch might be worthwhile only when the loads/stores are dense. */ if (PREFETCH_ONLY_DENSE_MEM) - if (density * 256 > PREFETCH_DENSE_MEM * 100 + if (PREFETCH_BLOCK != 0 && density * 256 > PREFETCH_DENSE_MEM * 100 && (info[i].total_bytes / PREFETCH_BLOCK >= PREFETCH_BLOCKS_BEFORE_LOOP_MIN)) { @@ -4050,7 +4050,7 @@ emit_prefetch_instructions (struct loop info[i].prefetch_in_loop = 1, info[i].prefetch_before_loop = 1; /* Find how many prefetch instructions we'll use within the loop. */ - if (info[i].prefetch_in_loop != 0) + if (info[i].prefetch_in_loop != 0 && PREFETCH_BLOCK != 0) { info[i].prefetch_in_loop = ((info[i].stride + PREFETCH_BLOCK - 1) / PREFETCH_BLOCK); @@ -4085,7 +4085,7 @@ emit_prefetch_instructions (struct loop info[i].prefetch_in_loop = 0; /* Find how many prefetch instructions we'll use before the loop. */ - if (info[i].prefetch_before_loop != 0) + if (info[i].prefetch_before_loop != 0 && PREFETCH_BLOCK != 0) { int n = info[i].total_bytes / PREFETCH_BLOCK; if (n > ahead)