1 /* { dg-do compile } */
2 #include <spu_intrinsics.h>
f0(vec_uint4 * in)3 void f0 (vec_uint4 *in)
4 {
5   vec_float4 out = spu_convtf (in[0], 128); /* { dg-error "expects an integer literal in the range" "0, 127"  }*/
6 }
7 
f1(vec_int4 * in)8 void f1 (vec_int4 *in)
9 {
10   vec_float4 out = spu_convtf (in[0], 128); /* { dg-error "expects an integer literal in the range" "0, 127"  }*/
11 }
12 
f2(vec_float4 * in)13 void f2 (vec_float4 *in)
14 {
15   vec_int4 out = spu_convts (in[0], 128); /* { dg-error "expects an integer literal in the range" "0, 127"  }*/
16 }
17 
f3(vec_float4 * in)18 void f3 (vec_float4 *in)
19 {
20   vec_uint4 out = spu_convtu (in[0], 128); /* { dg-error "expects an integer literal in the range" "0, 127"  }*/
21 }
22 
23 /* Test that these intrinsics accept non-literal arguments */
f4(vec_uint4 * in,int n)24 void f4 (vec_uint4 *in, int n)
25 {
26   vec_float4 out = spu_convtf (in[0], n);
27 }
28 
f5(vec_int4 * in,int n)29 void f5 (vec_int4 *in, int n)
30 {
31   vec_float4 out = spu_convtf (in[0], n);
32 }
33 
f6(vec_float4 * in,int n)34 void f6 (vec_float4 *in, int n)
35 {
36   vec_int4 out = spu_convts (in[0], n);
37 }
38 
f7(vec_float4 * in,int n)39 void f7 (vec_float4 *in, int n)
40 {
41   vec_uint4 out = spu_convtu (in[0], n);
42 }
43