xref: /qemu/tests/tcg/mips/include/test_inputs_64.h (revision b5b6b2b912bbcd3953407da938a8f969577ad3a1)
1*ace44584SAleksandar Markovic /*
2*ace44584SAleksandar Markovic  *  Header file for pattern and random test inputs
3*ace44584SAleksandar Markovic  *
4*ace44584SAleksandar Markovic  *  Copyright (C) 2019  Wave Computing, Inc.
5*ace44584SAleksandar Markovic  *  Copyright (C) 2019  Aleksandar Markovic <amarkovic@wavecomp.com>
6*ace44584SAleksandar Markovic  *
7*ace44584SAleksandar Markovic  *  This program is free software: you can redistribute it and/or modify
8*ace44584SAleksandar Markovic  *  it under the terms of the GNU General Public License as published by
9*ace44584SAleksandar Markovic  *  the Free Software Foundation, either version 2 of the License, or
10*ace44584SAleksandar Markovic  *  (at your option) any later version.
11*ace44584SAleksandar Markovic  *
12*ace44584SAleksandar Markovic  *  This program is distributed in the hope that it will be useful,
13*ace44584SAleksandar Markovic  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14*ace44584SAleksandar Markovic  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*ace44584SAleksandar Markovic  *  GNU General Public License for more details.
16*ace44584SAleksandar Markovic  *
17*ace44584SAleksandar Markovic  *  You should have received a copy of the GNU General Public License
18*ace44584SAleksandar Markovic  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
19*ace44584SAleksandar Markovic  *
20*ace44584SAleksandar Markovic  */
21*ace44584SAleksandar Markovic 
22*ace44584SAleksandar Markovic #ifndef TEST_INPUTS_64_H
23*ace44584SAleksandar Markovic #define TEST_INPUTS_64_H
24*ace44584SAleksandar Markovic 
25*ace44584SAleksandar Markovic #include <stdint.h>
26*ace44584SAleksandar Markovic 
27*ace44584SAleksandar Markovic 
28*ace44584SAleksandar Markovic #define PATTERN_INPUTS_64_COUNT          64
29*ace44584SAleksandar Markovic #define PATTERN_INPUTS_64_SHORT_COUNT     8
30*ace44584SAleksandar Markovic 
31*ace44584SAleksandar Markovic static const uint64_t b64_pattern[PATTERN_INPUTS_64_COUNT] = {
32*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFFFULL,                               /*   0 */
33*ace44584SAleksandar Markovic     0x0000000000000000ULL,
34*ace44584SAleksandar Markovic     0xAAAAAAAAAAAAAAAAULL,
35*ace44584SAleksandar Markovic     0x5555555555555555ULL,
36*ace44584SAleksandar Markovic     0xCCCCCCCCCCCCCCCCULL,
37*ace44584SAleksandar Markovic     0x3333333333333333ULL,
38*ace44584SAleksandar Markovic     0xE38E38E38E38E38EULL,
39*ace44584SAleksandar Markovic     0x1C71C71C71C71C71ULL,
40*ace44584SAleksandar Markovic     0xF0F0F0F0F0F0F0F0ULL,                               /*   8 */
41*ace44584SAleksandar Markovic     0x0F0F0F0F0F0F0F0FULL,
42*ace44584SAleksandar Markovic     0xF83E0F83E0F83E0FULL,
43*ace44584SAleksandar Markovic     0x07C1F07C1F07C1F0ULL,
44*ace44584SAleksandar Markovic     0xFC0FC0FC0FC0FC0FULL,
45*ace44584SAleksandar Markovic     0x03F03F03F03F03F0ULL,
46*ace44584SAleksandar Markovic     0xFE03F80FE03F80FEULL,
47*ace44584SAleksandar Markovic     0x01FC07F01FC07F01ULL,
48*ace44584SAleksandar Markovic     0xFF00FF00FF00FF00ULL,                               /*  16 */
49*ace44584SAleksandar Markovic     0x00FF00FF00FF00FFULL,
50*ace44584SAleksandar Markovic     0xFF803FE00FF803FEULL,
51*ace44584SAleksandar Markovic     0x007FC01FF007FC01ULL,
52*ace44584SAleksandar Markovic     0xFFC00FFC00FFC00FULL,
53*ace44584SAleksandar Markovic     0x003FF003FF003FF0ULL,
54*ace44584SAleksandar Markovic     0xFFE003FF800FFE00ULL,
55*ace44584SAleksandar Markovic     0x001FFC007FF001FFULL,
56*ace44584SAleksandar Markovic     0xFFF000FFF000FFF0ULL,                               /*  24 */
57*ace44584SAleksandar Markovic     0x000FFF000FFF000FULL,
58*ace44584SAleksandar Markovic     0xFFF8003FFE000FFFULL,
59*ace44584SAleksandar Markovic     0x0007FFC001FFF000ULL,
60*ace44584SAleksandar Markovic     0xFFFC000FFFC000FFULL,
61*ace44584SAleksandar Markovic     0x0003FFF0003FFF00ULL,
62*ace44584SAleksandar Markovic     0xFFFE0003FFF8000FULL,
63*ace44584SAleksandar Markovic     0x0001FFFC0007FFF0ULL,
64*ace44584SAleksandar Markovic     0xFFFF0000FFFF0000ULL,                               /*  32 */
65*ace44584SAleksandar Markovic     0x0000FFFF0000FFFFULL,
66*ace44584SAleksandar Markovic     0xFFFF80003FFFE000ULL,
67*ace44584SAleksandar Markovic     0x00007FFFC0001FFFULL,
68*ace44584SAleksandar Markovic     0xFFFFC0000FFFFC00ULL,
69*ace44584SAleksandar Markovic     0x00003FFFF00003FFULL,
70*ace44584SAleksandar Markovic     0xFFFFE00003FFFF80ULL,
71*ace44584SAleksandar Markovic     0x00001FFFFC00007FULL,
72*ace44584SAleksandar Markovic     0xFFFFF00000FFFFF0ULL,                               /*  40 */
73*ace44584SAleksandar Markovic     0x00000FFFFF00000FULL,
74*ace44584SAleksandar Markovic     0xFFFFF800003FFFFEULL,
75*ace44584SAleksandar Markovic     0x000007FFFFC00001ULL,
76*ace44584SAleksandar Markovic     0xFFFFFC00000FFFFFULL,
77*ace44584SAleksandar Markovic     0x000003FFFFF00000ULL,
78*ace44584SAleksandar Markovic     0xFFFFFE000003FFFFULL,
79*ace44584SAleksandar Markovic     0x000001FFFFFC0000ULL,
80*ace44584SAleksandar Markovic     0xFFFFFF000000FFFFULL,                               /*  48 */
81*ace44584SAleksandar Markovic     0x000000FFFFFF0000ULL,
82*ace44584SAleksandar Markovic     0xFFFFFF8000003FFFULL,
83*ace44584SAleksandar Markovic     0x0000007FFFFFC000ULL,
84*ace44584SAleksandar Markovic     0xFFFFFFC000000FFFULL,
85*ace44584SAleksandar Markovic     0x0000003FFFFFF000ULL,
86*ace44584SAleksandar Markovic     0xFFFFFFE0000003FFULL,
87*ace44584SAleksandar Markovic     0x0000001FFFFFFC00ULL,
88*ace44584SAleksandar Markovic     0xFFFFFFF0000000FFULL,                               /*  56 */
89*ace44584SAleksandar Markovic     0x0000000FFFFFFF00ULL,
90*ace44584SAleksandar Markovic     0xFFFFFFF80000003FULL,
91*ace44584SAleksandar Markovic     0x00000007FFFFFFC0ULL,
92*ace44584SAleksandar Markovic     0xFFFFFFFC0000000FULL,
93*ace44584SAleksandar Markovic     0x00000003FFFFFFF0ULL,
94*ace44584SAleksandar Markovic     0xFFFFFFFE00000003ULL,
95*ace44584SAleksandar Markovic     0x00000001FFFFFFFCULL,
96*ace44584SAleksandar Markovic };
97*ace44584SAleksandar Markovic 
98*ace44584SAleksandar Markovic static const uint64_t b64_pattern_se[PATTERN_INPUTS_64_COUNT] = {
99*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFFFULL,                               /*   0 */
100*ace44584SAleksandar Markovic     0x0000000000000000ULL,
101*ace44584SAleksandar Markovic     0xFFFFFFFFAAAAAAAAULL,
102*ace44584SAleksandar Markovic     0x0000000055555555ULL,
103*ace44584SAleksandar Markovic     0xFFFFFFFFCCCCCCCCULL,
104*ace44584SAleksandar Markovic     0x0000000033333333ULL,
105*ace44584SAleksandar Markovic     0xFFFFFFFFE38E38E3ULL,
106*ace44584SAleksandar Markovic     0x000000001C71C71CULL,
107*ace44584SAleksandar Markovic     0xFFFFFFFFF0F0F0F0ULL,                               /*   8 */
108*ace44584SAleksandar Markovic     0x000000000F0F0F0FULL,
109*ace44584SAleksandar Markovic     0xFFFFFFFFF83E0F83ULL,
110*ace44584SAleksandar Markovic     0x0000000007C1F07CULL,
111*ace44584SAleksandar Markovic     0xFFFFFFFFFC0FC0FCULL,
112*ace44584SAleksandar Markovic     0x0000000003F03F03ULL,
113*ace44584SAleksandar Markovic     0xFFFFFFFFFE03F80FULL,
114*ace44584SAleksandar Markovic     0x0000000001FC07F0ULL,
115*ace44584SAleksandar Markovic     0xFFFFFFFFFF00FF00ULL,                               /*  16 */
116*ace44584SAleksandar Markovic     0x0000000000FF00FFULL,
117*ace44584SAleksandar Markovic     0xFFFFFFFFFF803FE0ULL,
118*ace44584SAleksandar Markovic     0x00000000007FC01FULL,
119*ace44584SAleksandar Markovic     0xFFFFFFFFFFC00FFCULL,
120*ace44584SAleksandar Markovic     0x00000000003FF003ULL,
121*ace44584SAleksandar Markovic     0xFFFFFFFFFFE003FFULL,
122*ace44584SAleksandar Markovic     0x00000000001FFC00ULL,
123*ace44584SAleksandar Markovic     0xFFFFFFFFFFF000FFULL,                               /*  24 */
124*ace44584SAleksandar Markovic     0x00000000000FFF00ULL,
125*ace44584SAleksandar Markovic     0xFFFFFFFFFFF8003FULL,
126*ace44584SAleksandar Markovic     0x000000000007FFC0ULL,
127*ace44584SAleksandar Markovic     0xFFFFFFFFFFFC000FULL,
128*ace44584SAleksandar Markovic     0x000000000003FFF0ULL,
129*ace44584SAleksandar Markovic     0xFFFFFFFFFFFE0003ULL,
130*ace44584SAleksandar Markovic     0x000000000001FFFCULL,
131*ace44584SAleksandar Markovic     0xFFFFFFFFFFFF0000ULL,                               /*  32 */
132*ace44584SAleksandar Markovic     0x000000000000FFFFULL,
133*ace44584SAleksandar Markovic     0xFFFFFFFFFFFF8000ULL,
134*ace44584SAleksandar Markovic     0x0000000000007FFFULL,
135*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFC000ULL,
136*ace44584SAleksandar Markovic     0x0000000000003FFFULL,
137*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFE000ULL,
138*ace44584SAleksandar Markovic     0x0000000000001FFFULL,
139*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFF000ULL,                               /*  40 */
140*ace44584SAleksandar Markovic     0x0000000000000FFFULL,
141*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFF800ULL,
142*ace44584SAleksandar Markovic     0x00000000000007FFULL,
143*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFC00ULL,
144*ace44584SAleksandar Markovic     0x00000000000003FFULL,
145*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFE00ULL,
146*ace44584SAleksandar Markovic     0x00000000000001FFULL,
147*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFF00ULL,                               /*  48 */
148*ace44584SAleksandar Markovic     0x00000000000000FFULL,
149*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFF80ULL,
150*ace44584SAleksandar Markovic     0x000000000000007FULL,
151*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFC0ULL,
152*ace44584SAleksandar Markovic     0x000000000000003FULL,
153*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFE0ULL,
154*ace44584SAleksandar Markovic     0x000000000000001FULL,
155*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFF0ULL,                               /*  56 */
156*ace44584SAleksandar Markovic     0x000000000000000FULL,
157*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFF8ULL,
158*ace44584SAleksandar Markovic     0x0000000000000007ULL,
159*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFFCULL,
160*ace44584SAleksandar Markovic     0x0000000000000003ULL,
161*ace44584SAleksandar Markovic     0xFFFFFFFFFFFFFFFEULL,
162*ace44584SAleksandar Markovic     0x0000000000000001ULL,
163*ace44584SAleksandar Markovic };
164*ace44584SAleksandar Markovic 
165*ace44584SAleksandar Markovic 
166*ace44584SAleksandar Markovic #define RANDOM_INPUTS_64_COUNT           16
167*ace44584SAleksandar Markovic #define RANDOM_INPUTS_64_SHORT_COUNT      4
168*ace44584SAleksandar Markovic 
169*ace44584SAleksandar Markovic static const uint64_t b64_random[RANDOM_INPUTS_64_COUNT] = {
170*ace44584SAleksandar Markovic     0x886AE6CC28625540ULL,                               /*   0 */
171*ace44584SAleksandar Markovic     0xFBBE00634D93C708ULL,
172*ace44584SAleksandar Markovic     0xAC5AAEAAB9CF8B80ULL,
173*ace44584SAleksandar Markovic     0x704F164D5E31E24EULL,
174*ace44584SAleksandar Markovic     0xB9926B7C7DAF4258ULL,
175*ace44584SAleksandar Markovic     0xD027BE89FF0A2EF9ULL,
176*ace44584SAleksandar Markovic     0xB83B580665CABC4AULL,
177*ace44584SAleksandar Markovic     0xFC8F23F09AA6B782ULL,
178*ace44584SAleksandar Markovic     0x201E09CD56AEE649ULL,                               /*   8 */
179*ace44584SAleksandar Markovic     0xA57CD91365D9E5D7ULL,
180*ace44584SAleksandar Markovic     0xA2E8F6F5C9CBC61BULL,
181*ace44584SAleksandar Markovic     0xA89CF2F131A864AEULL,
182*ace44584SAleksandar Markovic     0xE61438E9A652EA0AULL,
183*ace44584SAleksandar Markovic     0x944A35FD192361A8ULL,
184*ace44584SAleksandar Markovic     0x4630426322BEF79CULL,
185*ace44584SAleksandar Markovic     0x8B5AA7A2F259DEADULL,
186*ace44584SAleksandar Markovic };
187*ace44584SAleksandar Markovic 
188*ace44584SAleksandar Markovic static const uint64_t b64_random_se[RANDOM_INPUTS_64_COUNT] = {
189*ace44584SAleksandar Markovic     0xFFFFFFFF886AE6CCULL,                               /*   0 */
190*ace44584SAleksandar Markovic     0xFFFFFFFFFBBE0063ULL,
191*ace44584SAleksandar Markovic     0xFFFFFFFFAC5AAEAAULL,
192*ace44584SAleksandar Markovic     0x00000000704F164DULL,
193*ace44584SAleksandar Markovic     0xFFFFFFFFB9926B7CULL,
194*ace44584SAleksandar Markovic     0xFFFFFFFFD027BE89ULL,
195*ace44584SAleksandar Markovic     0xFFFFFFFFB83B5806ULL,
196*ace44584SAleksandar Markovic     0xFFFFFFFFFC8F23F0ULL,
197*ace44584SAleksandar Markovic     0x00000000201E09CDULL,                               /*   8 */
198*ace44584SAleksandar Markovic     0xFFFFFFFFA57CD913ULL,
199*ace44584SAleksandar Markovic     0xFFFFFFFFA2E8F6F5ULL,
200*ace44584SAleksandar Markovic     0xFFFFFFFFA89CF2F1ULL,
201*ace44584SAleksandar Markovic     0xFFFFFFFFE61438E9ULL,
202*ace44584SAleksandar Markovic     0xFFFFFFFF944A35FDULL,
203*ace44584SAleksandar Markovic     0x0000000046304263ULL,
204*ace44584SAleksandar Markovic     0xFFFFFFFF8B5AA7A2ULL,
205*ace44584SAleksandar Markovic };
206*ace44584SAleksandar Markovic 
207*ace44584SAleksandar Markovic 
208*ace44584SAleksandar Markovic #endif
209