+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):
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)));
}
+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
--- /dev/null
+/* { 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;
+}