From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30437 invoked by alias); 12 Aug 2014 08:55:19 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 30346 invoked by uid 48); 12 Aug 2014 08:55:05 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/62025] [4.9/4.10 Regression] Miscompilation of openssl sha512.c Date: Tue, 12 Aug 2014 08:55:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.9.1 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.2 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-08/txt/msg00738.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62025 --- Comment #10 from Jakub Jelinek --- And with: --- sched-deps.c (revision 207605) +++ sched-deps.c (working copy) @@ -3034,6 +3034,21 @@ sched_analyze_insn (struct deps_desc *de || (NONJUMP_INSN_P (insn) && control_flow_insn_p (insn))) reg_pending_barrier = MOVE_BARRIER; + if (!DEBUG_INSN_P (insn) && reload_completed && getenv ("SKIPB") && getenv ("SKIPE")) + { + static int cntskip; + ++cntskip; + if (cntskip > atoi (getenv ("SKIPB")) && cntskip < atoi (getenv ("SKIPE"))) + reg_pending_barrier = TRUE_BARRIER; + } + if (!DEBUG_INSN_P (insn) && reload_completed && getenv ("FLUSHB") && getenv ("FLUSHE")) + { + static int cntskip; + ++cntskip; + if (cntskip > atoi (getenv ("FLUSHB")) && cntskip < atoi (getenv ("FLUSHE"))) + flush_pending_lists (deps, insn, true, true); + } + if (sched_pressure != SCHED_PRESSURE_NONE) { setup_insn_reg_uses (deps, insn); again, on top of r207605, and -O2 -m31 -march=z196 -mtune=z10, I get no miscompilation with FLUSHB=6261 FLUSHE=6263 ./cc1 -m31 -O2 -march=z196 -mtune=z10 sha.c -o sha3.s -quiet -nostdinc diff -up -U8 sha1.s sha3.s --- sha1.s 2014-08-12 10:40:14.813740998 +0200 +++ sha3.s 2014-08-12 10:46:58.425686712 +0200 @@ -6246,38 +6246,38 @@ sha512_block_data_order: lm %r2,%r3,312(%r15) x %r11,152(%r15) or %r5,%r8 l %r8,276(%r15) n %r9,216(%r15) srl %r4,7 n %r11,184(%r15) al %r3,252(%r8) - ahi %r8,128 - alc %r2,120(%r8) + alc %r2,248(%r8) + x %r0,1104(%r15) xr %r11,%r9 st %r11,1072(%r15) - xr %r1,%r5 n %r7,188(%r15) - x %r0,1104(%r15) - st %r8,276(%r15) + xr %r1,%r5 stm %r2,%r3,120(%r15) st %r0,1084(%r15) l %r3,116(%r15) sll %r3,25 lr %r6,%r3 l %r3,224(%r15) xr %r3,%r10 st %r3,1068(%r15) l %r3,156(%r15) l %r2,232(%r15) xr %r2,%r12 st %r2,1088(%r15) - lm %r10,%r11,120(%r15) n %r3,220(%r15) + ahi %r8,128 + lm %r10,%r11,120(%r15) + st %r8,276(%r15) al %r11,164(%r15) alc %r10,160(%r15) xr %r7,%r3 st %r7,1076(%r15) lr %r3,%r11 or %r6,%r4 lm %r4,%r5,304(%r15) al %r3,1068(%r15)