1 /* Routine to check correctness of the results */
2 
3 __attribute__((unused))
4 static int
saturate_b(int i)5 saturate_b (int i)
6 {
7   if (i > 127)
8     i = 127;
9   else if (i < -128)
10     i = -128;
11   return i;
12 }
13 
14 __attribute__((unused))
15 static int
saturate_w(int i)16 saturate_w (int i)
17 {
18   if (i > 32767)
19     i = 32767;
20   else if (i < -32768)
21     i = -32768;
22   return i;
23 }
24 
25 __attribute__((unused))
26 static int
saturate_ub(int i)27 saturate_ub (int i)
28 {
29   if (i > 255)
30     i = 255;
31   else if (i < 0)
32     i = 0;
33   return i;
34 }
35 
36 __attribute__((unused))
37 static int
saturate_uw(int i)38 saturate_uw (int i)
39 {
40   if (i > 65535)
41     i = 65535;
42   else if (i < 0)
43     i = 0;
44   return i;
45 }
46 
47 static long long MMXops[] =
48 {
49   0x3467512347612976LL, 0x000000000000000eLL,
50   0x3467512347612976LL, 0x0000000000000014LL,
51   0x3467512347612976LL, 0x000000000000003cLL,
52   0x0000000000000000LL, 0xFFFFFFFFFFFFFFFFLL,
53   0xFFFFFFFFFFFFFFFFLL, 0x0000000000000000LL,
54   0x0000000000000001LL, 0x1000000000000000LL,
55   0x1000000000000000LL, 0x0000000000000001LL,
56   0xFF00FF00FF00FF00LL, 0x00FF00FF00FF00FFLL,
57   0xFFFFFFFFFFFFFFFFLL, 0x0101010101010101LL,
58   0x0101010101010101LL, 0xFFFFFFFFFFFFFFFFLL,
59   0x0123456789ABCDEFLL, 0x0123456789ABCDEFLL,
60   0x3467512347612976LL, 0x1839876340879234LL,
61   0x0000000000000000LL, 0x0000000000000000LL,
62   0xFFFFFFFFFFFFFFFFLL, 0xFFFFFFFFFFFFFFFFLL,
63   0x7F7F7F7F7F7F7F7FLL, 0x7F7F7F7F7F7F7F7FLL,
64   0x7F7F7F7F7F7F7F7FLL, 0x0101010101010101LL,
65   0x7F7F7F7F7F7F7F7FLL, 0x4782082349761237LL,
66   0x0000000000000000LL, 0x7F7F7F7F7F7F7F7FLL,
67   0x8080808080808080LL, 0x8080808080808080LL,
68   0x0101010101010101LL, 0x8080808080808080LL,
69   0x8080808080808080LL, 0x0000000000000000LL,
70   0x2372347120982458LL, 0x8080808080808080LL,
71   0xFFFFFFFFFFFFFFFFLL, 0x8080808080808080LL,
72   0x7F7F7F7F7F7F7F7FLL, 0xFFFFFFFFFFFFFFFFLL,
73   0x8080808080808080LL, 0x7F7F7F7F7F7F7F7FLL,
74   0xFFFFFFFFFFFFFFFFLL, 0x7F7F7F7F7F7F7F7FLL
75 };
76 
77 #define MMX_num_ops (sizeof (MMXops) / sizeof (MMXops[0]))
78