* gcc.target/powerpc/builtins-1-be.c <vclzb>: Rename duplicate test
[official-gcc.git] / gcc / testsuite / gcc.target / tic6x / builtins / arith24.c
blob5e52284463ccf3a03f570d0db768ea7d20b2cc08
1 /* { dg-require-effective-target ti_c64xp } */
3 #include <c6x_intrinsics.h>
5 extern void abort (void);
7 typedef short __v2hi __attribute ((vector_size(4)));
9 int a = 0x5000d000;
10 int b = 0xc0002000;
11 int c = 0x40009000;
12 int d = 0x80000001;
13 int e = 0x50002001;
14 int f = 0xc0008000;
16 int a4 = 0x50d03080;
17 int b4 = 0xc020f080;
18 int c4 = 0xc0202080;
19 int d4 = 0x50003080;
20 int e4 = 0xc0202180;
22 int main ()
24 int v;
25 long long vll;
27 v = _add2 (a, b);
28 if (v != 0x1000f000)
29 abort ();
30 v = _sub2 (a, b);
31 if (v != 0x9000b000)
32 abort ();
33 v = _sub2 (b, a);
34 if (v != 0x70005000)
35 abort ();
37 v = _add4 (a4, b4);
38 if (v != 0x10f02000)
39 abort ();
40 v = _sub4 (a4, b4);
41 if (v != 0x90b04000)
42 abort ();
43 v = _saddu4 (a4, c4);
44 if (v != 0xfff050ff)
45 abort ();
47 v = _sadd2 (a, b);
48 if (v != 0x1000f000)
49 abort ();
50 v = _sadd2 (a, c);
51 if (v != 0x7fff8000)
52 abort ();
54 v = _ssub2 (a, b);
55 if (v != 0x7fffb000)
56 abort ();
57 v = _ssub2 (b, a);
58 if (v != 0x80005000)
59 abort ();
61 vll = _smpy2ll (a, b);
62 if (vll != 0xd8000000f4000000ll)
63 abort ();
64 vll = _smpy2ll (d, d);
65 if (vll != 0x7fffffff00000002ll)
66 abort ();
68 v = _avg2 (b, e);
69 if (v != 0x08002001)
70 abort ();
71 v = _avgu4 (d4, e4);
72 if (v != 0x88102980)
73 abort ();
75 v = _abs2 (a);
76 if (v != 0x50003000)
77 abort ();
78 v = _abs2 (f);
79 if (v != 0x40007fff)
80 abort ();
82 return 0;