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

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So basically the biggest issue is we do the sign extend and then do the
multiply in an unsigned type; this causes all negative values causing a
wrapping which is not correct really but we don't know any better. I tried to
change pass_laddress::execute to do the multiply in a signed type but that
still is not able to optimize find in comment #6 to work and the IR is so much
more complex.

Reply via email to