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