1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/* { dg-do run } */
/* { dg-options "-fcilkplus" } */
__attribute__((vector (nomask), vector(mask), vector(mask,linear(x:1))))
int func (int x)
{
return x+5;
}
__attribute__((vector(mask,uniform (y), linear(x:1))))
__attribute__((vector (nomask, uniform (x), linear(y:1))))
int func2 (int x, int y)
{
return x+y;
}
int func4 (int x, int y) __attribute__((vector, vector (nomask), vector (uniform(y), linear(x:1))));
template <class T, class R>
__attribute__((vector, vector(mask,uniform (y), linear(x:1))))
T func3 (T x, R y)
{
return x+(T)y;
}
int main (void)
{
if ((func3 (5, 4) + func2 (5, 4) + func (5) + (int) func3<long, int> (5, 4)) !=
(5 + 4) + (5 + 4) + (5 + 5) + (int) ((long)5 +(int)4))
__builtin_abort ();
return 0;
}
|