https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80988

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
I can confirm the miscompare of SWIM7 (auxilary output file) with the ref input
with -ffrontend-optimize on x86_64 and no miscompare with
-fno-frontend-optimize.

The main difference seems to be

     {
-      integer(kind=4) D.4152;
-      unsigned int countm1.16;
-
-      D.4152 = mnmin;
-      i = 1;
-      countm1.16 = ((unsigned int) D.4152 + 4294967295) / 10;, if (D.4152 <=
0)
-        {
-          goto L.47;
-        };
-      while (1)
-        {
-          {
-            unsigned int countm1t.17;
-
-            _gfortran_transfer_real_write (&dt_parm.15,
&unew[((integer(kind=8)
) i + -1) * 1336], 8);
-            L.46:;
-            if (dt_parm.15.common.flags & 3) goto L.47;
-            i = i + 10;
-            countm1t.17 = countm1.16;
-            countm1.16 = countm1.16 + 4294967295;
-            if (countm1t.17 == 0) goto L.47;
-          }
-        }
-      L.47:;
+      integer(kind=8) D.4152;
+      integer(kind=8) D.4153;
+      integer(kind=8) D.4154;
+      struct array1_real(kind=8) parm.16;
+
+      D.4152 = (integer(kind=8)) mnmin;
+      D.4153 = MAX_EXPR <(D.4152 + -1) /[fl] 10, -1>;
+      D.4154 = (integer(kind=8)) i;
+      parm.16.dtype = 537;
+      parm.16.dim[0].lbound = 1;
+      parm.16.dim[0].ubound = D.4153 + 1;
+      parm.16.dim[0].stride = 10;
+      parm.16.data = (void *) &unew[(D.4154 + -1) * 1335];
+      parm.16.offset = (D.4154 + -1) * 1335 + -1336;
+      _gfortran_transfer_array_write (&dt_parm.15, &parm.16, 8, 0);
     }

corresponding to

      PARAMETER (N1=1335, N2=1335)
      COMMON  UNEW(N1,N2)
...
      WRITE(7,360) (UNEW(I,I),I=1,MNMIN,10)
  360 FORMAT(/' DIAGONAL ELEMENTS OF U ', //(8E15.7))

Reply via email to