aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2004-03-16 20:37:31 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2004-03-16 20:37:31 +0000
commit4a5eab38a41b2750c849bcf504e6e21cce281be1 (patch)
tree05a7ca68f6fe2a4b712b3767d14e66338ca08ba6 /gcc/testsuite
parent7de53bcaa3ef7dadb3b2b151e3c416c7713f159e (diff)
downloadgcc-4a5eab38a41b2750c849bcf504e6e21cce281be1.zip
gcc-4a5eab38a41b2750c849bcf504e6e21cce281be1.tar.gz
gcc-4a5eab38a41b2750c849bcf504e6e21cce281be1.tar.bz2
c-common.c (c_common_type_for_mode): Build vector types on demand.
gcc/ChangeLog 2004-03-16 Paolo Bonzini <bonzini@gnu.org> * c-common.c (c_common_type_for_mode): Build vector types on demand. (handle_mode_attribute): Deprecate using the mode attribute to create vector types. Fix indentation. (vector_type_node_list): Remove. (handle_vector_size_attribute): Create vector types on demand. Strip a NON_LVALUE_EXPR from the attribute if there is one. * c-typeck.c (comptypes): Make vector types compatible if they have the same underlying mode. (convert_for_assignment): Use comptypes to convert between vector types. * tree.c (build_common_tree_nodes_2): Do not create vector types. * config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary vector types. * tree.h: Remove vector types. * config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise. * config/rs6000/rs6000.c (rs6000_init_builtins): Likewise. (V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node, V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals. * doc/extend.texi (Vector Types): Document how to use the vector_size attribute to create vectors, rather than mode. * config/arm/mmintrin.h: Use vector_size attribute, not mode. * config/i386/emmintrin.h: Likewise. * config/i386/mmintrin.h: Likewise. * config/i386/xmmintrin.h: Likewise. * config/sh/ushmedia.h: Likwise. testsuite/ChangeLog 2004-03-16 Paolo Bonzini <bonzini@gnu.org> * g++.dg/eh/simd-1.C: Use vector_size attribute, not mode. * g++.dg/eh/simd-2.C: Likewise. * g++.dg/init/array10.C: Likewise. * gcc.c-torture/compile/simd-1.c: Likewise. * gcc.c-torture/compile/simd-2.c: Likewise. * gcc.c-torture/compile/simd-3.c: Likewise. * gcc.c-torture/compile/simd-4.c: Likewise. * gcc.c-torture/compile/simd-6.c: Likewise. * gcc.c-torture/execute/simd-1.c: Likewise. * gcc.c-torture/execute/simd-2.c: Likewise. * gcc.dg/compat/vector-defs.h: Likewise. * gcc.dg/20020531-1.c: Likewise. * gcc.dg/altivec-3.c: Likewise. * gcc.dg/altivec-4.c: Likewise. * gcc.dg/altivec-varargs-1.c: Likewise. * testsuite/gcc.dg/compat/vector-defs.h: Likewise. * gcc.dg/i386-mmx-3.c: Likewise. * gcc.dg/i386-sse-4.c: Likewise. * gcc.dg/i386-sse-5.c: Likewise. * gcc.dg/i386-sse-8.c: Likewise. * gcc.dg/simd-1.c: Likewise. * gcc.dg/20030218-1.c: Likewise. Plus, do not declare __ev64_opaque__ since the machine description provides it. Index: c-common.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/c-common.c,v retrieving revision 1.487 diff -u -r1.487 c-common.c --- c-common.c 26 Feb 2004 01:24:37 -0000 1.487 +++ c-common.c 10 Mar 2004 10:25:28 -0000 @@ -1874,38 +1874,12 @@ if (mode == TYPE_MODE (build_pointer_type (integer_type_node))) return unsignedp ? make_unsigned_type (mode) : make_signed_type (mode); - switch (mode) + if (VECTOR_MODE_P (mode)) { - case V16QImode: From-SVN: r79544
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog26
-rw-r--r--gcc/testsuite/g++.dg/eh/simd-1.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/simd-2.C2
-rw-r--r--gcc/testsuite/g++.dg/init/array10.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-2.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-3.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-4.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/simd-6.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/simd-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/simd-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/20020531-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/20030218-1.c10
-rw-r--r--gcc/testsuite/gcc.dg/altivec-3.c4
-rw-r--r--gcc/testsuite/gcc.dg/altivec-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/altivec-varargs-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/compat/vector-defs.h26
-rw-r--r--gcc/testsuite/gcc.dg/i386-mmx-3.c2
-rw-r--r--gcc/testsuite/gcc.dg/i386-sse-4.c2
-rw-r--r--gcc/testsuite/gcc.dg/i386-sse-5.c2
-rw-r--r--gcc/testsuite/gcc.dg/i386-sse-8.c2
-rw-r--r--gcc/testsuite/gcc.dg/simd-1.c12
22 files changed, 68 insertions, 44 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 847bf1d..62764c2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,29 @@
+2004-03-16 Paolo Bonzini <bonzini@gnu.org>
+
+ * g++.dg/eh/simd-1.C: Use vector_size attribute, not mode.
+ * g++.dg/eh/simd-2.C: Likewise.
+ * g++.dg/init/array10.C: Likewise.
+ * gcc.c-torture/compile/simd-1.c: Likewise.
+ * gcc.c-torture/compile/simd-2.c: Likewise.
+ * gcc.c-torture/compile/simd-3.c: Likewise.
+ * gcc.c-torture/compile/simd-4.c: Likewise.
+ * gcc.c-torture/compile/simd-6.c: Likewise.
+ * gcc.c-torture/execute/simd-1.c: Likewise.
+ * gcc.c-torture/execute/simd-2.c: Likewise.
+ * gcc.dg/compat/vector-defs.h: Likewise.
+ * gcc.dg/20020531-1.c: Likewise.
+ * gcc.dg/altivec-3.c: Likewise.
+ * gcc.dg/altivec-4.c: Likewise.
+ * gcc.dg/altivec-varargs-1.c: Likewise.
+ * testsuite/gcc.dg/compat/vector-defs.h: Likewise.
+ * gcc.dg/i386-mmx-3.c: Likewise.
+ * gcc.dg/i386-sse-4.c: Likewise.
+ * gcc.dg/i386-sse-5.c: Likewise.
+ * gcc.dg/i386-sse-8.c: Likewise.
+ * gcc.dg/simd-1.c: Likewise.
+ * gcc.dg/20030218-1.c: Likewise. Plus, do not declare
+ __ev64_opaque__ since the machine description provides it.
+
2004-03-16 Eric Botcazou <ebotcazou@libertysurf.fr>
* lib/compat.exp (skip_list): New global variable.
diff --git a/gcc/testsuite/g++.dg/eh/simd-1.C b/gcc/testsuite/g++.dg/eh/simd-1.C
index 667aafe..fe71b78 100644
--- a/gcc/testsuite/g++.dg/eh/simd-1.C
+++ b/gcc/testsuite/g++.dg/eh/simd-1.C
@@ -4,7 +4,7 @@
// { dg-options "-O -w" { target i?86-*-* } }
// { dg-do run }
-typedef int __attribute__((mode(V2SI))) vecint;
+typedef int __attribute__((vector_size (8))) vecint;
vecint vecfunc (vecint beachbum)
{
diff --git a/gcc/testsuite/g++.dg/eh/simd-2.C b/gcc/testsuite/g++.dg/eh/simd-2.C
index ee09323..5b37f3e 100644
--- a/gcc/testsuite/g++.dg/eh/simd-2.C
+++ b/gcc/testsuite/g++.dg/eh/simd-2.C
@@ -5,7 +5,7 @@
// { dg-options "-O -w -maltivec" { target powerpc64-*-linux* } }
// { dg-do run { xfail "powerpc64-*-linux*"} }
-typedef int __attribute__((mode(V4SI))) vecint;
+typedef int __attribute__((vector_size (16))) vecint;
vecint vecfunc (vecint beachbum)
{
diff --git a/gcc/testsuite/g++.dg/init/array10.C b/gcc/testsuite/g++.dg/init/array10.C
index 3b059aa..4112105 100644
--- a/gcc/testsuite/g++.dg/init/array10.C
+++ b/gcc/testsuite/g++.dg/init/array10.C
@@ -1,6 +1,6 @@
// { dg-do compile }
// { dg-options "" }
-typedef int __attribute__((mode(V2SI))) vec;
+typedef int __attribute__((vector_size (8))) vec;
vec foo[] = { (vec) {1, 2} };
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-1.c b/gcc/testsuite/gcc.c-torture/compile/simd-1.c
index c113bd4..6a07bbb 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-1.c
@@ -1,4 +1,4 @@
-typedef int v2si __attribute__ ((mode(V2SI)));
+typedef int v2si __attribute__ ((vector_size (8)));
typedef unsigned di __attribute__ ((mode(DI)));
void foo(unsigned long);
void bar() {
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-2.c b/gcc/testsuite/gcc.c-torture/compile/simd-2.c
index 694e94f..480c712 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-2.c
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-2.c
@@ -1,4 +1,4 @@
-typedef float floatvect2 __attribute__((mode(V2SF)));
+typedef float floatvect2 __attribute__((vector_size (8)));
typedef union
{
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-3.c b/gcc/testsuite/gcc.c-torture/compile/simd-3.c
index f7dc54e..42a38ae 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-3.c
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-3.c
@@ -3,7 +3,7 @@
/* If double is not wider than float, we probably don't have DFmode,
or at least it's not as wide as double. */
#if DBL_MANT_DIG > FLT_MANT_DIG
-typedef float floatvect2 __attribute__((mode(V2DF)));
+typedef double floatvect2 __attribute__((vector_size (16)));
typedef union
{
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-4.c b/gcc/testsuite/gcc.c-torture/compile/simd-4.c
index 6ede943..6329fc0 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-4.c
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-4.c
@@ -1,4 +1,4 @@
-typedef float floatvect2 __attribute__((mode(V4SF)));
+typedef float floatvect2 __attribute__((vector_size (16)));
typedef union
{
diff --git a/gcc/testsuite/gcc.c-torture/compile/simd-6.c b/gcc/testsuite/gcc.c-torture/compile/simd-6.c
index 9106a73..7998e15 100644
--- a/gcc/testsuite/gcc.c-torture/compile/simd-6.c
+++ b/gcc/testsuite/gcc.c-torture/compile/simd-6.c
@@ -1,3 +1,3 @@
-typedef int __attribute__((mode(V2SI))) vec;
+typedef int __attribute__((vector_size (8))) vec;
vec a[] = {(vec) {1, 2}, {3, 4}};
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-1.c b/gcc/testsuite/gcc.c-torture/execute/simd-1.c
index e103fd7..df9f1a9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-1.c
@@ -4,7 +4,7 @@
regardless of if the target has SIMD instructions.
*/
-typedef int __attribute__((mode(V4SI))) vecint;
+typedef int __attribute__((vector_size (16))) vecint;
typedef int __attribute__((mode(SI))) siint;
vecint i = { 150, 100, 150, 200 };
diff --git a/gcc/testsuite/gcc.c-torture/execute/simd-2.c b/gcc/testsuite/gcc.c-torture/execute/simd-2.c
index 2d1b922..d4f506a 100644
--- a/gcc/testsuite/gcc.c-torture/execute/simd-2.c
+++ b/gcc/testsuite/gcc.c-torture/execute/simd-2.c
@@ -3,7 +3,7 @@
regardless of if the target has SIMD instructions.
*/
-typedef int __attribute__((mode(V8HI))) vecint;
+typedef short __attribute__((vector_size (16))) vecint;
vecint i = { 150, 100, 150, 200, 0, 0, 0, 0 };
vecint j = { 10, 13, 20, 30, 1, 1, 1, 1 };
diff --git a/gcc/testsuite/gcc.dg/20020531-1.c b/gcc/testsuite/gcc.dg/20020531-1.c
index c18033f..19f198f 100644
--- a/gcc/testsuite/gcc.dg/20020531-1.c
+++ b/gcc/testsuite/gcc.dg/20020531-1.c
@@ -4,7 +4,7 @@
/* { dg-do compile { target i?86-*-* } } */
/* { dg-options "-O2 -mmmx" } */
-typedef int __v8qi __attribute__ ((__mode__ (__V8QI__)));
+typedef unsigned char __v8qi __attribute__ ((vector_size (8)));
extern void abort (void);
extern void exit (int);
diff --git a/gcc/testsuite/gcc.dg/20030218-1.c b/gcc/testsuite/gcc.dg/20030218-1.c
index e41152c..6296d31 100644
--- a/gcc/testsuite/gcc.dg/20030218-1.c
+++ b/gcc/testsuite/gcc.dg/20030218-1.c
@@ -1,14 +1,12 @@
/* { dg-do compile { target powerpc-*-eabi* } } */
-/* { dg-options "-mcpu=8540" } */
+/* { dg-options "-mspe=yes" } */
/* Test vectors that can interconvert without a cast. */
-typedef int __attribute__((mode(V2SI))) __ev64_opaque__;
-
__ev64_opaque__ opp;
-int vint __attribute__((mode(V2SI)));
-int vshort __attribute__((mode(V4HI)));
-int vfloat __attribute__((mode(V2SF)));
+int vint __attribute__((vector_size (8)));
+short vshort __attribute__((vector_size (8)));
+float vfloat __attribute__((vector_size (8)));
int
main (void)
diff --git a/gcc/testsuite/gcc.dg/altivec-3.c b/gcc/testsuite/gcc.dg/altivec-3.c
index 1321a72..91fa8f2 100644
--- a/gcc/testsuite/gcc.dg/altivec-3.c
+++ b/gcc/testsuite/gcc.dg/altivec-3.c
@@ -3,8 +3,8 @@
#include "altivec_check.h"
-typedef int int4 __attribute__ ((mode(V4SI)));
-typedef float float4 __attribute__ ((mode(V4SF)));
+typedef int int4 __attribute__ ((vector_size (16)));
+typedef float float4 __attribute__ ((vector_size (16)));
int4 a1 = (int4) { 100, 200, 300, 400 };
int4 a2 = (int4) { 500, 600, 700, 800 };
diff --git a/gcc/testsuite/gcc.dg/altivec-4.c b/gcc/testsuite/gcc.dg/altivec-4.c
index 1756635..78dc815 100644
--- a/gcc/testsuite/gcc.dg/altivec-4.c
+++ b/gcc/testsuite/gcc.dg/altivec-4.c
@@ -3,7 +3,7 @@
#define vector __attribute__((vector_size(16)))
-static int __attribute__((mode(V4SI))) x, y;
+static int vector x, y;
static vector signed int i,j;
static vector signed short s,t;
diff --git a/gcc/testsuite/gcc.dg/altivec-varargs-1.c b/gcc/testsuite/gcc.dg/altivec-varargs-1.c
index 14e5e6e..fd2b74f 100644
--- a/gcc/testsuite/gcc.dg/altivec-varargs-1.c
+++ b/gcc/testsuite/gcc.dg/altivec-varargs-1.c
@@ -6,7 +6,7 @@
#include "altivec_check.h"
-#define vector __attribute__((mode(V4SI)))
+#define vector __attribute__((vector_size (16)))
const vector unsigned int v1 = {10,11,12,13};
const vector unsigned int v2 = {20,21,22,23};
diff --git a/gcc/testsuite/gcc.dg/compat/vector-defs.h b/gcc/testsuite/gcc.dg/compat/vector-defs.h
index cef5d76..ecb3960 100644
--- a/gcc/testsuite/gcc.dg/compat/vector-defs.h
+++ b/gcc/testsuite/gcc.dg/compat/vector-defs.h
@@ -2,45 +2,45 @@
c_common_type_for_mode, grouped by base mode. */
typedef int __attribute__((mode(QI))) qi;
-typedef int __attribute__((mode(V8QI))) v8qi;
-typedef int __attribute__((mode(V16QI))) v16qi;
+typedef qi __attribute__((vector_size (8))) v8qi;
+typedef qi __attribute__((vector_size (16))) v16qi;
typedef union U8QI { v8qi v; qi a[8]; } u8qi;
typedef union U16QI { v16qi v; qi a[16]; } u16qi;
typedef int __attribute__((mode(HI))) hi;
-typedef int __attribute__((mode(V2HI))) v2hi;
-typedef int __attribute__((mode(V4HI))) v4hi;
-typedef int __attribute__((mode(V8HI))) v8hi;
+typedef hi __attribute__((vector_size (4))) v2hi;
+typedef hi __attribute__((vector_size (8))) v4hi;
+typedef hi __attribute__((vector_size (16))) v8hi;
typedef union U2HI { v2hi v; hi a[2]; } u2hi;
typedef union U4HI { v4hi v; hi a[4]; } u4hi;
typedef union U8HI { v8hi v; hi a[8]; } u8hi;
typedef int __attribute__((mode(SI))) si;
-typedef int __attribute__((mode(V2SI))) v2si;
-typedef int __attribute__((mode(V4SI))) v4si;
+typedef si __attribute__((vector_size (8))) v2si;
+typedef si __attribute__((vector_size (16))) v4si;
typedef union U2SI { v2si v; si a[2]; } u2si;
typedef union U4SI { v4si v; si a[4]; } u4si;
typedef int __attribute__((mode(DI))) di;
-typedef int __attribute__((mode(V1DI))) v1di;
-typedef int __attribute__((mode(V2DI))) v2di;
+typedef di __attribute__((vector_size (8))) v1di;
+typedef di __attribute__((vector_size (16))) v2di;
typedef union U1DI { v1di v; di a[1]; } u1di;
typedef union U2DI { v2di v; di a[2]; } u2di;
typedef float __attribute__((mode(SF))) sf;
-typedef float __attribute__((mode(V2SF))) v2sf;
-typedef float __attribute__((mode(V4SF))) v4sf;
-typedef float __attribute__((mode(V16SF))) v16sf;
+typedef sf __attribute__((vector_size (8))) v2sf;
+typedef sf __attribute__((vector_size (16))) v4sf;
+typedef sf __attribute__((vector_size (64))) v16sf;
typedef union U2SF { v2sf v; sf a[2]; } u2sf;
typedef union U4SF { v4sf v; sf a[4]; } u4sf;
typedef union U16SF { v16sf v; sf a[16]; } u16sf;
typedef float __attribute__((mode(DF))) df;
-typedef float __attribute__((mode(V2DF))) v2df;
+typedef df __attribute__((vector_size (16))) v2df;
typedef union U2DF { v2df v; df a[2]; } u2df;
diff --git a/gcc/testsuite/gcc.dg/i386-mmx-3.c b/gcc/testsuite/gcc.dg/i386-mmx-3.c
index b417dda..d4d6109 100644
--- a/gcc/testsuite/gcc.dg/i386-mmx-3.c
+++ b/gcc/testsuite/gcc.dg/i386-mmx-3.c
@@ -3,7 +3,7 @@
/* { dg-do compile { target i?86-*-* x86_64-*-*} } */
/* { dg-options "-O1 -mmmx -march=k8" } */
-typedef int v4hi __attribute__ ((mode (V4HI)));
+typedef short v4hi __attribute__ ((vector_size (8)));
static inline v4hi cvtsi_v4hi (int i)
{
diff --git a/gcc/testsuite/gcc.dg/i386-sse-4.c b/gcc/testsuite/gcc.dg/i386-sse-4.c
index c94e7f8..7f6d817 100644
--- a/gcc/testsuite/gcc.dg/i386-sse-4.c
+++ b/gcc/testsuite/gcc.dg/i386-sse-4.c
@@ -1,7 +1,7 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O0 -msse" } */
-typedef void __vr __attribute__ ((__mode__ (__V4SF__)));
+typedef float __vr __attribute__ ((vector_size (16)));
struct vector
{
diff --git a/gcc/testsuite/gcc.dg/i386-sse-5.c b/gcc/testsuite/gcc.dg/i386-sse-5.c
index edb4fb4..81184fc 100644
--- a/gcc/testsuite/gcc.dg/i386-sse-5.c
+++ b/gcc/testsuite/gcc.dg/i386-sse-5.c
@@ -1,6 +1,6 @@
/* { dg-do compile { target i?86-*-* } } */
/* { dg-options "-Winline -O2 -march=i386" } */
-typedef int v2df __attribute__ ((mode(V2DF)));
+typedef double v2df __attribute__ ((vector_size (16)));
v2df p;
q(v2df t)
{ /* { dg-warning "SSE" "" } */
diff --git a/gcc/testsuite/gcc.dg/i386-sse-8.c b/gcc/testsuite/gcc.dg/i386-sse-8.c
index d6e1056..c415de9 100644
--- a/gcc/testsuite/gcc.dg/i386-sse-8.c
+++ b/gcc/testsuite/gcc.dg/i386-sse-8.c
@@ -6,7 +6,7 @@
int main()
{
- typedef int v __attribute__ ((mode(V2DI)));
+ typedef long long int v __attribute__ ((vector_size (16)));
v a, b;
a = b;
return 0;
diff --git a/gcc/testsuite/gcc.dg/simd-1.c b/gcc/testsuite/gcc.dg/simd-1.c
index fff6292..43e63e4 100644
--- a/gcc/testsuite/gcc.dg/simd-1.c
+++ b/gcc/testsuite/gcc.dg/simd-1.c
@@ -4,10 +4,10 @@
/* Origin: Aldy Hernandez <aldyh@redhat.com>. */
/* Purpose: Program to test generic SIMD support. */
-typedef int __attribute__((mode(V4SI))) v4si;
-typedef int __attribute__((mode(V8HI))) v8hi;
-typedef int __attribute__((mode(V2SI))) v2si;
-typedef unsigned int __attribute__((mode(V4SI))) uv4si;
+typedef int __attribute__((vector_size (16))) v4si;
+typedef short __attribute__((vector_size (16))) v8hi;
+typedef int __attribute__((vector_size (8))) v2si;
+typedef unsigned int __attribute__((vector_size (16))) uv4si;
v4si a, b;
v2si c, d;
@@ -16,7 +16,7 @@ uv4si f;
int foo __attribute__((mode(DI)));
int foo1 __attribute__((mode(SI)));
-int foo2 __attribute__((mode(V4HI)));
+short foo2 __attribute__((vector_size (8)));
void
hanneke ()
@@ -32,7 +32,7 @@ hanneke ()
e = (typeof (e)) a;
/* Different signed SIMD assignment. */
- f = a; /* { dg-error "incompatible types in assignment" } */
+ f = a;
/* Casted different signed SIMD assignment. */
f = (uv4si) a;