https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83710

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Chanpreet Singh from comment #4)
> (In reply to Andrew Pinski from comment #3)
> > For imull discussion see
> > https://stackoverflow.com/questions/42587607/why-is-imul-used-for-
> > multiplying-unsigned-numbers .
> 
> I understand that. However, can you point to me what made the compiler
> choose shrl instruction over sarl?

Again: unsigned * int produces a type of unsigned.  And then the shift is done
in unsigned type.  See comment #1.  imull is used for both signed and unsigned
multiply :).

Reply via email to