Commit 24a235c8 by Christian Borntraeger Committed by Andreas Krebbel

s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3.

2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>

        * config/s390/s390.c: Define sane prefetch settings and activate
        flag_prefetch_loop_arrays on -O3.
        * config/s390/s390.h: Declare that read can use write prefetch.

From-SVN: r159474
parent 18252dcf
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c: Define sane prefetch settings and activate
flag_prefetch_loop_arrays on -O3.
* config/s390/s390.h: Declare that read can use write prefetch.
2010-05-17 Jakub Jelinek <jakub@redhat.com>
* lto-streamer-out.c (lto_output): Fix --enable-checking=release
......
......@@ -1475,6 +1475,9 @@ optimization_options (int level ATTRIBUTE_UNUSED, int size ATTRIBUTE_UNUSED)
without maintaining a stack frame back-chain. */
flag_asynchronous_unwind_tables = 1;
if (HAVE_prefetch || optimize >= 3)
flag_prefetch_loop_arrays = 1;
/* Use MVCLE instructions to decrease code size if requested. */
if (size != 0)
target_flags |= MASK_MVCLE;
......@@ -1661,6 +1664,19 @@ override_options (void)
}
set_param_value ("max-pending-list-length", 256);
/* values for loop prefetching */
set_param_value ("l1-cache-line-size", 256);
if (!PARAM_SET_P (PARAM_L1_CACHE_SIZE))
set_param_value ("l1-cache-size", 128);
/* s390 has more than 2 levels and the size is much larger. Since
we are always running virtualized assume that we only get a small
part of the caches above l1. */
if (!PARAM_SET_P (PARAM_L2_CACHE_SIZE))
set_param_value ("l2-cache-size", 1500);
if (!PARAM_SET_P (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO))
set_param_value ("prefetch-min-insn-to-mem-ratio", 2);
if (!PARAM_SET_P (PARAM_SIMULTANEOUS_PREFETCHES))
set_param_value ("simultaneous-prefetches", 6);
}
/* Map for smallest class containing reg regno. */
......
......@@ -989,4 +989,6 @@ do { \
(TARGET_LONG_DISPLACEMENT? ((d) >= -524288 && (d) <= 524287) \
: ((d) >= 0 && (d) <= 4095))
/* Reads can reuse write prefetches, used by tree-ssa-prefetch-loops.c. */
#define READ_CAN_USE_WRITE_PREFETCH 1
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment