https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123010
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to camel-cdr from comment #4) > I don't really see how this would be a parameter/return value thing, > considering the multiply by 3 does use addw. I said why multiply by 3 works, addw sign extends to 64bit. That is what the *2 is doing is shifting by 1 and then sign extending.
