https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94052
--- Comment #5 from Tamar Christina <tnfchris at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #4) > (In reply to Tamar Christina from comment #1) > > I don't believe this ever worked.. At least testing 8,9 and 10 all ICE. So I > > didn't put a regression label on it. (and couldn't figure out the format for > > known-to-fail). > > Hmm, could this work on GCC 7? > https://gcc.gnu.org/ml/gcc-patches/2017-06/msg01974.html changed how this > was handled too. I don't think the two are related. This is something being generated by the mid-end and would normally be fine if the value ended up in a single hard register. The problem starts when you have modes that require multiple hard regs, but the mid-end can't know this at expand time (not for all cases) and only knows for sure at reload time once a class has been determined.