The following patch fixes PR56005. The details are on
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56005 2013-01-16 Vladimir Makarov <vmaka...@redhat.com> PR rtl-optimization/56005 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding pending reads for prefetch. The patch was successfully bootstrapped and tested on x86-64. Committed as rev 195247.
Index: sched-deps.c =================================================================== --- sched-deps.c (revision 195244) +++ sched-deps.c (working copy) @@ -2719,8 +2719,9 @@ sched_analyze_2 (struct deps_desc *deps, to generate accurate dependencies for prefetch insns as prefetch has only the start address but it is better to have something than nothing. */ - add_insn_mem_dependence (deps, true, insn, - gen_rtx_MEM (Pmode, XEXP (PATTERN (insn), 0))); + if (!deps->readonly) + add_insn_mem_dependence (deps, true, insn, + gen_rtx_MEM (Pmode, XEXP (PATTERN (insn), 0))); break; case UNSPEC_VOLATILE: