https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122871
--- Comment #13 from Roger Sayle <roger at nextmovesoftware dot com> --- This patch does indeed help thumb1, reducing the number of -mthumb instructions for muldi-1.c from 23 before the patch, to only 10 after. As Richard Earnshaw points out this should ideally be around 3, if suitably optimized by the backend. As shown in Torbjorn's comment (#11) the current thumb code loads zero into a register r2, and then uses it in an addition!? I suspect the thumb backend isn't using splitters to decompose double word operations before or after reload.
