https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110093
--- Comment #4 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- (In reply to Vladimir Makarov from comment #3) > I propose to avoid the above RTL code by switching off subreg3 > pass (or -fsplit-wide-types) for AVR by default as it was for gcc-8. Thanks for looking into this. With v8, I don't see a difference with -f[no-]split-wide-types, everything works fine. Since v10 r280033 the default is -fsplit-wide-types-early, but that option has no effect on testcase + master, only -fno-split-wide-types seems to "fix" the problem, regardless of -f[no-]split-wide-types-early. >From my experience, -fno-split-wide-types has no clear edge over -fsplit-wide-types, which very much depends on the code. This is the reason why -fsplit-wide-types is still the default. So are you saying that the bug is actually in lower-subreg.cc ?