This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/32961] [4.2/4.3 Regression]: Gcc has different requirements for x86 shift xmm intrinsics
- From: "uros at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 17 Oct 2007 08:25:29 -0000
- Subject: [Bug target/32961] [4.2/4.3 Regression]: Gcc has different requirements for x86 shift xmm intrinsics
- References: <bug-32961-14931@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from uros at gcc dot gnu dot org 2007-10-17 08:25 -------
Subject: Bug 32961
Author: uros
Date: Wed Oct 17 08:25:15 2007
New Revision: 129403
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=129403
Log:
PR target/32961
* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLLWI128,
IX86_BUILTIN_PSLLDI128, BUILTIN_PSLLQI128, IX86_BUILTIN_PSRAWI128,
IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128,
IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require
immediate shift value.
config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
_mm_srli_epi32, _mm_srli_epi64): Remove 'const' from count argument.
Remove macros for !__OPTIMIZE__ case.
testsuite/ChangeLog:
PR target/32961
* gcc.target/i386/pr32961.c: New testcase.
* gcc.target/i386/sse-13.c: Remove __builtin_ia32_psllwi128,
__builtin_ia32_psrlqi128, __builtin_ia32_psrlwi128,
__builtin_ia32_psrldi128, __builtin_ia32_psrawi128,
__builtin_ia32_psradi128, __builtin_ia32_psllqi128 and
__builtin_ia32_pslldi128 defines.
Added:
trunk/gcc/testsuite/gcc.target/i386/pr32961.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/emmintrin.h
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/sse-12.c
trunk/gcc/testsuite/gcc.target/i386/sse-13.c
trunk/gcc/testsuite/gcc.target/i386/sse-14.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32961