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

            Bug ID: 89027
           Summary: [9 Regression] ICE: verify_gimple failed (Error:
                    non-trivial conversion at assignment)
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-checking, ice-on-valid-code, openmp
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gfortran-9.0.0-alpha20190120 snapshot (r268107) ICEs when compiling the
following testcase reduced from libgomp/testsuite/libgomp.fortran/nestedfn5.f90
w/ -O2 -fexceptions -fopenmp -fno-tree-dce:

subroutine bar
  integer :: a, b
  a = 1
  b = 2
  call foo
contains
  subroutine foo
!$omp simd linear(a:2) linear(b:1)
    do a = 1, 20, 2
      b = b + 1
    end do
!$omp end simd
    if (a /= 21 .or. b /= 12) STOP 1
!$omp task depend(out : a)
    a = a + 1
!$omp end task
  end subroutine foo
end subroutine bar

% powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190120 -mvsx -O2 -fexceptions
-fopenmp -fno-tree-dce -c epm9nnl9.f90
epm9nnl9.f90:1:0:

    1 | subroutine bar
      | 
Error: non-trivial conversion at assignment
integer(kind=4)[4]
integer(kind=4)[16]
# .MEM_40 = VDEF <.MEM_39>
D.2257 ={v} {CLOBBER};
during GIMPLE pass: vect
epm9nnl9.f90:1:0: internal compiler error: verify_gimple failed
0xdebaf9 verify_gimple_in_cfg(function*, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/tree-cfg.c:5422
0xcc1e0e execute_function_todo
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/passes.c:1977
0xcc27aa execute_todo
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190120/work/gcc-9-20190120/gcc/passes.c:2031

(While my target here is powerpc, the ICE is not target-specific. It can be
reproduced on x86_64 as well, obviously w/o -mvsx.)

Reply via email to