re PR target/47665 (ICE in trunc_int_for_mode)
PR target/47665 * combine.c (make_compound_operation): Only change shifts into multiplication for SCALAR_INT_MODE_P. * gcc.target/i386/pr47665.c: New test. From-SVN: r170000
This commit is contained in:
parent
8ead22235d
commit
525a2d06d3
4 changed files with 24 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-02-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/47665
|
||||
* combine.c (make_compound_operation): Only change shifts into
|
||||
multiplication for SCALAR_INT_MODE_P.
|
||||
|
||||
2011-02-10 Jie Zhang <jie@codesourcery.com>
|
||||
|
||||
PR testsuite/47622
|
||||
|
|
|
@ -7485,7 +7485,8 @@ make_compound_operation (rtx x, enum rtx_code in_code)
|
|||
an address. */
|
||||
if (in_code == MEM && CONST_INT_P (XEXP (x, 1))
|
||||
&& INTVAL (XEXP (x, 1)) < HOST_BITS_PER_WIDE_INT
|
||||
&& INTVAL (XEXP (x, 1)) >= 0)
|
||||
&& INTVAL (XEXP (x, 1)) >= 0
|
||||
&& SCALAR_INT_MODE_P (mode))
|
||||
{
|
||||
HOST_WIDE_INT count = INTVAL (XEXP (x, 1));
|
||||
HOST_WIDE_INT multval = (HOST_WIDE_INT) 1 << count;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2011-02-10 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/47665
|
||||
* gcc.target/i386/pr47665.c: New test.
|
||||
|
||||
2011-02-10 Jie Zhang <jie@codesourcery.com>
|
||||
|
||||
PR testsuite/47622
|
||||
|
|
11
gcc/testsuite/gcc.target/i386/pr47665.c
Normal file
11
gcc/testsuite/gcc.target/i386/pr47665.c
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* PR target/47665 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2 -msse2" } */
|
||||
|
||||
#include <emmintrin.h>
|
||||
|
||||
__m128d
|
||||
foo (double *x, __m128i y)
|
||||
{
|
||||
return _mm_load_pd (x + _mm_cvtsi128_si32 (_mm_srli_si128 (_mm_slli_epi32 (y, 2), 0)));
|
||||
}
|
Loading…
Add table
Reference in a new issue