+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
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;
}
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. */
(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