1/* { dg-do compile } */
2/* { dg-options "-std=c99 -pedantic-errors" } */
3#include <spu_intrinsics.h>
4/* With this intrinsics section, we used to ICE as we would try
5   to convert from an vector to an integer type.  */
6void f(void)
7{
8  vec_uint4 gt, N;
9  vec_int4 a;
10  int *a1;
11  _Complex double b;
12  gt = spu_cmpgt(a, N); /* { dg-error "parameter list" } */
13  gt = spu_cmpgt(a, a1); /* { dg-error "integer from pointer without a cast" } */
14  gt = spu_cmpgt(a, b); /* { dg-error "parameter list" } */
15  gt = spu_cmpgt(a, a);
16  a = spu_cmpgt(a, a); /* { dg-message "note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts" } */
17/* { dg-message "note: expected 'int'" "" { target *-*-* } 13 } */
18/* { dg-error "incompatible types when assigning" "" { target *-*-* } 16 } */
19}
20