https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122762
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|REOPENED |RESOLVED
--- Comment #29 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Tamar Christina from comment #28)
> The ICE is back after re-landing of the original commit.
Re-landing? What's the rev this appears at?
> Though only affecting wrf now.
>
> module_cu_g3.fppized.f90: In function 'g3drv.constprop':
> module_cu_g3.fppized.f90:9:4: internal compiler error: in prepare_vec_mask,
> at tree-vect-stmts.cc:1605
> 9 | SUBROUTINE G3DRV( &
> | ^
> 0x1d53ff3 internal_error(char const*, ...)
>
> /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostic-global-context.cc:787
> 0x840e37 fancy_abort(char const*, int, char const*)
> /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/diagnostics/context.cc:1805
> 0x10437eb prepare_vec_mask(_loop_vec_info*, tree_node*, tree_node*,
> tree_node*, gimple_stmt_iterator*)
> /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-stmts.cc:1605
> 0x1063ceb vectorizable_store
> /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-stmts.cc:9261
> 0x1067fa3 vect_transform_stmt(vec_info*, _stmt_vec_info*,
> gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
> /opt/buildAgent/work/5c94c4ced6ebfcd0/gcc/tree-vect-stmts.cc:13183
> 0x109c75b vect_schedule_slp_node
>
> Reducer:
>
> !GCC$ builtin (exp) attributes simd (notinbranch)
> MODULE MODULE_CU_BMJ
> INTEGER:: JTB
> CONTAINS
> SUBROUTINE BMJDRVRQVCUTEN
> REAL, DIMENSION(JTB) :: THEOLD,TOLDY2T
> DO KTH=1,KTHM
> TH=TH+DTH
> DENOM=TH
> IF (DENOM>EPS) THEN
> QS=EXP(0/DENOM)
> ELSE
> QS=0.
> ENDIF
> THEOLD(KTH)=EXP(ELOCP*QS)
> ENDDO
> CALL SPLINE
> END
> END
>
> Compiled with -Ofast -mcpu=neoverse-v2
>
> Similarly to before it's a bit non-deterministic for some reason.
Unfortunately to a point that a cross does not reproduce it for me.
It also seems to be only tangentially related given it hits in
vectorizable_store and not vectorizable_simd_clone_call so please
track this in a new bug.