https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121185
anlauf at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW --- Comment #16 from anlauf at gcc dot gnu.org --- (In reply to Jürgen Reuter from comment #15) > Created attachment 61950 [details] > Close-to-minimal reproducer, 186 lines > > The division of the array pmatrix%value by trace is not performed elemental > but just on the first array element. Great reproducer! Changing the line pmatrix%value = pmatrix%value / trace * pmatrix%degree to pmatrix%value(:) = pmatrix%value / trace * pmatrix%degree to suppress the reallocation on assignment fixes the testcase for me. Can you try to revert Mikael's recent changes and see if it fixes the regression?