This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/62025] [4.9/4.10 Regression] Miscompilation of openssl sha512.c


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]