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

            Bug ID: 78128
           Summary: fortran/resolve.c:resolve_operator miscompiled at -O2
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sch...@linux-m68k.org
  Target Milestone: ---
            Target: ia64-*-*

Created attachment 39905
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39905&action=edit
Reduced test case

$ gcc -O2 -S gfc.c

        mov r35 = r32
        mov r38 = r1
        .body
        ;;
        .mmi
        ld8 r34 = [r15]
        ld8 r33 = [r14]
        addl r14 = 1, r0
        ;;
        .mmi
        st4 [r35] = r14, 4
        nop 0
        mov r40 = r33
        .mmb
        mov r39 = r34
        nop 0
        br.call.sptk.many b0 = gfc_kind_max#
        ;;
        .mmi
        ld8 r15 = [r32]
        mov r1 = r38
        addl r41 = 1, r0
        .mmi
        mov r40 = r32
        ld8 r14 = [r34]
        mov r39 = r34
        ;;
        .mib
        st4 [r35] = r8               <---------- stored too late
        cmp.eq p6, p7 = r15, r14
        (p7) br.cond.dpnt .L6

Reply via email to