re PR target/31361 (SSE2 generation bug with shifts)
authorRichard Henderson <rth@redhat.com>
Tue, 27 Mar 2007 00:30:32 +0000 (17:30 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 27 Mar 2007 00:30:32 +0000 (17:30 -0700)
commit24bfafbc9d95153f4ad59d6618eae963a83723a0
tree6a311a473b6819715b29447bec1588f0b5b71df9
parentdf12b78f89bbeb779078c5817f62129f9a9e9db6
re PR target/31361 (SSE2 generation bug with shifts)

        PR target/31361
        * config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128,
        IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128,
        IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128,
        IX86_BUILTIN_PSRLQ128): New.
        (ix86_init_mmx_sse_builtins): Add them.
        (ix86_expand_builtin): Expand them.
        * config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
        operand 2 be TImode.
        * config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16,
        _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
        _mm_srli_epi64): Mark __B const.
        (_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
        (_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
        _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
        new two-vector shift builtins.

From-SVN: r123250
gcc/ChangeLog
gcc/config/i386/emmintrin.h
gcc/config/i386/i386.c
gcc/config/i386/sse.md