https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94914
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:6d938a5d770d0e94ecd923d20006b05126659235 commit r11-63-g6d938a5d770d0e94ecd923d20006b05126659235 Author: Jakub Jelinek <ja...@redhat.com> Date: Tue May 5 11:31:43 2020 +0200 match.pd: Optimize (((type)A * B) >> prec) != 0 into __imag__ .MUL_OVERFLOW [PR94914] On x86 (the only target with umulv4_optab) one can use mull; seto to check for overflow instead of performing wider multiplication and performing comparison on the high bits. 2020-05-05 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/94914 * match.pd ((((type)A * B) >> prec) != 0 to .MUL_OVERFLOW(A, B) != 0): New simplification. * gcc.target/i386/pr94914.c: New test.