c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for real types.

* c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
        real types.

        * gcc.dg/i386-sse-vect-types.c: New.

From-SVN: r104958
This commit is contained in:
Devang Patel 2005-10-04 13:09:56 -07:00 committed by Devang Patel
parent 578578a5ab
commit a04deb83fa
4 changed files with 31 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2005-10-04 Devang Patel <dpatel@apple.com>
* c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
real types.
2005-10-04 Steve Ellcey <sje@cup.hp.com>
* tree-vect-transform.c (vect_create_epilog_for_reduction):

View File

@ -972,6 +972,8 @@ vector_types_convertible_p (tree t1, tree t2)
return targetm.vector_opaque_p (t1)
|| targetm.vector_opaque_p (t2)
|| (tree_int_cst_equal (TYPE_SIZE (t1), TYPE_SIZE (t2))
&& (TREE_CODE (t1) != REAL_TYPE ||
TYPE_PRECISION (t1) == TYPE_PRECISION (t2))
&& INTEGRAL_TYPE_P (TREE_TYPE (t1))
== INTEGRAL_TYPE_P (TREE_TYPE (t2)));
}

View File

@ -1,3 +1,7 @@
2005-10-04 Devang Patel <dpatel@apple.com>
* gcc.dg/i386-sse-vect-types.c: New.
2005-10-04 Ian Lance Taylor <ian@airs.com>
PR preprocessor/13726

View File

@ -0,0 +1,20 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0 -msse2" } */
/* Test the intrinsics without optimization. All of them are
defined as inline functions in mmintrin.h that reference the proper
builtin functions. Defining away "static" and "__inline" results in
all of them being compiled as proper functions. */
#define static
#define __inline
#include <xmmintrin.h>
__m128d foo1(__m128d z, __m128d a, int N) {
int i;
for (i=0; i<N; i++) {
a = _mm_add_ps(z, a); /* { dg-error "incompatible type" } */
}
return a;
}