Commit | Line | Data |
---|---|---|
bf6bad4b AC |
1 | #include <spe.h> |
2 | #include <stdio.h> | |
3 | ||
4 | #define vector __attribute__((vector_size(8))) | |
5 | ||
6 | ||
7 | vector int | |
8 | vector_fun (vector int a, vector int b) | |
9 | { | |
10 | vector int c; | |
11 | a = (vector int) __ev_create_s32 (2, 2); | |
12 | b = (vector int) __ev_create_s32 (3, 3); | |
13 | ||
14 | c = __ev_and (a, b); | |
15 | return c; | |
16 | } | |
17 | ||
18 | int | |
19 | main () | |
20 | { | |
21 | vector int y; | |
22 | vector int x; | |
23 | vector int z; | |
24 | int a; | |
25 | ||
26 | /* This line may look unnecessary but we do need it, because we want to | |
27 | have a line to do a next over (so that gdb refetches the registers) | |
28 | and we don't want the code to change any vector registers. | |
29 | The splat operations below modify the VRs, | |
30 | so we don't want to execute them yet. */ | |
31 | a = 9; | |
32 | x = (vector int) __ev_create_s32 (-2, -2); | |
33 | y = (vector int) __ev_create_s32 (1, 1); | |
34 | ||
35 | z = vector_fun (x, y); | |
36 | ||
37 | return 0; | |
38 | } |