https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77568
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- For floating point they are definitely created on the gimple level. For ints they are not though. Maybe extend that same pass to do ints too for aarch64 and other targets which have a multiple add (mips).