xref: /qemu/tests/tcg/mips/include/test_inputs_128.h (revision 81526dff27cfbd7a863824afa0efb3608c4480d6)
1d33f6728SAleksandar Markovic /*
2d33f6728SAleksandar Markovic  *  Header file for pattern and random test inputs
3d33f6728SAleksandar Markovic  *
4dd8d6a2dSAleksandar Markovic  *  Copyright (C) 2019  Wave Computing, Inc.
5dd8d6a2dSAleksandar Markovic  *  Copyright (C) 2019  Aleksandar Markovic <amarkovic@wavecomp.com>
6d33f6728SAleksandar Markovic  *
7d33f6728SAleksandar Markovic  *  This program is free software: you can redistribute it and/or modify
8d33f6728SAleksandar Markovic  *  it under the terms of the GNU General Public License as published by
9d33f6728SAleksandar Markovic  *  the Free Software Foundation, either version 2 of the License, or
10d33f6728SAleksandar Markovic  *  (at your option) any later version.
11d33f6728SAleksandar Markovic  *
12d33f6728SAleksandar Markovic  *  This program is distributed in the hope that it will be useful,
13d33f6728SAleksandar Markovic  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14d33f6728SAleksandar Markovic  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15d33f6728SAleksandar Markovic  *  GNU General Public License for more details.
16d33f6728SAleksandar Markovic  *
17d33f6728SAleksandar Markovic  *  You should have received a copy of the GNU General Public License
18d33f6728SAleksandar Markovic  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
19d33f6728SAleksandar Markovic  *
20d33f6728SAleksandar Markovic  */
21d33f6728SAleksandar Markovic 
22*81526dffSAleksandar Markovic #ifndef TEST_INPUTS_128_H
23*81526dffSAleksandar Markovic #define TEST_INPUTS_128_H
24d33f6728SAleksandar Markovic 
25d33f6728SAleksandar Markovic #include <stdint.h>
26d33f6728SAleksandar Markovic 
27d33f6728SAleksandar Markovic 
28d33f6728SAleksandar Markovic #define PATTERN_INPUTS_COUNT          64
29d33f6728SAleksandar Markovic #define PATTERN_INPUTS_SHORT_COUNT     8
30d33f6728SAleksandar Markovic 
31dd3ba703SAleksandar Markovic static const uint64_t b128_pattern[PATTERN_INPUTS_COUNT][2] = {
32d33f6728SAleksandar Markovic     { 0xFFFFFFFFFFFFFFFFULL, 0xFFFFFFFFFFFFFFFFULL, },   /*   0 */
33d33f6728SAleksandar Markovic     { 0x0000000000000000ULL, 0x0000000000000000ULL, },
34d33f6728SAleksandar Markovic     { 0xAAAAAAAAAAAAAAAAULL, 0xAAAAAAAAAAAAAAAAULL, },
35d33f6728SAleksandar Markovic     { 0x5555555555555555ULL, 0x5555555555555555ULL, },
36d33f6728SAleksandar Markovic     { 0xCCCCCCCCCCCCCCCCULL, 0xCCCCCCCCCCCCCCCCULL, },
37d33f6728SAleksandar Markovic     { 0x3333333333333333ULL, 0x3333333333333333ULL, },
38d33f6728SAleksandar Markovic     { 0xE38E38E38E38E38EULL, 0x38E38E38E38E38E3ULL, },
39d33f6728SAleksandar Markovic     { 0x1C71C71C71C71C71ULL, 0xC71C71C71C71C71CULL, },
40d33f6728SAleksandar Markovic     { 0xF0F0F0F0F0F0F0F0ULL, 0xF0F0F0F0F0F0F0F0ULL, },   /*   8 */
41d33f6728SAleksandar Markovic     { 0x0F0F0F0F0F0F0F0FULL, 0x0F0F0F0F0F0F0F0FULL, },
42d33f6728SAleksandar Markovic     { 0xF83E0F83E0F83E0FULL, 0x83E0F83E0F83E0F8ULL, },
43d33f6728SAleksandar Markovic     { 0x07C1F07C1F07C1F0ULL, 0x7C1F07C1F07C1F07ULL, },
44d33f6728SAleksandar Markovic     { 0xFC0FC0FC0FC0FC0FULL, 0xC0FC0FC0FC0FC0FCULL, },
45d33f6728SAleksandar Markovic     { 0x03F03F03F03F03F0ULL, 0x3F03F03F03F03F03ULL, },
46d33f6728SAleksandar Markovic     { 0xFE03F80FE03F80FEULL, 0x03F80FE03F80FE03ULL, },
47d33f6728SAleksandar Markovic     { 0x01FC07F01FC07F01ULL, 0xFC07F01FC07F01FCULL, },
48d33f6728SAleksandar Markovic     { 0xFF00FF00FF00FF00ULL, 0xFF00FF00FF00FF00ULL, },   /*  16 */
49d33f6728SAleksandar Markovic     { 0x00FF00FF00FF00FFULL, 0x00FF00FF00FF00FFULL, },
50d33f6728SAleksandar Markovic     { 0xFF803FE00FF803FEULL, 0x00FF803FE00FF803ULL, },
51d33f6728SAleksandar Markovic     { 0x007FC01FF007FC01ULL, 0xFF007FC01FF007FCULL, },
52d33f6728SAleksandar Markovic     { 0xFFC00FFC00FFC00FULL, 0xFC00FFC00FFC00FFULL, },
53d33f6728SAleksandar Markovic     { 0x003FF003FF003FF0ULL, 0x03FF003FF003FF00ULL, },
54d33f6728SAleksandar Markovic     { 0xFFE003FF800FFE00ULL, 0x3FF800FFE003FF80ULL, },
55d33f6728SAleksandar Markovic     { 0x001FFC007FF001FFULL, 0xC007FF001FFC007FULL, },
56d33f6728SAleksandar Markovic     { 0xFFF000FFF000FFF0ULL, 0x00FFF000FFF000FFULL, },   /*  24 */
57d33f6728SAleksandar Markovic     { 0x000FFF000FFF000FULL, 0xFF000FFF000FFF00ULL, },
58d33f6728SAleksandar Markovic     { 0xFFF8003FFE000FFFULL, 0x8003FFE000FFF800ULL, },
59d33f6728SAleksandar Markovic     { 0x0007FFC001FFF000ULL, 0x7FFC001FFF0007FFULL, },
60d33f6728SAleksandar Markovic     { 0xFFFC000FFFC000FFULL, 0xFC000FFFC000FFFCULL, },
61d33f6728SAleksandar Markovic     { 0x0003FFF0003FFF00ULL, 0x03FFF0003FFF0003ULL, },
62d33f6728SAleksandar Markovic     { 0xFFFE0003FFF8000FULL, 0xFFE0003FFF8000FFULL, },
63d33f6728SAleksandar Markovic     { 0x0001FFFC0007FFF0ULL, 0x001FFFC0007FFF00ULL, },
64d33f6728SAleksandar Markovic     { 0xFFFF0000FFFF0000ULL, 0xFFFF0000FFFF0000ULL, },   /*  32 */
65d33f6728SAleksandar Markovic     { 0x0000FFFF0000FFFFULL, 0x0000FFFF0000FFFFULL, },
66d33f6728SAleksandar Markovic     { 0xFFFF80003FFFE000ULL, 0x0FFFF80003FFFE00ULL, },
67d33f6728SAleksandar Markovic     { 0x00007FFFC0001FFFULL, 0xF00007FFFC0001FFULL, },
68d33f6728SAleksandar Markovic     { 0xFFFFC0000FFFFC00ULL, 0x00FFFFC0000FFFFCULL, },
69d33f6728SAleksandar Markovic     { 0x00003FFFF00003FFULL, 0xFF00003FFFF00003ULL, },
70d33f6728SAleksandar Markovic     { 0xFFFFE00003FFFF80ULL, 0x000FFFFE00003FFFULL, },
71d33f6728SAleksandar Markovic     { 0x00001FFFFC00007FULL, 0xFFF00001FFFFC000ULL, },
72d33f6728SAleksandar Markovic     { 0xFFFFF00000FFFFF0ULL, 0x0000FFFFF00000FFULL, },   /*  40 */
73d33f6728SAleksandar Markovic     { 0x00000FFFFF00000FULL, 0xFFFF00000FFFFF00ULL, },
74d33f6728SAleksandar Markovic     { 0xFFFFF800003FFFFEULL, 0x00000FFFFF800003ULL, },
75d33f6728SAleksandar Markovic     { 0x000007FFFFC00001ULL, 0xFFFFF000007FFFFCULL, },
76d33f6728SAleksandar Markovic     { 0xFFFFFC00000FFFFFULL, 0xC00000FFFFFC0000ULL, },
77d33f6728SAleksandar Markovic     { 0x000003FFFFF00000ULL, 0x3FFFFF000003FFFFULL, },
78d33f6728SAleksandar Markovic     { 0xFFFFFE000003FFFFULL, 0xF800000FFFFFE000ULL, },
79d33f6728SAleksandar Markovic     { 0x000001FFFFFC0000ULL, 0x07FFFFF000001FFFULL, },
80d33f6728SAleksandar Markovic     { 0xFFFFFF000000FFFFULL, 0xFF000000FFFFFF00ULL, },   /*  48 */
81d33f6728SAleksandar Markovic     { 0x000000FFFFFF0000ULL, 0x00FFFFFF000000FFULL, },
82d33f6728SAleksandar Markovic     { 0xFFFFFF8000003FFFULL, 0xFFE000000FFFFFF8ULL, },
83d33f6728SAleksandar Markovic     { 0x0000007FFFFFC000ULL, 0x001FFFFFF0000007ULL, },
84d33f6728SAleksandar Markovic     { 0xFFFFFFC000000FFFULL, 0xFFFC000000FFFFFFULL, },
85d33f6728SAleksandar Markovic     { 0x0000003FFFFFF000ULL, 0x0003FFFFFF000000ULL, },
86d33f6728SAleksandar Markovic     { 0xFFFFFFE0000003FFULL, 0xFFFF8000000FFFFFULL, },
87d33f6728SAleksandar Markovic     { 0x0000001FFFFFFC00ULL, 0x00007FFFFFF00000ULL, },
88d33f6728SAleksandar Markovic     { 0xFFFFFFF0000000FFULL, 0xFFFFF0000000FFFFULL, },   /*  56 */
89d33f6728SAleksandar Markovic     { 0x0000000FFFFFFF00ULL, 0x00000FFFFFFF0000ULL, },
90d33f6728SAleksandar Markovic     { 0xFFFFFFF80000003FULL, 0xFFFFFE0000000FFFULL, },
91d33f6728SAleksandar Markovic     { 0x00000007FFFFFFC0ULL, 0x000001FFFFFFF000ULL, },
92d33f6728SAleksandar Markovic     { 0xFFFFFFFC0000000FULL, 0xFFFFFFC0000000FFULL, },
93d33f6728SAleksandar Markovic     { 0x00000003FFFFFFF0ULL, 0x0000003FFFFFFF00ULL, },
94d33f6728SAleksandar Markovic     { 0xFFFFFFFE00000003ULL, 0xFFFFFFF80000000FULL, },
95d33f6728SAleksandar Markovic     { 0x00000001FFFFFFFCULL, 0x00000007FFFFFFF0ULL, },
96d33f6728SAleksandar Markovic };
97d33f6728SAleksandar Markovic 
98d33f6728SAleksandar Markovic 
99d33f6728SAleksandar Markovic #define RANDOM_INPUTS_COUNT           16
100d33f6728SAleksandar Markovic #define RANDOM_INPUTS_SHORT_COUNT      4
101d33f6728SAleksandar Markovic 
102dd3ba703SAleksandar Markovic static const uint64_t b128_random[RANDOM_INPUTS_COUNT][2] = {
103d33f6728SAleksandar Markovic     { 0x886AE6CC28625540ULL, 0x4B670B5EFE7BB00CULL, },   /*   0 */
104d33f6728SAleksandar Markovic     { 0xFBBE00634D93C708ULL, 0x12F7BB1A153F52FCULL, },
105d33f6728SAleksandar Markovic     { 0xAC5AAEAAB9CF8B80ULL, 0x27D8C6FFAB2B2514ULL, },
106d33f6728SAleksandar Markovic     { 0x704F164D5E31E24EULL, 0x8DF188D8A942E2A0ULL, },
107d33f6728SAleksandar Markovic     { 0xB9926B7C7DAF4258ULL, 0xA1227CADDCCE65B6ULL, },
108d33f6728SAleksandar Markovic     { 0xD027BE89FF0A2EF9ULL, 0x170B5050FEA53078ULL, },
109d33f6728SAleksandar Markovic     { 0xB83B580665CABC4AULL, 0x91230822BFF0BA62ULL, },
110d33f6728SAleksandar Markovic     { 0xFC8F23F09AA6B782ULL, 0x93FD6637124275AEULL, },
111d33f6728SAleksandar Markovic     { 0x201E09CD56AEE649ULL, 0xEF5DE039A6A52758ULL, },   /*   8 */
112d33f6728SAleksandar Markovic     { 0xA57CD91365D9E5D7ULL, 0x9321BC9881ECBA5CULL, },
113d33f6728SAleksandar Markovic     { 0xA2E8F6F5C9CBC61BULL, 0xB2C471545E0D7A12ULL, },
114d33f6728SAleksandar Markovic     { 0xA89CF2F131A864AEULL, 0xD2A3E87A5DB986E7ULL, },
115d33f6728SAleksandar Markovic     { 0xE61438E9A652EA0AULL, 0xA85483D97879D41CULL, },
116d33f6728SAleksandar Markovic     { 0x944A35FD192361A8ULL, 0xF3912DA36A0B2D6BULL, },
117d33f6728SAleksandar Markovic     { 0x4630426322BEF79CULL, 0xEB5686F7CB19304EULL, },
118d33f6728SAleksandar Markovic     { 0x8B5AA7A2F259DEADULL, 0xD278CBCD696417E3ULL, },
119d33f6728SAleksandar Markovic };
120d33f6728SAleksandar Markovic 
121d33f6728SAleksandar Markovic 
122d33f6728SAleksandar Markovic #endif
123