[Bug target/85582] [9 Regression] wrong code at -O1 and above on x86_64-linux-gnu in 32-bit mode

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 2 21:56:00 GMT 2018


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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Wed May  2 21:56:17 2018
New Revision: 259862

URL: https://gcc.gnu.org/viewcvs?rev=259862&root=gcc&view=rev
Log:
        PR target/85582
        * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
        *ashl<dwi>3_doubleword_mask_1, *<shift_insn><dwi>3_doubleword_mask,
        *<shift_insn><dwi>3_doubleword_mask_1): In condition require that
        the highest significant bit of the shift count mask is clear.  In
        check whether and[sq]i3 is needed verify that all significant bits
        of the shift count other than the highest are set.

        * gcc.c-torture/execute/pr85582-3.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr85582-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.md
    trunk/gcc/testsuite/ChangeLog


More information about the Gcc-bugs mailing list