mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-15 16:10:41 +08:00
simplify-rtx.c (simplify_binary_operation): Do not simplify inner elements of constant arguments of VEC_CONCAT insn.
rtl-optimization/18614 * simplify-rtx.c (simplify_binary_operation): Do not simplify inner elements of constant arguments of VEC_CONCAT insn. testsuite: * gcc.dg/pr18614-1.c: New test. From-SVN: r91094
This commit is contained in:
parent
6d861604ae
commit
27b28c6dcd
gcc
@ -1,3 +1,10 @@
|
||||
2004-11-23 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
PR rtl-optimization/18614
|
||||
* simplify-rtx.c (simplify_binary_operation): Do not
|
||||
simplify inner elements of constant arguments of
|
||||
VEC_CONCAT insn.
|
||||
|
||||
2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* gthr-solaris.h (__gthread_recursive_mutex_init_function): Use
|
||||
|
@ -1185,6 +1185,7 @@ simplify_binary_operation (enum rtx_code code, enum machine_mode mode,
|
||||
trueop1 = avoid_constant_pool_reference (op1);
|
||||
|
||||
if (VECTOR_MODE_P (mode)
|
||||
&& code != VEC_CONCAT
|
||||
&& GET_CODE (trueop0) == CONST_VECTOR
|
||||
&& GET_CODE (trueop1) == CONST_VECTOR)
|
||||
{
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-11-23 Uros Bizjak <uros@kss-loka.si>
|
||||
|
||||
* gcc.dg/pr18614-1.c: New test.
|
||||
|
||||
2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* gcc.dg/setjmp-2.c: New test.
|
||||
|
15
gcc/testsuite/gcc.dg/pr18614-1.c
Normal file
15
gcc/testsuite/gcc.dg/pr18614-1.c
Normal file
@ -0,0 +1,15 @@
|
||||
/* PR rtl-optimization/18614 */
|
||||
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-options "-O2 -msse2" } */
|
||||
|
||||
typedef double v2df __attribute__ ((vector_size (16)));
|
||||
|
||||
v2df foo (void)
|
||||
{
|
||||
v2df yd = { 1.0, 4.0 };
|
||||
v2df xd;
|
||||
|
||||
xd = __builtin_ia32_cvtps2pd (__builtin_ia32_rsqrtps
|
||||
(__builtin_ia32_cvtpd2ps (yd)));
|
||||
return xd;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user