https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127900
--- Comment #3 from vekumar at gcc dot gnu.org --- (In reply to Richard Biener from comment #2) > I wonder if mulx should not be simply another alternative of generic > 64x64->128 widening multiplication that is preferably chosen when flags are > not needed? But maybe that flag generation difference prevents them to be > used in the same pattern? Both instructions have RA constraints, but mulx > has less. I found 2 ways to do this. One is the expander approach where we generate mulx initially itself, which is what Hontao is also preferring. Other approach is to write a post reload split which removes the clobber when register allocation has picked the correct operand registers. I am testing the expander patch will post that.
