This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/62025] [4.9/4.10 Regression] Miscompilation of openssl sha512.c
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 12 Aug 2014 08:54:58 +0000
- Subject: [Bug target/62025] [4.9/4.10 Regression] Miscompilation of openssl sha512.c
- Auto-submitted: auto-generated
- References: <bug-62025-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62025
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
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)