VirtualBox

source: vbox/trunk/src/VBox/VMM/testcase/tstIEMAImplData-Intel.h@ 94192

Last change on this file since 94192 was 94163, checked in by vboxsync, 3 years ago

VMM/IEM: Try deal with basic Intel/AMD EFLAGS difference for shifts (intel side tests). bugref:9898

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 297.2 KB
Line 
1/* $Id: tstIEMAImplData-Intel.h 94163 2022-03-11 00:56:22Z vboxsync $ */
2/** @file
3 * IEM Assembly Instruction Helper Testcase Data Intel - r150417 on Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz.
4 */
5
6/*
7 * Copyright (C) 2022 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18#ifndef VMM_INCLUDED_SRC_testcase_tstIEMAImplData_Intel_h
19#define VMM_INCLUDED_SRC_testcase_tstIEMAImplData_Intel_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24
25#define HAVE_BINU8_TESTS_INTEL
26
27
28#define HAVE_BINU16_TESTS_INTEL
29static const BINU16_TEST_T g_aTests_bsf_u16_intel[] =
30{
31 { 0x1e5512, 0x1e5546, 0x0000, 0x0000, 0x0000, 0x0 }, /* #0 */
32 { 0x140c43, 0x140446, 0x0000, 0x0000, 0x0000, 0x0 }, /* #1 */
33 { 0x0b5593, 0x0b5546, 0x0000, 0x0000, 0x0000, 0x0 }, /* #2 */
34 { 0x301b83, 0x301346, 0x0000, 0x0000, 0x0000, 0x0 }, /* #3 */
35 { 0x3f1142, 0x3f1146, 0xde58, 0xde58, 0x0000, 0x0 }, /* #4 */
36 { 0x1f5542, 0x1f5546, 0xeb02, 0xeb02, 0x0000, 0x0 }, /* #5 */
37 { 0x2b1cd7, 0x2b1446, 0x9e6d, 0x9e6d, 0x0000, 0x0 }, /* #6 */
38 { 0x0d7252, 0x0d7246, 0x677a, 0x677a, 0x0000, 0x0 }, /* #7 */
39 { 0x153843, 0x153002, 0x4dc4, 0x0001, 0x8f1e, 0x0 }, /* #8 */
40 { 0x376817, 0x376002, 0x4b9b, 0x0001, 0xf76a, 0x0 }, /* #9 */
41 { 0x027993, 0x027106, 0x8350, 0x0000, 0x1af3, 0x0 }, /* #10 */
42 { 0x1f5597, 0x1f5502, 0xc3e6, 0x0001, 0xe242, 0x0 }, /* #11 */
43 { 0x157d42, 0x157502, 0x60ca, 0x0001, 0x477e, 0x0 }, /* #12 */
44 { 0x1976d6, 0x197602, 0xa92b, 0x0002, 0xae0c, 0x0 }, /* #13 */
45 { 0x1b5257, 0x1b5202, 0xa547, 0x0004, 0x15b0, 0x0 }, /* #14 */
46 { 0x331487, 0x331406, 0x21f4, 0x0000, 0x325b, 0x0 }, /* #15 */
47 { 0x372346, 0x372306, 0x0539, 0x0005, 0x8420, 0x0 }, /* #16 */
48 { 0x212c07, 0x212406, 0xa591, 0x0000, 0xb53f, 0x0 }, /* #17 */
49 { 0x095906, 0x095102, 0x8f6b, 0x0001, 0x706e, 0x0 }, /* #18 */
50 { 0x096597, 0x096506, 0x884d, 0x0000, 0x2b35, 0x0 }, /* #19 */
51 { 0x316a13, 0x316206, 0x17ba, 0x0000, 0x35e1, 0x0 }, /* #20 */
52 { 0x3e19c3, 0x3e1102, 0xb437, 0x0001, 0x1c9e, 0x0 }, /* #21 */
53 { 0x164552, 0x164506, 0x115a, 0x0000, 0xf811, 0x0 }, /* #22 */
54 { 0x3a4896, 0x3a4006, 0xbe02, 0x0003, 0x1e08, 0x0 }, /* #23 */
55 { 0x0e3997, 0x0e3106, 0x79a0, 0x0000, 0xd143, 0x0 }, /* #24 */
56 { 0x052f92, 0x052706, 0x71d2, 0x0005, 0x3a60, 0x0 }, /* #25 */
57 { 0x134d07, 0x134502, 0x562b, 0x0004, 0x1310, 0x0 }, /* #26 */
58 { 0x150e42, 0x150602, 0x79ed, 0x0001, 0xf5de, 0x0 }, /* #27 */
59 { 0x092bd6, 0x092306, 0x40b8, 0x0000, 0xc0c5, 0x0 }, /* #28 */
60 { 0x062252, 0x062202, 0xa847, 0x0001, 0xa592, 0x0 }, /* #29 */
61 { 0x2f1c52, 0x2f1402, 0x24ba, 0x0002, 0x294c, 0x0 }, /* #30 */
62 { 0x344617, 0x344602, 0xc9c9, 0x0007, 0x2c80, 0x0 }, /* #31 */
63 { 0x0e4c12, 0x0e4402, 0x9317, 0x0001, 0x5086, 0x0 }, /* #32 */
64 { 0x1c3a83, 0x1c3202, 0x23d2, 0x0001, 0xa95a, 0x0 }, /* #33 */
65 { 0x1f5dd7, 0x1f5506, 0x5985, 0x0000, 0xa667, 0x0 }, /* #34 */
66 { 0x2f5642, 0x2f5602, 0xd049, 0x0001, 0x498a, 0x0 }, /* #35 */
67 { 0x0201c3, 0x020102, 0x3fc7, 0x0002, 0x8504, 0x0 }, /* #36 */
68 { 0x015713, 0x015702, 0xdcc9, 0x0001, 0x6fee, 0x0 }, /* #37 */
69 { 0x0a0703, 0x0a0706, 0x0744, 0x0000, 0x0a37, 0x0 }, /* #38 */
70 { 0x357242, 0x357202, 0x0e35, 0x0002, 0x4904, 0x0 }, /* #39 */
71 { 0x1b1a86, 0x1b1206, 0x170c, 0x0000, 0x9f43, 0x0 }, /* #40 */
72 { 0x3a2787, 0x3a2706, 0xb52b, 0x0000, 0xa471, 0x0 }, /* #41 */
73 { 0x1112d2, 0x111202, 0x5384, 0x0001, 0xcd32, 0x0 }, /* #42 */
74 { 0x076b83, 0x076302, 0xb447, 0x0002, 0xd01c, 0x0 }, /* #43 */
75 { 0x175d06, 0x175502, 0x5331, 0x0001, 0xd506, 0x0 }, /* #44 */
76 { 0x2d5a52, 0x2d5206, 0x8e61, 0x0006, 0x2d40, 0x0 }, /* #45 */
77 { 0x003983, 0x003106, 0x5290, 0x0000, 0x83a7, 0x0 }, /* #46 */
78 { 0x391897, 0x391002, 0xc750, 0x0001, 0x2b42, 0x0 }, /* #47 */
79 { 0x382ac6, 0x382202, 0x3704, 0x0004, 0xfc50, 0x0 }, /* #48 */
80 { 0x237756, 0x237702, 0xc73c, 0x0001, 0xb81e, 0x0 }, /* #49 */
81 { 0x202e43, 0x202602, 0x24c1, 0x0002, 0xbebc, 0x0 }, /* #50 */
82 { 0x1c0296, 0x1c0206, 0x0836, 0x0000, 0x470b, 0x0 }, /* #51 */
83 { 0x284412, 0x284402, 0x4b4c, 0x0008, 0xed00, 0x0 }, /* #52 */
84 { 0x262843, 0x262006, 0x1c40, 0x0000, 0xc1ff, 0x0 }, /* #53 */
85 { 0x0e2f16, 0x0e2702, 0x9ef9, 0x0001, 0x4986, 0x0 }, /* #54 */
86 { 0x086fd3, 0x086706, 0xe487, 0x0000, 0x6da9, 0x0 }, /* #55 */
87 { 0x3e5197, 0x3e5106, 0xa56a, 0x0000, 0xbdd1, 0x0 }, /* #56 */
88 { 0x3f0346, 0x3f0302, 0xebe7, 0x0002, 0xb904, 0x0 }, /* #57 */
89 { 0x364a03, 0x364202, 0x38ad, 0x0001, 0xc00e, 0x0 }, /* #58 */
90 { 0x075596, 0x075506, 0x4ec0, 0x0000, 0xaa9f, 0x0 }, /* #59 */
91 { 0x2c00c3, 0x2c0006, 0x65a8, 0x0000, 0xe619, 0x0 }, /* #60 */
92 { 0x254d87, 0x254506, 0xc6e6, 0x0000, 0x9d53, 0x0 }, /* #61 */
93 { 0x055903, 0x055102, 0x4ce2, 0x0002, 0x0e04, 0x0 }, /* #62 */
94 { 0x071206, 0x071206, 0xf7b3, 0x0000, 0xcefb, 0x0 }, /* #63 */
95};
96static const BINU16_TEST_T g_aTests_bsr_u16_intel[] =
97{
98 { 0x353542, 0x353546, 0x0000, 0x0000, 0x0000, 0x0 }, /* #0 */
99 { 0x044a97, 0x044246, 0x0000, 0x0000, 0x0000, 0x0 }, /* #1 */
100 { 0x025e86, 0x025646, 0x0000, 0x0000, 0x0000, 0x0 }, /* #2 */
101 { 0x075a17, 0x075246, 0x0000, 0x0000, 0x0000, 0x0 }, /* #3 */
102 { 0x240d12, 0x240546, 0x9954, 0x9954, 0x0000, 0x0 }, /* #4 */
103 { 0x0d5a46, 0x0d5246, 0xc2b4, 0xc2b4, 0x0000, 0x0 }, /* #5 */
104 { 0x325947, 0x325146, 0x87cf, 0x87cf, 0x0000, 0x0 }, /* #6 */
105 { 0x297c03, 0x297446, 0xd66b, 0xd66b, 0x0000, 0x0 }, /* #7 */
106 { 0x237186, 0x237106, 0xfcd2, 0x000f, 0x933f, 0x0 }, /* #8 */
107 { 0x011583, 0x011506, 0x6352, 0x000c, 0x193a, 0x0 }, /* #9 */
108 { 0x063312, 0x063306, 0xf800, 0x000f, 0xd672, 0x0 }, /* #10 */
109 { 0x054746, 0x054702, 0xc036, 0x000e, 0x7cae, 0x0 }, /* #11 */
110 { 0x2f3fd7, 0x2f3706, 0x214c, 0x000c, 0x1c8c, 0x0 }, /* #12 */
111 { 0x083bc3, 0x083302, 0xbb82, 0x000e, 0x64ee, 0x0 }, /* #13 */
112 { 0x226092, 0x226002, 0x7b5b, 0x000e, 0x60c5, 0x0 }, /* #14 */
113 { 0x093613, 0x093606, 0x75d0, 0x000f, 0xf2ad, 0x0 }, /* #15 */
114 { 0x241203, 0x241202, 0x8732, 0x000e, 0x6393, 0x0 }, /* #16 */
115 { 0x356a56, 0x356206, 0x7d65, 0x000f, 0x87bb, 0x0 }, /* #17 */
116 { 0x284457, 0x284406, 0x99b2, 0x000f, 0xb9b5, 0x0 }, /* #18 */
117 { 0x347ad7, 0x347206, 0x8ef9, 0x000f, 0xb8f4, 0x0 }, /* #19 */
118 { 0x056a57, 0x056206, 0xb00a, 0x0009, 0x0367, 0x0 }, /* #20 */
119 { 0x370f92, 0x370702, 0xe9a3, 0x000b, 0x0ab2, 0x0 }, /* #21 */
120 { 0x3a30d7, 0x3a3006, 0x3b98, 0x000f, 0xb8c3, 0x0 }, /* #22 */
121 { 0x3e3116, 0x3e3106, 0x4405, 0x000f, 0xb69c, 0x0 }, /* #23 */
122 { 0x3e36c2, 0x3e3602, 0xf25e, 0x000d, 0x223d, 0x0 }, /* #24 */
123 { 0x3c7156, 0x3c7106, 0xbc0a, 0x000a, 0x069d, 0x0 }, /* #25 */
124 { 0x283ec2, 0x283606, 0x24a6, 0x000c, 0x1b42, 0x0 }, /* #26 */
125 { 0x1f1016, 0x1f1006, 0x50a2, 0x000f, 0xa033, 0x0 }, /* #27 */
126 { 0x284012, 0x284006, 0x6883, 0x000c, 0x1ff8, 0x0 }, /* #28 */
127 { 0x1e6d03, 0x1e6502, 0x489b, 0x000e, 0x4dd5, 0x0 }, /* #29 */
128 { 0x0853c6, 0x085306, 0xe4b9, 0x000f, 0xbf8e, 0x0 }, /* #30 */
129 { 0x123ed2, 0x123602, 0x108b, 0x000e, 0x467f, 0x0 }, /* #31 */
130 { 0x337616, 0x337602, 0x17d2, 0x000b, 0x0c37, 0x0 }, /* #32 */
131 { 0x1d2cc6, 0x1d2406, 0x00f2, 0x000f, 0xaa41, 0x0 }, /* #33 */
132 { 0x394143, 0x394106, 0xeb2c, 0x000f, 0xdb52, 0x0 }, /* #34 */
133 { 0x160f86, 0x160706, 0xf1d7, 0x000f, 0xd6da, 0x0 }, /* #35 */
134 { 0x0a6097, 0x0a6002, 0x8a8e, 0x000b, 0x0eea, 0x0 }, /* #36 */
135 { 0x103c96, 0x103406, 0x20f3, 0x000f, 0xe21b, 0x0 }, /* #37 */
136 { 0x292007, 0x292006, 0xccae, 0x000f, 0xfa01, 0x0 }, /* #38 */
137 { 0x356787, 0x356706, 0x56d0, 0x000f, 0xc07c, 0x0 }, /* #39 */
138 { 0x0067c7, 0x006702, 0x5bc0, 0x000d, 0x2407, 0x0 }, /* #40 */
139 { 0x0e1753, 0x0e1706, 0xf08d, 0x000c, 0x1558, 0x0 }, /* #41 */
140 { 0x2a6783, 0x2a6702, 0x3035, 0x000d, 0x3b56, 0x0 }, /* #42 */
141 { 0x1526d2, 0x152602, 0xb6eb, 0x000d, 0x3ff0, 0x0 }, /* #43 */
142 { 0x101f82, 0x101702, 0x84ed, 0x000e, 0x5f46, 0x0 }, /* #44 */
143 { 0x1c4496, 0x1c4402, 0xacd3, 0x000e, 0x5afc, 0x0 }, /* #45 */
144 { 0x2021c3, 0x202106, 0xf549, 0x000f, 0xf645, 0x0 }, /* #46 */
145 { 0x097947, 0x097102, 0x82ac, 0x000e, 0x62cf, 0x0 }, /* #47 */
146 { 0x395043, 0x395006, 0x02b6, 0x000f, 0xf4d7, 0x0 }, /* #48 */
147 { 0x001fd6, 0x001706, 0x12a6, 0x000f, 0xfa5d, 0x0 }, /* #49 */
148 { 0x1d0682, 0x1d0602, 0x6594, 0x000d, 0x277b, 0x0 }, /* #50 */
149 { 0x2907d6, 0x290706, 0xa9db, 0x000f, 0xa899, 0x0 }, /* #51 */
150 { 0x334293, 0x334202, 0x3f34, 0x000d, 0x21e6, 0x0 }, /* #52 */
151 { 0x3f6347, 0x3f6302, 0x1c0a, 0x000e, 0x403a, 0x0 }, /* #53 */
152 { 0x264e86, 0x264602, 0x0dd7, 0x000e, 0x6ff6, 0x0 }, /* #54 */
153 { 0x1e5c86, 0x1e5406, 0x6e87, 0x000c, 0x1fff, 0x0 }, /* #55 */
154 { 0x2f58c7, 0x2f5006, 0xed5b, 0x000f, 0xbd60, 0x0 }, /* #56 */
155 { 0x302793, 0x302706, 0xdf35, 0x000f, 0xf57a, 0x0 }, /* #57 */
156 { 0x3272d3, 0x327206, 0xc277, 0x000f, 0x9668, 0x0 }, /* #58 */
157 { 0x123192, 0x123102, 0x69f7, 0x000d, 0x35c3, 0x0 }, /* #59 */
158 { 0x1f6707, 0x1f6702, 0xef72, 0x000e, 0x6704, 0x0 }, /* #60 */
159 { 0x294143, 0x294102, 0x7855, 0x000d, 0x3227, 0x0 }, /* #61 */
160 { 0x2f7957, 0x2f7106, 0x01f1, 0x0009, 0x0300, 0x0 }, /* #62 */
161 { 0x394b03, 0x394306, 0x208c, 0x000f, 0xb3fe, 0x0 }, /* #63 */
162};
163static const BINU16_TEST_T g_aTests_imul_two_u16_intel[] =
164{
165 { 0x2e6f07, 0x2e6706, 0x0000, 0x0000, 0x0000, 0x0 }, /* #0 */
166 { 0x175dd6, 0x175506, 0x0000, 0x0000, 0x0000, 0x0 }, /* #1 */
167 { 0x385197, 0x385106, 0x0000, 0x0000, 0x0000, 0x0 }, /* #2 */
168 { 0x2429c3, 0x242106, 0x0000, 0x0000, 0x0000, 0x0 }, /* #3 */
169 { 0x364b87, 0x364306, 0x59ac, 0x0000, 0x0000, 0x0 }, /* #4 */
170 { 0x1849d6, 0x184106, 0x95a2, 0x0000, 0x0000, 0x0 }, /* #5 */
171 { 0x0355d2, 0x035506, 0x0f2b, 0x0000, 0x0000, 0x0 }, /* #6 */
172 { 0x227602, 0x227606, 0x1f7d, 0x0000, 0x0000, 0x0 }, /* #7 */
173 { 0x1b6757, 0x1b6f07, 0x0375, 0x04e7, 0xe76b, 0x0 }, /* #8 */
174 { 0x227c07, 0x227c03, 0x0851, 0x7b68, 0x52e8, 0x0 }, /* #9 */
175 { 0x377fd3, 0x377f07, 0xa32f, 0x706a, 0x23b6, 0x0 }, /* #10 */
176 { 0x3407c7, 0x340f03, 0xfb0a, 0x1fd6, 0xdaaf, 0x0 }, /* #11 */
177 { 0x280b82, 0x280b03, 0x67a6, 0x5186, 0x5151, 0x0 }, /* #12 */
178 { 0x3013c2, 0x301b87, 0x266c, 0xe09c, 0x6a65, 0x0 }, /* #13 */
179 { 0x2a4713, 0x2a4f87, 0x2fe0, 0x9200, 0xab70, 0x0 }, /* #14 */
180 { 0x1e5dd7, 0x1e5d07, 0x7615, 0x4230, 0x7570, 0x0 }, /* #15 */
181 { 0x236bd3, 0x236b03, 0xf085, 0x6fb0, 0x17f0, 0x0 }, /* #16 */
182 { 0x396f07, 0x396f03, 0x7520, 0x0520, 0xb881, 0x0 }, /* #17 */
183 { 0x203dd3, 0x203d03, 0x8475, 0x73fb, 0x48af, 0x0 }, /* #18 */
184 { 0x371453, 0x371c07, 0x474d, 0x36ff, 0x497b, 0x0 }, /* #19 */
185 { 0x095202, 0x095a03, 0xc7c5, 0x6097, 0x30ab, 0x0 }, /* #20 */
186 { 0x0500c7, 0x050807, 0x36ee, 0x626c, 0x59fa, 0x0 }, /* #21 */
187 { 0x2a2c03, 0x2a2c03, 0x9841, 0x56f8, 0xd8f8, 0x0 }, /* #22 */
188 { 0x044006, 0x044807, 0x10c4, 0x7a74, 0x822d, 0x0 }, /* #23 */
189 { 0x3a0417, 0x3a0c83, 0x21a8, 0x9770, 0x48f6, 0x0 }, /* #24 */
190 { 0x3b10c7, 0x3b1887, 0x8269, 0xd95c, 0x6afc, 0x0 }, /* #25 */
191 { 0x382792, 0x382f87, 0x6f8d, 0xe053, 0x275f, 0x0 }, /* #26 */
192 { 0x1e5386, 0x1e5b07, 0x58fd, 0x2e5a, 0xcbe2, 0x0 }, /* #27 */
193 { 0x3942d7, 0x394a07, 0xefbb, 0x031e, 0x0c7a, 0x0 }, /* #28 */
194 { 0x382f93, 0x382f03, 0xe817, 0x2415, 0x84b3, 0x0 }, /* #29 */
195 { 0x242b16, 0x242b03, 0x2ab4, 0x4010, 0x3494, 0x0 }, /* #30 */
196 { 0x1b3617, 0x1b3e07, 0xa15b, 0x7c14, 0x3c7c, 0x0 }, /* #31 */
197 { 0x150bc7, 0x150b03, 0x4555, 0x1a2f, 0x2173, 0x0 }, /* #32 */
198 { 0x391353, 0x391b03, 0xab27, 0x64c7, 0xfd61, 0x0 }, /* #33 */
199 { 0x147786, 0x147f03, 0xa2b4, 0x6334, 0x54a1, 0x0 }, /* #34 */
200 { 0x167e82, 0x167e87, 0x3aae, 0xb7de, 0x7f29, 0x0 }, /* #35 */
201 { 0x0c5606, 0x0c5e87, 0x4d3f, 0x8c50, 0x4fb0, 0x0 }, /* #36 */
202 { 0x375e42, 0x375e87, 0x4837, 0x9dd2, 0xa3be, 0x0 }, /* #37 */
203 { 0x263302, 0x263b83, 0xab30, 0xe180, 0xe588, 0x0 }, /* #38 */
204 { 0x3f5bc7, 0x3f5b83, 0x47b6, 0xe52a, 0x464f, 0x0 }, /* #39 */
205 { 0x246992, 0x246987, 0xd209, 0x8cc3, 0x6b6b, 0x0 }, /* #40 */
206 { 0x006dc6, 0x006d03, 0xea36, 0x38e6, 0x6389, 0x0 }, /* #41 */
207 { 0x256247, 0x256a83, 0xbdad, 0xa0f7, 0x25b3, 0x0 }, /* #42 */
208 { 0x0e1b83, 0x0e1b83, 0xae15, 0x9419, 0x92f5, 0x0 }, /* #43 */
209 { 0x0e3d52, 0x0e3d03, 0x029a, 0x1fce, 0x3c03, 0x0 }, /* #44 */
210 { 0x1b58d3, 0x1b5887, 0x7513, 0xd53c, 0x4954, 0x0 }, /* #45 */
211 { 0x337902, 0x337903, 0x2021, 0x4316, 0x7856, 0x0 }, /* #46 */
212 { 0x1d65c3, 0x1d6d03, 0x056b, 0x2113, 0x94f9, 0x0 }, /* #47 */
213 { 0x000717, 0x000f03, 0x4442, 0x6ffe, 0xd61f, 0x0 }, /* #48 */
214 { 0x140083, 0x140883, 0xe88b, 0xb840, 0xf0c0, 0x0 }, /* #49 */
215 { 0x223907, 0x223903, 0x0cff, 0x7d9b, 0xa365, 0x0 }, /* #50 */
216 { 0x2b1717, 0x2b1f07, 0xae2a, 0x0482, 0x497d, 0x0 }, /* #51 */
217 { 0x0c7ac6, 0x0c7a07, 0x10ce, 0x4300, 0x6280, 0x0 }, /* #52 */
218 { 0x220a47, 0x220a87, 0xccb5, 0xec99, 0x72d5, 0x0 }, /* #53 */
219 { 0x334d13, 0x334d87, 0x51cd, 0xa2b2, 0x437a, 0x0 }, /* #54 */
220 { 0x144986, 0x144987, 0xb789, 0xa7e8, 0x06a8, 0x0 }, /* #55 */
221 { 0x002413, 0x002c07, 0x6c7d, 0x4d71, 0x1b05, 0x0 }, /* #56 */
222 { 0x226507, 0x226d07, 0x3c76, 0x6b5c, 0x402a, 0x0 }, /* #57 */
223 { 0x377742, 0x377f83, 0xffd5, 0xf923, 0x8917, 0x0 }, /* #58 */
224 { 0x311c82, 0x311c83, 0x2752, 0xba1c, 0x9d5e, 0x0 }, /* #59 */
225 { 0x272c93, 0x272c87, 0x33fd, 0xf563, 0x1cdf, 0x0 }, /* #60 */
226 { 0x261443, 0x261c07, 0x19a8, 0x3b50, 0xbd02, 0x0 }, /* #61 */
227 { 0x1f60c7, 0x1f6803, 0xde0e, 0x4908, 0x525c, 0x0 }, /* #62 */
228 { 0x1b5752, 0x1b5f83, 0xec5a, 0xc26e, 0xd773, 0x0 }, /* #63 */
229};
230
231
232#define HAVE_BINU32_TESTS_INTEL
233static const BINU32_TEST_T g_aTests_bsf_u32_intel[] =
234{
235 { 0x1c3f03, 0x1c3746, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #0 */
236 { 0x2d2117, 0x2d2146, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #1 */
237 { 0x3b0192, 0x3b0146, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #2 */
238 { 0x2e0907, 0x2e0146, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #3 */
239 { 0x0a4812, 0x0a4046, 0x4940c807, 0x4940c807, 0x00000000, 0x0 }, /* #4 */
240 { 0x231513, 0x231546, 0x488d8435, 0x488d8435, 0x00000000, 0x0 }, /* #5 */
241 { 0x185dc6, 0x185546, 0x8063a971, 0x8063a971, 0x00000000, 0x0 }, /* #6 */
242 { 0x153887, 0x153046, 0x039f40a1, 0x039f40a1, 0x00000000, 0x0 }, /* #7 */
243 { 0x1f0006, 0x1f0006, 0x82ba0147, 0x00000000, 0xe46e9c19, 0x0 }, /* #8 */
244 { 0x071d46, 0x071506, 0xecebde73, 0x00000000, 0x53d0691b, 0x0 }, /* #9 */
245 { 0x064f97, 0x064706, 0x7a861c37, 0x00000000, 0x20407387, 0x0 }, /* #10 */
246 { 0x203993, 0x203106, 0xc76dc35a, 0x00000000, 0x0f13a7ed, 0x0 }, /* #11 */
247 { 0x282d82, 0x282506, 0x4db97585, 0x00000000, 0xaa747d07, 0x0 }, /* #12 */
248 { 0x237486, 0x237406, 0xded6d4a9, 0x00000000, 0xed9ead9b, 0x0 }, /* #13 */
249 { 0x203482, 0x203406, 0xab5436d1, 0x00000000, 0x850c3d49, 0x0 }, /* #14 */
250 { 0x3f12d2, 0x3f1206, 0x4c73f80f, 0x00000000, 0x13bb32ef, 0x0 }, /* #15 */
251 { 0x374e47, 0x374602, 0x64748418, 0x00000001, 0x193d295a, 0x0 }, /* #16 */
252 { 0x164e43, 0x164602, 0xa7f85380, 0x00000001, 0x0e6eaa42, 0x0 }, /* #17 */
253 { 0x067a87, 0x067206, 0x161ea449, 0x00000000, 0xd315b159, 0x0 }, /* #18 */
254 { 0x086982, 0x086106, 0xa4d442cc, 0x00000003, 0xc2e15398, 0x0 }, /* #19 */
255 { 0x092bc7, 0x092306, 0xb1c2700b, 0x00000000, 0xb49f898f, 0x0 }, /* #20 */
256 { 0x2a2596, 0x2a2506, 0xa324da64, 0x00000000, 0x03b31371, 0x0 }, /* #21 */
257 { 0x0a39c6, 0x0a3106, 0x05249ffd, 0x00000003, 0xa48a4f78, 0x0 }, /* #22 */
258 { 0x0d63d7, 0x0d6306, 0xf2807262, 0x00000003, 0xd79f3538, 0x0 }, /* #23 */
259 { 0x046b82, 0x046306, 0x2c12427e, 0x00000000, 0x30da786b, 0x0 }, /* #24 */
260 { 0x137bc2, 0x137306, 0xd9865019, 0x00000000, 0xa880a8fd, 0x0 }, /* #25 */
261 { 0x3c1383, 0x3c1302, 0xae1e4983, 0x00000002, 0x64f05cbc, 0x0 }, /* #26 */
262 { 0x233846, 0x233006, 0x2844cc9f, 0x00000000, 0x14db32c3, 0x0 }, /* #27 */
263 { 0x130316, 0x130302, 0x053c2fbd, 0x00000001, 0x38d44d9a, 0x0 }, /* #28 */
264 { 0x202257, 0x202206, 0x799fc14a, 0x00000000, 0x2b419615, 0x0 }, /* #29 */
265 { 0x341e57, 0x341602, 0x2896b51d, 0x00000002, 0x332c9b24, 0x0 }, /* #30 */
266 { 0x3640c2, 0x364006, 0x295107d1, 0x00000000, 0x52e27deb, 0x0 }, /* #31 */
267 { 0x121187, 0x121102, 0x72bc8b6e, 0x00000001, 0x3b948bfe, 0x0 }, /* #32 */
268 { 0x1c2216, 0x1c2206, 0x747d732c, 0x00000000, 0x41f6ad6d, 0x0 }, /* #33 */
269 { 0x004d83, 0x004506, 0xf9b46b1b, 0x00000000, 0xf5af6f3f, 0x0 }, /* #34 */
270 { 0x0446c7, 0x044606, 0xfef30fec, 0x00000000, 0x10d4fc39, 0x0 }, /* #35 */
271 { 0x215a97, 0x215206, 0xfa32c309, 0x00000000, 0x17398df5, 0x0 }, /* #36 */
272 { 0x2f1647, 0x2f1606, 0x8a5b57b7, 0x00000000, 0x2b8310fb, 0x0 }, /* #37 */
273 { 0x142cc3, 0x142406, 0xd88063a8, 0x00000000, 0xb5acc689, 0x0 }, /* #38 */
274 { 0x286fd6, 0x286702, 0x80e14e49, 0x00000001, 0x890494fe, 0x0 }, /* #39 */
275 { 0x175756, 0x175706, 0x6182a6ad, 0x00000000, 0x3b06939b, 0x0 }, /* #40 */
276 { 0x016c52, 0x016406, 0xbeebca4f, 0x00000000, 0xa94ea339, 0x0 }, /* #41 */
277 { 0x391c02, 0x391402, 0xa53b9df0, 0x00000004, 0x186176f0, 0x0 }, /* #42 */
278 { 0x210146, 0x210102, 0x72542b80, 0x00000002, 0x994df79c, 0x0 }, /* #43 */
279 { 0x022993, 0x022106, 0x63971236, 0x00000000, 0x15f87787, 0x0 }, /* #44 */
280 { 0x027a82, 0x027206, 0x63498acd, 0x00000000, 0xac999171, 0x0 }, /* #45 */
281 { 0x182782, 0x182706, 0xc4cc12d5, 0x00000000, 0x2fb1c1cb, 0x0 }, /* #46 */
282 { 0x0c6ec6, 0x0c6606, 0xff3914ba, 0x00000000, 0x78f2ee8f, 0x0 }, /* #47 */
283 { 0x233952, 0x233106, 0x12bee386, 0x00000000, 0xd7561193, 0x0 }, /* #48 */
284 { 0x363612, 0x363602, 0xe142d693, 0x00000001, 0x4fa97126, 0x0 }, /* #49 */
285 { 0x1b3d07, 0x1b3506, 0xa07c21b8, 0x00000000, 0x1b9cb689, 0x0 }, /* #50 */
286 { 0x1a4b96, 0x1a4302, 0x49e51dd8, 0x00000001, 0xf2f93236, 0x0 }, /* #51 */
287 { 0x022183, 0x022106, 0xa5de738c, 0x00000000, 0x09096357, 0x0 }, /* #52 */
288 { 0x333813, 0x333006, 0xc3e7a0c7, 0x00000000, 0x17b122db, 0x0 }, /* #53 */
289 { 0x360bd3, 0x360306, 0x450369a7, 0x00000003, 0xe8db4778, 0x0 }, /* #54 */
290 { 0x357952, 0x357106, 0x790e93cf, 0x00000000, 0x39292a3f, 0x0 }, /* #55 */
291 { 0x3e5e42, 0x3e5606, 0x219c9861, 0x00000000, 0x3acd560d, 0x0 }, /* #56 */
292 { 0x3118c7, 0x311006, 0xebbcfefb, 0x00000003, 0x5b6d6e88, 0x0 }, /* #57 */
293 { 0x252246, 0x252202, 0x3a5ae791, 0x00000001, 0x4d53120a, 0x0 }, /* #58 */
294 { 0x325e92, 0x325602, 0x26360377, 0x00000001, 0x3b54d406, 0x0 }, /* #59 */
295 { 0x367057, 0x367006, 0x6b9a2f96, 0x00000006, 0xd3f1d0c0, 0x0 }, /* #60 */
296 { 0x0c5417, 0x0c5406, 0xf8c377e6, 0x00000000, 0xfa8caff9, 0x0 }, /* #61 */
297 { 0x2b7bc3, 0x2b7306, 0xc7d32d6d, 0x00000000, 0x7557132b, 0x0 }, /* #62 */
298 { 0x2d5516, 0x2d5506, 0xe134d2d8, 0x00000000, 0xa505c98f, 0x0 }, /* #63 */
299};
300static const BINU32_TEST_T g_aTests_bsr_u32_intel[] =
301{
302 { 0x054797, 0x054746, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #0 */
303 { 0x142d42, 0x142546, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #1 */
304 { 0x3e15d3, 0x3e1546, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #2 */
305 { 0x262d03, 0x262546, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #3 */
306 { 0x343942, 0x343146, 0x327d8e9a, 0x327d8e9a, 0x00000000, 0x0 }, /* #4 */
307 { 0x203c46, 0x203446, 0x08b713bc, 0x08b713bc, 0x00000000, 0x0 }, /* #5 */
308 { 0x3937c3, 0x393746, 0xd5346bec, 0xd5346bec, 0x00000000, 0x0 }, /* #6 */
309 { 0x0e0f13, 0x0e0746, 0x89790133, 0x89790133, 0x00000000, 0x0 }, /* #7 */
310 { 0x216707, 0x216702, 0x39d300ec, 0x0000001f, 0xc6493d4f, 0x0 }, /* #8 */
311 { 0x285a57, 0x285206, 0x85fa719c, 0x0000001d, 0x20cd847f, 0x0 }, /* #9 */
312 { 0x2b6887, 0x2b6002, 0x1412dce5, 0x0000001f, 0xcaee4a3f, 0x0 }, /* #10 */
313 { 0x0e6106, 0x0e6102, 0x2b4c741c, 0x0000001f, 0x95af3ea3, 0x0 }, /* #11 */
314 { 0x3f3313, 0x3f3306, 0x479e04c9, 0x0000001e, 0x4d56b438, 0x0 }, /* #12 */
315 { 0x037792, 0x037706, 0x3ae4a4d2, 0x0000001d, 0x37196fbd, 0x0 }, /* #13 */
316 { 0x1151d6, 0x115102, 0xb15d216e, 0x0000001f, 0xa01f2b75, 0x0 }, /* #14 */
317 { 0x325507, 0x325506, 0x35f42be3, 0x0000001d, 0x33e6986e, 0x0 }, /* #15 */
318 { 0x3756c7, 0x375602, 0xfec231c6, 0x0000001c, 0x13387088, 0x0 }, /* #16 */
319 { 0x073597, 0x073502, 0xa8c1bf47, 0x0000001f, 0xce11607c, 0x0 }, /* #17 */
320 { 0x154a46, 0x154202, 0x023cb5d1, 0x0000001f, 0xca565058, 0x0 }, /* #18 */
321 { 0x2c0287, 0x2c0206, 0xf044885f, 0x0000001e, 0x41e9e719, 0x0 }, /* #19 */
322 { 0x0d02d7, 0x0d0202, 0xc5388574, 0x0000001f, 0xab3a0200, 0x0 }, /* #20 */
323 { 0x291c83, 0x291406, 0x52636349, 0x0000001e, 0x64b7d052, 0x0 }, /* #21 */
324 { 0x323402, 0x323402, 0x4b49adfe, 0x0000001f, 0xeeca66df, 0x0 }, /* #22 */
325 { 0x2e6ec3, 0x2e6606, 0x6e950b9e, 0x0000001e, 0x59180db5, 0x0 }, /* #23 */
326 { 0x297852, 0x297002, 0xc0b02385, 0x0000001f, 0xf3ba14e4, 0x0 }, /* #24 */
327 { 0x056152, 0x056102, 0x64e7d275, 0x0000001f, 0x9c2d878e, 0x0 }, /* #25 */
328 { 0x1e0c12, 0x1e0406, 0x5c4aed6a, 0x0000001b, 0x0b3bbcb0, 0x0 }, /* #26 */
329 { 0x3f4e43, 0x3f4606, 0x234a244e, 0x0000001d, 0x2fd8f6c6, 0x0 }, /* #27 */
330 { 0x396d07, 0x396506, 0xade57bb9, 0x0000001d, 0x221d9670, 0x0 }, /* #28 */
331 { 0x234453, 0x234402, 0x49f33da5, 0x0000001f, 0xe0f17a96, 0x0 }, /* #29 */
332 { 0x091dc7, 0x091506, 0xb6b06d5b, 0x0000001e, 0x77d46ad7, 0x0 }, /* #30 */
333 { 0x124082, 0x124002, 0x72d96e93, 0x0000001f, 0xfffe9de7, 0x0 }, /* #31 */
334 { 0x1255c2, 0x125506, 0xae42195a, 0x0000001e, 0x61201025, 0x0 }, /* #32 */
335 { 0x3c41d2, 0x3c4102, 0x48e4aaab, 0x0000001f, 0x864e0180, 0x0 }, /* #33 */
336 { 0x150207, 0x150206, 0xcf673b8b, 0x0000001d, 0x38742d26, 0x0 }, /* #34 */
337 { 0x0d4307, 0x0d4302, 0xd5164cf4, 0x0000001f, 0xd02c1027, 0x0 }, /* #35 */
338 { 0x3060d6, 0x306002, 0x3d5e8c82, 0x0000001f, 0x9a4ce5f2, 0x0 }, /* #36 */
339 { 0x2c6c92, 0x2c6406, 0x39b87cfa, 0x0000001e, 0x687d6b47, 0x0 }, /* #37 */
340 { 0x026407, 0x026402, 0xfb3446c8, 0x0000001f, 0xf27c9d68, 0x0 }, /* #38 */
341 { 0x2a52d2, 0x2a5206, 0xa0a272b6, 0x0000001e, 0x46518ab4, 0x0 }, /* #39 */
342 { 0x2b7893, 0x2b7002, 0x4313b25c, 0x0000001f, 0x9d993870, 0x0 }, /* #40 */
343 { 0x273192, 0x273102, 0xdd242d1b, 0x0000001f, 0xb06dd51a, 0x0 }, /* #41 */
344 { 0x1f7706, 0x1f7702, 0x24d8c68c, 0x0000001f, 0xe1683543, 0x0 }, /* #42 */
345 { 0x305c83, 0x305406, 0xca9d1421, 0x0000001b, 0x09817e54, 0x0 }, /* #43 */
346 { 0x1c7dc7, 0x1c7502, 0xa30bca95, 0x0000001c, 0x188f5bdc, 0x0 }, /* #44 */
347 { 0x0f73d7, 0x0f7302, 0x78bd507c, 0x0000001f, 0xead6ea3b, 0x0 }, /* #45 */
348 { 0x0766c7, 0x076602, 0x0e124e91, 0x0000001f, 0xf9ecc12c, 0x0 }, /* #46 */
349 { 0x131e97, 0x131602, 0x88eb5e8b, 0x0000001f, 0xf792b4a2, 0x0 }, /* #47 */
350 { 0x2f5246, 0x2f5206, 0xad879054, 0x0000001e, 0x70a0cb8e, 0x0 }, /* #48 */
351 { 0x3668c3, 0x366006, 0x6f2cff15, 0x0000001e, 0x4838fc65, 0x0 }, /* #49 */
352 { 0x3c4d07, 0x3c4502, 0x94bb4d29, 0x0000001f, 0xc471d0cf, 0x0 }, /* #50 */
353 { 0x042397, 0x042306, 0x629b8c7f, 0x0000001e, 0x610f7ee7, 0x0 }, /* #51 */
354 { 0x224007, 0x224002, 0x9e0c2ea0, 0x0000001f, 0xb4f3c385, 0x0 }, /* #52 */
355 { 0x322ec2, 0x322602, 0x1d24ce57, 0x0000001f, 0xd6a4c74a, 0x0 }, /* #53 */
356 { 0x0a1357, 0x0a1306, 0x0b704206, 0x0000001e, 0x5ef0c255, 0x0 }, /* #54 */
357 { 0x387242, 0x387206, 0x2cdfe1a8, 0x0000001d, 0x3baca435, 0x0 }, /* #55 */
358 { 0x367502, 0x367506, 0x2227df07, 0x0000001e, 0x6fdbc632, 0x0 }, /* #56 */
359 { 0x2539c6, 0x253102, 0x11e83f22, 0x0000001f, 0xe53b5b2f, 0x0 }, /* #57 */
360 { 0x2d0906, 0x2d0102, 0xc5e0ab43, 0x0000001f, 0xede54ed8, 0x0 }, /* #58 */
361 { 0x236153, 0x236102, 0x5ae61e49, 0x0000001a, 0x063ff0c4, 0x0 }, /* #59 */
362 { 0x2d0046, 0x2d0006, 0x0dfe538a, 0x0000001d, 0x29355c4a, 0x0 }, /* #60 */
363 { 0x1d0342, 0x1d0302, 0x595537a2, 0x0000001f, 0xbd892935, 0x0 }, /* #61 */
364 { 0x364d16, 0x364506, 0x93c9e791, 0x0000001e, 0x67b78986, 0x0 }, /* #62 */
365 { 0x3761d6, 0x376106, 0xa114fb56, 0x0000001e, 0x76d43d48, 0x0 }, /* #63 */
366};
367static const BINU32_TEST_T g_aTests_imul_two_u32_intel[] =
368{
369 { 0x0d31d6, 0x0d3106, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #0 */
370 { 0x397f02, 0x397706, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #1 */
371 { 0x1d05d3, 0x1d0506, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #2 */
372 { 0x216a46, 0x216206, 0x00000000, 0x00000000, 0x00000000, 0x0 }, /* #3 */
373 { 0x3e3243, 0x3e3206, 0x54dff9ea, 0x00000000, 0x00000000, 0x0 }, /* #4 */
374 { 0x3e7c07, 0x3e7406, 0x0fc0036e, 0x00000000, 0x00000000, 0x0 }, /* #5 */
375 { 0x2715d3, 0x271506, 0x11d90acd, 0x00000000, 0x00000000, 0x0 }, /* #6 */
376 { 0x353086, 0x353006, 0xee244e79, 0x00000000, 0x00000000, 0x0 }, /* #7 */
377 { 0x3958d2, 0x395883, 0x2e944e58, 0xc67e14d0, 0x74bb7c8e, 0x0 }, /* #8 */
378 { 0x1f6546, 0x1f6d87, 0xf2c3adce, 0xd9758284, 0x2f41066e, 0x0 }, /* #9 */
379 { 0x327b13, 0x327b87, 0x8fe1a032, 0x9501730c, 0x8c48fe76, 0x0 }, /* #10 */
380 { 0x153903, 0x153983, 0x6b75e177, 0xe0781ac4, 0x2f228c5c, 0x0 }, /* #11 */
381 { 0x0b1192, 0x0b1983, 0x44f382b0, 0xe3dcc1e0, 0x7640a75a, 0x0 }, /* #12 */
382 { 0x1d14c6, 0x1d1c87, 0xf203cdc1, 0xf915ca5c, 0x08a0195c, 0x0 }, /* #13 */
383 { 0x0e3b17, 0x0e3b03, 0x52110219, 0x7ab9ee1c, 0xdd057a7c, 0x0 }, /* #14 */
384 { 0x083e13, 0x083e03, 0x025e14c0, 0x7ce56140, 0x36471fc7, 0x0 }, /* #15 */
385 { 0x1d4fd3, 0x1d4f83, 0x01a9b30a, 0xb6388d2c, 0xe30d751e, 0x0 }, /* #16 */
386 { 0x103c82, 0x103c87, 0xb1553e6d, 0x93b6057d, 0x8dd33951, 0x0 }, /* #17 */
387 { 0x073307, 0x073b87, 0x24ef92ce, 0xb6d9ab88, 0xe4612d9c, 0x0 }, /* #18 */
388 { 0x196717, 0x196f83, 0x50aaff12, 0xdcc8c64a, 0xd149a3bd, 0x0 }, /* #19 */
389 { 0x257346, 0x257b87, 0x75384686, 0xed8b7878, 0x7069e914, 0x0 }, /* #20 */
390 { 0x314d03, 0x314d83, 0xd781c869, 0xd3ccb110, 0x381d8690, 0x0 }, /* #21 */
391 { 0x1d70c7, 0x1d7883, 0xf71ce006, 0xd8311fa4, 0x06fca546, 0x0 }, /* #22 */
392 { 0x012687, 0x012e83, 0x94401c43, 0xb4fb4413, 0xa9b6a3f1, 0x0 }, /* #23 */
393 { 0x1e4917, 0x1e4903, 0x1527afbe, 0x285a3776, 0x630027a5, 0x0 }, /* #24 */
394 { 0x163943, 0x163983, 0xd088fbda, 0x81fb9938, 0xd4a6cb8c, 0x0 }, /* #25 */
395 { 0x215b83, 0x215b03, 0x819149d6, 0x1844c562, 0xc5de1fd3, 0x0 }, /* #26 */
396 { 0x141fc2, 0x141f87, 0x01c95bcc, 0xc36cd93c, 0x336d7235, 0x0 }, /* #27 */
397 { 0x067997, 0x067987, 0xc71703b1, 0x8ab83fa5, 0x68473c35, 0x0 }, /* #28 */
398 { 0x321e92, 0x321e83, 0x5f5d9278, 0xf8ddcaa8, 0xa1bda51b, 0x0 }, /* #29 */
399 { 0x2a01d7, 0x2a0987, 0xe0ea48ba, 0xb8381caa, 0x3ae57259, 0x0 }, /* #30 */
400 { 0x156c46, 0x156c83, 0x5931512a, 0xd6eb18f8, 0x0d6e2f8c, 0x0 }, /* #31 */
401 { 0x302cd6, 0x302c83, 0x747e7423, 0x8994ca6e, 0x05c803ba, 0x0 }, /* #32 */
402 { 0x2d05d3, 0x2d0d07, 0xea9253f5, 0x7119b77d, 0xa2bb2869, 0x0 }, /* #33 */
403 { 0x283f53, 0x283f03, 0xadc45ad5, 0x265d9e75, 0x5188c521, 0x0 }, /* #34 */
404 { 0x367816, 0x367887, 0xc3e88217, 0xb0d292d1, 0x2fffab57, 0x0 }, /* #35 */
405 { 0x2b5dd7, 0x2b5d83, 0x50283e98, 0xe6a83808, 0x6f17655b, 0x0 }, /* #36 */
406 { 0x202006, 0x202807, 0xe16a636e, 0x17ecc306, 0x4abb1e95, 0x0 }, /* #37 */
407 { 0x0b7087, 0x0b7887, 0x40d1eb33, 0xee881dbb, 0xaf054359, 0x0 }, /* #38 */
408 { 0x256247, 0x256a07, 0x8fde7a42, 0x2036686a, 0x4ea8a095, 0x0 }, /* #39 */
409 { 0x123d86, 0x123d03, 0x6fee049b, 0x47de0e20, 0x35183c60, 0x0 }, /* #40 */
410 { 0x3076d2, 0x307e83, 0xf470ceb4, 0xfbab628c, 0x73c9478f, 0x0 }, /* #41 */
411 { 0x102947, 0x102907, 0xc8b369de, 0x31d9516c, 0x49419eaa, 0x0 }, /* #42 */
412 { 0x225007, 0x225887, 0x01c4b0bf, 0xe35ea1de, 0x1ac277a2, 0x0 }, /* #43 */
413 { 0x243d56, 0x243d03, 0x76bcb893, 0x3d7e16ef, 0x7b436db5, 0x0 }, /* #44 */
414 { 0x212746, 0x212f07, 0xf13ee04d, 0x65342de7, 0xa6944103, 0x0 }, /* #45 */
415 { 0x0d6dd6, 0x0d6d87, 0x35b5d208, 0xf0c5d200, 0xbbfbaa40, 0x0 }, /* #46 */
416 { 0x333606, 0x333e83, 0x5702ec4e, 0xfae086c8, 0x516683fc, 0x0 }, /* #47 */
417 { 0x2e4483, 0x2e4c83, 0xe13c39af, 0xbe8bb546, 0x7f799e9a, 0x0 }, /* #48 */
418 { 0x064392, 0x064b07, 0x174c1e67, 0x057ab0db, 0x0eaae96d, 0x0 }, /* #49 */
419 { 0x117e16, 0x117e87, 0x612487c9, 0xd04b01fa, 0xba7a632a, 0x0 }, /* #50 */
420 { 0x260d02, 0x260d07, 0xbe246f00, 0x7d5ea300, 0xabe74b0d, 0x0 }, /* #51 */
421 { 0x2c1cc7, 0x2c1c07, 0x70a8f0fb, 0x4f2be665, 0x9516a81f, 0x0 }, /* #52 */
422 { 0x001b17, 0x001b87, 0x838e8940, 0x81be2d00, 0xbe7b05a4, 0x0 }, /* #53 */
423 { 0x280543, 0x280d07, 0xf6dc72db, 0x1c91303c, 0x915fff74, 0x0 }, /* #54 */
424 { 0x027993, 0x027987, 0x79541f98, 0xa61a7600, 0x8d92e640, 0x0 }, /* #55 */
425 { 0x3a7687, 0x3a7e07, 0xb9c7284b, 0x4435022d, 0xf2f3e467, 0x0 }, /* #56 */
426 { 0x161f92, 0x161f83, 0xe1102d1a, 0xc5a28c86, 0x14e4c40f, 0x0 }, /* #57 */
427 { 0x177cc2, 0x177c03, 0x5dfcced8, 0x66d8ee98, 0x338df969, 0x0 }, /* #58 */
428 { 0x016916, 0x016987, 0x49b743d9, 0xe797deff, 0x983f6a97, 0x0 }, /* #59 */
429 { 0x1a3782, 0x1a3f83, 0x286e7d49, 0xe77dbd7c, 0xf8d73d9c, 0x0 }, /* #60 */
430 { 0x150a42, 0x150a83, 0x6f6683fe, 0xf26f4e7c, 0xd8585cc2, 0x0 }, /* #61 */
431 { 0x2d7c52, 0x2d7c87, 0x742c3003, 0xf3fc55b2, 0xb1b311e6, 0x0 }, /* #62 */
432 { 0x2a5ad6, 0x2a5a83, 0x3e9d789c, 0xeafecd10, 0x159ac11c, 0x0 }, /* #63 */
433};
434
435
436#define HAVE_BINU64_TESTS_INTEL
437static const BINU64_TEST_T g_aTests_bsf_u64_intel[] =
438{
439 { 0x2f3a56, 0x2f3246, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #0 */
440 { 0x036603, 0x036646, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #1 */
441 { 0x0a6793, 0x0a6746, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #2 */
442 { 0x310cd2, 0x310446, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #3 */
443 { 0x107842, 0x107046, 0x87c633fbdf8364a8, 0x87c633fbdf8364a8, 0x0000000000000000, 0x0 }, /* #4 */
444 { 0x031606, 0x031646, 0x30817fe4e66ec2f2, 0x30817fe4e66ec2f2, 0x0000000000000000, 0x0 }, /* #5 */
445 { 0x3046c7, 0x304646, 0x04f9ace4c22aa047, 0x04f9ace4c22aa047, 0x0000000000000000, 0x0 }, /* #6 */
446 { 0x204c42, 0x204446, 0x777245454aa4719a, 0x777245454aa4719a, 0x0000000000000000, 0x0 }, /* #7 */
447 { 0x3f0b52, 0x3f0306, 0xa9889690ec57cfa3, 0x0000000000000000, 0xaa8a10f18b51e151, 0x0 }, /* #8 */
448 { 0x300196, 0x300106, 0xbfe797561c49d390, 0x0000000000000000, 0x3809c27f469dcb89, 0x0 }, /* #9 */
449 { 0x170492, 0x170406, 0xc70dd1fa1a8d2323, 0x0000000000000000, 0x2a6ede24cd8df9c3, 0x0 }, /* #10 */
450 { 0x294f86, 0x294706, 0x2d9150928f866286, 0x0000000000000000, 0x3e3b7dbf30e1f75f, 0x0 }, /* #11 */
451 { 0x2e3ed6, 0x2e3606, 0x26a01814a1f02f32, 0x0000000000000000, 0xa3914ac2709d9bd5, 0x0 }, /* #12 */
452 { 0x081056, 0x081006, 0x2490aad66814a3e7, 0x0000000000000000, 0x0f17a54361c7ea99, 0x0 }, /* #13 */
453 { 0x1a2297, 0x1a2202, 0x9980f2ad8103d689, 0x0000000000000001, 0xc31c7095375e9d36, 0x0 }, /* #14 */
454 { 0x093ec3, 0x093606, 0xe67fa697daad956c, 0x0000000000000000, 0x38ecb3b513d53273, 0x0 }, /* #15 */
455 { 0x323ad2, 0x323206, 0xa62c6f0d781e673d, 0x0000000000000000, 0xb50ef03eb50d305b, 0x0 }, /* #16 */
456 { 0x150086, 0x150006, 0x5267a5297ba0204e, 0x0000000000000000, 0x8c1ca2d551e758e5, 0x0 }, /* #17 */
457 { 0x0346d2, 0x034606, 0x7d698836f276aad7, 0x0000000000000000, 0x1c42440e4845993f, 0x0 }, /* #18 */
458 { 0x000246, 0x000206, 0x69bcec6041c2e87e, 0x0000000000000000, 0xd527b1962a066ba3, 0x0 }, /* #19 */
459 { 0x0a4d93, 0x0a4506, 0xc82a3406d09de164, 0x0000000000000000, 0xcef7649a6e0afe7f, 0x0 }, /* #20 */
460 { 0x3e7716, 0x3e7706, 0xa791ea144e3828d8, 0x0000000000000000, 0x3c4e0b610269cb4b, 0x0 }, /* #21 */
461 { 0x284c53, 0x284402, 0xb4170c5079abd5d4, 0x0000000000000001, 0x5a18dc36c0e8d3e6, 0x0 }, /* #22 */
462 { 0x097687, 0x097606, 0xbcc2cd9632a4292d, 0x0000000000000000, 0xe20ce876feb1dbdb, 0x0 }, /* #23 */
463 { 0x0e0843, 0x0e0002, 0xcf1e9d5f8e29ef71, 0x0000000000000001, 0xd9241e386872ac6a, 0x0 }, /* #24 */
464 { 0x1546c7, 0x154602, 0x8d9df704ced6cfab, 0x0000000000000001, 0x1548ecbddc8dd036, 0x0 }, /* #25 */
465 { 0x0426d6, 0x042602, 0xf76f4ca452a6e24d, 0x0000000000000001, 0x48c176da6dcf0832, 0x0 }, /* #26 */
466 { 0x154653, 0x154606, 0xe3454c9cd4453a27, 0x0000000000000003, 0xa63e30c0d4679468, 0x0 }, /* #27 */
467 { 0x266086, 0x266002, 0x90e59569831ca521, 0x0000000000000001, 0xd27b9dde7e6cc4ae, 0x0 }, /* #28 */
468 { 0x110d86, 0x110506, 0xd9254dcd39086785, 0x0000000000000003, 0xc290f1eaea054368, 0x0 }, /* #29 */
469 { 0x326157, 0x326102, 0x162c665071f68a31, 0x0000000000000004, 0xad7b11fd1ad7ee70, 0x0 }, /* #30 */
470 { 0x130846, 0x130006, 0xbf03b5e71ce8fb74, 0x0000000000000000, 0x85823180de9ee701, 0x0 }, /* #31 */
471 { 0x3379c6, 0x337106, 0xd58221e00a2bb754, 0x0000000000000000, 0x57112339255cb6ab, 0x0 }, /* #32 */
472 { 0x024402, 0x024406, 0x58d643da2912f754, 0x0000000000000000, 0xf7261653a2af6535, 0x0 }, /* #33 */
473 { 0x331757, 0x331706, 0xf8952340cc157a92, 0x0000000000000000, 0x3fecba452e822509, 0x0 }, /* #34 */
474 { 0x3b6f46, 0x3b6702, 0xeb8670ea7e480a47, 0x0000000000000001, 0xdd0d68bda180beb6, 0x0 }, /* #35 */
475 { 0x0f0943, 0x0f0106, 0x0ff6db58a906bf69, 0x0000000000000000, 0x9a103efea956316b, 0x0 }, /* #36 */
476 { 0x052012, 0x052002, 0x37306c9b9beea49a, 0x0000000000000002, 0x5cb034c996435f84, 0x0 }, /* #37 */
477 { 0x0e5f16, 0x0e5706, 0x0f39cd6c7095b933, 0x0000000000000000, 0x74cf4550d0a41c41, 0x0 }, /* #38 */
478 { 0x045397, 0x045302, 0x411ad7317a289d22, 0x0000000000000002, 0xfaee1c8ebf743b24, 0x0 }, /* #39 */
479 { 0x303497, 0x303406, 0xf5f75dafa3d0dc63, 0x0000000000000000, 0x03dffc2b81c7e7b7, 0x0 }, /* #40 */
480 { 0x0d4f83, 0x0d4706, 0x2cfa89175b3101bd, 0x0000000000000000, 0xd3d0c480f9f3683d, 0x0 }, /* #41 */
481 { 0x3a4456, 0x3a4406, 0x5cad5c2e57afb9e1, 0x0000000000000000, 0x91922abb30d9c181, 0x0 }, /* #42 */
482 { 0x0f5e86, 0x0f5602, 0xeb5f3165ca741d9f, 0x0000000000000002, 0x1bc4286e14b762f4, 0x0 }, /* #43 */
483 { 0x1410d3, 0x141006, 0x07d354e7d5377009, 0x0000000000000000, 0x9bb7cfacdb9dbf1f, 0x0 }, /* #44 */
484 { 0x107b53, 0x107302, 0x38caa28b01f06b77, 0x0000000000000004, 0xc854402e2f0a4730, 0x0 }, /* #45 */
485 { 0x2a4056, 0x2a4002, 0xe80c9b78b0422493, 0x0000000000000001, 0xea3f9bf8ab2887f2, 0x0 }, /* #46 */
486 { 0x252e93, 0x252602, 0xe56876319fbe4ea1, 0x0000000000000001, 0x7b90e6e25e387376, 0x0 }, /* #47 */
487 { 0x323202, 0x323206, 0x133269a09c5064c0, 0x0000000000000000, 0x7cbbbf713a4a4d09, 0x0 }, /* #48 */
488 { 0x301fc7, 0x301702, 0x21c80922d09f4fdd, 0x0000000000000002, 0x7da7727646782d5c, 0x0 }, /* #49 */
489 { 0x204506, 0x204506, 0xe7724c9947d04ffb, 0x0000000000000000, 0xa0b05e5fccdde72d, 0x0 }, /* #50 */
490 { 0x2c7bd2, 0x2c7306, 0x8c3e45df9312dc2c, 0x0000000000000000, 0x3cebd2394aea3895, 0x0 }, /* #51 */
491 { 0x0a7656, 0x0a7606, 0xd4b75c548939f162, 0x0000000000000000, 0x17e7f5feb59ce62f, 0x0 }, /* #52 */
492 { 0x315e96, 0x315606, 0x0ca7d6135870c7bb, 0x0000000000000000, 0x071a4f1bddde3c35, 0x0 }, /* #53 */
493 { 0x3b7447, 0x3b7406, 0xffdfca24424e3dc6, 0x0000000000000000, 0x1c2ba9bec6a89891, 0x0 }, /* #54 */
494 { 0x202e07, 0x202606, 0x265b4425db7a3338, 0x0000000000000000, 0x14a1058872446c4b, 0x0 }, /* #55 */
495 { 0x394087, 0x394006, 0xb1b542b7ecba9cf5, 0x0000000000000000, 0x37cc0618874a1e81, 0x0 }, /* #56 */
496 { 0x2e13d2, 0x2e1306, 0x685a3737e5b5170e, 0x0000000000000000, 0xe991c67287622649, 0x0 }, /* #57 */
497 { 0x035252, 0x035202, 0xcf59246d1821dda9, 0x0000000000000001, 0xe9c2e253dd8f3dc2, 0x0 }, /* #58 */
498 { 0x042e07, 0x042606, 0x7a6cae431ccc253f, 0x0000000000000003, 0x8b91c94cd54251f8, 0x0 }, /* #59 */
499 { 0x3b5fd6, 0x3b5706, 0x5c7799a2a2fd2744, 0x0000000000000000, 0x8dde49887faf71db, 0x0 }, /* #60 */
500 { 0x351787, 0x351702, 0x591e026d7593257e, 0x0000000000000001, 0x80c45bfc5f6d96d2, 0x0 }, /* #61 */
501 { 0x2c3447, 0x2c3406, 0xeafa284d67d22d64, 0x0000000000000000, 0xc3e06e28c2eb8dcb, 0x0 }, /* #62 */
502 { 0x175b02, 0x175302, 0x519ba878ebf851a0, 0x0000000000000002, 0x6e6d155bed4c5634, 0x0 }, /* #63 */
503};
504static const BINU64_TEST_T g_aTests_bsr_u64_intel[] =
505{
506 { 0x304913, 0x304146, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #0 */
507 { 0x334792, 0x334746, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #1 */
508 { 0x2b4dc2, 0x2b4546, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #2 */
509 { 0x2e3486, 0x2e3446, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #3 */
510 { 0x067f13, 0x067746, 0x2bbd09776a94ed47, 0x2bbd09776a94ed47, 0x0000000000000000, 0x0 }, /* #4 */
511 { 0x333317, 0x333346, 0x5e0f85efd032b615, 0x5e0f85efd032b615, 0x0000000000000000, 0x0 }, /* #5 */
512 { 0x033812, 0x033046, 0xf4da51cd4e1bfa00, 0xf4da51cd4e1bfa00, 0x0000000000000000, 0x0 }, /* #6 */
513 { 0x3c2cc2, 0x3c2446, 0xc0a8a20e5f80bcb1, 0xc0a8a20e5f80bcb1, 0x0000000000000000, 0x0 }, /* #7 */
514 { 0x100246, 0x100202, 0x6e037b9a8fcabcdf, 0x000000000000003e, 0x6220f882f3e072fc, 0x0 }, /* #8 */
515 { 0x006446, 0x006406, 0xca0566ceaf72d66b, 0x000000000000003c, 0x1af9f6231b2918f5, 0x0 }, /* #9 */
516 { 0x187096, 0x187002, 0x0a9c8cd29deefda3, 0x000000000000003d, 0x36dd5adb777b369e, 0x0 }, /* #10 */
517 { 0x0b4ec6, 0x0b4606, 0x7b20180f99c6add7, 0x000000000000003f, 0xb646945d1227135d, 0x0 }, /* #11 */
518 { 0x3f2bd7, 0x3f2306, 0xb65235d5b076870b, 0x000000000000003a, 0x062a17ce6f79be96, 0x0 }, /* #12 */
519 { 0x012157, 0x012106, 0x61ea528b397de802, 0x000000000000003f, 0xb194917a6884d874, 0x0 }, /* #13 */
520 { 0x0a78c7, 0x0a7002, 0xf04ef91797777263, 0x000000000000003e, 0x76388f93a6b10442, 0x0 }, /* #14 */
521 { 0x1d65d3, 0x1d6506, 0x299a8f4af19c45fd, 0x000000000000003f, 0xda36ab5eca80728f, 0x0 }, /* #15 */
522 { 0x256203, 0x256202, 0x850475128dd2e66d, 0x000000000000003e, 0x4e58710d342251af, 0x0 }, /* #16 */
523 { 0x394b06, 0x394302, 0xfad9323389070324, 0x000000000000003d, 0x2cfd795384260a85, 0x0 }, /* #17 */
524 { 0x3637c6, 0x363706, 0x83081192b3a8f49c, 0x000000000000003f, 0xf606adbb27f79e01, 0x0 }, /* #18 */
525 { 0x133b46, 0x133306, 0xf3c9334413db0d05, 0x000000000000003f, 0xdcc06e60c1a42d61, 0x0 }, /* #19 */
526 { 0x3a5f17, 0x3a5706, 0x3754537b001895a8, 0x000000000000003f, 0xe0affc38edcec28e, 0x0 }, /* #20 */
527 { 0x190196, 0x190102, 0x2111240f65504344, 0x000000000000003e, 0x6e70bf38f559f9d1, 0x0 }, /* #21 */
528 { 0x3e3ec7, 0x3e3602, 0x5968a270e282da67, 0x000000000000003e, 0x6b18e473fd17158e, 0x0 }, /* #22 */
529 { 0x314e83, 0x314606, 0xf77717a4992090cc, 0x000000000000003f, 0xf2eeff86a3c819e9, 0x0 }, /* #23 */
530 { 0x232447, 0x232406, 0x4f58460ea6966679, 0x000000000000003f, 0xc26f4c07c81faa12, 0x0 }, /* #24 */
531 { 0x047016, 0x047006, 0x5b18ec359d224509, 0x000000000000003f, 0xcd85884acb3d2f72, 0x0 }, /* #25 */
532 { 0x024992, 0x024102, 0x09c27d57846c9015, 0x000000000000003e, 0x47e0e0de43e9b953, 0x0 }, /* #26 */
533 { 0x080586, 0x080502, 0xac000c9eee86cf14, 0x000000000000003e, 0x4a228b27bd68f491, 0x0 }, /* #27 */
534 { 0x0c7993, 0x0c7106, 0xc0ef9c9657debeec, 0x000000000000003f, 0xa1b3961bf6619309, 0x0 }, /* #28 */
535 { 0x087703, 0x087706, 0x8880321d1068e92a, 0x000000000000003a, 0x07cf7fe92db3bae0, 0x0 }, /* #29 */
536 { 0x1e26c3, 0x1e2602, 0x13b31a82b0adb9ff, 0x000000000000003e, 0x6109d895a8353d8c, 0x0 }, /* #30 */
537 { 0x2e6747, 0x2e6706, 0xf580466a0a9b8a27, 0x000000000000003f, 0xb5772c734736a09d, 0x0 }, /* #31 */
538 { 0x141f56, 0x141706, 0x91a7eb46782816cc, 0x000000000000003f, 0xd866216c32b94bf2, 0x0 }, /* #32 */
539 { 0x0c7fc2, 0x0c7702, 0xe9a4db0f8eb64b6d, 0x000000000000003e, 0x6d0c7ae847e3b8d6, 0x0 }, /* #33 */
540 { 0x056493, 0x056406, 0xc1bdca73bd6533c0, 0x000000000000003f, 0xe4a2cfc7a6cdbff2, 0x0 }, /* #34 */
541 { 0x286f97, 0x286706, 0x65f1a16b02f21d3e, 0x000000000000003f, 0x87256c26c89b165d, 0x0 }, /* #35 */
542 { 0x311007, 0x311006, 0xf91f1e79339c5307, 0x000000000000003c, 0x17ee59be9a1e2512, 0x0 }, /* #36 */
543 { 0x1305d7, 0x130506, 0xf646bbdb3327b669, 0x000000000000003f, 0xe9c0df8df45a0e9c, 0x0 }, /* #37 */
544 { 0x383047, 0x383002, 0xd6051ca7aa370d3e, 0x000000000000003e, 0x61950732795e8fbc, 0x0 }, /* #38 */
545 { 0x211997, 0x211106, 0x72d57726e21ee4a3, 0x000000000000003f, 0xd8c3a47dcc6e08d6, 0x0 }, /* #39 */
546 { 0x1b31c2, 0x1b3106, 0x09e87ce0c57386a0, 0x000000000000003f, 0xe0f424d6455896b5, 0x0 }, /* #40 */
547 { 0x393483, 0x393406, 0x8e9aa76ae0a24558, 0x000000000000003f, 0xc442717141e651c5, 0x0 }, /* #41 */
548 { 0x2a5f03, 0x2a5706, 0x767ad101c53569d2, 0x000000000000003f, 0xc913f2fe9834fefc, 0x0 }, /* #42 */
549 { 0x394556, 0x394506, 0xffa97e7c38b6ed6b, 0x000000000000003f, 0x9536849c76e88c51, 0x0 }, /* #43 */
550 { 0x001406, 0x001406, 0xbbfb7c3ec85556d6, 0x000000000000003f, 0x855e24c18fda9cbd, 0x0 }, /* #44 */
551 { 0x0d6bd7, 0x0d6302, 0x5046d6b7850ada77, 0x000000000000003d, 0x21de5bc804635e1f, 0x0 }, /* #45 */
552 { 0x2658d3, 0x265002, 0x7482c6b670307eeb, 0x000000000000003d, 0x31c8735d761986f8, 0x0 }, /* #46 */
553 { 0x2d1186, 0x2d1106, 0x8752aee2d42daa35, 0x000000000000003a, 0x07e125f714a7ca1a, 0x0 }, /* #47 */
554 { 0x242246, 0x242202, 0x922c18cb38514910, 0x000000000000003e, 0x6e63856ca8b58934, 0x0 }, /* #48 */
555 { 0x1c7e57, 0x1c7602, 0x648d722a5f225dd6, 0x000000000000003d, 0x252a952dd723ff83, 0x0 }, /* #49 */
556 { 0x022056, 0x022002, 0x874d7731cd3a558f, 0x000000000000003e, 0x53b8773fbb735df3, 0x0 }, /* #50 */
557 { 0x130712, 0x130706, 0xc91c09a55101a631, 0x000000000000003f, 0xfd9c1b943d5cd06a, 0x0 }, /* #51 */
558 { 0x0e1296, 0x0e1206, 0xdce0d92a896c55a9, 0x000000000000003c, 0x1766865e39b5ebee, 0x0 }, /* #52 */
559 { 0x164247, 0x164202, 0xc3b136e274276b67, 0x000000000000003b, 0x0ca50a1fcdc0031e, 0x0 }, /* #53 */
560 { 0x1248d6, 0x124006, 0x3e6cff714087fda6, 0x000000000000003f, 0xe4ab2a44847ba110, 0x0 }, /* #54 */
561 { 0x1845c3, 0x184506, 0x1a563d3445587240, 0x000000000000003f, 0xcce99c075054da40, 0x0 }, /* #55 */
562 { 0x3a06d6, 0x3a0606, 0x72844647e5eabf8c, 0x000000000000003f, 0xae3ef88aa5c08e93, 0x0 }, /* #56 */
563 { 0x253406, 0x253406, 0xeb1ef35a2e46211e, 0x000000000000003f, 0x80beccab9de598ab, 0x0 }, /* #57 */
564 { 0x034203, 0x034206, 0x9f62d4092fb3dff6, 0x000000000000003f, 0x80888c69aa45b0d8, 0x0 }, /* #58 */
565 { 0x2b0507, 0x2b0506, 0x815b612638df2015, 0x000000000000003f, 0xe24f922a85691127, 0x0 }, /* #59 */
566 { 0x132252, 0x132206, 0xd96e325ff10656dd, 0x000000000000003f, 0xf5b2680a613bf4ed, 0x0 }, /* #60 */
567 { 0x034082, 0x034002, 0xa440ad7cb7094f96, 0x000000000000003e, 0x47eed9f5d49fa7e8, 0x0 }, /* #61 */
568 { 0x064513, 0x064502, 0xdd6765f94f32d3e1, 0x000000000000003b, 0x08f5b33a2c98a479, 0x0 }, /* #62 */
569 { 0x2b6287, 0x2b6206, 0xada59ce1eb689100, 0x000000000000003a, 0x043e36c2857157d7, 0x0 }, /* #63 */
570};
571static const BINU64_TEST_T g_aTests_imul_two_u64_intel[] =
572{
573 { 0x293153, 0x293106, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #0 */
574 { 0x160bd3, 0x160306, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #1 */
575 { 0x143542, 0x143506, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #2 */
576 { 0x1f6b92, 0x1f6306, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #3 */
577 { 0x3c29d6, 0x3c2106, 0xede018afed7bb3ee, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #4 */
578 { 0x373ec7, 0x373606, 0x8b447c81ead17168, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #5 */
579 { 0x331f87, 0x331706, 0x8ecfad1808129cb4, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #6 */
580 { 0x204d07, 0x204506, 0x060b610cb509aef2, 0x0000000000000000, 0x0000000000000000, 0x0 }, /* #7 */
581 { 0x120697, 0x120e87, 0x2256e3da2be9aa69, 0xd5d2e7bbb75e5ca6, 0x3dbcdc0897a2c6b6, 0x0 }, /* #8 */
582 { 0x222942, 0x222983, 0x9d87d3ef0abdf79c, 0xae1eb39a5724a408, 0xa421e47cb442faae, 0x0 }, /* #9 */
583 { 0x383006, 0x383883, 0x3eb01f51a15fd38d, 0xd8a741d7a25ba175, 0x883d6a5fab08d789, 0x0 }, /* #10 */
584 { 0x0d7547, 0x0d7d07, 0xfacc0ff84ef71eb5, 0x33f457f7617995e7, 0x5d8f7dd4b3e0a7ab, 0x0 }, /* #11 */
585 { 0x372cd3, 0x372c87, 0x78afcd74d6f36073, 0xbad4462602662fff, 0x02e637cc5ae6cb45, 0x0 }, /* #12 */
586 { 0x335b17, 0x335b87, 0xb58c6716a4c476dc, 0xcf0e92969a041744, 0x9c9dd6eef54178b7, 0x0 }, /* #13 */
587 { 0x0f5486, 0x0f5c87, 0xd720433964d71593, 0x97725f073466840c, 0x3533254d0975b344, 0x0 }, /* #14 */
588 { 0x143756, 0x143f07, 0x695b3de87786b45e, 0x36c7e82713df66de, 0xe3913001a0b32ac1, 0x0 }, /* #15 */
589 { 0x115657, 0x115e83, 0xd93715ccda6654d6, 0x9d465de83a2d2570, 0x9e8dd0fcfc885628, 0x0 }, /* #16 */
590 { 0x0a3642, 0x0a3e03, 0xaecaa6be4d7397a3, 0x5bb9274cb1ff1525, 0x37d33e97e8c70c97, 0x0 }, /* #17 */
591 { 0x1867d3, 0x186f87, 0x1ddbb10af083f9fa, 0x8d31a1a9c84e26be, 0x1e27721e75766e8b, 0x0 }, /* #18 */
592 { 0x1f5653, 0x1f5e83, 0x3433df884f1b36d3, 0xbb7043acfe48ed8f, 0x83f419a88fb870d5, 0x0 }, /* #19 */
593 { 0x134b52, 0x134b87, 0x9b717d33b52328fe, 0xd606db17f2108a78, 0x2f54662c0e936cc4, 0x0 }, /* #20 */
594 { 0x0b7587, 0x0b7d83, 0x80f9493f5406a4ee, 0x8106578a8d5eb90e, 0x85b45432daff3a71, 0x0 }, /* #21 */
595 { 0x051b87, 0x051b83, 0x732b3bcb64d56e62, 0x851822bcf2294dd0, 0x36c0a4230d052b68, 0x0 }, /* #22 */
596 { 0x035397, 0x035b07, 0x0f0065d03643b934, 0x141795da065f8f18, 0x52f1d7b15cbeb1de, 0x0 }, /* #23 */
597 { 0x1a5307, 0x1a5b83, 0x487434cfbc0399d1, 0xbe7038043847e41c, 0x65fcb2aeb39d0d5c, 0x0 }, /* #24 */
598 { 0x1567d7, 0x156f07, 0x5e3911e7c902f875, 0x41b2824f1694afc6, 0x4c9772f5981c87ee, 0x0 }, /* #25 */
599 { 0x3b7bd2, 0x3b7b03, 0x7bac4429a87c01b7, 0x73f590b58bba8268, 0xd04a09bebc6f70d8, 0x0 }, /* #26 */
600 { 0x311ad2, 0x311a87, 0xc4ad25c04af37c86, 0xf3bc3bad9028a856, 0x10ef715064a0d7f9, 0x0 }, /* #27 */
601 { 0x1e3b43, 0x1e3b07, 0xd13f2850d4cd75e9, 0x3fa0c01c30d6c0dd, 0x9009a6f9b590b6d5, 0x0 }, /* #28 */
602 { 0x002803, 0x002887, 0x774d16d8d8f9f272, 0xb2c00f21c7bd1224, 0xb575bbc6db8e6ba2, 0x0 }, /* #29 */
603 { 0x3c0b52, 0x3c0b07, 0x0ce649f34b38dfa0, 0x454206bd9868b760, 0xc04cf99c4e998917, 0x0 }, /* #30 */
604 { 0x0b45c3, 0x0b4d87, 0x647af0086c37d8ce, 0x9cdb1d0fad8b6a06, 0xa55c2b91ddb6d105, 0x0 }, /* #31 */
605 { 0x3f1ec2, 0x3f1e07, 0xb3f31cbccd9bc84e, 0x242307f63520b642, 0xec5834a86de96b77, 0x0 }, /* #32 */
606 { 0x337fd3, 0x337f03, 0x1c411fb64bd054a8, 0x1b7b1f65154c6f70, 0xd15388326653e8b6, 0x0 }, /* #33 */
607 { 0x296d47, 0x296d03, 0x8164f9a33f863bb1, 0x2a4d43312c26003d, 0xbb5ddf5b4ac5cc4d, 0x0 }, /* #34 */
608 { 0x263bc7, 0x263b83, 0x34716347d4df1c9f, 0xcc45b5c671d4f7cd, 0x50b99196b7132813, 0x0 }, /* #35 */
609 { 0x0c3407, 0x0c3c03, 0x83d6c4e8fa8503cb, 0x101cfbfb81a5232f, 0x2b22e559585059ad, 0x0 }, /* #36 */
610 { 0x245d06, 0x245d83, 0x455a7444e3f0e648, 0x8b346efcff14a680, 0xec9198c94d35e650, 0x0 }, /* #37 */
611 { 0x082382, 0x082b87, 0xa96723c3674337ce, 0xf9ebf86c6aeebbd8, 0xa25d5bf375205534, 0x0 }, /* #38 */
612 { 0x0f2c56, 0x0f2c83, 0x0607f71a4f9f69f2, 0xb1e0abdb911ba83e, 0x3fd73c88c7644fd7, 0x0 }, /* #39 */
613 { 0x1b1b97, 0x1b1b87, 0xe684bdedecfa8dbf, 0xcc5dc69b34335cd8, 0x01601462d94e8928, 0x0 }, /* #40 */
614 { 0x395f43, 0x395f83, 0x7a033148de1109e7, 0xd16f92e364d82743, 0x0bc8d1a7f0c42445, 0x0 }, /* #41 */
615 { 0x382842, 0x382883, 0x4ac17dae410ca3fe, 0xba328660f7cfa9a2, 0xf36ee7455b03392f, 0x0 }, /* #42 */
616 { 0x3e34c6, 0x3e3c07, 0xa71f92b7f70dab02, 0x4120d14e3c7e6f42, 0x9b73fffc8a6ab221, 0x0 }, /* #43 */
617 { 0x3f0803, 0x3f0807, 0xfa64e6e4fa56ab90, 0x630f75aef3c5c7f0, 0xd7f232536ef384f7, 0x0 }, /* #44 */
618 { 0x0c10c6, 0x0c1807, 0xa24acf445cd6cb58, 0x5910020a6061e130, 0x5d2e2880a9f45ff2, 0x0 }, /* #45 */
619 { 0x2c6d46, 0x2c6d03, 0xbbab41085f404bdf, 0x37a1805292dbd0b0, 0xa79a1388ffcf4550, 0x0 }, /* #46 */
620 { 0x174b16, 0x174b83, 0x4e037c15278a0ad8, 0xaad1230ca575bc20, 0x0ad1533ce60259cc, 0x0 }, /* #47 */
621 { 0x1f6396, 0x1f6b03, 0x4cf8f3977f457ce0, 0x43a73daff9fd9040, 0xd59b4a61b83a8f2e, 0x0 }, /* #48 */
622 { 0x0a52c2, 0x0a5a87, 0xb30266726ee5ac18, 0xe89a0ee82893b8d8, 0x6e5628b231891c89, 0x0 }, /* #49 */
623 { 0x362c13, 0x362c87, 0x268489f9165a6c1a, 0xca48f0276e331c90, 0x8b00c0d17a24bd68, 0x0 }, /* #50 */
624 { 0x1a4f03, 0x1a4f87, 0xe3a20e4a4a7fc4b8, 0xa1f78bb75ec52a28, 0x227dff9a9c151083, 0x0 }, /* #51 */
625 { 0x1f5397, 0x1f5b83, 0x6baf71fe18d9c54c, 0xb84ee353c3b466a4, 0xcc9d2cef1b49fd93, 0x0 }, /* #52 */
626 { 0x1a03d3, 0x1a0b87, 0x8eb4ca80d588ed60, 0xfa68a56230a9ad00, 0x23cf6000ab828a38, 0x0 }, /* #53 */
627 { 0x3e2dc3, 0x3e2d03, 0x709dba3edcec6c4d, 0x7625516a6ee17245, 0xb9fbe71ff40eb9d9, 0x0 }, /* #54 */
628 { 0x330582, 0x330d03, 0x7b7f369287297171, 0x2c054a5ebc282a2c, 0x267cdcc5f581f6ec, 0x0 }, /* #55 */
629 { 0x196f83, 0x196f07, 0x0aa0c5a5da73b702, 0x012cbd9f83022166, 0xd485c2c681bd5633, 0x0 }, /* #56 */
630 { 0x093e17, 0x093e83, 0xaa7c9fe58fa1e439, 0x802ed1454568a68f, 0x63c69c0a92b0b107, 0x0 }, /* #57 */
631 { 0x1918d3, 0x191883, 0xc4983e5d115cf60d, 0xfbff2ccbe20d732a, 0x92ec13673b336f52, 0x0 }, /* #58 */
632 { 0x367dc7, 0x367d03, 0x7bf4d3db3cf32039, 0x2cc29a0ad8b82308, 0xe316ca39ea59ab48, 0x0 }, /* #59 */
633 { 0x037182, 0x037983, 0xee1c56c604b44d0c, 0x9f762706316d7654, 0xb8fbfa57d1f18247, 0x0 }, /* #60 */
634 { 0x2b5042, 0x2b5883, 0xf3884880f9f660d4, 0x915691f57e754df4, 0xe1a8454d78cc8729, 0x0 }, /* #61 */
635 { 0x000a53, 0x000a83, 0xf0f56eb0472c1377, 0xcf967cd25f5289a4, 0x57c9c90fa1fec47c, 0x0 }, /* #62 */
636 { 0x307bc2, 0x307b03, 0x70f08ba9270c48f3, 0x54865a9573966716, 0xbc229a83f3132212, 0x0 }, /* #63 */
637};
638
639
640#define HAVE_SHIFT_DBL_TESTS_INTEL
641static const BINU16_TEST_T g_aTests_shld_u16_intel[] =
642{
643 { 0x0d18c7, 0x0d1046, 0x0000, 0x0000, 0x0000, 15 }, /* #0 */
644 { 0x391a12, 0x391246, 0x0000, 0x0000, 0x0000, 11 }, /* #1 */
645 { 0x025d47, 0x025d47, 0x0000, 0x0000, 0x0000, 0 }, /* #2 */
646 { 0x367402, 0x367446, 0x0000, 0x0000, 0x0000, 11 }, /* #3 */
647 { 0x247cd2, 0x247486, 0x07af, 0xf000, 0x0000, 12 }, /* #4 */
648 { 0x0a7503, 0x0a7547, 0x1d04, 0x0000, 0x0000, 14 }, /* #5 */
649 { 0x0a1046, 0x0a1006, 0xd03e, 0x1f00, 0x0000, 7 }, /* #6 */
650 { 0x0d1ac6, 0x0d1287, 0xf7e0, 0xefc0, 0x0000, 1 }, /* #7 */
651 { 0x2c0c57, 0x2c0c86, 0x4e92, 0x9d24, 0x4d55, 1 }, /* #8 */
652 { 0x167706, 0x167703, 0x199a, 0x3561, 0xb0b6, 9 }, /* #9 */
653 { 0x3d3b07, 0x3d3b06, 0x8fe3, 0x33b2, 0x3b20, 12 }, /* #10 */
654 { 0x0c5157, 0x0c5903, 0x5208, 0x2086, 0x6462, 4 }, /* #11 */
655 { 0x2b0702, 0x2b0f87, 0x7125, 0xc496, 0x80b6, 2 }, /* #12 */
656 { 0x022e82, 0x022e82, 0x21c0, 0x21c0, 0x7f9d, 0 }, /* #13 */
657 { 0x2f4e97, 0x2f4e87, 0x9d5f, 0xf341, 0x9a0e, 13 }, /* #14 */
658 { 0x142486, 0x142487, 0xcefa, 0xf447, 0x23b9, 9 }, /* #15 */
659 { 0x301b42, 0x301b83, 0x67fc, 0xf12f, 0x4bc5, 10 }, /* #16 */
660 { 0x2623d7, 0x262b02, 0x91a0, 0x08a1, 0x8a11, 12 }, /* #17 */
661 { 0x122e87, 0x122e02, 0x5a08, 0x43d3, 0x7a6e, 11 }, /* #18 */
662 { 0x1b32c7, 0x1b3a82, 0xbf1a, 0xd152, 0x2a4c, 11 }, /* #19 */
663 { 0x0d0fd3, 0x0d0f06, 0x462e, 0x3174, 0x8c2c, 3 }, /* #20 */
664 { 0x3e2ed6, 0x3e2606, 0xf164, 0x2c82, 0x17a3, 5 }, /* #21 */
665 { 0x162e83, 0x162683, 0x0d3a, 0xd3d5, 0x7ab0, 11 }, /* #22 */
666 { 0x251216, 0x251a06, 0x43c6, 0x78c6, 0x30be, 5 }, /* #23 */
667 { 0x145d96, 0x145d07, 0x60d9, 0x06cf, 0xf125, 3 }, /* #24 */
668 { 0x3d4442, 0x3d4c07, 0xa894, 0x1287, 0x3fa6, 5 }, /* #25 */
669 { 0x211e53, 0x211606, 0xcc91, 0x48d7, 0xafc9, 7 }, /* #26 */
670 { 0x0e2857, 0x0e2006, 0x065b, 0x0cb7, 0xb978, 1 }, /* #27 */
671 { 0x142c47, 0x142c82, 0xbbae, 0xecc7, 0xcc76, 12 }, /* #28 */
672 { 0x242286, 0x242282, 0x39b9, 0xc41f, 0x883f, 15 }, /* #29 */
673 { 0x230003, 0x230086, 0x3f0a, 0xb9fa, 0xe7e8, 14 }, /* #30 */
674 { 0x3946c3, 0x394e02, 0x6539, 0x7204, 0xc813, 14 }, /* #31 */
675 { 0x127c92, 0x127c82, 0x80a3, 0xc6e5, 0x1b97, 14 }, /* #32 */
676 { 0x2614c3, 0x261407, 0x0ecf, 0x3c35, 0x0d5c, 10 }, /* #33 */
677 { 0x1a5c52, 0x1a5c86, 0x8774, 0xe85a, 0x2d36, 9 }, /* #34 */
678 { 0x1e6582, 0x1e6d86, 0xac98, 0xc605, 0xc0b7, 11 }, /* #35 */
679 { 0x1f2842, 0x1f2842, 0xbad7, 0xbad7, 0x9a94, 0 }, /* #36 */
680 { 0x065f02, 0x065f83, 0x98fe, 0xeccd, 0xccd0, 12 }, /* #37 */
681 { 0x3f7c83, 0x3f7486, 0x0c04, 0xc044, 0x45cc, 4 }, /* #38 */
682 { 0x0d2713, 0x0d2787, 0x246a, 0xaaaa, 0xaabf, 10 }, /* #39 */
683 { 0x044b86, 0x044387, 0xc07d, 0x80fa, 0x1efc, 1 }, /* #40 */
684 { 0x3c6553, 0x3c6587, 0x0393, 0xc9bd, 0x7b54, 7 }, /* #41 */
685 { 0x171ac2, 0x171203, 0x3862, 0x0c5b, 0xdbf8, 5 }, /* #42 */
686 { 0x214cc6, 0x214c02, 0x405e, 0x0bcd, 0x6ec9, 5 }, /* #43 */
687 { 0x2e5496, 0x2e5483, 0xee70, 0xdce0, 0x56fa, 1 }, /* #44 */
688 { 0x204202, 0x204287, 0xde3f, 0xf7ac, 0x7ac9, 12 }, /* #45 */
689 { 0x257216, 0x257a83, 0x5d5b, 0xab75, 0xac24, 5 }, /* #46 */
690 { 0x070e47, 0x070e47, 0x8068, 0x8068, 0x3b66, 0 }, /* #47 */
691 { 0x0b1857, 0x0b1003, 0x227c, 0x3e5d, 0xba1c, 7 }, /* #48 */
692 { 0x3f4c57, 0x3f4407, 0x122e, 0x75c6, 0xb8d7, 11 }, /* #49 */
693 { 0x206406, 0x206403, 0x33b9, 0x727c, 0x3e43, 9 }, /* #50 */
694 { 0x051413, 0x051402, 0xcb2b, 0x566b, 0x35d4, 9 }, /* #51 */
695 { 0x3641c3, 0x364182, 0x29bf, 0xdfe3, 0xc6a1, 7 }, /* #52 */
696 { 0x231ec7, 0x231603, 0x1f6d, 0x5dd0, 0x7741, 14 }, /* #53 */
697 { 0x317156, 0x317982, 0xb0e5, 0xfa92, 0xf524, 15 }, /* #54 */
698 { 0x3e3642, 0x3e3e86, 0xb660, 0xc0a5, 0x52d7, 9 }, /* #55 */
699 { 0x3f5502, 0x3f5506, 0x30ae, 0x615c, 0x0815, 1 }, /* #56 */
700 { 0x126382, 0x126306, 0xcead, 0x7569, 0x30d2, 3 }, /* #57 */
701 { 0x276e86, 0x276683, 0x3f1e, 0xe4a4, 0x4a45, 12 }, /* #58 */
702 { 0x0914c6, 0x091486, 0x184f, 0x9fa9, 0xd48d, 9 }, /* #59 */
703 { 0x247d07, 0x247d03, 0x5188, 0x4620, 0x2ab8, 2 }, /* #60 */
704 { 0x0d5ed2, 0x0d5e83, 0x5bd4, 0xbd45, 0x5403, 4 }, /* #61 */
705 { 0x3c4856, 0x3c4802, 0xa26e, 0x6e75, 0x75b5, 8 }, /* #62 */
706 { 0x1f2186, 0x1f2182, 0x34d3, 0xd3c2, 0xc221, 8 }, /* #63 */
707};
708static const BINU16_TEST_T g_aTests_shrd_u16_intel[] =
709{
710 { 0x242fc6, 0x242746, 0x0000, 0x0000, 0x0000, 3 }, /* #0 */
711 { 0x057fd6, 0x057746, 0x0000, 0x0000, 0x0000, 13 }, /* #1 */
712 { 0x2c3b53, 0x2c3346, 0x0000, 0x0000, 0x0000, 6 }, /* #2 */
713 { 0x0669c3, 0x066146, 0x0000, 0x0000, 0x0000, 7 }, /* #3 */
714 { 0x067753, 0x067706, 0x04e8, 0x0274, 0x0000, 1 }, /* #4 */
715 { 0x0f6f56, 0x0f6707, 0x558f, 0x0055, 0x0000, 8 }, /* #5 */
716 { 0x2f5642, 0x2f5e03, 0xef4f, 0x000e, 0x0000, 12 }, /* #6 */
717 { 0x2c0712, 0x2c0712, 0x194f, 0x194f, 0x0000, 0 }, /* #7 */
718 { 0x3e0686, 0x3e0686, 0xe9ac, 0xe9ac, 0x81f7, 0 }, /* #8 */
719 { 0x375506, 0x375506, 0x2229, 0x7111, 0xf0e2, 9 }, /* #9 */
720 { 0x397103, 0x397983, 0x10aa, 0xc510, 0x26c5, 8 }, /* #10 */
721 { 0x1035c2, 0x103587, 0x3ede, 0x8581, 0x30b0, 13 }, /* #11 */
722 { 0x2f5013, 0x2f5086, 0xa828, 0xb26a, 0x06c9, 10 }, /* #12 */
723 { 0x1c2146, 0x1c2182, 0x82c1, 0xd82c, 0x746d, 4 }, /* #13 */
724 { 0x162216, 0x162207, 0xf389, 0x47f3, 0x0547, 8 }, /* #14 */
725 { 0x251486, 0x251c06, 0xcda7, 0x4033, 0xa500, 10 }, /* #15 */
726 { 0x1e5986, 0x1e5902, 0xd41c, 0x51a8, 0x26a8, 7 }, /* #16 */
727 { 0x010c02, 0x010487, 0xb261, 0xd930, 0x6185, 1 }, /* #17 */
728 { 0x260753, 0x260782, 0x8ba2, 0xdc5d, 0x137b, 5 }, /* #18 */
729 { 0x0f4e83, 0x0f4602, 0x0afc, 0x4458, 0xd116, 14 }, /* #19 */
730 { 0x392392, 0x392b87, 0x381f, 0x9c0f, 0xe7a9, 1 }, /* #20 */
731 { 0x3905c3, 0x390586, 0xf0c1, 0xbe18, 0xa84d, 3 }, /* #21 */
732 { 0x142996, 0x142987, 0x7a3f, 0xb7a3, 0x768b, 4 }, /* #22 */
733 { 0x217113, 0x217907, 0xb9e8, 0x7ae7, 0xdd5e, 6 }, /* #23 */
734 { 0x053952, 0x053106, 0xf76b, 0x3eed, 0xeff9, 3 }, /* #24 */
735 { 0x214c06, 0x214c82, 0x940b, 0xc925, 0xbf24, 10 }, /* #25 */
736 { 0x3a5857, 0x3a5807, 0x826d, 0x504d, 0xe2d2, 3 }, /* #26 */
737 { 0x0c37d7, 0x0c3f03, 0x8cb9, 0x64c8, 0x064c, 12 }, /* #27 */
738 { 0x366c43, 0x366483, 0xc7dd, 0xf3c7, 0x79e3, 15 }, /* #28 */
739 { 0x327a56, 0x327287, 0x4acb, 0xb895, 0xfedc, 7 }, /* #29 */
740 { 0x013857, 0x013807, 0x8f55, 0x2347, 0x0e46, 9 }, /* #30 */
741 { 0x386997, 0x386982, 0x1b0a, 0xfa32, 0xfd19, 15 }, /* #31 */
742 { 0x217892, 0x217007, 0xc84f, 0x7c84, 0x57f7, 4 }, /* #32 */
743 { 0x3c3d86, 0x3c3d82, 0x7a29, 0xde8a, 0xa433, 2 }, /* #33 */
744 { 0x3d78d7, 0x3d7002, 0xb060, 0x1d83, 0xbb63, 5 }, /* #34 */
745 { 0x0b3a42, 0x0b3282, 0x35a0, 0x8d68, 0x29ca, 2 }, /* #35 */
746 { 0x396fd2, 0x396787, 0xefb6, 0xc2be, 0x0c2b, 12 }, /* #36 */
747 { 0x344cc7, 0x344486, 0xf6c0, 0xdb5f, 0x0db5, 12 }, /* #37 */
748 { 0x3c30c7, 0x3c3883, 0x016d, 0xf016, 0xbedf, 4 }, /* #38 */
749 { 0x2c7c46, 0x2c7406, 0xb38e, 0x3d9c, 0xb067, 5 }, /* #39 */
750 { 0x2036c6, 0x203e87, 0xc434, 0x83c9, 0xc1e4, 15 }, /* #40 */
751 { 0x103043, 0x103003, 0xdcac, 0x71dc, 0x1f71, 8 }, /* #41 */
752 { 0x165ed6, 0x165682, 0x5bbc, 0x96ef, 0x5536, 2 }, /* #42 */
753 { 0x1e1e86, 0x1e1607, 0xcf2f, 0x0ff9, 0x207f, 11 }, /* #43 */
754 { 0x221912, 0x221103, 0x845c, 0x1845, 0x8d51, 4 }, /* #44 */
755 { 0x392b96, 0x392b83, 0x1705, 0x8245, 0x4209, 10 }, /* #45 */
756 { 0x3c5182, 0x3c5986, 0x0bcf, 0x9328, 0xd265, 13 }, /* #46 */
757 { 0x143cd6, 0x143c83, 0xb61e, 0xc5b0, 0x77d8, 5 }, /* #47 */
758 { 0x2a7802, 0x2a7882, 0x9515, 0xca45, 0x6522, 15 }, /* #48 */
759 { 0x0e1986, 0x0e1182, 0x799c, 0x9a9e, 0xb26a, 10 }, /* #49 */
760 { 0x305713, 0x305f03, 0x21a9, 0x521a, 0xa4a5, 4 }, /* #50 */
761 { 0x375c82, 0x375486, 0xcca3, 0xbcca, 0x18bb, 4 }, /* #51 */
762 { 0x005642, 0x005642, 0x4b80, 0x4b80, 0x07e9, 0 }, /* #52 */
763 { 0x210357, 0x210b02, 0x9e9f, 0x774f, 0x10ee, 9 }, /* #53 */
764 { 0x1d7986, 0x1d7983, 0xdae2, 0xa4da, 0x56a4, 8 }, /* #54 */
765 { 0x052513, 0x052d82, 0xd33b, 0x90d3, 0x4490, 8 }, /* #55 */
766 { 0x1c0d92, 0x1c0587, 0x793f, 0xd487, 0xbd48, 12 }, /* #56 */
767 { 0x394847, 0x394002, 0x8941, 0x3b89, 0xfc3b, 8 }, /* #57 */
768 { 0x2b3047, 0x2b3882, 0xa8a5, 0xaa29, 0xf9de, 2 }, /* #58 */
769 { 0x250553, 0x250506, 0x655f, 0x7003, 0xae00, 13 }, /* #59 */
770 { 0x032492, 0x032403, 0x75e2, 0x3e61, 0x8f98, 14 }, /* #60 */
771 { 0x384dc2, 0x384d87, 0x8f82, 0xce47, 0x199c, 9 }, /* #61 */
772 { 0x3c1f12, 0x3c1f87, 0x1be4, 0xc8b1, 0x1c8b, 12 }, /* #62 */
773 { 0x027dd2, 0x027502, 0x7131, 0x1c4c, 0x4d70, 2 }, /* #63 */
774};
775static const BINU32_TEST_T g_aTests_shld_u32_intel[] =
776{
777 { 0x244692, 0x244646, 0x00000000, 0x00000000, 0x00000000, 22 }, /* #0 */
778 { 0x082856, 0x082046, 0x00000000, 0x00000000, 0x00000000, 25 }, /* #1 */
779 { 0x040c42, 0x040446, 0x00000000, 0x00000000, 0x00000000, 21 }, /* #2 */
780 { 0x396052, 0x396046, 0x00000000, 0x00000000, 0x00000000, 14 }, /* #3 */
781 { 0x231ad3, 0x231206, 0x2f7e8729, 0x72900000, 0x00000000, 20 }, /* #4 */
782 { 0x307b86, 0x307346, 0xc56144e8, 0x00000000, 0x00000000, 31 }, /* #5 */
783 { 0x370443, 0x370406, 0x14686008, 0x18020000, 0x00000000, 14 }, /* #6 */
784 { 0x2b0187, 0x2b0106, 0x3413d0ad, 0x6827a15a, 0x00000000, 1 }, /* #7 */
785 { 0x2d1fd7, 0x2d1f06, 0xb32b3909, 0x4c3f8100, 0x30fe0403, 30 }, /* #8 */
786 { 0x0f2342, 0x0f2386, 0x0d392b56, 0xe4ad5aa3, 0xa8fd1a3c, 10 }, /* #9 */
787 { 0x102486, 0x102403, 0xd1b7f568, 0x68d4e12f, 0xd4e12f1e, 24 }, /* #10 */
788 { 0x0a7a57, 0x0a7283, 0xe8a63191, 0x91c51243, 0xc5124315, 24 }, /* #11 */
789 { 0x0d5407, 0x0d5c02, 0x83363b70, 0x3b70adae, 0xadae9f98, 16 }, /* #12 */
790 { 0x190d92, 0x190583, 0x0fb16d99, 0xb16d990b, 0x0b7afa1d, 8 }, /* #13 */
791 { 0x0536c6, 0x053687, 0xdd8995ef, 0xd8995ef5, 0x5a36ebd3, 4 }, /* #14 */
792 { 0x335ad2, 0x335203, 0x2a5e34d3, 0x3ebbd7ce, 0xebbd7cec, 28 }, /* #15 */
793 { 0x297457, 0x297486, 0xda930d46, 0x986a3422, 0x845f0203, 11 }, /* #16 */
794 { 0x2a7942, 0x2a7907, 0x501001a2, 0x37fdf2dd, 0x6ffbe5ba, 31 }, /* #17 */
795 { 0x001583, 0x001587, 0x0f2e959d, 0x974aced4, 0xa9ed465a, 7 }, /* #18 */
796 { 0x0b0057, 0x0b0803, 0x6f54ca9b, 0x537a86f1, 0xd437890f, 21 }, /* #19 */
797 { 0x0d43d3, 0x0d4307, 0x0ec73191, 0x6398c8f9, 0xf2664cf2, 7 }, /* #20 */
798 { 0x2770d3, 0x277886, 0x48bfeb2a, 0xaff809aa, 0xff809aaa, 28 }, /* #21 */
799 { 0x3e7157, 0x3e7107, 0xe963745e, 0x4b1ba2f3, 0x603c626b, 3 }, /* #22 */
800 { 0x066582, 0x066d07, 0x8a53251c, 0x3251c182, 0x182d37c8, 12 }, /* #23 */
801 { 0x3d0296, 0x3d0287, 0xd4b6f255, 0x92a95105, 0x2a20bc90, 19 }, /* #24 */
802 { 0x350c92, 0x350407, 0xf1468a65, 0x14ca18d7, 0x0c6bda5b, 17 }, /* #25 */
803 { 0x1c6157, 0x1c6903, 0x4ef0fa66, 0x3302ecd0, 0x05d9a166, 23 }, /* #26 */
804 { 0x3801c2, 0x380187, 0x0830e2f1, 0xe3eb5e4e, 0xf5af2722, 25 }, /* #27 */
805 { 0x3a1b47, 0x3a1b82, 0xa9e553bd, 0xa77adc91, 0x6e48b4c6, 17 }, /* #28 */
806 { 0x265243, 0x265203, 0x3e7d210d, 0x702e5208, 0xc0b94822, 30 }, /* #29 */
807 { 0x122852, 0x122082, 0xd3bab033, 0xeac0ceda, 0xb6b17600, 10 }, /* #30 */
808 { 0x320302, 0x320383, 0x23d561dc, 0xb832cf34, 0x19679a28, 25 }, /* #31 */
809 { 0x3b6153, 0x3b6107, 0x227db79a, 0x6de6a172, 0x85c94670, 14 }, /* #32 */
810 { 0x3c3293, 0x3c3207, 0x1ca94662, 0x4662e2ac, 0xe2acea58, 16 }, /* #33 */
811 { 0x0d00c6, 0x0d00c6, 0x4a1f8aa8, 0x4a1f8aa8, 0xa2e836a0, 0 }, /* #34 */
812 { 0x360413, 0x360482, 0xf1756d00, 0xd005302f, 0x5302f9ee, 20 }, /* #35 */
813 { 0x127b53, 0x127306, 0xea605544, 0x2584f3f5, 0xb09e7ea6, 27 }, /* #36 */
814 { 0x1f3917, 0x1f3986, 0x4c985694, 0x949e37e1, 0x9e37e1ee, 24 }, /* #37 */
815 { 0x2e6656, 0x2e6e03, 0x61558677, 0x619dc79e, 0x1e783eec, 14 }, /* #38 */
816 { 0x1d2286, 0x1d2a02, 0x6bb14d10, 0x0b0fb932, 0x2c3ee4c8, 30 }, /* #39 */
817 { 0x0c1e43, 0x0c1607, 0x26758166, 0x3ac0b378, 0xf12cc5ff, 7 }, /* #40 */
818 { 0x096f53, 0x096707, 0x22629c7d, 0x314e3ef9, 0xf3cad693, 7 }, /* #41 */
819 { 0x205ec2, 0x205603, 0x1c03624e, 0x00d893b3, 0xce846cbb, 6 }, /* #42 */
820 { 0x3c7a82, 0x3c7202, 0x27cc0093, 0x4f980126, 0x3604ed09, 1 }, /* #43 */
821 { 0x101ac6, 0x101287, 0xf9f0eac1, 0xe1d582f9, 0x7cec47b8, 9 }, /* #44 */
822 { 0x0a0a83, 0x0a0207, 0xd05a4c75, 0x7c746987, 0xf1d1a61d, 30 }, /* #45 */
823 { 0x3f6296, 0x3f6287, 0xf4a2c144, 0xa5160a22, 0x454d150a, 3 }, /* #46 */
824 { 0x3c5456, 0x3c5487, 0xfe64f55e, 0xfcc9eabd, 0xb7dc6170, 1 }, /* #47 */
825 { 0x180097, 0x180887, 0xaedc194e, 0xb8329ded, 0xf6b9adc4, 9 }, /* #48 */
826 { 0x2d7e92, 0x2d7e92, 0x5c2b7c93, 0x5c2b7c93, 0x5aee7f22, 0 }, /* #49 */
827 { 0x3c6716, 0x3c6f87, 0x4fa4f8c2, 0xd27c610f, 0x1eff404c, 7 }, /* #50 */
828 { 0x3c0a06, 0x3c0a03, 0x907bdfb5, 0x6bec81f4, 0xf640fa2d, 25 }, /* #51 */
829 { 0x2033c3, 0x203b82, 0x864876ff, 0x90edfe31, 0x18ad2f20, 9 }, /* #52 */
830 { 0x196c16, 0x196402, 0xc99d421b, 0x6edf4291, 0xb7d0a467, 26 }, /* #53 */
831 { 0x2d5406, 0x2d5487, 0x191a5962, 0x91a59624, 0x4deca4d2, 4 }, /* #54 */
832 { 0x233c57, 0x233486, 0xd281d6fb, 0xeb7d9f47, 0x3e8f9ba2, 15 }, /* #55 */
833 { 0x317606, 0x317607, 0x148aa801, 0x400f4b0c, 0xe961984a, 19 }, /* #56 */
834 { 0x324603, 0x324e06, 0x9c1c51d5, 0x756abbf5, 0xaaefd6cb, 22 }, /* #57 */
835 { 0x135ac3, 0x135a07, 0x4055a14c, 0x5a14c8b7, 0x8b797347, 12 }, /* #58 */
836 { 0x150ed2, 0x150e86, 0x57e6b5ac, 0xc416c7be, 0x416c7be9, 28 }, /* #59 */
837 { 0x222bd6, 0x222b87, 0x428e1d78, 0xd789cf56, 0x9cf5692b, 20 }, /* #60 */
838 { 0x033557, 0x033d02, 0xb72d8095, 0x4ab7913b, 0x6f227694, 23 }, /* #61 */
839 { 0x293183, 0x293103, 0x07482ba6, 0x20ae9901, 0x40634b84, 10 }, /* #62 */
840 { 0x232ec6, 0x232e82, 0x762e4f76, 0xb93ddb64, 0xd91358cb, 10 }, /* #63 */
841};
842static const BINU32_TEST_T g_aTests_shrd_u32_intel[] =
843{
844 { 0x2d7b83, 0x2d7346, 0x00000000, 0x00000000, 0x00000000, 13 }, /* #0 */
845 { 0x036642, 0x036646, 0x00000000, 0x00000000, 0x00000000, 11 }, /* #1 */
846 { 0x1a1c87, 0x1a1c87, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #2 */
847 { 0x145997, 0x145146, 0x00000000, 0x00000000, 0x00000000, 7 }, /* #3 */
848 { 0x2d3713, 0x2d3f06, 0xb238d522, 0x00001647, 0x00000000, 19 }, /* #4 */
849 { 0x020916, 0x020907, 0xb7d9a2dc, 0x0000002d, 0x00000000, 26 }, /* #5 */
850 { 0x380456, 0x380407, 0x0ed71a9a, 0x0000ed71, 0x00000000, 12 }, /* #6 */
851 { 0x083987, 0x083987, 0x4d9d55b6, 0x4d9d55b6, 0x00000000, 0 }, /* #7 */
852 { 0x005513, 0x005d82, 0xaac37915, 0xeaac3791, 0x6172f90e, 4 }, /* #8 */
853 { 0x1f0083, 0x1f0082, 0x99e63e9b, 0xb02922ef, 0x58149177, 31 }, /* #9 */
854 { 0x2f1d87, 0x2f1506, 0x490c1282, 0x0fb92430, 0x9b9e03ee, 14 }, /* #10 */
855 { 0x020c83, 0x020486, 0x50108c29, 0x9404230a, 0x4f3ddd16, 2 }, /* #11 */
856 { 0x1f42c7, 0x1f4202, 0xa169ee2e, 0x05273b34, 0x682939d9, 27 }, /* #12 */
857 { 0x0022d7, 0x002a86, 0xf55a9b76, 0x9e9eab53, 0x2f9854f4, 11 }, /* #13 */
858 { 0x0a53d7, 0x0a5382, 0xbe35e8cb, 0xf088fbe3, 0xdddf088f, 20 }, /* #14 */
859 { 0x2b1b07, 0x2b1b83, 0x753f8fbd, 0x946ea7f1, 0x05a8dca3, 11 }, /* #15 */
860 { 0x302ec7, 0x302682, 0x44c2eb73, 0xf4204898, 0x513fa102, 19 }, /* #16 */
861 { 0x325743, 0x325783, 0x4a951384, 0xda254a89, 0xc2e691b4, 9 }, /* #17 */
862 { 0x395347, 0x395b86, 0x86a2fb5d, 0xa9f050d4, 0x44cd4f82, 19 }, /* #18 */
863 { 0x2114c3, 0x211c86, 0xd4d20f67, 0xe3930e35, 0x7b8e4c38, 26 }, /* #19 */
864 { 0x1115c3, 0x111502, 0xb80f4660, 0x49029437, 0x424814a1, 27 }, /* #20 */
865 { 0x3312c3, 0x331206, 0x56c2cc66, 0x2a15f3c5, 0xf2a15f3c, 28 }, /* #21 */
866 { 0x075296, 0x075a02, 0x74d82a11, 0x5ee9b054, 0xf0d468af, 7 }, /* #22 */
867 { 0x141382, 0x141b02, 0xaf8dc48b, 0x78caf8dc, 0x4b89278c, 12 }, /* #23 */
868 { 0x3b0483, 0x3b0c83, 0xa5dc2ef5, 0x9d4bb85d, 0xd765dace, 7 }, /* #24 */
869 { 0x3427c3, 0x342786, 0x4dcf6371, 0xe27341b2, 0xfc4e6836, 29 }, /* #25 */
870 { 0x3c7a47, 0x3c7282, 0x47a731c7, 0xf9df047a, 0x0c8f9df0, 20 }, /* #26 */
871 { 0x3645c6, 0x364583, 0xfeb81d07, 0xff5c0e83, 0x208d1dd9, 1 }, /* #27 */
872 { 0x244e43, 0x244682, 0xcd588ee0, 0xb9ab11dc, 0x0a67ffed, 3 }, /* #28 */
873 { 0x3b19c2, 0x3b1906, 0x137f5e8c, 0x00eb1c71, 0x800eb1c7, 28 }, /* #29 */
874 { 0x1328c2, 0x132087, 0xe4c6a289, 0xc4d7c7e4, 0xc6c4d7c7, 24 }, /* #30 */
875 { 0x1b1a12, 0x1b1202, 0x3e16dbd5, 0x647d403e, 0x55647d40, 24 }, /* #31 */
876 { 0x3e3917, 0x3e3986, 0x437fe2cf, 0xd65905ca, 0x5acb20b9, 29 }, /* #32 */
877 { 0x307907, 0x307906, 0x84679345, 0x296ceb42, 0xfc52d9d6, 25 }, /* #33 */
878 { 0x2a7d96, 0x2a7d87, 0xd4d1dd8e, 0xb2ad4d1d, 0xd7cacb2a, 12 }, /* #34 */
879 { 0x2373c2, 0x237b07, 0xb57ca8ad, 0x07ab57ca, 0x9f1d407a, 12 }, /* #35 */
880 { 0x381e17, 0x381606, 0x3173a10c, 0x73462e74, 0x8ce4cb9a, 11 }, /* #36 */
881 { 0x0d2046, 0x0d2886, 0x04ca8c47, 0xd0547982, 0xe7a0a8f3, 25 }, /* #37 */
882 { 0x040686, 0x040602, 0x47bc4934, 0x4c08f789, 0xef553260, 11 }, /* #38 */
883 { 0x115703, 0x115f82, 0xaac81eb4, 0xe350aac8, 0x71a7e350, 16 }, /* #39 */
884 { 0x3c5707, 0x3c5f07, 0x3194e547, 0x10bcc653, 0x7932442f, 14 }, /* #40 */
885 { 0x186553, 0x186d82, 0x4e858eec, 0xa742c776, 0x2f38e9c3, 1 }, /* #41 */
886 { 0x0649c3, 0x064902, 0x93bf4f9d, 0x024efd3e, 0xb71ff2c0, 6 }, /* #42 */
887 { 0x046713, 0x046f02, 0xd48c3a48, 0x45a36a46, 0x201a8b46, 17 }, /* #43 */
888 { 0x245f96, 0x245787, 0x941e0917, 0xca0f048b, 0x8ebfad49, 1 }, /* #44 */
889 { 0x1c0456, 0x1c0406, 0x34a0f84a, 0x09419b8d, 0x6825066e, 26 }, /* #45 */
890 { 0x182457, 0x182403, 0x813f641e, 0x5c09fb20, 0xd4c8ea6b, 5 }, /* #46 */
891 { 0x243382, 0x243b07, 0xe7b5537e, 0x1cf6aa6f, 0x10b225b8, 3 }, /* #47 */
892 { 0x270e52, 0x270687, 0xf77aaa9a, 0xa9ff77aa, 0xb4951a9f, 12 }, /* #48 */
893 { 0x167fc6, 0x167786, 0x8850e600, 0xc4287300, 0x625fdfab, 1 }, /* #49 */
894 { 0x0b1882, 0x0b1806, 0x097d44f8, 0x700425f5, 0xdebddc01, 14 }, /* #50 */
895 { 0x156192, 0x156186, 0x95dab624, 0x972bb56c, 0x878b5c4b, 7 }, /* #51 */
896 { 0x277646, 0x277e03, 0xa5919753, 0x5fa52c8c, 0x05096bf4, 13 }, /* #52 */
897 { 0x2d0502, 0x2d0506, 0x21865a64, 0x7a21865a, 0x7ad1157a, 8 }, /* #53 */
898 { 0x2e7847, 0x2e7803, 0x4f44cd8e, 0x249012a7, 0xb8492025, 25 }, /* #54 */
899 { 0x2e2452, 0x2e2406, 0xf77e498f, 0x16e9f77e, 0x99af16e9, 16 }, /* #55 */
900 { 0x0c3452, 0x0c3407, 0xb3e7e3da, 0x7058a06c, 0x9dc16281, 26 }, /* #56 */
901 { 0x066dd2, 0x066d86, 0xb46542a3, 0x873a45a3, 0x39d0e748, 21 }, /* #57 */
902 { 0x207a87, 0x207202, 0x3d280ad8, 0x5907a501, 0x5b6b32c8, 11 }, /* #58 */
903 { 0x146396, 0x146b03, 0x50ae1e6e, 0x58d92a15, 0x3192c6c9, 19 }, /* #59 */
904 { 0x1f04c2, 0x1f0c83, 0x58c5a747, 0xb2b56316, 0x0f486cad, 14 }, /* #60 */
905 { 0x3201d3, 0x320107, 0x4d67dd6f, 0x076cc9ac, 0x5a883b66, 19 }, /* #61 */
906 { 0x0e2a83, 0x0e2a87, 0x8d59897d, 0xe54646ac, 0xaeb5ca8c, 17 }, /* #62 */
907 { 0x240307, 0x240302, 0x0a43639b, 0x5c1486c7, 0x8adb912e, 7 }, /* #63 */
908};
909static const BINU64_TEST_T g_aTests_shld_u64_intel[] =
910{
911 { 0x1665c6, 0x166546, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 34 }, /* #0 */
912 { 0x210617, 0x210646, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 26 }, /* #1 */
913 { 0x2e3803, 0x2e3046, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 31 }, /* #2 */
914 { 0x311782, 0x311746, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 5 }, /* #3 */
915 { 0x1818d7, 0x181083, 0xf5d9f495f21fefcd, 0xaecfa4af90ff7e68, 0x0000000000000000, 3 }, /* #4 */
916 { 0x3813c7, 0x381386, 0x10abe7f0df828c35, 0xdf828c3500000000, 0x0000000000000000, 32 }, /* #5 */
917 { 0x343ec2, 0x343e86, 0x7af49dbfc04f19d3, 0x9800000000000000, 0x0000000000000000, 59 }, /* #6 */
918 { 0x395852, 0x395086, 0xd6bf542a6a5c35ff, 0xa6a5c35ff0000000, 0x0000000000000000, 28 }, /* #7 */
919 { 0x3c4c82, 0x3c4402, 0xee280516fda41610, 0x28b7ed20b0809764, 0x12ec8402dc81edfb, 19 }, /* #8 */
920 { 0x122617, 0x122e82, 0x9e0a9a29624596d4, 0x9c41912076967ea7, 0xe20c8903b4b3f53f, 61 }, /* #9 */
921 { 0x2400d7, 0x240002, 0x1317020c4ec9534b, 0x1062764a9a5c2b51, 0x856a26872cd77a8c, 19 }, /* #10 */
922 { 0x0e3693, 0x0e3e06, 0x80c1e011e09c7f05, 0x7f0531c43c3b3af3, 0x31c43c3b3af3aa58, 48 }, /* #11 */
923 { 0x3744c7, 0x374407, 0x344e8b68e2901e3d, 0x471480f1ef29085a, 0xe5210b5df3cd01fe, 27 }, /* #12 */
924 { 0x0c6987, 0x0c6182, 0xd3897c5a47f08245, 0x8fe1048bf1fe8073, 0xf8ff4039c202014b, 33 }, /* #13 */
925 { 0x3235c7, 0x323586, 0x1dbe4ee10f119ea2, 0xedf27708788cf511, 0x2752fccb0c7b43db, 3 }, /* #14 */
926 { 0x394b47, 0x394382, 0xd77098f59c526ffe, 0xc7ace2937ff7f008, 0xfe010a6994dd1d35, 19 }, /* #15 */
927 { 0x336093, 0x336807, 0x5c842a5b0d39a06d, 0x0854b61a7340db5a, 0xad4448489abfb327, 9 }, /* #16 */
928 { 0x137fc3, 0x137703, 0xe8beb455aac601eb, 0x56ab1807ac71b8b6, 0x1c6e2dab86d88903, 26 }, /* #17 */
929 { 0x011a03, 0x011a03, 0x98709463538229d0, 0x4e855ba728642bb0, 0xab74e50c85761a67, 51 }, /* #18 */
930 { 0x2c1742, 0x2c1f02, 0xb5539c295748947d, 0x70a55d2251f79c85, 0xe7215e39dc754a59, 18 }, /* #19 */
931 { 0x0203d7, 0x020306, 0x2a3deea34fed6012, 0x547bdd469fdac024, 0x020d84ba95ec5dcb, 1 }, /* #20 */
932 { 0x273ec3, 0x273603, 0xc3b306b399f40902, 0x40902b033e15e7f2, 0xb033e15e7f2cd8ea, 44 }, /* #21 */
933 { 0x177b17, 0x177b82, 0x5aa3c7c8fab1705a, 0xe0b4ae1411fe38ab, 0x570a08ff1c559bee, 49 }, /* #22 */
934 { 0x145a46, 0x145a06, 0x9d185b5b16561866, 0x74616d6c5958619a, 0xa5fb0ccf96370919, 2 }, /* #23 */
935 { 0x2e54c6, 0x2e5407, 0xc3c4e4165ac9d802, 0x600bc70fe9bfbded, 0xf1c3fa6fef7b47f7, 50 }, /* #24 */
936 { 0x003243, 0x003a86, 0x5a32cfbe6d5b8e58, 0xf9b56e39610dd6f3, 0x4375bce6dd2576dc, 26 }, /* #25 */
937 { 0x1b1407, 0x1b1c06, 0x4ad5fb766dc3ebd7, 0x6dc3ebd73a0181c0, 0x3a0181c01b3e09ab, 32 }, /* #26 */
938 { 0x371fc7, 0x371702, 0xf196195ba9105c82, 0x411d2abbcd410ba7, 0x3a55779a82174e0b, 55 }, /* #27 */
939 { 0x245b52, 0x245b52, 0xacc8ab007146b7a6, 0xacc8ab007146b7a6, 0x501a49fc0ac0e427, 0 }, /* #28 */
940 { 0x1c4fd7, 0x1c4787, 0x39cfbd7320f6c683, 0xf7ae641ed8d06f8d, 0x7c6db0826571be92, 13 }, /* #29 */
941 { 0x2f69c6, 0x2f6183, 0x28bb61995b0ac7c0, 0xc0cfa99af26d5ffb, 0xcfa99af26d5ffb19, 56 }, /* #30 */
942 { 0x0d1912, 0x0d1187, 0xf41ae646eae20b88, 0xab882e2308a776a0, 0xc229dda83b52e367, 34 }, /* #31 */
943 { 0x212f52, 0x212702, 0x0cb12965011828e1, 0x384b3f1c51915c7f, 0x2cfc71464571fd43, 54 }, /* #32 */
944 { 0x241a47, 0x241a06, 0x9366809336b268ac, 0x0499b59345618feb, 0x31fd6802a956547c, 19 }, /* #33 */
945 { 0x0514d7, 0x051c87, 0x7736ee7c9f9eb8a5, 0xf3d714b3d973d9ac, 0x9ecb9ecd621f97ed, 37 }, /* #34 */
946 { 0x0d5b17, 0x0d5382, 0x27b96842cbcb3d3e, 0xf72d08597967a7d3, 0x98511a58fa8b6343, 5 }, /* #35 */
947 { 0x314e43, 0x314683, 0xd9ca714c89cc58fa, 0x9ca714c89cc58fa4, 0x462e7ad885d4b07b, 4 }, /* #36 */
948 { 0x104d83, 0x104d82, 0x9bfc519b898c3f1f, 0xcdc4c61f8fa89fae, 0x513f5dec0c9bb2fb, 23 }, /* #37 */
949 { 0x0a0757, 0x0a0f83, 0x5b1116ae2f47e1b5, 0x86d53c81fe9d87a8, 0x4f207fa761ea0dbb, 50 }, /* #38 */
950 { 0x2d0c92, 0x2d0407, 0xcb69c3ca31a54b7a, 0x4634a96f52a1ccf9, 0x950e67cf8753e195, 29 }, /* #39 */
951 { 0x215646, 0x215683, 0xfd03ba6bdffd19df, 0xfe8ceff5b17d8552, 0xeb62fb0aa5cbc0c4, 39 }, /* #40 */
952 { 0x230053, 0x230006, 0xd8da373c75a125eb, 0x125eb8590fff3e72, 0x8590fff3e72c6298, 44 }, /* #41 */
953 { 0x093686, 0x093606, 0x36f193812c222400, 0x4448001cc30213b1, 0x0e618109d8a71667, 41 }, /* #42 */
954 { 0x1b5412, 0x1b5c82, 0x6989a7e9e4aee7df, 0xfd3c95dcfbf26823, 0x93411d58452b75f4, 21 }, /* #43 */
955 { 0x315683, 0x315682, 0xc826c30bf802c793, 0xbf802c7931234573, 0x123457374f7864c6, 28 }, /* #44 */
956 { 0x372cd6, 0x372403, 0xd467266c5d6afee0, 0x467266c5d6afee07, 0x71dc96d615ee309d, 4 }, /* #45 */
957 { 0x294d57, 0x294d03, 0xba2ee3795355b1c0, 0x771bca9aad8e0301, 0x6027d55a448fb63f, 11 }, /* #46 */
958 { 0x346cd6, 0x346487, 0xe17f798a51c6709a, 0x8a51c6709a569724, 0x5697242a2cf04df2, 24 }, /* #47 */
959 { 0x1e0143, 0x1e0102, 0x3cfdd28b2bcb213c, 0x2c2f1c9659a67ca8, 0x585e392cb34cf950, 63 }, /* #48 */
960 { 0x056f97, 0x056783, 0x390e8144d516d1df, 0xa0513545b477f279, 0xc9e4609cb9de21d7, 14 }, /* #49 */
961 { 0x251186, 0x251902, 0xa78074996bb466c1, 0x5aed19b0507cd4a2, 0x41f3528bffa461cc, 30 }, /* #50 */
962 { 0x034657, 0x034e83, 0x9681d4ae8772b1ca, 0xcac72aa14ddb170e, 0xa85376c5c3b87ace, 42 }, /* #51 */
963 { 0x2a2e82, 0x2a2603, 0x255514dfd1f0826c, 0x04d91298c0053458, 0x894c60029a2c71c6, 49 }, /* #52 */
964 { 0x247946, 0x247186, 0x3f5bae56eee1327d, 0xadddc264faf66eb4, 0x7b375a4615660a21, 25 }, /* #53 */
965 { 0x120dc3, 0x120d02, 0x602fc97d87fdb3cf, 0x7e332c416e9643df, 0xc665882dd2c87bfb, 59 }, /* #54 */
966 { 0x3a4752, 0x3a4707, 0x24b7cb200503c656, 0x2df2c80140f19590, 0x41f1569a885124bb, 6 }, /* #55 */
967 { 0x313693, 0x313e86, 0x4d8dc329893c348b, 0xa624f0d22fcfce42, 0xf3f390951a009497, 26 }, /* #56 */
968 { 0x0c59c7, 0x0c5907, 0xa922e1dfa2fca55b, 0x5be85462c2c130ff, 0xe85462c2c130ffbb, 56 }, /* #57 */
969 { 0x3f46c6, 0x3f4e03, 0x81e50cd4ca231638, 0x118b1c61db844a1a, 0xc3b7089435a7b79d, 39 }, /* #58 */
970 { 0x3f11c3, 0x3f1183, 0xf1f2df8dba77ee03, 0xa77ee03a2653f20b, 0xa2653f20b2b0318c, 36 }, /* #59 */
971 { 0x3a65c7, 0x3a6506, 0x2d08c611fc33d7d0, 0x3f867afa1521858d, 0xa90c2c6fcc8bc172, 29 }, /* #60 */
972 { 0x0759c6, 0x075983, 0x57aabec7333b649f, 0xeaafb1ccced927e3, 0x8fac47ce1bc2f6ba, 6 }, /* #61 */
973 { 0x3f2607, 0x3f2686, 0xd8a6503377b8b8ba, 0xb8baf134a047bf69, 0xf134a047bf69177e, 48 }, /* #62 */
974 { 0x3e4e97, 0x3e4603, 0x1fb68f20cb01d9f3, 0x2c0767cfa8ba7067, 0xea2e9c19e00dc623, 34 }, /* #63 */
975};
976static const BINU64_TEST_T g_aTests_shrd_u64_intel[] =
977{
978 { 0x3333d2, 0x333346, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 23 }, /* #0 */
979 { 0x1c0856, 0x1c0046, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 8 }, /* #1 */
980 { 0x0123d6, 0x012346, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 56 }, /* #2 */
981 { 0x173807, 0x173046, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 18 }, /* #3 */
982 { 0x285d12, 0x285507, 0x579ee5ec41194daf, 0x000000000000000a, 0x0000000000000000, 59 }, /* #4 */
983 { 0x2d1096, 0x2d1002, 0x7450dee931572c50, 0x00007450dee93157, 0x0000000000000000, 16 }, /* #5 */
984 { 0x222156, 0x222902, 0x997eb0421b53f753, 0x00997eb0421b53f7, 0x0000000000000000, 8 }, /* #6 */
985 { 0x2908d6, 0x290006, 0x408e21f436819e37, 0x0000000000002047, 0x0000000000000000, 49 }, /* #7 */
986 { 0x1b2ec6, 0x1b2e07, 0x261fc1acdadb9b27, 0x14e1261fc1acdadb, 0x791828a83bb514e1, 16 }, /* #8 */
987 { 0x0f2313, 0x0f2b82, 0x23e61eaff6ca5489, 0xc0a84b91f30f57fb, 0x7895b4ed81815097, 25 }, /* #9 */
988 { 0x0f2e53, 0x0f2e87, 0xd0ec3c849827eced, 0xa34b43b0f212609f, 0x25340545802e28d2, 14 }, /* #10 */
989 { 0x244e87, 0x244e02, 0x86d2548227320cd8, 0x2d6686d254822732, 0xba1f8841785c2d66, 16 }, /* #11 */
990 { 0x2a1112, 0x2a1106, 0xc98d6f50f5991154, 0x02b08931f567de1e, 0xa05611263eacfbc3, 61 }, /* #12 */
991 { 0x090656, 0x090686, 0xfafc928ca102f6ec, 0xe7594a2fd7e49465, 0x716a8937fceb2945, 29 }, /* #13 */
992 { 0x2b1812, 0x2b1002, 0x4a4e0d0c40ef5f72, 0x123ad3a0bc4a4e0d, 0xf5a44e123ad3a0bc, 40 }, /* #14 */
993 { 0x107346, 0x107386, 0xec91793a092a9d6b, 0xd4178047ec91793a, 0xf03ae70ad4178047, 32 }, /* #15 */
994 { 0x274c06, 0x274c02, 0x79d11c4aa8b63a4c, 0x0307bce88e25545b, 0x51828f87b91e060f, 17 }, /* #16 */
995 { 0x371d52, 0x371d03, 0xdbe1e0d93af1402a, 0x236602fbff6b27b6, 0x5c8d980beffdac9e, 58 }, /* #17 */
996 { 0x0c2c03, 0x0c2c83, 0xb6fec4b78b065005, 0x9197559a517396df, 0x43748cbaacd28b9c, 51 }, /* #18 */
997 { 0x364886, 0x364802, 0xc2deb66cd8649fae, 0x3e50616f5b366c32, 0x06b07f3078e07ca0, 17 }, /* #19 */
998 { 0x2e2943, 0x2e2186, 0xc8e5b4d0c2707497, 0xc4f54cd8791cb69a, 0x9a543d3627aa66c3, 35 }, /* #20 */
999 { 0x124093, 0x124802, 0x4ab2ca97a1040f3b, 0x2e13b34ab2ca97a1, 0xe911a380ae2e13b3, 24 }, /* #21 */
1000 { 0x1a4c43, 0x1a4c83, 0xcf289a5a483d0396, 0x9860bce78b3517d9, 0xa4c305e73c59a8be, 59 }, /* #22 */
1001 { 0x2650d3, 0x265083, 0x9ab568654f8c9ab8, 0xfcd5ab432a7c64d5, 0xd2757156c292619f, 5 }, /* #23 */
1002 { 0x375513, 0x375d86, 0x84e4294897771c0c, 0xf8cdfc87da1390a5, 0x2386afbe337f21f6, 38 }, /* #24 */
1003 { 0x2a6312, 0x2a6303, 0x8b586058bce8482c, 0x3815e87fd41038b5, 0x5e43815e87fd4103, 52 }, /* #25 */
1004 { 0x0c1b02, 0x0c1b06, 0xca5d67ff8a6a3863, 0x75b3bdc652eb3ffc, 0xb9504ba7eeb677b8, 29 }, /* #26 */
1005 { 0x155cd6, 0x155486, 0x948792f0c6680784, 0xe521e4bc319a01e1, 0x20c14b5b32ef816f, 2 }, /* #27 */
1006 { 0x174782, 0x174f83, 0xc22023e89b47f49a, 0xb08808fa26d1fd26, 0x34db2f69e306874a, 2 }, /* #28 */
1007 { 0x262b17, 0x262386, 0xa10185a3bf0953f2, 0xacc4b42030b477e1, 0x826fbbb63d656625, 19 }, /* #29 */
1008 { 0x163d96, 0x163d86, 0x3daf07c72d69bc31, 0x9ca7adfa01598d1e, 0xce53d6fd00acc68f, 63 }, /* #30 */
1009 { 0x280786, 0x280706, 0xccb216592ef69071, 0x083038c7a7b3b2f3, 0xc020c0e31e9ececb, 58 }, /* #31 */
1010 { 0x1d4217, 0x1d4a82, 0xca93404609b475c5, 0xc8fc8ca93404609b, 0xe4f499180f3c8fc8, 20 }, /* #32 */
1011 { 0x004452, 0x004c83, 0x5d500219d6191c0b, 0xa5a344e5c7e31fae, 0x294b4689cb8fc63f, 57 }, /* #33 */
1012 { 0x354997, 0x354107, 0x8c5c4b5a24fd149e, 0x318b896b449fa293, 0x5b0a66efd3527391, 3 }, /* #34 */
1013 { 0x1b26c6, 0x1b2e86, 0x26a9ef0b327f5c70, 0xa4d53de1664feb8e, 0x052649d30ce61fdd, 3 }, /* #35 */
1014 { 0x082c42, 0x082483, 0x4f8ad5d2188a8679, 0xd474680ac2f0a24f, 0x43d474680ac2f0a2, 56 }, /* #36 */
1015 { 0x1f16c2, 0x1f1e83, 0x9989844fbdfccaa7, 0xa8a4f5756dbc9989, 0x81b8a8a4f5756dbc, 48 }, /* #37 */
1016 { 0x0a18d2, 0x0a1007, 0xb384547d3a95350a, 0x14fdf3ae159d9c22, 0x62a2029fbe75c2b3, 45 }, /* #38 */
1017 { 0x3c5446, 0x3c5482, 0xe08ee8c240541de9, 0xbe2fc11dd18480a8, 0x590184249d83df17, 15 }, /* #39 */
1018 { 0x3854c3, 0x385c87, 0x81f08dd14cd2cc98, 0x850e9670af4681f0, 0xa5fd850e9670af46, 48 }, /* #40 */
1019 { 0x2f4102, 0x2f4987, 0x2d0c477bf8f0fbd5, 0xcb27817f72d0c477, 0x84342b5cb27817f7, 36 }, /* #41 */
1020 { 0x2d49c3, 0x2d4983, 0x3c147e0cb52d22bd, 0xe9e0a3f065a96915, 0x3e00e19f35e3d21d, 5 }, /* #42 */
1021 { 0x392392, 0x392387, 0xb7b9077e82af772b, 0xc1ddbdc83bf4157b, 0x7d5c5199d7d0d83b, 13 }, /* #43 */
1022 { 0x320ad6, 0x320a02, 0x02a1484ab1cbcda4, 0x156d5fd68150a425, 0x69e028862adabfad, 33 }, /* #44 */
1023 { 0x1a63c6, 0x1a6386, 0x1368e11837432ab3, 0xcf06c4e61c1368e1, 0xb842cecf06c4e61c, 40 }, /* #45 */
1024 { 0x065252, 0x065a06, 0xe74daf8c98c31cea, 0x130d916973a6d7c6, 0x28ffa184261b22d2, 33 }, /* #46 */
1025 { 0x0a7b87, 0x0a7b06, 0x8d03e3e6e5ce5cb2, 0x794681f1f372e72e, 0x1d098eba453f50f2, 9 }, /* #47 */
1026 { 0x0f7e82, 0x0f7e07, 0x7785bdca87c9fa01, 0x1bee634f091d5cdd, 0xdc6fb98d3c247573, 58 }, /* #48 */
1027 { 0x086a57, 0x086287, 0x9c5e57d78760f526, 0xe8bb884b53f38bca, 0x10cd1745dc425a9f, 43 }, /* #49 */
1028 { 0x067493, 0x067403, 0x9eed3865d65c4cc4, 0x4b306cbd43c99b73, 0xea598365ea1e4cdb, 59 }, /* #50 */
1029 { 0x2f2513, 0x2f2d03, 0xd32a211ab2690e41, 0x227b7ccd98699510, 0xcde4e644f6f99b30, 41 }, /* #51 */
1030 { 0x2f68d7, 0x2f6807, 0xb5946dda08d5fb31, 0x5b17cefb816b28db, 0x4a104a2d8be77dc0, 39 }, /* #52 */
1031 { 0x205443, 0x205407, 0x1d31294db9f299a9, 0x1c70d074c4a536e7, 0x60ee6b2378c71c34, 22 }, /* #53 */
1032 { 0x2f3507, 0x2f3502, 0x03908fcd2bfa8c2e, 0x388558a93f5a1c07, 0x1d9c42ac549fad0e, 55 }, /* #54 */
1033 { 0x0b5507, 0x0b5d06, 0x539a77c95c1e8429, 0x64bcbaa734ef92b8, 0xd8fdf09d23b25e5d, 23 }, /* #55 */
1034 { 0x1c6046, 0x1c6806, 0xc924eea2452256e2, 0x2707318242649277, 0x13ef204e0e630484, 41 }, /* #56 */
1035 { 0x043987, 0x043907, 0x3c534f45253735ea, 0x54f14d3d1494dcd7, 0x59ca72f425550ed5, 6 }, /* #57 */
1036 { 0x092d16, 0x092506, 0xd9839c7c97df75dc, 0x07660e71f25f7dd7, 0xdb326a0ab1e52fc1, 6 }, /* #58 */
1037 { 0x0e3ad2, 0x0e3283, 0xaf77fad55332576c, 0xb937d84fa344656b, 0x36e4df613e8d1195, 58 }, /* #59 */
1038 { 0x1709d7, 0x170103, 0xd724a24d2948ad94, 0x0012a5eb92512694, 0xe477227d9000254b, 25 }, /* #60 */
1039 { 0x0b0c92, 0x0b0487, 0x9f3b540965a6999e, 0xced4b67ced502596, 0x87336fab7133b52d, 22 }, /* #61 */
1040 { 0x2270c7, 0x227806, 0xfc8d378318990683, 0x502fc8d378318990, 0x610f23967c427502, 12 }, /* #62 */
1041 { 0x336613, 0x336602, 0x82e81981ee924e63, 0x15d4334aa77077c1, 0x202ba866954ee0ef, 57 }, /* #63 */
1042};
1043
1044
1045#define HAVE_SHIFT_TESTS_INTEL
1046static const BINU8_TEST_T g_aTests_rol_u8_intel[] =
1047{
1048 { 0x285d57, 0x285556, 0x00, 0x00, 0, 6 }, /* #0 */
1049 { 0x091193, 0x091192, 0x00, 0x00, 0, 6 }, /* #1 */
1050 { 0x234803, 0x234002, 0x00, 0x00, 0, 5 }, /* #2 */
1051 { 0x245e46, 0x245646, 0x00, 0x00, 0, 1 }, /* #3 */
1052 { 0x0a2242, 0x0a2a42, 0x48, 0x42, 0, 3 }, /* #4 */
1053 { 0x3712c7, 0x371ac6, 0x59, 0xac, 0, 7 }, /* #5 */
1054 { 0x266f43, 0x266f43, 0xbc, 0x79, 0, 1 }, /* #6 */
1055 { 0x0f0542, 0x0f0542, 0xf9, 0x7e, 0, 6 }, /* #7 */
1056 { 0x1d2357, 0x1d2357, 0xea, 0x57, 0, 3 }, /* #8 */
1057 { 0x1b1956, 0x1b1956, 0xaa, 0xaa, 0, 4 }, /* #9 */
1058 { 0x370306, 0x370b07, 0x6e, 0xb9, 0, 2 }, /* #10 */
1059 { 0x261383, 0x261383, 0xb2, 0xb2, 0, 0 }, /* #11 */
1060 { 0x2e2d87, 0x2e2587, 0xca, 0x95, 0, 1 }, /* #12 */
1061 { 0x1902c6, 0x1902c7, 0x3c, 0xc3, 0, 4 }, /* #13 */
1062 { 0x2b6953, 0x2b6153, 0xd7, 0xeb, 0, 7 }, /* #14 */
1063 { 0x116e87, 0x116686, 0x0c, 0xc0, 0, 4 }, /* #15 */
1064 { 0x1f1712, 0x1f1f12, 0x44, 0x88, 0, 1 }, /* #16 */
1065 { 0x2f7f42, 0x2f7743, 0x3f, 0xe7, 0, 5 }, /* #17 */
1066 { 0x093e42, 0x093e42, 0x36, 0x36, 0, 0 }, /* #18 */
1067 { 0x2a5152, 0x2a5152, 0xd1, 0xe8, 0, 7 }, /* #19 */
1068 { 0x282bc6, 0x282bc6, 0x76, 0xce, 0, 5 }, /* #20 */
1069 { 0x202b02, 0x202303, 0x14, 0x05, 0, 6 }, /* #21 */
1070 { 0x095b86, 0x095b87, 0x4c, 0x89, 0, 5 }, /* #22 */
1071 { 0x032997, 0x032997, 0xb5, 0x5b, 0, 4 }, /* #23 */
1072 { 0x3b1bc7, 0x3b1bc6, 0xa7, 0x9e, 0, 2 }, /* #24 */
1073 { 0x384ac6, 0x384ac6, 0x87, 0x3c, 0, 3 }, /* #25 */
1074 { 0x202352, 0x202352, 0x30, 0x60, 0, 1 }, /* #26 */
1075 { 0x136216, 0x136a17, 0x6c, 0xb1, 0, 2 }, /* #27 */
1076 { 0x204657, 0x204e56, 0x40, 0x08, 0, 5 }, /* #28 */
1077 { 0x1f5a92, 0x1f5a93, 0xa3, 0x1d, 0, 3 }, /* #29 */
1078 { 0x353903, 0x353902, 0x85, 0xb0, 0, 5 }, /* #30 */
1079 { 0x180c92, 0x180c92, 0x60, 0xc0, 0, 1 }, /* #31 */
1080 { 0x343f47, 0x343746, 0xdc, 0xe6, 0, 3 }, /* #32 */
1081 { 0x264506, 0x264507, 0xe9, 0x3d, 0, 5 }, /* #33 */
1082 { 0x3f5bd2, 0x3f5bd3, 0x94, 0x49, 0, 4 }, /* #34 */
1083 { 0x2e0503, 0x2e0503, 0xf8, 0xe3, 0, 2 }, /* #35 */
1084 { 0x3d7597, 0x3d7d97, 0xbe, 0xf5, 0, 3 }, /* #36 */
1085 { 0x2513c7, 0x2513c7, 0xca, 0x2b, 0, 2 }, /* #37 */
1086 { 0x194086, 0x194887, 0x50, 0x05, 0, 4 }, /* #38 */
1087 { 0x3c7602, 0x3c7603, 0x29, 0x25, 0, 5 }, /* #39 */
1088 { 0x167fc6, 0x1677c6, 0x3f, 0x7e, 0, 1 }, /* #40 */
1089 { 0x3d4c97, 0x3d4497, 0x23, 0x91, 0, 7 }, /* #41 */
1090 { 0x0c2306, 0x0c2b07, 0x68, 0x43, 0, 3 }, /* #42 */
1091 { 0x1132d7, 0x113ad6, 0x81, 0x18, 0, 4 }, /* #43 */
1092 { 0x320347, 0x320b46, 0x6e, 0xdc, 0, 1 }, /* #44 */
1093 { 0x1f07d7, 0x1f07d7, 0xca, 0xca, 0, 0 }, /* #45 */
1094 { 0x083d07, 0x083d07, 0x57, 0x5d, 0, 2 }, /* #46 */
1095 { 0x2d1003, 0x2d1003, 0x82, 0x82, 0, 0 }, /* #47 */
1096 { 0x1a6a93, 0x1a6a93, 0x15, 0x15, 0, 0 }, /* #48 */
1097 { 0x3856c3, 0x3856c3, 0x32, 0x19, 0, 7 }, /* #49 */
1098 { 0x211e13, 0x211e13, 0xaa, 0x55, 0, 3 }, /* #50 */
1099 { 0x2c0f92, 0x2c0792, 0x13, 0x98, 0, 3 }, /* #51 */
1100 { 0x064052, 0x064852, 0x84, 0x24, 0, 3 }, /* #52 */
1101 { 0x2d2a46, 0x2d2a46, 0x46, 0xc8, 0, 5 }, /* #53 */
1102 { 0x2a1986, 0x2a1987, 0x6a, 0xa9, 0, 2 }, /* #54 */
1103 { 0x3f2657, 0x3f2e57, 0x9b, 0x37, 0, 1 }, /* #55 */
1104 { 0x356242, 0x356242, 0xca, 0xb2, 0, 6 }, /* #56 */
1105 { 0x2f7017, 0x2f7016, 0x07, 0x1c, 0, 2 }, /* #57 */
1106 { 0x1e6e06, 0x1e6607, 0x0f, 0xc3, 0, 6 }, /* #58 */
1107 { 0x264206, 0x264a07, 0x8f, 0xe3, 0, 6 }, /* #59 */
1108 { 0x1b0cd6, 0x1b04d6, 0x0a, 0x50, 0, 3 }, /* #60 */
1109 { 0x225c53, 0x225453, 0xd2, 0x69, 0, 7 }, /* #61 */
1110 { 0x3b4747, 0x3b4747, 0x0f, 0x87, 0, 7 }, /* #62 */
1111 { 0x213787, 0x213787, 0x31, 0x31, 0, 0 }, /* #63 */
1112};
1113static const BINU8_TEST_T g_aTests_ror_u8_intel[] =
1114{
1115 { 0x1e4346, 0x1e4346, 0x00, 0x00, 0, 0 }, /* #0 */
1116 { 0x153053, 0x153052, 0x00, 0x00, 0, 2 }, /* #1 */
1117 { 0x1d3c06, 0x1d3406, 0x00, 0x00, 0, 1 }, /* #2 */
1118 { 0x015382, 0x015382, 0x00, 0x00, 0, 5 }, /* #3 */
1119 { 0x2c00d3, 0x2c08d2, 0xe8, 0x1d, 0, 3 }, /* #4 */
1120 { 0x014813, 0x014813, 0x98, 0x89, 0, 4 }, /* #5 */
1121 { 0x3d6347, 0x3d6b46, 0x94, 0x49, 0, 4 }, /* #6 */
1122 { 0x3e7747, 0x3e7f46, 0x96, 0x5a, 0, 6 }, /* #7 */
1123 { 0x006e97, 0x006697, 0x0e, 0xc1, 0, 3 }, /* #8 */
1124 { 0x3c1486, 0x3c1486, 0x30, 0x60, 0, 7 }, /* #9 */
1125 { 0x1918d6, 0x1910d7, 0xd3, 0xa7, 0, 7 }, /* #10 */
1126 { 0x2c7897, 0x2c7097, 0x34, 0x86, 0, 3 }, /* #11 */
1127 { 0x114ac6, 0x114ac7, 0x0f, 0xc3, 0, 2 }, /* #12 */
1128 { 0x1470c2, 0x1478c3, 0xfc, 0xf9, 0, 7 }, /* #13 */
1129 { 0x253352, 0x253353, 0x6e, 0x9b, 0, 2 }, /* #14 */
1130 { 0x1e5402, 0x1e5402, 0x64, 0x19, 0, 2 }, /* #15 */
1131 { 0x221282, 0x221a82, 0x92, 0x49, 0, 1 }, /* #16 */
1132 { 0x2561c7, 0x2561c7, 0x56, 0x56, 0, 0 }, /* #17 */
1133 { 0x040392, 0x040392, 0xe3, 0x3e, 0, 4 }, /* #18 */
1134 { 0x285696, 0x285696, 0x42, 0x21, 0, 1 }, /* #19 */
1135 { 0x114193, 0x114993, 0x39, 0xe4, 0, 6 }, /* #20 */
1136 { 0x1f3692, 0x1f3e93, 0xaa, 0xaa, 0, 6 }, /* #21 */
1137 { 0x387283, 0x387283, 0xbd, 0xdb, 0, 4 }, /* #22 */
1138 { 0x3d7956, 0x3d7157, 0x2a, 0xa8, 0, 6 }, /* #23 */
1139 { 0x026186, 0x026987, 0xa4, 0x94, 0, 3 }, /* #24 */
1140 { 0x013783, 0x013782, 0xb1, 0x63, 0, 7 }, /* #25 */
1141 { 0x297112, 0x297912, 0xe2, 0x71, 0, 1 }, /* #26 */
1142 { 0x1357c7, 0x135fc7, 0x71, 0xb8, 0, 1 }, /* #27 */
1143 { 0x032617, 0x032617, 0x97, 0xbc, 0, 5 }, /* #28 */
1144 { 0x0d2146, 0x0d2147, 0x44, 0x88, 0, 3 }, /* #29 */
1145 { 0x203693, 0x203e92, 0x84, 0x48, 0, 4 }, /* #30 */
1146 { 0x126192, 0x126993, 0xea, 0xba, 0, 2 }, /* #31 */
1147 { 0x320e53, 0x320e53, 0x7f, 0xfd, 0, 6 }, /* #32 */
1148 { 0x0d4f97, 0x0d4f97, 0x25, 0xa4, 0, 3 }, /* #33 */
1149 { 0x3a3656, 0x3a3e57, 0x51, 0xa8, 0, 1 }, /* #34 */
1150 { 0x373692, 0x373693, 0xdf, 0xfe, 0, 5 }, /* #35 */
1151 { 0x305d57, 0x305557, 0xd9, 0xec, 0, 1 }, /* #36 */
1152 { 0x1e2187, 0x1e2986, 0x88, 0x44, 0, 1 }, /* #37 */
1153 { 0x381352, 0x381352, 0x41, 0x41, 0, 0 }, /* #38 */
1154 { 0x096bc3, 0x096bc3, 0x8e, 0x8e, 0, 0 }, /* #39 */
1155 { 0x276657, 0x276656, 0x70, 0x07, 0, 4 }, /* #40 */
1156 { 0x063ad2, 0x0632d2, 0x02, 0x40, 0, 3 }, /* #41 */
1157 { 0x122482, 0x122c82, 0x79, 0x5e, 0, 2 }, /* #42 */
1158 { 0x035c07, 0x035c07, 0x65, 0x65, 0, 0 }, /* #43 */
1159 { 0x2a3ed6, 0x2a36d6, 0x1c, 0x38, 0, 7 }, /* #44 */
1160 { 0x113503, 0x113503, 0x32, 0x91, 0, 5 }, /* #45 */
1161 { 0x180583, 0x180583, 0x99, 0xcc, 0, 5 }, /* #46 */
1162 { 0x3c4293, 0x3c4293, 0x04, 0x80, 0, 3 }, /* #47 */
1163 { 0x1b5bc3, 0x1b5bc2, 0xaa, 0x55, 0, 5 }, /* #48 */
1164 { 0x3007c3, 0x3007c3, 0x82, 0x82, 0, 0 }, /* #49 */
1165 { 0x147202, 0x147202, 0xc7, 0xc7, 0, 0 }, /* #50 */
1166 { 0x380b12, 0x380b12, 0x8c, 0x19, 0, 7 }, /* #51 */
1167 { 0x042c46, 0x042447, 0x08, 0x80, 0, 4 }, /* #52 */
1168 { 0x0359c6, 0x0359c6, 0x55, 0x55, 0, 4 }, /* #53 */
1169 { 0x292017, 0x292017, 0x36, 0xb1, 0, 5 }, /* #54 */
1170 { 0x040b93, 0x040b93, 0xc6, 0xc6, 0, 0 }, /* #55 */
1171 { 0x102513, 0x102d12, 0x39, 0x72, 0, 7 }, /* #56 */
1172 { 0x1d3d93, 0x1d3d93, 0xd0, 0xa1, 0, 7 }, /* #57 */
1173 { 0x0f0d43, 0x0f0542, 0x8b, 0x5c, 0, 5 }, /* #58 */
1174 { 0x1a4256, 0x1a4256, 0x78, 0x3c, 0, 1 }, /* #59 */
1175 { 0x2c2586, 0x2c2d87, 0x1b, 0xd8, 0, 5 }, /* #60 */
1176 { 0x042086, 0x042086, 0x28, 0x50, 0, 7 }, /* #61 */
1177 { 0x0a2f07, 0x0a2707, 0xe5, 0xcb, 0, 7 }, /* #62 */
1178 { 0x244387, 0x244386, 0x81, 0x0c, 0, 5 }, /* #63 */
1179};
1180static const BINU8_TEST_T g_aTests_rcl_u8_intel[] =
1181{
1182 { 0x321b13, 0x321b13, 0x00, 0x00, 0, 0 }, /* #0 */
1183 { 0x2551c6, 0x2551c6, 0x00, 0x00, 0, 5 }, /* #1 */
1184 { 0x121d43, 0x121542, 0x00, 0x10, 0, 5 }, /* #2 */
1185 { 0x361e06, 0x361e06, 0x00, 0x00, 0, 0 }, /* #3 */
1186 { 0x007d97, 0x007d97, 0x5a, 0x6a, 0, 2 }, /* #4 */
1187 { 0x1753c3, 0x175bc2, 0xab, 0xaf, 0, 2 }, /* #5 */
1188 { 0x2526c3, 0x2526c3, 0xa1, 0xa1, 0, 0 }, /* #6 */
1189 { 0x2927c3, 0x2927c3, 0x32, 0x29, 0, 4 }, /* #7 */
1190 { 0x021a16, 0x021a17, 0x53, 0x4c, 0, 2 }, /* #8 */
1191 { 0x3e3a86, 0x3e3a86, 0x6a, 0xa3, 0, 4 }, /* #9 */
1192 { 0x111ec3, 0x1116c2, 0xc0, 0x38, 0, 6 }, /* #10 */
1193 { 0x1132c6, 0x1132c6, 0x08, 0x20, 0, 2 }, /* #11 */
1194 { 0x042ad2, 0x042ad2, 0x9b, 0x9b, 0, 0 }, /* #12 */
1195 { 0x185f57, 0x185756, 0x31, 0x63, 0, 1 }, /* #13 */
1196 { 0x111802, 0x111802, 0x61, 0x98, 0, 7 }, /* #14 */
1197 { 0x0e6b47, 0x0e6b46, 0x51, 0xa3, 0, 1 }, /* #15 */
1198 { 0x291cd6, 0x291cd6, 0x85, 0x2a, 0, 3 }, /* #16 */
1199 { 0x0636c3, 0x063ec3, 0x99, 0x9c, 0, 4 }, /* #17 */
1200 { 0x0e36d2, 0x0e36d3, 0xf7, 0xbd, 0, 7 }, /* #18 */
1201 { 0x333f07, 0x333f07, 0x94, 0x32, 0, 6 }, /* #19 */
1202 { 0x360a52, 0x360a52, 0x67, 0xce, 0, 1 }, /* #20 */
1203 { 0x2b1c43, 0x2b1c43, 0xb9, 0x3b, 0, 5 }, /* #21 */
1204 { 0x1f0b96, 0x1f0b97, 0x6e, 0xc6, 0, 5 }, /* #22 */
1205 { 0x0e7a52, 0x0e7253, 0xdc, 0x1b, 0, 6 }, /* #23 */
1206 { 0x2b7117, 0x2b7117, 0xe3, 0x1f, 0, 3 }, /* #24 */
1207 { 0x0e6ed6, 0x0e66d6, 0xd1, 0xb4, 0, 7 }, /* #25 */
1208 { 0x0b7e17, 0x0b7e17, 0x43, 0xd0, 0, 7 }, /* #26 */
1209 { 0x116746, 0x116747, 0xc0, 0x80, 0, 1 }, /* #27 */
1210 { 0x207d12, 0x207513, 0xea, 0x4e, 0, 5 }, /* #28 */
1211 { 0x2743c2, 0x2743c2, 0x18, 0x30, 0, 1 }, /* #29 */
1212 { 0x0b7bc3, 0x0b7bc3, 0x8e, 0x1d, 0, 1 }, /* #30 */
1213 { 0x2b1d42, 0x2b1543, 0xd0, 0x41, 0, 2 }, /* #31 */
1214 { 0x361913, 0x361912, 0xa9, 0x9d, 0, 4 }, /* #32 */
1215 { 0x0f5286, 0x0f5286, 0x16, 0x16, 0, 0 }, /* #33 */
1216 { 0x163856, 0x163856, 0xb6, 0xcb, 0, 5 }, /* #34 */
1217 { 0x3a3257, 0x3a3257, 0xc5, 0x78, 0, 6 }, /* #35 */
1218 { 0x3859c2, 0x3859c3, 0x97, 0xd2, 0, 6 }, /* #36 */
1219 { 0x044e97, 0x044e97, 0xd2, 0xd2, 0, 0 }, /* #37 */
1220 { 0x0a4382, 0x0a4382, 0x0b, 0x2c, 0, 2 }, /* #38 */
1221 { 0x3f6c97, 0x3f6c96, 0x80, 0x0c, 0, 4 }, /* #39 */
1222 { 0x316252, 0x316252, 0x83, 0x83, 0, 0 }, /* #40 */
1223 { 0x3b2602, 0x3b2602, 0x16, 0x2c, 0, 1 }, /* #41 */
1224 { 0x134142, 0x134143, 0xd3, 0x36, 0, 4 }, /* #42 */
1225 { 0x2951d7, 0x2951d7, 0xca, 0x72, 0, 7 }, /* #43 */
1226 { 0x241707, 0x241707, 0xee, 0xbb, 0, 2 }, /* #44 */
1227 { 0x3c0212, 0x3c0213, 0xc2, 0x84, 0, 1 }, /* #45 */
1228 { 0x3d0056, 0x3d0857, 0xbf, 0xfa, 0, 3 }, /* #46 */
1229 { 0x3a4d92, 0x3a4d93, 0x70, 0xc0, 0, 2 }, /* #47 */
1230 { 0x307a43, 0x307a43, 0x7e, 0xf5, 0, 3 }, /* #48 */
1231 { 0x0e3892, 0x0e3092, 0x39, 0x72, 0, 1 }, /* #49 */
1232 { 0x0965d2, 0x0965d3, 0xf7, 0xbd, 0, 7 }, /* #50 */
1233 { 0x277ac3, 0x2772c2, 0xc8, 0x47, 0, 3 }, /* #51 */
1234 { 0x1852c6, 0x185ac6, 0x54, 0xa1, 0, 3 }, /* #52 */
1235 { 0x330f16, 0x330716, 0x0e, 0x38, 0, 2 }, /* #53 */
1236 { 0x2c4913, 0x2c4913, 0x3b, 0x3b, 0, 0 }, /* #54 */
1237 { 0x1b0e52, 0x1b0e52, 0x7b, 0x7b, 0, 0 }, /* #55 */
1238 { 0x211b12, 0x211313, 0xff, 0xdf, 0, 6 }, /* #56 */
1239 { 0x3c0542, 0x3c0d42, 0x95, 0xa5, 0, 7 }, /* #57 */
1240 { 0x324446, 0x324446, 0xc7, 0xec, 0, 5 }, /* #58 */
1241 { 0x2f4b96, 0x2f4b96, 0xad, 0xad, 0, 0 }, /* #59 */
1242 { 0x306753, 0x306f52, 0xb0, 0x1b, 0, 5 }, /* #60 */
1243 { 0x1c5dc6, 0x1c5dc6, 0x86, 0xc8, 0, 5 }, /* #61 */
1244 { 0x080003, 0x080803, 0xb9, 0x3b, 0, 5 }, /* #62 */
1245 { 0x282f42, 0x282f42, 0x80, 0x01, 0, 2 }, /* #63 */
1246};
1247static const BINU8_TEST_T g_aTests_rcr_u8_intel[] =
1248{
1249 { 0x005357, 0x005b56, 0x00, 0x80, 0, 1 }, /* #0 */
1250 { 0x024882, 0x024082, 0x00, 0x00, 0, 4 }, /* #1 */
1251 { 0x362dc7, 0x362dc6, 0x00, 0x10, 0, 4 }, /* #2 */
1252 { 0x2f3483, 0x2f3c82, 0x00, 0x80, 0, 1 }, /* #3 */
1253 { 0x2462c2, 0x246ac3, 0xb2, 0x92, 0, 6 }, /* #4 */
1254 { 0x101403, 0x101403, 0xfe, 0xfb, 0, 7 }, /* #5 */
1255 { 0x301497, 0x301497, 0xbd, 0xee, 0, 6 }, /* #6 */
1256 { 0x2f4052, 0x2f4053, 0x3a, 0x0e, 0, 2 }, /* #7 */
1257 { 0x3c7a52, 0x3c7253, 0x1f, 0xf0, 0, 5 }, /* #8 */
1258 { 0x0926d7, 0x092ed7, 0x59, 0x35, 0, 4 }, /* #9 */
1259 { 0x004786, 0x004786, 0xbe, 0xbe, 0, 0 }, /* #10 */
1260 { 0x0f3083, 0x0f3883, 0x0d, 0x86, 0, 1 }, /* #11 */
1261 { 0x0e5f17, 0x0e5f17, 0x79, 0xbc, 0, 1 }, /* #12 */
1262 { 0x2e5097, 0x2e5097, 0x49, 0x49, 0, 0 }, /* #13 */
1263 { 0x1d2f83, 0x1d2782, 0x9a, 0x6b, 0, 7 }, /* #14 */
1264 { 0x1627c7, 0x162fc6, 0x4e, 0xa7, 0, 1 }, /* #15 */
1265 { 0x201c52, 0x201452, 0x31, 0x8c, 0, 2 }, /* #16 */
1266 { 0x1467c7, 0x1467c7, 0xd4, 0xd4, 0, 0 }, /* #17 */
1267 { 0x172ad2, 0x1722d2, 0x79, 0x9e, 0, 2 }, /* #18 */
1268 { 0x3f59d6, 0x3f59d7, 0xd3, 0x69, 0, 1 }, /* #19 */
1269 { 0x226bc3, 0x2263c2, 0x8f, 0x3f, 0, 7 }, /* #20 */
1270 { 0x1c3186, 0x1c3186, 0x23, 0xc4, 0, 3 }, /* #21 */
1271 { 0x3e4f46, 0x3e4f47, 0xba, 0x4b, 0, 4 }, /* #22 */
1272 { 0x1d7356, 0x1d7356, 0xa9, 0xa9, 0, 0 }, /* #23 */
1273 { 0x2c2d57, 0x2c2d57, 0x64, 0x92, 0, 7 }, /* #24 */
1274 { 0x047402, 0x047402, 0x23, 0xc4, 0, 3 }, /* #25 */
1275 { 0x133c47, 0x133447, 0xad, 0x75, 0, 3 }, /* #26 */
1276 { 0x1b4053, 0x1b4853, 0x76, 0xb5, 0, 6 }, /* #27 */
1277 { 0x1a6a96, 0x1a6296, 0x24, 0x82, 0, 4 }, /* #28 */
1278 { 0x1e6586, 0x1e6586, 0x56, 0x2b, 0, 1 }, /* #29 */
1279 { 0x167892, 0x167093, 0x7f, 0xfc, 0, 7 }, /* #30 */
1280 { 0x0e4b43, 0x0e4342, 0xfd, 0xff, 0, 2 }, /* #31 */
1281 { 0x157102, 0x157102, 0x32, 0xc8, 0, 7 }, /* #32 */
1282 { 0x020fc6, 0x020fc7, 0xed, 0x6b, 0, 6 }, /* #33 */
1283 { 0x1738c2, 0x1738c2, 0xa1, 0x2a, 0, 4 }, /* #34 */
1284 { 0x157b57, 0x157357, 0xe9, 0x3e, 0, 4 }, /* #35 */
1285 { 0x112893, 0x112093, 0x9a, 0x59, 0, 4 }, /* #36 */
1286 { 0x240fd3, 0x2407d3, 0xf1, 0xf8, 0, 1 }, /* #37 */
1287 { 0x2f0617, 0x2f0e17, 0x0c, 0x21, 0, 3 }, /* #38 */
1288 { 0x351c02, 0x351403, 0x52, 0x14, 0, 2 }, /* #39 */
1289 { 0x230c13, 0x230412, 0xc5, 0xbc, 0, 4 }, /* #40 */
1290 { 0x002243, 0x002242, 0xa3, 0xf4, 0, 3 }, /* #41 */
1291 { 0x3731d7, 0x3731d7, 0xed, 0x7d, 0, 3 }, /* #42 */
1292 { 0x1c3b46, 0x1c3b47, 0xf9, 0x97, 0, 5 }, /* #43 */
1293 { 0x0766c6, 0x0766c6, 0x50, 0x05, 0, 4 }, /* #44 */
1294 { 0x257392, 0x257392, 0x53, 0xca, 0, 3 }, /* #45 */
1295 { 0x172352, 0x172353, 0x70, 0x03, 0, 5 }, /* #46 */
1296 { 0x3b3657, 0x3b3e57, 0x79, 0xe6, 0, 7 }, /* #47 */
1297 { 0x2e3d43, 0x2e3d42, 0x22, 0xa4, 0, 3 }, /* #48 */
1298 { 0x354653, 0x354653, 0xfa, 0xaf, 0, 5 }, /* #49 */
1299 { 0x327e52, 0x327e53, 0xfc, 0xf1, 0, 7 }, /* #50 */
1300 { 0x2701c3, 0x2701c2, 0xd5, 0xbd, 0, 4 }, /* #51 */
1301 { 0x3f0b07, 0x3f0307, 0xdf, 0xfb, 0, 3 }, /* #52 */
1302 { 0x3e7c93, 0x3e7c93, 0x57, 0xea, 0, 3 }, /* #53 */
1303 { 0x0d6503, 0x0d6d03, 0x7b, 0xbb, 0, 5 }, /* #54 */
1304 { 0x183bd6, 0x183bd6, 0xe1, 0x17, 0, 5 }, /* #55 */
1305 { 0x152896, 0x152097, 0x49, 0x24, 0, 1 }, /* #56 */
1306 { 0x2f4153, 0x2f4153, 0xf3, 0x3f, 0, 5 }, /* #57 */
1307 { 0x1c6e16, 0x1c6617, 0x54, 0x50, 0, 7 }, /* #58 */
1308 { 0x2f4582, 0x2f4583, 0x42, 0x10, 0, 2 }, /* #59 */
1309 { 0x3e1507, 0x3e1506, 0xb8, 0x37, 0, 3 }, /* #60 */
1310 { 0x0a0152, 0x0a0152, 0x0a, 0xa0, 0, 5 }, /* #61 */
1311 { 0x143983, 0x143982, 0x44, 0x51, 0, 2 }, /* #62 */
1312 { 0x370a13, 0x370a13, 0x12, 0x28, 0, 5 }, /* #63 */
1313};
1314static const BINU8_TEST_T g_aTests_shl_u8_intel[] =
1315{
1316 { 0x3136c2, 0x313646, 0x00, 0x00, 0, 4 }, /* #0 */
1317 { 0x0607d3, 0x060746, 0x00, 0x00, 0, 7 }, /* #1 */
1318 { 0x382ec6, 0x382646, 0x00, 0x00, 0, 7 }, /* #2 */
1319 { 0x180e43, 0x180646, 0x00, 0x00, 0, 2 }, /* #3 */
1320 { 0x3c4c83, 0x3c4482, 0x01, 0x80, 0, 7 }, /* #4 */
1321 { 0x025347, 0x025347, 0x7a, 0x7a, 0, 0 }, /* #5 */
1322 { 0x161246, 0x161a47, 0x7c, 0x00, 0, 6 }, /* #6 */
1323 { 0x2545d3, 0x254587, 0xee, 0xc0, 0, 5 }, /* #7 */
1324 { 0x2356d7, 0x235e83, 0x7f, 0xf8, 0, 3 }, /* #8 */
1325 { 0x3f53c6, 0x3f5b86, 0x54, 0xa0, 0, 3 }, /* #9 */
1326 { 0x045bc7, 0x045b07, 0x89, 0x12, 0, 1 }, /* #10 */
1327 { 0x3658c7, 0x365887, 0x70, 0xc0, 0, 2 }, /* #11 */
1328 { 0x033357, 0x033347, 0xf2, 0x00, 0, 7 }, /* #12 */
1329 { 0x082112, 0x082182, 0x08, 0x80, 0, 4 }, /* #13 */
1330 { 0x193bd6, 0x193b82, 0x90, 0x80, 0, 3 }, /* #14 */
1331 { 0x080b93, 0x080b86, 0x6b, 0xc0, 0, 6 }, /* #15 */
1332 { 0x0c0f53, 0x0c0783, 0x36, 0xb0, 0, 3 }, /* #16 */
1333 { 0x3c0082, 0x3c0003, 0xe7, 0x38, 0, 3 }, /* #17 */
1334 { 0x306fc6, 0x306f07, 0x4f, 0x3c, 0, 2 }, /* #18 */
1335 { 0x2118c6, 0x211087, 0x0d, 0xa0, 0, 5 }, /* #19 */
1336 { 0x0e46d3, 0x0e4683, 0x3f, 0xe0, 0, 5 }, /* #20 */
1337 { 0x100946, 0x100107, 0xdd, 0x74, 0, 2 }, /* #21 */
1338 { 0x110783, 0x110783, 0xf0, 0x80, 0, 3 }, /* #22 */
1339 { 0x227386, 0x227b82, 0x45, 0x80, 0, 7 }, /* #23 */
1340 { 0x140b57, 0x140383, 0xca, 0x94, 0, 1 }, /* #24 */
1341 { 0x1707d7, 0x170f82, 0x88, 0x80, 0, 4 }, /* #25 */
1342 { 0x260192, 0x260183, 0xfc, 0xf8, 0, 1 }, /* #26 */
1343 { 0x1b0d42, 0x1b0547, 0x1a, 0x00, 0, 7 }, /* #27 */
1344 { 0x3a5356, 0x3a5306, 0x0f, 0x78, 0, 3 }, /* #28 */
1345 { 0x157087, 0x157882, 0x57, 0xae, 0, 1 }, /* #29 */
1346 { 0x307113, 0x307106, 0x09, 0x24, 0, 2 }, /* #30 */
1347 { 0x0f0892, 0x0f0086, 0x1b, 0xd8, 0, 3 }, /* #31 */
1348 { 0x106a06, 0x106a06, 0x5f, 0x5f, 0, 0 }, /* #32 */
1349 { 0x0b5982, 0x0b5902, 0x89, 0x40, 0, 6 }, /* #33 */
1350 { 0x124356, 0x124382, 0xfa, 0x80, 0, 6 }, /* #34 */
1351 { 0x051c82, 0x051c83, 0xbb, 0xb0, 0, 4 }, /* #35 */
1352 { 0x332357, 0x332386, 0x21, 0x84, 0, 2 }, /* #36 */
1353 { 0x221483, 0x221486, 0xdb, 0xd8, 0, 3 }, /* #37 */
1354 { 0x2d5b53, 0x2d5347, 0x1c, 0x00, 0, 6 }, /* #38 */
1355 { 0x375607, 0x375682, 0x25, 0x94, 0, 2 }, /* #39 */
1356 { 0x035302, 0x035b03, 0x57, 0x70, 0, 4 }, /* #40 */
1357 { 0x244703, 0x244786, 0xdb, 0xc0, 0, 6 }, /* #41 */
1358 { 0x0f6e57, 0x0f6603, 0xd5, 0x40, 0, 6 }, /* #42 */
1359 { 0x3d5f53, 0x3d5783, 0xf8, 0x80, 0, 4 }, /* #43 */
1360 { 0x194993, 0x194902, 0xa4, 0x40, 0, 4 }, /* #44 */
1361 { 0x175656, 0x175682, 0x2d, 0xd0, 0, 4 }, /* #45 */
1362 { 0x052312, 0x052b03, 0x62, 0x10, 0, 3 }, /* #46 */
1363 { 0x011017, 0x011082, 0x2b, 0xb0, 0, 4 }, /* #47 */
1364 { 0x022756, 0x022706, 0x03, 0x60, 0, 5 }, /* #48 */
1365 { 0x3d4003, 0x3d4003, 0x5a, 0x5a, 0, 0 }, /* #49 */
1366 { 0x2b22d2, 0x2b2283, 0xc6, 0x80, 0, 6 }, /* #50 */
1367 { 0x390e92, 0x390e03, 0x92, 0x20, 0, 4 }, /* #51 */
1368 { 0x040643, 0x040e46, 0xb0, 0x00, 0, 5 }, /* #52 */
1369 { 0x231493, 0x231c06, 0x93, 0x60, 0, 5 }, /* #53 */
1370 { 0x024fd2, 0x024f87, 0x47, 0xc0, 0, 6 }, /* #54 */
1371 { 0x305612, 0x305683, 0xde, 0xbc, 0, 1 }, /* #55 */
1372 { 0x2d7c53, 0x2d7c53, 0x82, 0x82, 0, 0 }, /* #56 */
1373 { 0x3d0057, 0x3d0802, 0x52, 0x40, 0, 5 }, /* #57 */
1374 { 0x1c55c6, 0x1c5582, 0xd2, 0x80, 0, 6 }, /* #58 */
1375 { 0x300243, 0x300206, 0x23, 0x30, 0, 4 }, /* #59 */
1376 { 0x197916, 0x197902, 0x42, 0x20, 0, 4 }, /* #60 */
1377 { 0x165f12, 0x165702, 0x04, 0x08, 0, 1 }, /* #61 */
1378 { 0x295196, 0x295196, 0x3b, 0x3b, 0, 0 }, /* #62 */
1379 { 0x1c7056, 0x1c7082, 0x2a, 0x80, 0, 6 }, /* #63 */
1380};
1381static const BINU8_TEST_T g_aTests_shr_u8_intel[] =
1382{
1383 { 0x065247, 0x065246, 0x00, 0x00, 0, 1 }, /* #0 */
1384 { 0x2750c2, 0x2750c2, 0x00, 0x00, 0, 0 }, /* #1 */
1385 { 0x035b86, 0x035346, 0x00, 0x00, 0, 7 }, /* #2 */
1386 { 0x093282, 0x093246, 0x00, 0x00, 0, 5 }, /* #3 */
1387 { 0x167092, 0x167007, 0x69, 0x06, 0, 4 }, /* #4 */
1388 { 0x356086, 0x356003, 0x77, 0x01, 0, 6 }, /* #5 */
1389 { 0x017902, 0x017902, 0xa5, 0x01, 0, 7 }, /* #6 */
1390 { 0x296442, 0x296c02, 0xe6, 0x0e, 0, 4 }, /* #7 */
1391 { 0x265c46, 0x265407, 0x3e, 0x03, 0, 4 }, /* #8 */
1392 { 0x234f47, 0x234f07, 0xb7, 0x05, 0, 5 }, /* #9 */
1393 { 0x1d1e53, 0x1d1603, 0x17, 0x0b, 0, 1 }, /* #10 */
1394 { 0x204603, 0x204603, 0x72, 0x72, 0, 0 }, /* #11 */
1395 { 0x2c7183, 0x2c7106, 0x32, 0x06, 0, 3 }, /* #12 */
1396 { 0x2f4c47, 0x2f4c47, 0xd7, 0xd7, 0, 0 }, /* #13 */
1397 { 0x176b83, 0x176347, 0x02, 0x00, 0, 2 }, /* #14 */
1398 { 0x1b1dd7, 0x1b1d03, 0xd9, 0x01, 0, 7 }, /* #15 */
1399 { 0x000457, 0x000446, 0x2e, 0x00, 0, 7 }, /* #16 */
1400 { 0x393cd2, 0x393c07, 0xa4, 0x14, 0, 3 }, /* #17 */
1401 { 0x0d77c3, 0x0d7706, 0x29, 0x05, 0, 3 }, /* #18 */
1402 { 0x124187, 0x124102, 0x39, 0x0e, 0, 2 }, /* #19 */
1403 { 0x287b13, 0x287346, 0x26, 0x00, 0, 7 }, /* #20 */
1404 { 0x137947, 0x137102, 0x49, 0x02, 0, 5 }, /* #21 */
1405 { 0x090fc2, 0x090f02, 0x86, 0x01, 0, 7 }, /* #22 */
1406 { 0x3d0bc6, 0x3d0347, 0x5c, 0x00, 0, 7 }, /* #23 */
1407 { 0x0d3383, 0x0d3b07, 0xdd, 0x1b, 0, 3 }, /* #24 */
1408 { 0x3a2553, 0x3a2503, 0x63, 0x31, 0, 1 }, /* #25 */
1409 { 0x3c5e13, 0x3c5e03, 0xef, 0x0e, 0, 4 }, /* #26 */
1410 { 0x2f7416, 0x2f7c06, 0x94, 0x09, 0, 4 }, /* #27 */
1411 { 0x0a3816, 0x0a3806, 0xcc, 0x66, 0, 1 }, /* #28 */
1412 { 0x162743, 0x162747, 0x40, 0x00, 0, 7 }, /* #29 */
1413 { 0x240c96, 0x240c02, 0x89, 0x01, 0, 7 }, /* #30 */
1414 { 0x137647, 0x137603, 0x7e, 0x1f, 0, 2 }, /* #31 */
1415 { 0x1f2787, 0x1f2787, 0xbd, 0xbd, 0, 0 }, /* #32 */
1416 { 0x1410c3, 0x141002, 0x2a, 0x15, 0, 1 }, /* #33 */
1417 { 0x2b7c03, 0x2b7403, 0x5b, 0x02, 0, 5 }, /* #34 */
1418 { 0x1563d7, 0x156302, 0x2c, 0x16, 0, 1 }, /* #35 */
1419 { 0x3d2a56, 0x3d2202, 0x4c, 0x13, 0, 2 }, /* #36 */
1420 { 0x324b83, 0x324b83, 0x01, 0x01, 0, 0 }, /* #37 */
1421 { 0x2c7293, 0x2c7202, 0x40, 0x10, 0, 2 }, /* #38 */
1422 { 0x3d3792, 0x3d3f06, 0xb8, 0x2e, 0, 2 }, /* #39 */
1423 { 0x0d2702, 0x0d2f02, 0xfe, 0x7f, 0, 1 }, /* #40 */
1424 { 0x3c5786, 0x3c5703, 0x68, 0x01, 0, 6 }, /* #41 */
1425 { 0x2d1553, 0x2d1502, 0x2f, 0x01, 0, 5 }, /* #42 */
1426 { 0x2f1783, 0x2f1f07, 0xb9, 0x5c, 0, 1 }, /* #43 */
1427 { 0x277306, 0x277347, 0x31, 0x00, 0, 6 }, /* #44 */
1428 { 0x032d92, 0x032547, 0x3b, 0x00, 0, 6 }, /* #45 */
1429 { 0x1c2952, 0x1c2103, 0x7f, 0x01, 0, 6 }, /* #46 */
1430 { 0x3564c7, 0x356c03, 0xc6, 0x01, 0, 7 }, /* #47 */
1431 { 0x0e6c46, 0x0e6c02, 0xe0, 0x0e, 0, 4 }, /* #48 */
1432 { 0x1b7c56, 0x1b7446, 0x00, 0x00, 0, 3 }, /* #49 */
1433 { 0x3b4f93, 0x3b4f93, 0x67, 0x67, 0, 0 }, /* #50 */
1434 { 0x3f7912, 0x3f7902, 0x80, 0x40, 0, 1 }, /* #51 */
1435 { 0x091c43, 0x091c03, 0xa9, 0x54, 0, 1 }, /* #52 */
1436 { 0x137987, 0x137902, 0xe5, 0x07, 0, 5 }, /* #53 */
1437 { 0x113012, 0x113807, 0xf2, 0x3c, 0, 2 }, /* #54 */
1438 { 0x1d2496, 0x1d2c03, 0xb6, 0x16, 0, 3 }, /* #55 */
1439 { 0x195a12, 0x195207, 0x65, 0x0c, 0, 3 }, /* #56 */
1440 { 0x132f93, 0x132f03, 0xbb, 0x5d, 0, 1 }, /* #57 */
1441 { 0x386c43, 0x386c03, 0xc6, 0x01, 0, 7 }, /* #58 */
1442 { 0x010546, 0x010d07, 0xba, 0x05, 0, 5 }, /* #59 */
1443 { 0x354596, 0x354502, 0x4d, 0x01, 0, 6 }, /* #60 */
1444 { 0x132986, 0x132902, 0x90, 0x02, 0, 6 }, /* #61 */
1445 { 0x026116, 0x026906, 0xd4, 0x6a, 0, 1 }, /* #62 */
1446 { 0x1b0a46, 0x1b0a03, 0xc9, 0x01, 0, 7 }, /* #63 */
1447};
1448static const BINU8_TEST_T g_aTests_sar_u8_intel[] =
1449{
1450 { 0x0f2582, 0x0f2582, 0x00, 0x00, 0, 0 }, /* #0 */
1451 { 0x2c7e13, 0x2c7e13, 0x00, 0x00, 0, 0 }, /* #1 */
1452 { 0x3d2a42, 0x3d2246, 0x00, 0x00, 0, 4 }, /* #2 */
1453 { 0x205917, 0x205146, 0x00, 0x00, 0, 6 }, /* #3 */
1454 { 0x103706, 0x103706, 0xa8, 0xa8, 0, 0 }, /* #4 */
1455 { 0x017682, 0x017602, 0x43, 0x02, 0, 5 }, /* #5 */
1456 { 0x1c1dd2, 0x1c1506, 0x78, 0x0f, 0, 3 }, /* #6 */
1457 { 0x181d47, 0x181587, 0xdc, 0xff, 0, 7 }, /* #7 */
1458 { 0x180403, 0x180403, 0x40, 0x40, 0, 0 }, /* #8 */
1459 { 0x3f4f43, 0x3f4782, 0xf0, 0xf8, 0, 1 }, /* #9 */
1460 { 0x214117, 0x214103, 0x69, 0x34, 0, 1 }, /* #10 */
1461 { 0x2c4f02, 0x2c4703, 0x36, 0x01, 0, 5 }, /* #11 */
1462 { 0x280c93, 0x280486, 0x9a, 0xff, 0, 7 }, /* #12 */
1463 { 0x283617, 0x283603, 0x32, 0x01, 0, 5 }, /* #13 */
1464 { 0x367887, 0x367007, 0x6c, 0x06, 0, 4 }, /* #14 */
1465 { 0x3b15c3, 0x3b1586, 0xe6, 0xff, 0, 5 }, /* #15 */
1466 { 0x2d40c7, 0x2d4086, 0xa9, 0xff, 0, 7 }, /* #16 */
1467 { 0x3e34d6, 0x3e3482, 0x83, 0xf8, 0, 4 }, /* #17 */
1468 { 0x0f6683, 0x0f6686, 0x92, 0xc9, 0, 1 }, /* #18 */
1469 { 0x1f1486, 0x1f1486, 0xd3, 0xff, 0, 6 }, /* #19 */
1470 { 0x006996, 0x006146, 0x22, 0x00, 0, 7 }, /* #20 */
1471 { 0x1562d7, 0x156203, 0x21, 0x10, 0, 1 }, /* #21 */
1472 { 0x2c3406, 0x2c3483, 0xea, 0xfe, 0, 4 }, /* #22 */
1473 { 0x2508c6, 0x250046, 0x00, 0x00, 0, 7 }, /* #23 */
1474 { 0x0775d3, 0x077582, 0xfa, 0xfd, 0, 1 }, /* #24 */
1475 { 0x047847, 0x047086, 0xcc, 0xff, 0, 6 }, /* #25 */
1476 { 0x0050d3, 0x005082, 0xd0, 0xfd, 0, 4 }, /* #26 */
1477 { 0x2b4d07, 0x2b4546, 0x06, 0x00, 0, 4 }, /* #27 */
1478 { 0x202003, 0x202002, 0x0a, 0x01, 0, 3 }, /* #28 */
1479 { 0x2c1212, 0x2c1283, 0x8f, 0xf1, 0, 3 }, /* #29 */
1480 { 0x3d4256, 0x3d4286, 0x95, 0xf9, 0, 4 }, /* #30 */
1481 { 0x011242, 0x011287, 0xc8, 0xff, 0, 7 }, /* #31 */
1482 { 0x101ac2, 0x101206, 0x28, 0x14, 0, 1 }, /* #32 */
1483 { 0x0a3746, 0x0a3702, 0x25, 0x01, 0, 5 }, /* #33 */
1484 { 0x155a17, 0x155203, 0x5b, 0x02, 0, 5 }, /* #34 */
1485 { 0x3c7fc6, 0x3c7fc6, 0x8b, 0x8b, 0, 0 }, /* #35 */
1486 { 0x0d7e92, 0x0d7607, 0x25, 0x12, 0, 1 }, /* #36 */
1487 { 0x2a4102, 0x2a4182, 0x99, 0xe6, 0, 2 }, /* #37 */
1488 { 0x250546, 0x250546, 0x76, 0x76, 0, 0 }, /* #38 */
1489 { 0x094d53, 0x094582, 0x95, 0xe5, 0, 2 }, /* #39 */
1490 { 0x234e02, 0x234606, 0x48, 0x12, 0, 2 }, /* #40 */
1491 { 0x2b3406, 0x2b3483, 0xa5, 0xfe, 0, 6 }, /* #41 */
1492 { 0x064a43, 0x064287, 0xa9, 0xd4, 0, 1 }, /* #42 */
1493 { 0x250456, 0x250456, 0x26, 0x26, 0, 0 }, /* #43 */
1494 { 0x0943c2, 0x094347, 0x27, 0x00, 0, 6 }, /* #44 */
1495 { 0x3c7706, 0x3c7706, 0xad, 0xad, 0, 0 }, /* #45 */
1496 { 0x3a3996, 0x3a3182, 0xc1, 0xf8, 0, 3 }, /* #46 */
1497 { 0x315d47, 0x315507, 0x36, 0x06, 0, 3 }, /* #47 */
1498 { 0x0c7493, 0x0c7403, 0x36, 0x0d, 0, 2 }, /* #48 */
1499 { 0x0f1f17, 0x0f1787, 0xb4, 0xf6, 0, 3 }, /* #49 */
1500 { 0x0f4cd7, 0x0f4486, 0xf7, 0xff, 0, 4 }, /* #50 */
1501 { 0x3b4bc2, 0x3b4382, 0xb9, 0xf7, 0, 3 }, /* #51 */
1502 { 0x2f0592, 0x2f0592, 0x02, 0x02, 0, 0 }, /* #52 */
1503 { 0x3c5186, 0x3c5147, 0x15, 0x00, 0, 5 }, /* #53 */
1504 { 0x056d52, 0x056502, 0x74, 0x07, 0, 4 }, /* #54 */
1505 { 0x275b03, 0x275303, 0x69, 0x01, 0, 6 }, /* #55 */
1506 { 0x376742, 0x376786, 0xf1, 0xff, 0, 4 }, /* #56 */
1507 { 0x262cc7, 0x262486, 0xdf, 0xff, 0, 6 }, /* #57 */
1508 { 0x246cc3, 0x246486, 0xc8, 0xe4, 0, 1 }, /* #58 */
1509 { 0x2e14d7, 0x2e1487, 0x9e, 0xf3, 0, 3 }, /* #59 */
1510 { 0x066347, 0x066307, 0x3a, 0x03, 0, 4 }, /* #60 */
1511 { 0x3d1357, 0x3d1307, 0x62, 0x18, 0, 2 }, /* #61 */
1512 { 0x2e7f83, 0x2e7707, 0x52, 0x14, 0, 2 }, /* #62 */
1513 { 0x2265d3, 0x2265d3, 0x10, 0x10, 0, 0 }, /* #63 */
1514};
1515static const BINU16_TEST_T g_aTests_rol_u16_intel[] =
1516{
1517 { 0x153693, 0x153692, 0x0000, 0x0000, 0, 7 }, /* #0 */
1518 { 0x2c1956, 0x2c1156, 0x0000, 0x0000, 0, 4 }, /* #1 */
1519 { 0x3f03d6, 0x3f03d6, 0x0000, 0x0000, 0, 8 }, /* #2 */
1520 { 0x2c2657, 0x2c2656, 0x0000, 0x0000, 0, 13 }, /* #3 */
1521 { 0x3c2f12, 0x3c2f13, 0x4954, 0x5449, 0, 8 }, /* #4 */
1522 { 0x0e1717, 0x0e1f16, 0x9c54, 0x4e2a, 0, 15 }, /* #5 */
1523 { 0x295716, 0x295717, 0xc3e0, 0x87c1, 0, 1 }, /* #6 */
1524 { 0x0b0797, 0x0b0f97, 0x5bac, 0x6eb1, 0, 2 }, /* #7 */
1525 { 0x120f43, 0x120f43, 0x45a6, 0x9169, 0, 14 }, /* #8 */
1526 { 0x2a6193, 0x2a6992, 0x6c0d, 0xb606, 0, 15 }, /* #9 */
1527 { 0x2d6e83, 0x2d6e83, 0x5e47, 0x1d79, 0, 10 }, /* #10 */
1528 { 0x3b16d3, 0x3b16d3, 0xf57b, 0xfabd, 0, 15 }, /* #11 */
1529 { 0x021312, 0x021312, 0x3a2c, 0x7458, 0, 1 }, /* #12 */
1530 { 0x211f47, 0x211f46, 0x4ae4, 0x44ae, 0, 12 }, /* #13 */
1531 { 0x283106, 0x283907, 0x4894, 0x4489, 0, 12 }, /* #14 */
1532 { 0x2d2cd3, 0x2d24d2, 0xf0f5, 0x1ebe, 0, 5 }, /* #15 */
1533 { 0x063186, 0x063986, 0xa67c, 0xcf94, 0, 5 }, /* #16 */
1534 { 0x3d6d57, 0x3d6d56, 0x7ec2, 0xfd84, 0, 1 }, /* #17 */
1535 { 0x362b87, 0x362387, 0xe1e0, 0x8387, 0, 10 }, /* #18 */
1536 { 0x096603, 0x096602, 0xc289, 0x4e14, 0, 11 }, /* #19 */
1537 { 0x1869d2, 0x1869d3, 0x999e, 0xa667, 0, 14 }, /* #20 */
1538 { 0x3250c2, 0x3250c2, 0x4fa8, 0x4fa8, 0, 0 }, /* #21 */
1539 { 0x122717, 0x122f17, 0x9a3f, 0xa3f9, 0, 4 }, /* #22 */
1540 { 0x1b3447, 0x1b3c46, 0xb3ba, 0xceea, 0, 2 }, /* #23 */
1541 { 0x3b6ed6, 0x3b6ed7, 0x82d9, 0x05b3, 0, 1 }, /* #24 */
1542 { 0x067716, 0x067716, 0xf5c1, 0xe0fa, 0, 7 }, /* #25 */
1543 { 0x2f5252, 0x2f5a53, 0xae41, 0x906b, 0, 6 }, /* #26 */
1544 { 0x1a1053, 0x1a1053, 0xfb98, 0xee63, 0, 2 }, /* #27 */
1545 { 0x1c6a57, 0x1c6a57, 0x8ad6, 0x15ad, 0, 1 }, /* #28 */
1546 { 0x046ed2, 0x046ed3, 0x58a8, 0x8a85, 0, 4 }, /* #29 */
1547 { 0x3934d2, 0x3934d2, 0xcb6a, 0xdab2, 0, 6 }, /* #30 */
1548 { 0x0677d2, 0x0677d3, 0xdcdf, 0xfb9b, 0, 13 }, /* #31 */
1549 { 0x3f2903, 0x3f2903, 0x8547, 0xe151, 0, 14 }, /* #32 */
1550 { 0x291102, 0x291902, 0x5c8a, 0x452e, 0, 7 }, /* #33 */
1551 { 0x3c7953, 0x3c7952, 0x6aab, 0xab6a, 0, 8 }, /* #34 */
1552 { 0x367013, 0x367012, 0xee50, 0xe50e, 0, 4 }, /* #35 */
1553 { 0x293147, 0x293946, 0x6ef5, 0xddea, 0, 1 }, /* #36 */
1554 { 0x0967c2, 0x096fc3, 0x4e31, 0xc629, 0, 5 }, /* #37 */
1555 { 0x2062c2, 0x206ac2, 0x7a1f, 0x3ef4, 0, 9 }, /* #38 */
1556 { 0x1f59c7, 0x1f51c7, 0x2ff9, 0xff25, 0, 5 }, /* #39 */
1557 { 0x3f1093, 0x3f1892, 0x9ae1, 0xe19a, 0, 8 }, /* #40 */
1558 { 0x0a6756, 0x0a6756, 0xf695, 0xfb4a, 0, 15 }, /* #41 */
1559 { 0x086782, 0x086783, 0x23f5, 0xfa91, 0, 7 }, /* #42 */
1560 { 0x304bd7, 0x304bd7, 0xbee5, 0x7dcb, 0, 1 }, /* #43 */
1561 { 0x264c86, 0x264486, 0x346e, 0xdc68, 0, 9 }, /* #44 */
1562 { 0x202d16, 0x202d17, 0x991a, 0xa991, 0, 12 }, /* #45 */
1563 { 0x2372c2, 0x2372c3, 0xcb46, 0x2d1b, 0, 2 }, /* #46 */
1564 { 0x372403, 0x372403, 0xc24e, 0x6127, 0, 15 }, /* #47 */
1565 { 0x3c74c2, 0x3c74c3, 0x3e53, 0x4cf9, 0, 10 }, /* #48 */
1566 { 0x062712, 0x062713, 0xfd14, 0x453f, 0, 6 }, /* #49 */
1567 { 0x0d2e12, 0x0d2613, 0xc86e, 0x0dd9, 0, 5 }, /* #50 */
1568 { 0x217f83, 0x217f83, 0x6df2, 0xf26d, 0, 8 }, /* #51 */
1569 { 0x0b73d7, 0x0b7bd7, 0xa7d2, 0x4a9f, 0, 10 }, /* #52 */
1570 { 0x332496, 0x332496, 0x106d, 0x8836, 0, 15 }, /* #53 */
1571 { 0x0c6e47, 0x0c6646, 0x1e0c, 0x0c1e, 0, 8 }, /* #54 */
1572 { 0x193c06, 0x193c07, 0x47d7, 0xd1f5, 0, 14 }, /* #55 */
1573 { 0x0c5e06, 0x0c5e07, 0x96fd, 0xb2df, 0, 13 }, /* #56 */
1574 { 0x155493, 0x155492, 0x1e95, 0x951e, 0, 8 }, /* #57 */
1575 { 0x2e2307, 0x2e2b06, 0x8b17, 0xc5e2, 0, 6 }, /* #58 */
1576 { 0x2e6e43, 0x2e6642, 0x1e36, 0x3c6c, 0, 1 }, /* #59 */
1577 { 0x097006, 0x097007, 0xe936, 0xb749, 0, 11 }, /* #60 */
1578 { 0x1c62d3, 0x1c6ad3, 0x7252, 0x2725, 0, 12 }, /* #61 */
1579 { 0x135782, 0x135f83, 0x4658, 0x2c23, 0, 7 }, /* #62 */
1580 { 0x2524c2, 0x252cc2, 0x7ae8, 0x1eba, 0, 14 }, /* #63 */
1581};
1582static const BINU16_TEST_T g_aTests_ror_u16_intel[] =
1583{
1584 { 0x215c02, 0x215402, 0x0000, 0x0000, 0, 6 }, /* #0 */
1585 { 0x247e57, 0x247656, 0x0000, 0x0000, 0, 13 }, /* #1 */
1586 { 0x1b41d2, 0x1b41d2, 0x0000, 0x0000, 0, 10 }, /* #2 */
1587 { 0x032046, 0x032046, 0x0000, 0x0000, 0, 15 }, /* #3 */
1588 { 0x334cd2, 0x3344d2, 0x0268, 0x0134, 0, 1 }, /* #4 */
1589 { 0x284bd3, 0x2843d3, 0x9933, 0xce64, 0, 6 }, /* #5 */
1590 { 0x0029c2, 0x0021c3, 0x4e58, 0xe584, 0, 12 }, /* #6 */
1591 { 0x345882, 0x345083, 0x6448, 0x890c, 0, 11 }, /* #7 */
1592 { 0x3405d7, 0x340dd6, 0xb158, 0x158b, 0, 12 }, /* #8 */
1593 { 0x2914c7, 0x2914c7, 0xb69f, 0xfdb4, 0, 5 }, /* #9 */
1594 { 0x3c0787, 0x3c0f87, 0x70d9, 0xcb86, 0, 5 }, /* #10 */
1595 { 0x301793, 0x301793, 0xda5b, 0xb7b4, 0, 7 }, /* #11 */
1596 { 0x283087, 0x283086, 0x54aa, 0x54a9, 0, 7 }, /* #12 */
1597 { 0x2d5716, 0x2d5f17, 0x6feb, 0xb6fe, 0, 4 }, /* #13 */
1598 { 0x0f5646, 0x0f5646, 0x25ac, 0x25ac, 0, 0 }, /* #14 */
1599 { 0x1b7702, 0x1b7702, 0xf9df, 0xf9df, 0, 0 }, /* #15 */
1600 { 0x055cd6, 0x055cd6, 0x956a, 0x5aa5, 0, 10 }, /* #16 */
1601 { 0x0d0d13, 0x0d0d12, 0x391f, 0x1f39, 0, 8 }, /* #17 */
1602 { 0x121556, 0x121d57, 0x3d23, 0xf48c, 0, 14 }, /* #18 */
1603 { 0x041757, 0x041757, 0xe90b, 0xbe90, 0, 4 }, /* #19 */
1604 { 0x394613, 0x394e12, 0xdf04, 0x137c, 0, 6 }, /* #20 */
1605 { 0x2b7752, 0x2b7f53, 0xd278, 0xa4f1, 0, 15 }, /* #21 */
1606 { 0x0c28d3, 0x0c20d3, 0x1878, 0x8187, 0, 4 }, /* #22 */
1607 { 0x052ac2, 0x0522c2, 0x6bee, 0x735f, 0, 5 }, /* #23 */
1608 { 0x0a73c7, 0x0a7bc6, 0xbae0, 0x5c17, 0, 11 }, /* #24 */
1609 { 0x380c87, 0x380487, 0x8a4b, 0xa4b8, 0, 12 }, /* #25 */
1610 { 0x0c66d2, 0x0c6ed2, 0x95f4, 0x2be9, 0, 15 }, /* #26 */
1611 { 0x360457, 0x360457, 0x58ca, 0xa58c, 0, 4 }, /* #27 */
1612 { 0x267013, 0x267013, 0x3a58, 0x83a5, 0, 4 }, /* #28 */
1613 { 0x001f06, 0x001706, 0x4fca, 0x7e52, 0, 13 }, /* #29 */
1614 { 0x0e4b43, 0x0e4b43, 0xa8b1, 0xa8b1, 0, 0 }, /* #30 */
1615 { 0x342207, 0x342206, 0xfb49, 0x27ed, 0, 6 }, /* #31 */
1616 { 0x3f17d7, 0x3f17d7, 0xe7d7, 0xf3eb, 0, 1 }, /* #32 */
1617 { 0x236053, 0x236053, 0xda6d, 0xdbb4, 0, 7 }, /* #33 */
1618 { 0x287602, 0x287602, 0xa007, 0xa007, 0, 0 }, /* #34 */
1619 { 0x056313, 0x056313, 0xa40c, 0xa40c, 0, 0 }, /* #35 */
1620 { 0x382896, 0x382097, 0xed27, 0xfb49, 0, 2 }, /* #36 */
1621 { 0x126c83, 0x126482, 0x541a, 0x34a8, 0, 7 }, /* #37 */
1622 { 0x0d7903, 0x0d7903, 0xa548, 0x8a54, 0, 4 }, /* #38 */
1623 { 0x144e87, 0x144e86, 0xa496, 0x24b5, 0, 13 }, /* #39 */
1624 { 0x0a24d3, 0x0a24d3, 0xdffd, 0xfbbf, 0, 7 }, /* #40 */
1625 { 0x077897, 0x077896, 0xae60, 0x0573, 0, 5 }, /* #41 */
1626 { 0x340393, 0x340b92, 0x2f5b, 0x5b2f, 0, 8 }, /* #42 */
1627 { 0x317a53, 0x317253, 0x6b6c, 0xb1ad, 0, 6 }, /* #43 */
1628 { 0x2d2f12, 0x2d2713, 0x2e48, 0x905c, 0, 7 }, /* #44 */
1629 { 0x132b47, 0x132347, 0xbdb9, 0xdedc, 0, 1 }, /* #45 */
1630 { 0x050f52, 0x050752, 0x2da6, 0x698b, 0, 10 }, /* #46 */
1631 { 0x366e56, 0x366656, 0x6150, 0x2a0c, 0, 11 }, /* #47 */
1632 { 0x225f56, 0x225756, 0xf193, 0x7e32, 0, 3 }, /* #48 */
1633 { 0x076307, 0x076306, 0x2506, 0x4a0c, 0, 15 }, /* #49 */
1634 { 0x243012, 0x243012, 0x969b, 0x969b, 0, 0 }, /* #50 */
1635 { 0x286f82, 0x286782, 0xf013, 0x4fc0, 0, 6 }, /* #51 */
1636 { 0x267602, 0x267e02, 0x6683, 0x0d9a, 0, 6 }, /* #52 */
1637 { 0x1a5652, 0x1a5e52, 0x7e2d, 0x16bf, 0, 9 }, /* #53 */
1638 { 0x084ed6, 0x084ed6, 0xbbad, 0xbbad, 0, 0 }, /* #54 */
1639 { 0x315653, 0x315e53, 0x2357, 0xb91a, 0, 5 }, /* #55 */
1640 { 0x1e56d6, 0x1e5ed7, 0xe3ba, 0xae3b, 0, 4 }, /* #56 */
1641 { 0x2e1f53, 0x2e1f52, 0xc5f8, 0x317e, 0, 2 }, /* #57 */
1642 { 0x367617, 0x367617, 0x686e, 0x686e, 0, 0 }, /* #58 */
1643 { 0x185e97, 0x185696, 0x4760, 0x6047, 0, 8 }, /* #59 */
1644 { 0x274a83, 0x274a82, 0xfef4, 0x7f7a, 0, 1 }, /* #60 */
1645 { 0x207cd7, 0x207cd6, 0xc4de, 0x37b1, 0, 10 }, /* #61 */
1646 { 0x0761d3, 0x0761d2, 0xf929, 0x3f25, 0, 3 }, /* #62 */
1647 { 0x231457, 0x231c57, 0x8f4a, 0xa8f4, 0, 4 }, /* #63 */
1648};
1649static const BINU16_TEST_T g_aTests_rcl_u16_intel[] =
1650{
1651 { 0x3740c2, 0x3740c2, 0x0000, 0x0000, 0, 10 }, /* #0 */
1652 { 0x145a03, 0x145202, 0x0000, 0x0040, 0, 7 }, /* #1 */
1653 { 0x3222c7, 0x3222c6, 0x0000, 0x0080, 0, 8 }, /* #2 */
1654 { 0x0f4556, 0x0f4556, 0x0000, 0x0000, 0, 3 }, /* #3 */
1655 { 0x302693, 0x302692, 0xc321, 0x190f, 0, 3 }, /* #4 */
1656 { 0x235e43, 0x235643, 0xc76e, 0xdbb8, 0, 6 }, /* #5 */
1657 { 0x3b4196, 0x3b4197, 0xcb19, 0x2c65, 0, 2 }, /* #6 */
1658 { 0x141686, 0x141e86, 0xaf42, 0xf425, 0, 4 }, /* #7 */
1659 { 0x102a83, 0x102283, 0xe87f, 0x0ffe, 0, 5 }, /* #8 */
1660 { 0x311496, 0x311497, 0xfe86, 0xa19f, 0, 6 }, /* #9 */
1661 { 0x2b4713, 0x2b4712, 0x08e6, 0x7342, 0, 7 }, /* #10 */
1662 { 0x261887, 0x261887, 0x9da8, 0x3b51, 0, 1 }, /* #11 */
1663 { 0x1e6fd7, 0x1e6fd6, 0x7e4a, 0xfc95, 0, 1 }, /* #12 */
1664 { 0x236893, 0x236092, 0x1f14, 0xf8a4, 0, 3 }, /* #13 */
1665 { 0x254417, 0x254c16, 0xa0b6, 0x16da, 0, 5 }, /* #14 */
1666 { 0x0e77c7, 0x0e7fc7, 0x902f, 0xe40b, 0, 15 }, /* #15 */
1667 { 0x153dd7, 0x1535d6, 0x3273, 0x9ce6, 0, 6 }, /* #16 */
1668 { 0x2b4597, 0x2b4d96, 0x4721, 0xe434, 0, 5 }, /* #17 */
1669 { 0x2e4413, 0x2e4413, 0xc93e, 0xdc93, 0, 13 }, /* #18 */
1670 { 0x293057, 0x293856, 0x98f4, 0xf4cc, 0, 8 }, /* #19 */
1671 { 0x083cd7, 0x083cd7, 0x6bdd, 0xaf76, 0, 2 }, /* #20 */
1672 { 0x3c3043, 0x3c3843, 0x4e22, 0x88a9, 0, 6 }, /* #21 */
1673 { 0x0e3692, 0x0e3e92, 0x7718, 0xc1dc, 0, 11 }, /* #22 */
1674 { 0x173402, 0x173c03, 0x55c2, 0x08ab, 0, 10 }, /* #23 */
1675 { 0x1e08d6, 0x1e00d6, 0xc03f, 0x07ec, 0, 5 }, /* #24 */
1676 { 0x3d1dd6, 0x3d15d7, 0x22a5, 0x1528, 0, 3 }, /* #25 */
1677 { 0x1a1c42, 0x1a1442, 0x1fdc, 0x7f70, 0, 2 }, /* #26 */
1678 { 0x376f43, 0x376f42, 0x4ab2, 0xca95, 0, 10 }, /* #27 */
1679 { 0x1e64d6, 0x1e6cd6, 0x4d18, 0x304d, 0, 9 }, /* #28 */
1680 { 0x3d0116, 0x3d0116, 0x0e90, 0xe900, 0, 4 }, /* #29 */
1681 { 0x3e1fd3, 0x3e17d3, 0xe77e, 0x79df, 0, 15 }, /* #30 */
1682 { 0x2567d3, 0x2567d2, 0xc41e, 0x1ee2, 0, 8 }, /* #31 */
1683 { 0x386e57, 0x386656, 0xc116, 0x2dc1, 0, 9 }, /* #32 */
1684 { 0x1231c3, 0x1231c3, 0xc84c, 0x099c, 0, 5 }, /* #33 */
1685 { 0x320883, 0x320082, 0x1710, 0x2e21, 0, 1 }, /* #34 */
1686 { 0x390553, 0x390d53, 0xb5e8, 0x5e8d, 0, 4 }, /* #35 */
1687 { 0x2e2e87, 0x2e2687, 0xcb33, 0x9f2c, 0, 11 }, /* #36 */
1688 { 0x1d1342, 0x1d1b43, 0x8c6c, 0x1b11, 0, 6 }, /* #37 */
1689 { 0x213103, 0x213102, 0x341a, 0xd06a, 0, 2 }, /* #38 */
1690 { 0x206f53, 0x206f53, 0x4ada, 0x5b54, 0, 5 }, /* #39 */
1691 { 0x1e7f57, 0x1e7f57, 0x890e, 0x890e, 0, 0 }, /* #40 */
1692 { 0x2c57c7, 0x2c57c7, 0xfd40, 0x03fa, 0, 10 }, /* #41 */
1693 { 0x093812, 0x093813, 0x447c, 0xe111, 0, 11 }, /* #42 */
1694 { 0x250552, 0x250553, 0xfd2f, 0xd2f7, 0, 4 }, /* #43 */
1695 { 0x0a3187, 0x0a3186, 0xcbea, 0x5f57, 0, 3 }, /* #44 */
1696 { 0x1504d3, 0x1504d2, 0x2e78, 0x25cf, 0, 14 }, /* #45 */
1697 { 0x187d17, 0x187d17, 0x7fc4, 0x897f, 0, 9 }, /* #46 */
1698 { 0x176e83, 0x176683, 0xde60, 0x983b, 0, 6 }, /* #47 */
1699 { 0x292456, 0x292457, 0xcdeb, 0xeb66, 0, 8 }, /* #48 */
1700 { 0x157406, 0x157c07, 0x8aaa, 0x48aa, 0, 13 }, /* #49 */
1701 { 0x1e5902, 0x1e5102, 0x0223, 0x8c04, 0, 10 }, /* #50 */
1702 { 0x180612, 0x180e13, 0xa4d5, 0x549a, 0, 14 }, /* #51 */
1703 { 0x213596, 0x213d96, 0x8601, 0x0a18, 0, 11 }, /* #52 */
1704 { 0x2f56c7, 0x2f56c7, 0xd7e1, 0xafc3, 0, 1 }, /* #53 */
1705 { 0x005147, 0x005146, 0x289f, 0x513f, 0, 1 }, /* #54 */
1706 { 0x2a4a82, 0x2a4282, 0x31cf, 0x639e, 0, 1 }, /* #55 */
1707 { 0x1a4902, 0x1a4103, 0xee68, 0xdcd0, 0, 1 }, /* #56 */
1708 { 0x286b83, 0x286383, 0x3cdd, 0xbb3c, 0, 9 }, /* #57 */
1709 { 0x190f43, 0x190f43, 0x7dfc, 0xdfcb, 0, 4 }, /* #58 */
1710 { 0x105502, 0x105503, 0x303b, 0x03b1, 0, 4 }, /* #59 */
1711 { 0x3e65d3, 0x3e6dd3, 0x6349, 0x3634, 0, 13 }, /* #60 */
1712 { 0x166613, 0x166612, 0xc29d, 0xa778, 0, 6 }, /* #61 */
1713 { 0x215793, 0x215792, 0x3b45, 0xb3b4, 0, 13 }, /* #62 */
1714 { 0x2c54c3, 0x2c5cc2, 0xbcf5, 0xf3d7, 0, 2 }, /* #63 */
1715};
1716static const BINU16_TEST_T g_aTests_rcr_u16_intel[] =
1717{
1718 { 0x3e7a56, 0x3e7256, 0x0000, 0x0000, 0, 5 }, /* #0 */
1719 { 0x197f93, 0x197f92, 0x0000, 0x0200, 0, 7 }, /* #1 */
1720 { 0x221c46, 0x221446, 0x0000, 0x0000, 0, 14 }, /* #2 */
1721 { 0x037586, 0x037586, 0x0000, 0x0000, 0, 13 }, /* #3 */
1722 { 0x1f4292, 0x1f4292, 0x3f45, 0x8fd1, 0, 2 }, /* #4 */
1723 { 0x0b5553, 0x0b5d52, 0x5953, 0xca9d, 0, 14 }, /* #5 */
1724 { 0x2e0642, 0x2e0642, 0xf074, 0xf074, 0, 0 }, /* #6 */
1725 { 0x015d97, 0x015d97, 0x549d, 0x5276, 0, 15 }, /* #7 */
1726 { 0x3e7f06, 0x3e7f06, 0xc25f, 0xbec2, 0, 8 }, /* #8 */
1727 { 0x053a43, 0x053a43, 0x0e5f, 0x97e1, 0, 11 }, /* #9 */
1728 { 0x2809c2, 0x2809c2, 0xa95b, 0x56d5, 0, 11 }, /* #10 */
1729 { 0x1b3f17, 0x1b3f17, 0x3ac7, 0x3ac7, 0, 0 }, /* #11 */
1730 { 0x142412, 0x142c12, 0xbdd5, 0xeaaf, 0, 10 }, /* #12 */
1731 { 0x0a2507, 0x0a2506, 0xd2d2, 0xba5a, 0, 3 }, /* #13 */
1732 { 0x1e3486, 0x1e3487, 0x0d51, 0x441a, 0, 7 }, /* #14 */
1733 { 0x241252, 0x241a52, 0xc58e, 0xc731, 0, 10 }, /* #15 */
1734 { 0x334f42, 0x334f42, 0x81f6, 0x07d9, 0, 15 }, /* #16 */
1735 { 0x244dc3, 0x2445c2, 0xa34c, 0x699a, 0, 12 }, /* #17 */
1736 { 0x127f42, 0x127743, 0x1be5, 0x9437, 0, 7 }, /* #18 */
1737 { 0x3c3f42, 0x3c3f43, 0xde76, 0xd9bc, 0, 7 }, /* #19 */
1738 { 0x3e6713, 0x3e6712, 0x9a0b, 0x5e68, 0, 6 }, /* #20 */
1739 { 0x1b1242, 0x1b1a43, 0xa7ca, 0x3e52, 0, 14 }, /* #21 */
1740 { 0x3d1b56, 0x3d1357, 0x5f85, 0x0a5f, 0, 8 }, /* #22 */
1741 { 0x337f02, 0x337702, 0x2a67, 0xe2a6, 0, 4 }, /* #23 */
1742 { 0x205a13, 0x205a12, 0x3dd8, 0xc4f7, 0, 6 }, /* #24 */
1743 { 0x282397, 0x282b96, 0x0620, 0x2083, 0, 9 }, /* #25 */
1744 { 0x3e2d43, 0x3e2d43, 0x4fa3, 0x4fa3, 0, 0 }, /* #26 */
1745 { 0x3c0917, 0x3c0917, 0xe715, 0xe715, 0, 0 }, /* #27 */
1746 { 0x290316, 0x290316, 0x767e, 0xcfc7, 0, 12 }, /* #28 */
1747 { 0x377b42, 0x377b43, 0xb3ae, 0x2ceb, 0, 2 }, /* #29 */
1748 { 0x1a6a17, 0x1a6a16, 0x0a3b, 0x3b85, 0, 9 }, /* #30 */
1749 { 0x083c12, 0x083413, 0x33c5, 0xc519, 0, 9 }, /* #31 */
1750 { 0x146753, 0x146752, 0x8732, 0x6587, 0, 8 }, /* #32 */
1751 { 0x143396, 0x143b97, 0xd7af, 0xb5eb, 0, 2 }, /* #33 */
1752 { 0x164c13, 0x164c12, 0x1f6f, 0xf8fb, 0, 5 }, /* #34 */
1753 { 0x010b82, 0x010b83, 0xeb0f, 0x0f75, 0, 9 }, /* #35 */
1754 { 0x1b44c6, 0x1b4cc7, 0xfc4f, 0xbf13, 0, 2 }, /* #36 */
1755 { 0x101542, 0x101543, 0x021b, 0xb010, 0, 5 }, /* #37 */
1756 { 0x346352, 0x346b53, 0xbfc7, 0xfe3a, 0, 14 }, /* #38 */
1757 { 0x294403, 0x294402, 0x9938, 0xcc9c, 0, 1 }, /* #39 */
1758 { 0x207ad2, 0x207ad2, 0xac5f, 0xb17d, 0, 15 }, /* #40 */
1759 { 0x090256, 0x090256, 0x7beb, 0x7beb, 0, 0 }, /* #41 */
1760 { 0x304486, 0x304c87, 0xcce6, 0x9ccc, 0, 12 }, /* #42 */
1761 { 0x2c22d7, 0x2c2ad6, 0x400e, 0x0075, 0, 14 }, /* #43 */
1762 { 0x0f3ad3, 0x0f3ad3, 0x03c4, 0x03c4, 0, 0 }, /* #44 */
1763 { 0x170146, 0x170947, 0xb924, 0xc922, 0, 14 }, /* #45 */
1764 { 0x051f82, 0x051f83, 0xccac, 0x32b1, 0, 15 }, /* #46 */
1765 { 0x3c2847, 0x3c2047, 0x9e56, 0xb3ca, 0, 3 }, /* #47 */
1766 { 0x224913, 0x224113, 0xbc79, 0x3bc7, 0, 4 }, /* #48 */
1767 { 0x246517, 0x246d17, 0x0e7c, 0x9f21, 0, 11 }, /* #49 */
1768 { 0x006f47, 0x006f46, 0x2469, 0xd324, 0, 8 }, /* #50 */
1769 { 0x073356, 0x073356, 0x1810, 0x1810, 0, 0 }, /* #51 */
1770 { 0x030d07, 0x030506, 0xb34e, 0xed9a, 0, 5 }, /* #52 */
1771 { 0x2c1156, 0x2c1957, 0xc6e4, 0x918d, 0, 7 }, /* #53 */
1772 { 0x160e46, 0x160e47, 0xeaf0, 0x783a, 0, 10 }, /* #54 */
1773 { 0x304b13, 0x304313, 0xc528, 0x14a3, 0, 15 }, /* #55 */
1774 { 0x3f4356, 0x3f4356, 0xc0d6, 0xc0d6, 0, 0 }, /* #56 */
1775 { 0x0a7786, 0x0a7f86, 0xb546, 0x5aa3, 0, 1 }, /* #57 */
1776 { 0x045193, 0x045193, 0xba4b, 0x2f74, 0, 7 }, /* #58 */
1777 { 0x243f47, 0x243f47, 0x44d3, 0xa269, 0, 1 }, /* #59 */
1778 { 0x0f1ad6, 0x0f12d6, 0x280e, 0xe140, 0, 5 }, /* #60 */
1779 { 0x275e53, 0x275e53, 0x4f8a, 0x154f, 0, 8 }, /* #61 */
1780 { 0x0a5b46, 0x0a5347, 0x3741, 0xba08, 0, 14 }, /* #62 */
1781 { 0x3207c6, 0x320fc6, 0xa328, 0x650a, 0, 12 }, /* #63 */
1782};
1783static const BINU16_TEST_T g_aTests_shl_u16_intel[] =
1784{
1785 { 0x3e4b13, 0x3e4346, 0x0000, 0x0000, 0, 9 }, /* #0 */
1786 { 0x387e42, 0x387646, 0x0000, 0x0000, 0, 4 }, /* #1 */
1787 { 0x065c93, 0x065446, 0x0000, 0x0000, 0, 7 }, /* #2 */
1788 { 0x047e17, 0x047646, 0x0000, 0x0000, 0, 11 }, /* #3 */
1789 { 0x3d2486, 0x3d2c03, 0x4f6c, 0x3db0, 0, 2 }, /* #4 */
1790 { 0x372b07, 0x372b87, 0xb51f, 0x8000, 0, 15 }, /* #5 */
1791 { 0x061fc7, 0x061f02, 0x684e, 0x1380, 0, 6 }, /* #6 */
1792 { 0x225746, 0x225707, 0x2a8a, 0x5450, 0, 3 }, /* #7 */
1793 { 0x3305c3, 0x330d82, 0x6af8, 0xaf80, 0, 4 }, /* #8 */
1794 { 0x346983, 0x346102, 0x2661, 0x6610, 0, 4 }, /* #9 */
1795 { 0x1c0e87, 0x1c0e06, 0x8886, 0x3000, 0, 11 }, /* #10 */
1796 { 0x242643, 0x242686, 0xfcb4, 0x8000, 0, 13 }, /* #11 */
1797 { 0x3f2013, 0x3f2807, 0xb7d5, 0x7d50, 0, 4 }, /* #12 */
1798 { 0x1b5c42, 0x1b5486, 0xd1d8, 0xc000, 0, 11 }, /* #13 */
1799 { 0x0366c3, 0x036e83, 0x7d1c, 0xa380, 0, 5 }, /* #14 */
1800 { 0x254717, 0x254787, 0x33b4, 0xb400, 0, 8 }, /* #15 */
1801 { 0x011ec3, 0x011682, 0xd951, 0xa880, 0, 7 }, /* #16 */
1802 { 0x141043, 0x141887, 0x53b8, 0xdc00, 0, 7 }, /* #17 */
1803 { 0x294d92, 0x294d07, 0x5c04, 0x0100, 0, 6 }, /* #18 */
1804 { 0x236082, 0x236883, 0x64b1, 0x92c4, 0, 2 }, /* #19 */
1805 { 0x2d1506, 0x2d1d06, 0x6ac3, 0x6000, 0, 13 }, /* #20 */
1806 { 0x372f52, 0x372f86, 0x9374, 0xdd00, 0, 6 }, /* #21 */
1807 { 0x111802, 0x111087, 0xd5d0, 0xd000, 0, 8 }, /* #22 */
1808 { 0x010216, 0x010216, 0x31ae, 0x31ae, 0, 0 }, /* #23 */
1809 { 0x352246, 0x352a87, 0x635b, 0x8000, 0, 15 }, /* #24 */
1810 { 0x0f3683, 0x0f3683, 0x4335, 0x4335, 0, 0 }, /* #25 */
1811 { 0x0c1196, 0x0c1946, 0x6b70, 0x0000, 0, 14 }, /* #26 */
1812 { 0x2f2c53, 0x2f2482, 0x2ae5, 0xb940, 0, 6 }, /* #27 */
1813 { 0x125143, 0x125906, 0x4cc7, 0x7000, 0, 12 }, /* #28 */
1814 { 0x0661d7, 0x066986, 0x5250, 0x9400, 0, 6 }, /* #29 */
1815 { 0x021796, 0x021786, 0x0ed2, 0xd200, 0, 8 }, /* #30 */
1816 { 0x350f52, 0x350783, 0x38a2, 0x8a20, 0, 4 }, /* #31 */
1817 { 0x163793, 0x163786, 0x3c7a, 0xf1e8, 0, 2 }, /* #32 */
1818 { 0x034f13, 0x034787, 0x01ad, 0xa000, 0, 13 }, /* #33 */
1819 { 0x0d6c96, 0x0d6403, 0xe373, 0x1b98, 0, 3 }, /* #34 */
1820 { 0x0b0183, 0x0b0903, 0xb3e7, 0x3e70, 0, 4 }, /* #35 */
1821 { 0x164087, 0x164087, 0xe7bb, 0xbb00, 0, 8 }, /* #36 */
1822 { 0x0a6396, 0x0a6386, 0xe893, 0x9300, 0, 8 }, /* #37 */
1823 { 0x040542, 0x040d86, 0x8abd, 0x8000, 0, 15 }, /* #38 */
1824 { 0x151a17, 0x151286, 0x3d8d, 0x8000, 0, 15 }, /* #39 */
1825 { 0x1473d2, 0x147386, 0x314a, 0xc528, 0, 2 }, /* #40 */
1826 { 0x060bc2, 0x060bc2, 0x075f, 0x075f, 0, 0 }, /* #41 */
1827 { 0x1e1557, 0x1e1587, 0x2f4e, 0xa700, 0, 7 }, /* #42 */
1828 { 0x2772d6, 0x277a87, 0x99a3, 0x8000, 0, 15 }, /* #43 */
1829 { 0x0d2007, 0x0d2086, 0x1f0c, 0xc000, 0, 12 }, /* #44 */
1830 { 0x0a0dd7, 0x0a0507, 0xc751, 0x4400, 0, 10 }, /* #45 */
1831 { 0x3f0ac7, 0x3f0a87, 0xbdb8, 0xb700, 0, 5 }, /* #46 */
1832 { 0x071993, 0x071106, 0x0d83, 0x6000, 0, 13 }, /* #47 */
1833 { 0x142f56, 0x142783, 0xe4b8, 0xc970, 0, 1 }, /* #48 */
1834 { 0x0818d3, 0x081882, 0x9704, 0xb820, 0, 3 }, /* #49 */
1835 { 0x2a1486, 0x2a1c86, 0x6297, 0xe000, 0, 13 }, /* #50 */
1836 { 0x101192, 0x101187, 0x37ae, 0xd700, 0, 7 }, /* #51 */
1837 { 0x096393, 0x096b82, 0x50cd, 0x8668, 0, 3 }, /* #52 */
1838 { 0x185a13, 0x185a87, 0x507f, 0xc000, 0, 14 }, /* #53 */
1839 { 0x1a7652, 0x1a7e06, 0x6cc9, 0x4800, 0, 11 }, /* #54 */
1840 { 0x376a16, 0x376207, 0x1da5, 0x4000, 0, 14 }, /* #55 */
1841 { 0x304c42, 0x304407, 0x1046, 0x0460, 0, 4 }, /* #56 */
1842 { 0x3e2847, 0x3e2803, 0x5c2f, 0x70bc, 0, 2 }, /* #57 */
1843 { 0x154947, 0x154986, 0x63e3, 0xf8c0, 0, 6 }, /* #58 */
1844 { 0x2514d7, 0x251482, 0x06c7, 0xd8e0, 0, 5 }, /* #59 */
1845 { 0x2d7842, 0x2d7087, 0xc5e9, 0x8bd2, 0, 1 }, /* #60 */
1846 { 0x0b6b17, 0x0b6386, 0xe13b, 0xec00, 0, 10 }, /* #61 */
1847 { 0x1a2392, 0x1a2387, 0x1f9e, 0xf3c0, 0, 5 }, /* #62 */
1848 { 0x0332d7, 0x0332d7, 0x3dcf, 0x3dcf, 0, 0 }, /* #63 */
1849};
1850static const BINU16_TEST_T g_aTests_shr_u16_intel[] =
1851{
1852 { 0x320f96, 0x320746, 0x0000, 0x0000, 0, 8 }, /* #0 */
1853 { 0x2c5c03, 0x2c5446, 0x0000, 0x0000, 0, 7 }, /* #1 */
1854 { 0x144ec6, 0x144646, 0x0000, 0x0000, 0, 10 }, /* #2 */
1855 { 0x307503, 0x307546, 0x0000, 0x0000, 0, 11 }, /* #3 */
1856 { 0x2731d3, 0x273103, 0x71ba, 0x1c6e, 0, 2 }, /* #4 */
1857 { 0x2f6c52, 0x2f6407, 0x7ec5, 0x007e, 0, 8 }, /* #5 */
1858 { 0x2c3d93, 0x2c3d02, 0x9ca3, 0x0001, 0, 15 }, /* #6 */
1859 { 0x2f3656, 0x2f3656, 0x967e, 0x967e, 0, 0 }, /* #7 */
1860 { 0x346e43, 0x346602, 0x4570, 0x0457, 0, 4 }, /* #8 */
1861 { 0x386196, 0x386902, 0xaa50, 0x154a, 0, 3 }, /* #9 */
1862 { 0x1a4956, 0x1a4903, 0xa86d, 0x02a1, 0, 6 }, /* #10 */
1863 { 0x0a6a07, 0x0a6a03, 0xfc65, 0x7e32, 0, 1 }, /* #11 */
1864 { 0x266ad7, 0x266206, 0x1aa9, 0x0003, 0, 11 }, /* #12 */
1865 { 0x0d7106, 0x0d7903, 0xac8d, 0x0ac8, 0, 4 }, /* #13 */
1866 { 0x265d47, 0x265d47, 0xfbc2, 0xfbc2, 0, 0 }, /* #14 */
1867 { 0x320cd7, 0x320c07, 0x8a38, 0x0022, 0, 10 }, /* #15 */
1868 { 0x0a3656, 0x0a3e07, 0xe666, 0x01cc, 0, 7 }, /* #16 */
1869 { 0x064297, 0x064a06, 0xa213, 0x0005, 0, 13 }, /* #17 */
1870 { 0x3c4603, 0x3c4603, 0x0dfe, 0x037f, 0, 2 }, /* #18 */
1871 { 0x2707d2, 0x2707d2, 0x63fd, 0x63fd, 0, 0 }, /* #19 */
1872 { 0x0b4146, 0x0b4902, 0xb7eb, 0x16fd, 0, 3 }, /* #20 */
1873 { 0x235096, 0x235803, 0xf6d2, 0x003d, 0, 10 }, /* #21 */
1874 { 0x0b3386, 0x0b3303, 0x0ef0, 0x003b, 0, 6 }, /* #22 */
1875 { 0x154057, 0x154806, 0xcc48, 0x0003, 0, 14 }, /* #23 */
1876 { 0x147286, 0x147206, 0x3298, 0x0ca6, 0, 2 }, /* #24 */
1877 { 0x333412, 0x333402, 0x113c, 0x0001, 0, 12 }, /* #25 */
1878 { 0x2e4713, 0x2e4707, 0x2e0b, 0x1705, 0, 1 }, /* #26 */
1879 { 0x3d44d3, 0x3d44d3, 0x3e6e, 0x3e6e, 0, 0 }, /* #27 */
1880 { 0x305697, 0x305606, 0x54b1, 0x00a9, 0, 7 }, /* #28 */
1881 { 0x246d06, 0x246503, 0x1d5c, 0x01d5, 0, 4 }, /* #29 */
1882 { 0x075f96, 0x075706, 0x49f3, 0x0012, 0, 10 }, /* #30 */
1883 { 0x084b12, 0x084b02, 0x9226, 0x0002, 0, 14 }, /* #31 */
1884 { 0x3875d2, 0x387d06, 0xcef4, 0x33bd, 0, 2 }, /* #32 */
1885 { 0x323783, 0x323f06, 0xc09b, 0x0030, 0, 10 }, /* #33 */
1886 { 0x275b52, 0x275b02, 0xe000, 0x0070, 0, 9 }, /* #34 */
1887 { 0x310e02, 0x310e02, 0x548a, 0x548a, 0, 0 }, /* #35 */
1888 { 0x0d6c97, 0x0d6c02, 0x98b6, 0x004c, 0, 9 }, /* #36 */
1889 { 0x326792, 0x326f06, 0xe602, 0x0730, 0, 5 }, /* #37 */
1890 { 0x3a6642, 0x3a6642, 0xaa54, 0xaa54, 0, 0 }, /* #38 */
1891 { 0x2824c3, 0x282c07, 0xf171, 0x03c5, 0, 6 }, /* #39 */
1892 { 0x1329c2, 0x132902, 0xb172, 0x002c, 0, 10 }, /* #40 */
1893 { 0x025a43, 0x025a03, 0xdc33, 0x0001, 0, 15 }, /* #41 */
1894 { 0x2a1613, 0x2a1606, 0x6bb9, 0x0d77, 0, 3 }, /* #42 */
1895 { 0x233852, 0x233007, 0x7e1c, 0x03f0, 0, 5 }, /* #43 */
1896 { 0x135193, 0x135146, 0x05b8, 0x0000, 0, 12 }, /* #44 */
1897 { 0x3d7f86, 0x3d7f07, 0xf8b3, 0x07c5, 0, 5 }, /* #45 */
1898 { 0x076187, 0x076146, 0x3cce, 0x0000, 0, 15 }, /* #46 */
1899 { 0x1f1846, 0x1f1806, 0xebb3, 0x0ebb, 0, 4 }, /* #47 */
1900 { 0x0b0093, 0x0b0046, 0x1d73, 0x0000, 0, 15 }, /* #48 */
1901 { 0x293416, 0x293403, 0x273d, 0x0273, 0, 4 }, /* #49 */
1902 { 0x247cd3, 0x247c03, 0xddec, 0x006e, 0, 9 }, /* #50 */
1903 { 0x1a0f92, 0x1a0f07, 0xf6fb, 0x7b7d, 0, 1 }, /* #51 */
1904 { 0x331102, 0x331906, 0x8227, 0x0041, 0, 9 }, /* #52 */
1905 { 0x1e5c03, 0x1e5406, 0x2470, 0x0024, 0, 8 }, /* #53 */
1906 { 0x1a5382, 0x1a5b03, 0xe772, 0x39dc, 0, 2 }, /* #54 */
1907 { 0x237742, 0x237746, 0x13eb, 0x0000, 0, 14 }, /* #55 */
1908 { 0x147716, 0x147706, 0x7247, 0x01c9, 0, 6 }, /* #56 */
1909 { 0x2279c2, 0x227902, 0xad63, 0x0001, 0, 15 }, /* #57 */
1910 { 0x172552, 0x172d03, 0xbe5f, 0x05f2, 0, 5 }, /* #58 */
1911 { 0x253897, 0x253807, 0xc99f, 0x0c99, 0, 4 }, /* #59 */
1912 { 0x202a56, 0x202a56, 0xd1ed, 0xd1ed, 0, 0 }, /* #60 */
1913 { 0x1d1c46, 0x1d1403, 0x1b2f, 0x06cb, 0, 2 }, /* #61 */
1914 { 0x1e2792, 0x1e2f02, 0xcc50, 0x198a, 0, 3 }, /* #62 */
1915 { 0x3c6c16, 0x3c6c03, 0xc060, 0x0001, 0, 15 }, /* #63 */
1916};
1917static const BINU16_TEST_T g_aTests_sar_u16_intel[] =
1918{
1919 { 0x090843, 0x090046, 0x0000, 0x0000, 0, 14 }, /* #0 */
1920 { 0x1073d3, 0x107346, 0x0000, 0x0000, 0, 5 }, /* #1 */
1921 { 0x2a2313, 0x2a2346, 0x0000, 0x0000, 0, 11 }, /* #2 */
1922 { 0x222fc6, 0x222fc6, 0x0000, 0x0000, 0, 0 }, /* #3 */
1923 { 0x3e2706, 0x3e2706, 0x6e92, 0x00dd, 0, 7 }, /* #4 */
1924 { 0x260442, 0x260406, 0x11ab, 0x0235, 0, 3 }, /* #5 */
1925 { 0x1900c3, 0x190002, 0x41a1, 0x0834, 0, 3 }, /* #6 */
1926 { 0x2f1687, 0x2f1603, 0x7355, 0x001c, 0, 10 }, /* #7 */
1927 { 0x146c47, 0x146487, 0x9b93, 0xfffc, 0, 13 }, /* #8 */
1928 { 0x2b7b46, 0x2b7307, 0x324e, 0x000c, 0, 10 }, /* #9 */
1929 { 0x080242, 0x080202, 0x29a0, 0x0001, 0, 13 }, /* #10 */
1930 { 0x3936d7, 0x393647, 0x022d, 0x0000, 0, 10 }, /* #11 */
1931 { 0x250853, 0x250003, 0x21ef, 0x043d, 0, 3 }, /* #12 */
1932 { 0x3b1853, 0x3b1006, 0x51ca, 0x0014, 0, 10 }, /* #13 */
1933 { 0x0c5c46, 0x0c5402, 0x6f17, 0x01bc, 0, 6 }, /* #14 */
1934 { 0x1e1dd6, 0x1e1587, 0xf0d7, 0xfc35, 0, 2 }, /* #15 */
1935 { 0x296742, 0x296786, 0xce1f, 0xffff, 0, 14 }, /* #16 */
1936 { 0x3e4413, 0x3e4483, 0xbd16, 0xf7a2, 0, 3 }, /* #17 */
1937 { 0x142b57, 0x142306, 0x5d02, 0x0017, 0, 10 }, /* #18 */
1938 { 0x2069d2, 0x206186, 0xedc5, 0xffb7, 0, 6 }, /* #19 */
1939 { 0x102102, 0x102187, 0xfcf7, 0xffff, 0, 15 }, /* #20 */
1940 { 0x0b2346, 0x0b2306, 0x64d3, 0x0c9a, 0, 3 }, /* #21 */
1941 { 0x336ed6, 0x336683, 0xa412, 0xe904, 0, 2 }, /* #22 */
1942 { 0x015e07, 0x015e07, 0x221f, 0x221f, 0, 0 }, /* #23 */
1943 { 0x3d5cd3, 0x3d5486, 0x9ddf, 0xffff, 0, 15 }, /* #24 */
1944 { 0x244492, 0x244483, 0xaeb4, 0xfeba, 0, 6 }, /* #25 */
1945 { 0x321742, 0x321783, 0xb27e, 0xfffe, 0, 14 }, /* #26 */
1946 { 0x392a56, 0x392202, 0x2ce5, 0x0001, 0, 13 }, /* #27 */
1947 { 0x0c3892, 0x0c3892, 0x4715, 0x4715, 0, 0 }, /* #28 */
1948 { 0x1a7ad3, 0x1a7202, 0x132e, 0x0002, 0, 11 }, /* #29 */
1949 { 0x150d02, 0x150587, 0xc377, 0xe1bb, 0, 1 }, /* #30 */
1950 { 0x2b2f92, 0x2b2783, 0xe0a0, 0xffe0, 0, 8 }, /* #31 */
1951 { 0x331757, 0x331782, 0xaed2, 0xf5da, 0, 3 }, /* #32 */
1952 { 0x186dc6, 0x186587, 0xfbbd, 0xffff, 0, 12 }, /* #33 */
1953 { 0x037ac3, 0x037206, 0x4162, 0x20b1, 0, 1 }, /* #34 */
1954 { 0x007b93, 0x007382, 0xc988, 0xfff2, 0, 10 }, /* #35 */
1955 { 0x2b7817, 0x2b7083, 0xa519, 0xfff4, 0, 11 }, /* #36 */
1956 { 0x163743, 0x163787, 0x850a, 0xf850, 0, 4 }, /* #37 */
1957 { 0x232046, 0x232086, 0xac44, 0xffeb, 0, 10 }, /* #38 */
1958 { 0x1d0986, 0x1d0103, 0x6424, 0x0001, 0, 14 }, /* #39 */
1959 { 0x3f7146, 0x3f7187, 0x8490, 0xfc24, 0, 5 }, /* #40 */
1960 { 0x004b07, 0x004386, 0xa626, 0xffff, 0, 15 }, /* #41 */
1961 { 0x274cc7, 0x274482, 0x8ce8, 0xfc67, 0, 5 }, /* #42 */
1962 { 0x1a2fc3, 0x1a2707, 0x225f, 0x0044, 0, 7 }, /* #43 */
1963 { 0x3f1596, 0x3f1506, 0x29f8, 0x14fc, 0, 1 }, /* #44 */
1964 { 0x3c1817, 0x3c1082, 0xc068, 0xfffe, 0, 13 }, /* #45 */
1965 { 0x0d7fc7, 0x0d7746, 0x01f6, 0x0000, 0, 12 }, /* #46 */
1966 { 0x3c3646, 0x3c3683, 0xb10d, 0xd886, 0, 1 }, /* #47 */
1967 { 0x0a0b87, 0x0a0382, 0xaf31, 0xfffd, 0, 13 }, /* #48 */
1968 { 0x222e53, 0x222683, 0xdd4b, 0xfffb, 0, 11 }, /* #49 */
1969 { 0x1f5006, 0x1f5087, 0xff75, 0xffff, 0, 10 }, /* #50 */
1970 { 0x302512, 0x302587, 0xe708, 0xfff3, 0, 9 }, /* #51 */
1971 { 0x070f02, 0x070783, 0xfdbb, 0xfffd, 0, 8 }, /* #52 */
1972 { 0x087906, 0x087187, 0xcd2c, 0xfffc, 0, 12 }, /* #53 */
1973 { 0x243c57, 0x243406, 0x554a, 0x0055, 0, 8 }, /* #54 */
1974 { 0x083353, 0x083383, 0xde6d, 0xffbc, 0, 7 }, /* #55 */
1975 { 0x1e5982, 0x1e5103, 0x1b82, 0x000d, 0, 9 }, /* #56 */
1976 { 0x3c7e82, 0x3c7603, 0x7981, 0x0001, 0, 14 }, /* #57 */
1977 { 0x1032c3, 0x103246, 0x140d, 0x0000, 0, 14 }, /* #58 */
1978 { 0x006d83, 0x006506, 0x7e47, 0x007e, 0, 8 }, /* #59 */
1979 { 0x221686, 0x221687, 0xab23, 0xfeac, 0, 6 }, /* #60 */
1980 { 0x075d07, 0x075502, 0x2172, 0x0004, 0, 11 }, /* #61 */
1981 { 0x2d3152, 0x2d3146, 0x2ac0, 0x0000, 0, 15 }, /* #62 */
1982 { 0x187942, 0x187183, 0xd3b3, 0xf4ec, 0, 2 }, /* #63 */
1983};
1984static const BINU32_TEST_T g_aTests_rol_u32_intel[] =
1985{
1986 { 0x134557, 0x134556, 0x00000000, 0x00000000, 0, 19 }, /* #0 */
1987 { 0x1a3d46, 0x1a3546, 0x00000000, 0x00000000, 0, 23 }, /* #1 */
1988 { 0x3a0b12, 0x3a0312, 0x00000000, 0x00000000, 0, 26 }, /* #2 */
1989 { 0x2f3cd6, 0x2f34d6, 0x00000000, 0x00000000, 0, 27 }, /* #3 */
1990 { 0x347092, 0x347093, 0xcceb4c07, 0x33ad301f, 0, 2 }, /* #4 */
1991 { 0x011846, 0x011047, 0x3b9e675d, 0xdcf33ae9, 0, 3 }, /* #5 */
1992 { 0x0f1942, 0x0f1943, 0x7a14eaa4, 0x3aa91e85, 0, 14 }, /* #6 */
1993 { 0x165897, 0x165096, 0x09142bf7, 0x857ee122, 0, 13 }, /* #7 */
1994 { 0x165f16, 0x165f17, 0x6692e039, 0x349701cb, 0, 3 }, /* #8 */
1995 { 0x140e42, 0x140643, 0x227a7da2, 0x68889e9f, 0, 22 }, /* #9 */
1996 { 0x222a86, 0x222a87, 0xbfa6cc6f, 0x98df7f4d, 0, 17 }, /* #10 */
1997 { 0x0b1d06, 0x0b1506, 0x29d97255, 0x765c954a, 0, 6 }, /* #11 */
1998 { 0x0839d2, 0x0831d3, 0xd2da5fc5, 0x2da5fc5d, 0, 4 }, /* #12 */
1999 { 0x003353, 0x003b52, 0xbb8696f1, 0xf1bb8696, 0, 24 }, /* #13 */
2000 { 0x0b2f43, 0x0b2f43, 0x7c7577f2, 0xdfc9f1d5, 0, 18 }, /* #14 */
2001 { 0x073793, 0x073f93, 0x5c202c37, 0x75c202c3, 0, 28 }, /* #15 */
2002 { 0x1730c7, 0x1738c6, 0xad520480, 0x9015aa40, 0, 21 }, /* #16 */
2003 { 0x346f43, 0x346742, 0xc62fbbbe, 0xfb18beee, 0, 26 }, /* #17 */
2004 { 0x165047, 0x165047, 0xf7472e2a, 0xba397157, 0, 3 }, /* #18 */
2005 { 0x080013, 0x080813, 0x6e393e16, 0x3e166e39, 0, 16 }, /* #19 */
2006 { 0x074187, 0x074987, 0xb13aa0df, 0x627541bf, 0, 1 }, /* #20 */
2007 { 0x0b4ac3, 0x0b42c3, 0xc33aa31a, 0xd518d619, 0, 11 }, /* #21 */
2008 { 0x241202, 0x241202, 0x0b322311, 0x2cc88c44, 0, 2 }, /* #22 */
2009 { 0x0148c2, 0x0140c3, 0xd978b715, 0xc5765e2d, 0, 22 }, /* #23 */
2010 { 0x054706, 0x054706, 0x0ad20fbc, 0xf02b483e, 0, 26 }, /* #24 */
2011 { 0x0e29c7, 0x0e29c7, 0xbe5c2a1a, 0xbe5c2a1a, 0, 0 }, /* #25 */
2012 { 0x0f3252, 0x0f3253, 0xcaf58f60, 0xac7b0657, 0, 11 }, /* #26 */
2013 { 0x147306, 0x147307, 0xd3c04f91, 0xe027c8e9, 0, 7 }, /* #27 */
2014 { 0x3d7912, 0x3d7913, 0x98075718, 0x18980757, 0, 24 }, /* #28 */
2015 { 0x257b06, 0x257b06, 0x7dbd75d7, 0xbaefb7ae, 0, 21 }, /* #29 */
2016 { 0x186882, 0x186883, 0x93ce209c, 0x104e49e7, 0, 15 }, /* #30 */
2017 { 0x187656, 0x187656, 0x4239673d, 0x4239673d, 0, 0 }, /* #31 */
2018 { 0x033a56, 0x033256, 0x0ab24116, 0x559208b0, 0, 3 }, /* #32 */
2019 { 0x302853, 0x302053, 0xd4ec1eb9, 0xd83d73a9, 0, 9 }, /* #33 */
2020 { 0x052742, 0x052743, 0xf4e386d2, 0x2f4e386d, 0, 28 }, /* #34 */
2021 { 0x0a3f86, 0x0a3f87, 0xb2fa1ad6, 0x597d0d6b, 0, 31 }, /* #35 */
2022 { 0x0f5157, 0x0f5157, 0x3a3bf199, 0xe3327477, 0, 17 }, /* #36 */
2023 { 0x333252, 0x333253, 0xcd36df0b, 0x79a6dbe1, 0, 29 }, /* #37 */
2024 { 0x106e47, 0x106647, 0xfacb3a84, 0x9d427d65, 0, 15 }, /* #38 */
2025 { 0x2d5792, 0x2d5f92, 0x58d3e61b, 0x69f30dac, 0, 7 }, /* #39 */
2026 { 0x263413, 0x263413, 0x0bf948c4, 0x7f291881, 0, 5 }, /* #40 */
2027 { 0x151282, 0x151283, 0x0df14406, 0x837c5101, 0, 30 }, /* #41 */
2028 { 0x364706, 0x364707, 0x0437b566, 0xed59810d, 0, 14 }, /* #42 */
2029 { 0x092f46, 0x092746, 0x083616de, 0x2dbc106c, 0, 17 }, /* #43 */
2030 { 0x303492, 0x303493, 0xdf6e0133, 0xf6e0133d, 0, 4 }, /* #44 */
2031 { 0x0679c3, 0x0679c2, 0x7884918e, 0xc73c4248, 0, 23 }, /* #45 */
2032 { 0x1a3443, 0x1a3c43, 0xaaf64ffb, 0xbaaf64ff, 0, 28 }, /* #46 */
2033 { 0x1e3e57, 0x1e3e56, 0xa8d335ef, 0x6bdf51a6, 0, 17 }, /* #47 */
2034 { 0x3f2b93, 0x3f2392, 0xd7a32a17, 0x85f5e8ca, 0, 22 }, /* #48 */
2035 { 0x3c2346, 0x3c2347, 0xd9f88155, 0x67e20557, 0, 2 }, /* #49 */
2036 { 0x370fc3, 0x3707c2, 0x0db72b91, 0x436dcae4, 0, 30 }, /* #50 */
2037 { 0x0319d2, 0x0311d3, 0xfd704752, 0x7eb823a9, 0, 31 }, /* #51 */
2038 { 0x351b82, 0x351b83, 0x71ddc2b9, 0x2e3bb857, 0, 29 }, /* #52 */
2039 { 0x353213, 0x353a13, 0x9f0cfbef, 0x9f7df3e1, 0, 13 }, /* #53 */
2040 { 0x3050c3, 0x3050c2, 0xdd6abc7e, 0xaf1fb75a, 0, 14 }, /* #54 */
2041 { 0x1709c6, 0x1709c6, 0x4458ed9f, 0xc76cfa22, 0, 11 }, /* #55 */
2042 { 0x2d0647, 0x2d0646, 0x06c25341, 0x94d041b0, 0, 14 }, /* #56 */
2043 { 0x3f3c07, 0x3f3c06, 0x6ecb3343, 0xecb33436, 0, 4 }, /* #57 */
2044 { 0x2d4453, 0x2d4452, 0x325dce85, 0x4bb9d0a6, 0, 5 }, /* #58 */
2045 { 0x140102, 0x140902, 0x6245cf82, 0x26245cf8, 0, 28 }, /* #59 */
2046 { 0x103603, 0x103602, 0xe524a62b, 0xbe524a62, 0, 28 }, /* #60 */
2047 { 0x167413, 0x167c12, 0x4e99cc53, 0xe629a74c, 0, 15 }, /* #61 */
2048 { 0x1c5302, 0x1c5b02, 0x4990ca64, 0x932194c8, 0, 1 }, /* #62 */
2049 { 0x2d2947, 0x2d2146, 0xe00ad404, 0x270056a0, 0, 27 }, /* #63 */
2050};
2051static const BINU32_TEST_T g_aTests_ror_u32_intel[] =
2052{
2053 { 0x357e42, 0x357642, 0x00000000, 0x00000000, 0, 12 }, /* #0 */
2054 { 0x034957, 0x034156, 0x00000000, 0x00000000, 0, 13 }, /* #1 */
2055 { 0x050107, 0x050106, 0x00000000, 0x00000000, 0, 11 }, /* #2 */
2056 { 0x251ed7, 0x2516d6, 0x00000000, 0x00000000, 0, 2 }, /* #3 */
2057 { 0x075f56, 0x075757, 0xc2d8c56b, 0xd785b18a, 0, 7 }, /* #4 */
2058 { 0x0043d2, 0x004bd2, 0x888f9524, 0x7ca92444, 0, 21 }, /* #5 */
2059 { 0x3442c7, 0x344ac7, 0x3682b03f, 0x81f9b415, 0, 13 }, /* #6 */
2060 { 0x0f60d6, 0x0f68d6, 0x145e2f69, 0x69145e2f, 0, 8 }, /* #7 */
2061 { 0x2e71d6, 0x2e79d7, 0x613cc15d, 0xf3057584, 0, 22 }, /* #8 */
2062 { 0x0b4382, 0x0b4383, 0x6076de70, 0xb79c181d, 0, 18 }, /* #9 */
2063 { 0x2d6652, 0x2d6653, 0x9873c52b, 0xb9873c52, 0, 4 }, /* #10 */
2064 { 0x046453, 0x046452, 0x7f1891c6, 0x31238cfe, 0, 23 }, /* #11 */
2065 { 0x1e6702, 0x1e6703, 0x027ca03c, 0xc027ca03, 0, 4 }, /* #12 */
2066 { 0x0b1c56, 0x0b1c56, 0x3645ae30, 0x3645ae30, 0, 0 }, /* #13 */
2067 { 0x226f46, 0x226f46, 0x3d5e484c, 0x3d5e484c, 0, 0 }, /* #14 */
2068 { 0x1e4a82, 0x1e4282, 0xcdf67989, 0x7d9e6273, 0, 26 }, /* #15 */
2069 { 0x166116, 0x166117, 0x9d5244bd, 0xbd9d5244, 0, 8 }, /* #16 */
2070 { 0x012252, 0x012252, 0x81b24361, 0x436181b2, 0, 16 }, /* #17 */
2071 { 0x2e1a57, 0x2e1257, 0x87338d6d, 0xe671adb0, 0, 27 }, /* #18 */
2072 { 0x0e3e42, 0x0e3e42, 0x4a640afd, 0x529902bf, 0, 2 }, /* #19 */
2073 { 0x2a58c3, 0x2a58c3, 0x40868ded, 0xed40868d, 0, 8 }, /* #20 */
2074 { 0x003296, 0x003296, 0xe52fd28f, 0x5fa51fca, 0, 23 }, /* #21 */
2075 { 0x396d12, 0x396d13, 0x82164c46, 0x88d042c9, 0, 11 }, /* #22 */
2076 { 0x040996, 0x040197, 0x716ccdf2, 0xb337c9c5, 0, 22 }, /* #23 */
2077 { 0x3b2243, 0x3b2243, 0x9ec2b4e3, 0xe7b0ad38, 0, 2 }, /* #24 */
2078 { 0x024886, 0x024087, 0x621bf56a, 0xfab5310d, 0, 17 }, /* #25 */
2079 { 0x302a12, 0x302a12, 0x79442b65, 0x215b2bca, 0, 21 }, /* #26 */
2080 { 0x393492, 0x393492, 0x142a37fc, 0x546ff828, 0, 23 }, /* #27 */
2081 { 0x1e2556, 0x1e2d57, 0xf67e5918, 0xcfcb231e, 0, 27 }, /* #28 */
2082 { 0x301f43, 0x301742, 0xfa00cac1, 0x06560fd0, 0, 21 }, /* #29 */
2083 { 0x0d1b92, 0x0d1b92, 0xb74acbe0, 0x565f05ba, 0, 21 }, /* #30 */
2084 { 0x025193, 0x025193, 0x5f474de4, 0x5f474de4, 0, 0 }, /* #31 */
2085 { 0x361883, 0x361883, 0x7383168f, 0xb47b9c18, 0, 13 }, /* #32 */
2086 { 0x211103, 0x211902, 0xbce390ac, 0x15979c72, 0, 11 }, /* #33 */
2087 { 0x316497, 0x316497, 0xd841db4d, 0xdd841db4, 0, 4 }, /* #34 */
2088 { 0x0216c2, 0x0216c3, 0x0198f9e0, 0xe7800663, 0, 14 }, /* #35 */
2089 { 0x2268c2, 0x2268c2, 0x4b17d3d5, 0x2c5f4f55, 0, 30 }, /* #36 */
2090 { 0x384207, 0x384207, 0x36967db0, 0xb4b3ed81, 0, 29 }, /* #37 */
2091 { 0x0309d2, 0x0301d2, 0x6484566c, 0x22b36324, 0, 21 }, /* #38 */
2092 { 0x374453, 0x374c52, 0x783ae4cd, 0x266bc1d7, 0, 13 }, /* #39 */
2093 { 0x2e16d7, 0x2e16d7, 0xf0d55913, 0xc355644f, 0, 30 }, /* #40 */
2094 { 0x145942, 0x145142, 0x8e5c5a27, 0x3971689e, 0, 30 }, /* #41 */
2095 { 0x091443, 0x091c43, 0x2f0e93ef, 0x9f797874, 0, 13 }, /* #42 */
2096 { 0x234117, 0x234917, 0x73385fb7, 0x99c2fdbb, 0, 29 }, /* #43 */
2097 { 0x2e3743, 0x2e3742, 0xe9dd4689, 0x4f4eea34, 0, 5 }, /* #44 */
2098 { 0x147286, 0x147286, 0xfa12a39f, 0x73ff4254, 0, 11 }, /* #45 */
2099 { 0x2e4c12, 0x2e4c12, 0x2c81a9c9, 0x03539259, 0, 23 }, /* #46 */
2100 { 0x212607, 0x212607, 0xdd8fc5ef, 0xf763f17b, 0, 2 }, /* #47 */
2101 { 0x1b1b07, 0x1b1306, 0xaa9a5da5, 0x34bb4b55, 0, 23 }, /* #48 */
2102 { 0x3e3756, 0x3e3756, 0x516b2714, 0x5ac9c514, 0, 26 }, /* #49 */
2103 { 0x2b4ad7, 0x2b4ad6, 0x97912c2a, 0x5e44b0aa, 0, 30 }, /* #50 */
2104 { 0x074e03, 0x074e03, 0x16b1734f, 0xb1734f16, 0, 24 }, /* #51 */
2105 { 0x0f36d2, 0x0f36d3, 0xc2d20fd1, 0xf470b483, 0, 10 }, /* #52 */
2106 { 0x173d52, 0x173d53, 0x5fad4dab, 0xbf5a9b56, 0, 31 }, /* #53 */
2107 { 0x2f3756, 0x2f3757, 0x30ac6254, 0xc2b18950, 0, 30 }, /* #54 */
2108 { 0x3c2c02, 0x3c2402, 0x7a614ac4, 0x588f4c29, 0, 11 }, /* #55 */
2109 { 0x2f6bc2, 0x2f6bc3, 0xf593fe62, 0x98bd64ff, 0, 10 }, /* #56 */
2110 { 0x086b13, 0x086313, 0x41ece4f6, 0xc83d9c9e, 0, 3 }, /* #57 */
2111 { 0x175cc6, 0x175cc7, 0x7727f827, 0x8277727f, 0, 12 }, /* #58 */
2112 { 0x0f32d6, 0x0f3ad6, 0x17ef2147, 0x28e2fde4, 0, 11 }, /* #59 */
2113 { 0x352dd6, 0x3525d6, 0x5e66a972, 0x799aa5c9, 0, 30 }, /* #60 */
2114 { 0x277a06, 0x277206, 0x614e5262, 0x4c29ca4c, 0, 3 }, /* #61 */
2115 { 0x200856, 0x200057, 0xc09d9c6f, 0xbf027671, 0, 6 }, /* #62 */
2116 { 0x131486, 0x131486, 0xf7f4f9d7, 0xf7f4f9d7, 0, 0 }, /* #63 */
2117};
2118static const BINU32_TEST_T g_aTests_rcl_u32_intel[] =
2119{
2120 { 0x123ec2, 0x1236c2, 0x00000000, 0x00000000, 0, 21 }, /* #0 */
2121 { 0x291207, 0x291206, 0x00000000, 0x00000020, 0, 6 }, /* #1 */
2122 { 0x0a6ac6, 0x0a62c6, 0x00000000, 0x00000000, 0, 10 }, /* #2 */
2123 { 0x234152, 0x234152, 0x00000000, 0x00000000, 0, 12 }, /* #3 */
2124 { 0x3d1612, 0x3d1612, 0x17b75aa0, 0xb54017b7, 0, 17 }, /* #4 */
2125 { 0x1d1a97, 0x1d1a97, 0x200af912, 0x200af912, 0, 0 }, /* #5 */
2126 { 0x3b75d3, 0x3b75d3, 0xf48272c1, 0xe904e583, 0, 1 }, /* #6 */
2127 { 0x3b3053, 0x3b3052, 0xd9aa7aae, 0x7aaeecd5, 0, 16 }, /* #7 */
2128 { 0x3c7cc7, 0x3c7cc6, 0x97d09257, 0x4af97d09, 0, 21 }, /* #8 */
2129 { 0x280017, 0x280016, 0x0c8eec94, 0x647764a4, 0, 3 }, /* #9 */
2130 { 0x2053d3, 0x2053d3, 0x24e3fac1, 0xd60c938f, 0, 19 }, /* #10 */
2131 { 0x271053, 0x271853, 0x871226e9, 0x4e1c489b, 0, 27 }, /* #11 */
2132 { 0x143942, 0x143143, 0x13400700, 0x001c0026, 0, 10 }, /* #12 */
2133 { 0x277f43, 0x277743, 0xfb790ff5, 0x21febfb7, 0, 13 }, /* #13 */
2134 { 0x366ec7, 0x366ec7, 0x5d444f7c, 0x444f7cae, 0, 8 }, /* #14 */
2135 { 0x351252, 0x351252, 0x001bf53c, 0xa78001bf, 0, 21 }, /* #15 */
2136 { 0x2d15d7, 0x2d1dd7, 0x99b40dc5, 0x03717336, 0, 14 }, /* #16 */
2137 { 0x3e5f96, 0x3e5f97, 0xab9c5426, 0x5ce2a132, 0, 3 }, /* #17 */
2138 { 0x310192, 0x310993, 0xbdff3ee0, 0xbfe7dc0b, 0, 5 }, /* #18 */
2139 { 0x220006, 0x220006, 0x2e7964b2, 0x5cf2c964, 0, 1 }, /* #19 */
2140 { 0x2f5f86, 0x2f5f87, 0xb9629b27, 0x4d93ae58, 0, 15 }, /* #20 */
2141 { 0x1a05d6, 0x1a05d6, 0x61d8357d, 0x61d8357d, 0, 0 }, /* #21 */
2142 { 0x3331d7, 0x3331d7, 0x1667c78b, 0xc78b8b33, 0, 16 }, /* #22 */
2143 { 0x173517, 0x173d17, 0xb7b3ee3a, 0xd9f71d6d, 0, 7 }, /* #23 */
2144 { 0x283192, 0x283192, 0xf89261d3, 0x49874df1, 0, 10 }, /* #24 */
2145 { 0x370d92, 0x370d92, 0x6685655e, 0x55e3342b, 0, 20 }, /* #25 */
2146 { 0x331c02, 0x331403, 0xce6a2bbb, 0x15ddb39a, 0, 15 }, /* #26 */
2147 { 0x3c0406, 0x3c0406, 0x21ded3c2, 0xef69e108, 0, 7 }, /* #27 */
2148 { 0x362c42, 0x362443, 0x2f70231c, 0x7b8118e0, 0, 3 }, /* #28 */
2149 { 0x296a52, 0x296a53, 0xa1c6350d, 0x18d43543, 0, 10 }, /* #29 */
2150 { 0x2b46c6, 0x2b46c6, 0x1623b4ad, 0xad0b11da, 0, 24 }, /* #30 */
2151 { 0x013c92, 0x013c93, 0x692cb33a, 0x2cb33a34, 0, 8 }, /* #31 */
2152 { 0x187213, 0x187212, 0xf4fb3ef3, 0xfe9f67de, 0, 30 }, /* #32 */
2153 { 0x165702, 0x165f02, 0x9109fe42, 0x4427f909, 0, 2 }, /* #33 */
2154 { 0x0f4296, 0x0f4297, 0x3f47b533, 0xe8f6a663, 0, 5 }, /* #34 */
2155 { 0x167e46, 0x167e47, 0x666b4f28, 0x283335a7, 0, 24 }, /* #35 */
2156 { 0x2e7817, 0x2e7017, 0x11b5a9f4, 0x4fa446d6, 0, 19 }, /* #36 */
2157 { 0x0127c6, 0x012fc7, 0x86f81d39, 0xe074e50d, 0, 10 }, /* #37 */
2158 { 0x394fd2, 0x3947d3, 0x20739cb3, 0x881ce72c, 0, 31 }, /* #38 */
2159 { 0x3f39c2, 0x3f39c2, 0x8ca12bbb, 0x3284aeed, 0, 2 }, /* #39 */
2160 { 0x127447, 0x127c47, 0x99479b4b, 0x1e6d2f32, 0, 10 }, /* #40 */
2161 { 0x380443, 0x380442, 0xf00ac619, 0x30cfc02b, 0, 19 }, /* #41 */
2162 { 0x2c7042, 0x2c7842, 0xb755c2f9, 0xae17cadd, 0, 11 }, /* #42 */
2163 { 0x171c86, 0x171c87, 0xbc3f95e8, 0x0bc3f95e, 0, 29 }, /* #43 */
2164 { 0x2d7a17, 0x2d7217, 0xd7e590eb, 0x0ebebf2c, 0, 20 }, /* #44 */
2165 { 0x305486, 0x305c86, 0x4b44004c, 0xd1001309, 0, 6 }, /* #45 */
2166 { 0x1b6496, 0x1b6c96, 0xb908e5e8, 0x8472f42e, 0, 7 }, /* #46 */
2167 { 0x085f17, 0x085716, 0x134817c3, 0x40be1c4d, 0, 11 }, /* #47 */
2168 { 0x0b1303, 0x0b1b02, 0x4d272b2a, 0xa9a4e565, 0, 30 }, /* #48 */
2169 { 0x1421c3, 0x1421c2, 0xde66f995, 0xf799be65, 0, 31 }, /* #49 */
2170 { 0x1c7283, 0x1c7282, 0x20c99328, 0xc9932890, 0, 8 }, /* #50 */
2171 { 0x086506, 0x086506, 0x13d72497, 0x27ae492e, 0, 1 }, /* #51 */
2172 { 0x050bc3, 0x0503c2, 0x282016b0, 0xa0805ac2, 0, 2 }, /* #52 */
2173 { 0x005d47, 0x005d46, 0xae261a35, 0x1a35d713, 0, 16 }, /* #53 */
2174 { 0x230202, 0x230a02, 0x84e36af0, 0xe36af042, 0, 8 }, /* #54 */
2175 { 0x3f63d7, 0x3f63d6, 0x3dcdfb75, 0xdd67b9bf, 0, 22 }, /* #55 */
2176 { 0x2f1897, 0x2f1096, 0xd93f35ff, 0xfcd7ffb2, 0, 10 }, /* #56 */
2177 { 0x2f6087, 0x2f6087, 0xe49175e3, 0x75e3f248, 0, 16 }, /* #57 */
2178 { 0x0703d7, 0x070bd7, 0x92a75aa6, 0x3ad5364a, 0, 11 }, /* #58 */
2179 { 0x262117, 0x262117, 0xe63d4859, 0x1ea42cf9, 0, 7 }, /* #59 */
2180 { 0x230153, 0x230953, 0x55e4c6fd, 0xbf6abc98, 0, 22 }, /* #60 */
2181 { 0x030346, 0x030b47, 0x9e11ea18, 0xc23d4309, 0, 5 }, /* #61 */
2182 { 0x1457d7, 0x145fd7, 0xb949b1ef, 0xbf729363, 0, 26 }, /* #62 */
2183 { 0x083387, 0x083387, 0x3295bc26, 0x6f09a652, 0, 14 }, /* #63 */
2184};
2185static const BINU32_TEST_T g_aTests_rcr_u32_intel[] =
2186{
2187 { 0x167ac6, 0x1672c6, 0x00000000, 0x00000000, 0, 3 }, /* #0 */
2188 { 0x091956, 0x091156, 0x00000000, 0x00000000, 0, 19 }, /* #1 */
2189 { 0x137d53, 0x137d52, 0x00000000, 0x04000000, 0, 6 }, /* #2 */
2190 { 0x2d7bd3, 0x2d7bd2, 0x00000000, 0x00000400, 0, 22 }, /* #3 */
2191 { 0x2d3e12, 0x2d3e12, 0xb72fa5a2, 0xb72fa5a2, 0, 0 }, /* #4 */
2192 { 0x334917, 0x334916, 0x006ba952, 0x9401aea5, 0, 6 }, /* #5 */
2193 { 0x221447, 0x221c46, 0x5393bf95, 0xad4e4efe, 0, 6 }, /* #6 */
2194 { 0x3c6187, 0x3c6186, 0x84ee6f86, 0xdf0d84ee, 0, 16 }, /* #7 */
2195 { 0x1e6d96, 0x1e6596, 0x4a24199d, 0x0cce9289, 0, 18 }, /* #8 */
2196 { 0x1e5f92, 0x1e5f92, 0xdbe40953, 0xdf204a9b, 0, 30 }, /* #9 */
2197 { 0x3c40c2, 0x3c40c3, 0x2a73422d, 0xcd08b454, 0, 23 }, /* #10 */
2198 { 0x0828c7, 0x0828c7, 0xff2d1c0d, 0xff2d1c0d, 0, 0 }, /* #11 */
2199 { 0x127392, 0x127393, 0x0d5bcb38, 0x6f2ce01a, 0, 23 }, /* #12 */
2200 { 0x2554d6, 0x255cd7, 0xa775e271, 0xc54eebc4, 0, 7 }, /* #13 */
2201 { 0x185617, 0x185616, 0x9458cffd, 0x67fee516, 0, 18 }, /* #14 */
2202 { 0x3c6457, 0x3c6457, 0xf91232d4, 0xa9f91232, 0, 8 }, /* #15 */
2203 { 0x097a16, 0x097a17, 0xa97ed134, 0x2fda268a, 0, 28 }, /* #16 */
2204 { 0x3020d2, 0x3028d3, 0xba71f277, 0xe4eeba71, 0, 16 }, /* #17 */
2205 { 0x015646, 0x015e47, 0x91a8acfb, 0x4567da46, 0, 22 }, /* #18 */
2206 { 0x1f1b13, 0x1f1b13, 0xcd698f42, 0xcd698f42, 0, 0 }, /* #19 */
2207 { 0x2a4382, 0x2a4b83, 0xe44ae3dc, 0x71ee3912, 0, 18 }, /* #20 */
2208 { 0x095c13, 0x095413, 0xaebeda93, 0xf6d49eba, 0, 22 }, /* #21 */
2209 { 0x277006, 0x277806, 0xb805b072, 0x725c02d8, 0, 9 }, /* #22 */
2210 { 0x111506, 0x111d06, 0x86cd8419, 0x194366c2, 0, 9 }, /* #23 */
2211 { 0x2d5d47, 0x2d5d46, 0x55b986a2, 0xc351556e, 0, 18 }, /* #24 */
2212 { 0x1815d6, 0x1815d6, 0x047a18c6, 0x6023d0c6, 0, 5 }, /* #25 */
2213 { 0x355947, 0x355146, 0xf375e26b, 0xd7f375e2, 0, 8 }, /* #26 */
2214 { 0x295502, 0x295d02, 0x9c7bd9b1, 0x71ef66c5, 0, 31 }, /* #27 */
2215 { 0x0a6852, 0x0a6053, 0x2d47af65, 0x1ebd945a, 0, 23 }, /* #28 */
2216 { 0x1c2713, 0x1c2713, 0xff7b1deb, 0xef63bd7f, 0, 28 }, /* #29 */
2217 { 0x266ed3, 0x2666d2, 0x965e9828, 0xa32cbd30, 0, 7 }, /* #30 */
2218 { 0x3b3e42, 0x3b3642, 0x6f14cf94, 0xf94378a6, 0, 13 }, /* #31 */
2219 { 0x012fd2, 0x0127d3, 0x2b302924, 0x9814920a, 0, 26 }, /* #32 */
2220 { 0x3e6a97, 0x3e6297, 0xfc1a22ed, 0xa22edfe0, 0, 21 }, /* #33 */
2221 { 0x0a26c2, 0x0a26c3, 0x0e045cc7, 0xcc707022, 0, 13 }, /* #34 */
2222 { 0x170f02, 0x170702, 0x6b61b0bb, 0xd86c2ecd, 0, 27 }, /* #35 */
2223 { 0x1b5952, 0x1b5952, 0x9c4e874e, 0x3a72713a, 0, 14 }, /* #36 */
2224 { 0x2d64c6, 0x2d6cc6, 0x8ec345e0, 0x2f023b0d, 0, 14 }, /* #37 */
2225 { 0x3e4012, 0x3e4013, 0x36eabba1, 0x774236ea, 0, 16 }, /* #38 */
2226 { 0x3403d7, 0x340bd7, 0x0188189c, 0x20310313, 0, 3 }, /* #39 */
2227 { 0x252147, 0x252147, 0xfe7c3414, 0xc3414ff3, 0, 21 }, /* #40 */
2228 { 0x221e13, 0x221e12, 0x1576488d, 0xd8abb244, 0, 5 }, /* #41 */
2229 { 0x0f3bd7, 0x0f3bd7, 0x196c1d96, 0x65a32d83, 0, 11 }, /* #42 */
2230 { 0x232fc6, 0x2327c6, 0x69a37c2a, 0x8df0a8d3, 0, 23 }, /* #43 */
2231 { 0x134686, 0x134e86, 0xc0b21d60, 0x060590eb, 0, 5 }, /* #44 */
2232 { 0x376f17, 0x376f17, 0x66f4a755, 0x6cde94ea, 0, 3 }, /* #45 */
2233 { 0x1b3783, 0x1b3f83, 0x7c6a6f99, 0xf337c6a6, 0, 12 }, /* #46 */
2234 { 0x237997, 0x237197, 0xd755ecf5, 0x55ecf5eb, 0, 25 }, /* #47 */
2235 { 0x333282, 0x333a82, 0x88c1936f, 0x60c9b7a2, 0, 26 }, /* #48 */
2236 { 0x0615d7, 0x0615d6, 0xdc569e18, 0x63b8ad3c, 0, 7 }, /* #49 */
2237 { 0x3467d2, 0x3467d3, 0x7b848384, 0x0f709070, 0, 3 }, /* #50 */
2238 { 0x240e92, 0x240692, 0x2c0c8411, 0x2088b032, 0, 14 }, /* #51 */
2239 { 0x050342, 0x050342, 0x1eb3eca5, 0x943d67d9, 0, 7 }, /* #52 */
2240 { 0x1c1e57, 0x1c1656, 0xb32ca113, 0xb2844f66, 0, 23 }, /* #53 */
2241 { 0x2203c3, 0x220bc2, 0x4927e3a6, 0x927e3a6a, 0, 29 }, /* #54 */
2242 { 0x0e1083, 0x0e1883, 0x0211a247, 0xa2478108, 0, 17 }, /* #55 */
2243 { 0x1c5b82, 0x1c5382, 0x2c20ba78, 0xe9e05841, 0, 15 }, /* #56 */
2244 { 0x105a92, 0x105293, 0x62c75f90, 0x7e40c58e, 0, 15 }, /* #57 */
2245 { 0x114756, 0x114757, 0x04c9c32f, 0x97813270, 0, 10 }, /* #58 */
2246 { 0x002192, 0x002993, 0x8c62af9c, 0xce2318ab, 0, 10 }, /* #59 */
2247 { 0x024843, 0x024843, 0x237baa5a, 0x237baa5a, 0, 0 }, /* #60 */
2248 { 0x3a0183, 0x3a0982, 0x22ba07d7, 0xba07d791, 0, 25 }, /* #61 */
2249 { 0x277913, 0x277912, 0x2ffa932d, 0x932d97fd, 0, 17 }, /* #62 */
2250 { 0x346647, 0x346e47, 0x7f16b2e0, 0x9705fc5a, 0, 14 }, /* #63 */
2251};
2252static const BINU32_TEST_T g_aTests_shl_u32_intel[] =
2253{
2254 { 0x1e7ac2, 0x1e7246, 0x00000000, 0x00000000, 0, 5 }, /* #0 */
2255 { 0x0d3b52, 0x0d3346, 0x00000000, 0x00000000, 0, 19 }, /* #1 */
2256 { 0x047382, 0x047346, 0x00000000, 0x00000000, 0, 17 }, /* #2 */
2257 { 0x106d07, 0x106546, 0x00000000, 0x00000000, 0, 11 }, /* #3 */
2258 { 0x0d7fd2, 0x0d7f07, 0xb399acaf, 0x65780000, 0, 19 }, /* #4 */
2259 { 0x3f4703, 0x3f4786, 0xd0e19cd5, 0xe19cd500, 0, 8 }, /* #5 */
2260 { 0x184613, 0x184e47, 0xa3b133d2, 0x00000000, 0, 31 }, /* #6 */
2261 { 0x2b6096, 0x2b6807, 0x7b13f0e0, 0x13f0e000, 0, 8 }, /* #7 */
2262 { 0x007513, 0x007d86, 0x9625a9ce, 0xc4b539c0, 0, 5 }, /* #8 */
2263 { 0x0230c2, 0x023883, 0x7921adb8, 0x921adb80, 0, 4 }, /* #9 */
2264 { 0x040f53, 0x040786, 0x30d3ebae, 0xd3ebae00, 0, 8 }, /* #10 */
2265 { 0x1f4303, 0x1f4307, 0xf802553a, 0x54e80000, 0, 18 }, /* #11 */
2266 { 0x0a0743, 0x0a0747, 0x1cc78878, 0x00000000, 0, 29 }, /* #12 */
2267 { 0x282f12, 0x282f06, 0x8f18163a, 0x0b1d0000, 0, 15 }, /* #13 */
2268 { 0x2e4087, 0x2e4886, 0xa7d81d47, 0xe0000000, 0, 29 }, /* #14 */
2269 { 0x1140d7, 0x114886, 0x69a6f380, 0xe0000000, 0, 22 }, /* #15 */
2270 { 0x3c12c7, 0x3c1a07, 0xad622208, 0x10400000, 0, 19 }, /* #16 */
2271 { 0x1e6197, 0x1e6186, 0xd27437a3, 0x8c000000, 0, 26 }, /* #17 */
2272 { 0x0b1056, 0x0b1087, 0x01bdf6fa, 0xd0000000, 0, 27 }, /* #18 */
2273 { 0x0e1116, 0x0e1907, 0x7fc821f7, 0x0fb80000, 0, 19 }, /* #19 */
2274 { 0x174297, 0x174a06, 0xae81a0ef, 0x341de000, 0, 13 }, /* #20 */
2275 { 0x164a53, 0x164287, 0xed88be9a, 0x88be9a00, 0, 8 }, /* #21 */
2276 { 0x3a4942, 0x3a4906, 0x49eb0124, 0x24800000, 0, 21 }, /* #22 */
2277 { 0x2f2d96, 0x2f2d96, 0xfdfaeabd, 0xfdfaeabd, 0, 0 }, /* #23 */
2278 { 0x383652, 0x383686, 0x12a4105c, 0xb8000000, 0, 25 }, /* #24 */
2279 { 0x3b0516, 0x3b0507, 0xd0554fcb, 0x3f2c0000, 0, 18 }, /* #25 */
2280 { 0x140312, 0x140307, 0x091b9b15, 0x1b9b1500, 0, 8 }, /* #26 */
2281 { 0x3e5147, 0x3e5986, 0x94cf6b69, 0x80000000, 0, 31 }, /* #27 */
2282 { 0x145d86, 0x145d86, 0x8c108d30, 0x8c108d30, 0, 0 }, /* #28 */
2283 { 0x3d7f13, 0x3d7f87, 0x479c0b92, 0xce05c900, 0, 7 }, /* #29 */
2284 { 0x071852, 0x071806, 0x721a8405, 0x05000000, 0, 24 }, /* #30 */
2285 { 0x1b7843, 0x1b7806, 0x65e35f32, 0x40000000, 0, 29 }, /* #31 */
2286 { 0x1c5312, 0x1c5307, 0x09525cc2, 0x49730800, 0, 10 }, /* #32 */
2287 { 0x1a0697, 0x1a0602, 0xe0b884ed, 0x0b884ed0, 0, 4 }, /* #33 */
2288 { 0x135396, 0x135b87, 0x7fd529c5, 0xfea94e28, 0, 3 }, /* #34 */
2289 { 0x305d13, 0x305586, 0x0aa171ab, 0xc0000000, 0, 30 }, /* #35 */
2290 { 0x2d3346, 0x2d3b03, 0xb7cf8981, 0x7cf89810, 0, 4 }, /* #36 */
2291 { 0x322b52, 0x322387, 0xecec460f, 0xb3b1183c, 0, 2 }, /* #37 */
2292 { 0x093197, 0x093107, 0xe5bf18c9, 0x20000000, 0, 29 }, /* #38 */
2293 { 0x3835c2, 0x383d07, 0x5cd67b37, 0x70000000, 0, 28 }, /* #39 */
2294 { 0x1c4bc3, 0x1c4b06, 0xa1760502, 0x14080000, 0, 18 }, /* #40 */
2295 { 0x080856, 0x080083, 0xf5747a2a, 0xd5d1e8a8, 0, 2 }, /* #41 */
2296 { 0x086102, 0x086906, 0x6405c9ca, 0x4e500000, 0, 19 }, /* #42 */
2297 { 0x0b4416, 0x0b4486, 0xfba46595, 0xa8000000, 0, 27 }, /* #43 */
2298 { 0x1f5f16, 0x1f5787, 0x13ddcd86, 0xcd860000, 0, 16 }, /* #44 */
2299 { 0x120453, 0x120c86, 0x962297c7, 0xa5f1c000, 0, 14 }, /* #45 */
2300 { 0x321b92, 0x321387, 0x297da478, 0xb48f0000, 0, 13 }, /* #46 */
2301 { 0x3624d6, 0x362c87, 0x9339a49d, 0xd0000000, 0, 28 }, /* #47 */
2302 { 0x243c47, 0x243483, 0xd8e20a17, 0x8e20a170, 0, 4 }, /* #48 */
2303 { 0x382882, 0x382807, 0x4f320aca, 0x40000000, 0, 29 }, /* #49 */
2304 { 0x330017, 0x330806, 0x9c9a981f, 0x607c0000, 0, 18 }, /* #50 */
2305 { 0x177887, 0x177086, 0xe7b4b462, 0xb4620000, 0, 16 }, /* #51 */
2306 { 0x1224c7, 0x122c06, 0x72b9ae41, 0x40000000, 0, 30 }, /* #52 */
2307 { 0x215887, 0x215007, 0xdfb6a735, 0x35000000, 0, 24 }, /* #53 */
2308 { 0x197913, 0x197986, 0xa38328e0, 0xe0000000, 0, 24 }, /* #54 */
2309 { 0x152047, 0x152047, 0xed8c515a, 0x00000000, 0, 31 }, /* #55 */
2310 { 0x2f3142, 0x2f3987, 0xb1d171b8, 0xc6e00000, 0, 18 }, /* #56 */
2311 { 0x1520d6, 0x152082, 0xf6147aca, 0xc28f5940, 0, 5 }, /* #57 */
2312 { 0x1e3847, 0x1e3087, 0x3135227f, 0x80000000, 0, 31 }, /* #58 */
2313 { 0x1e5e52, 0x1e5607, 0x040da4c4, 0x49880000, 0, 17 }, /* #59 */
2314 { 0x327286, 0x327a07, 0x9a8ffaff, 0x1ff5fe00, 0, 9 }, /* #60 */
2315 { 0x2e3292, 0x2e3a83, 0x9ba556b7, 0xba556b70, 0, 4 }, /* #61 */
2316 { 0x142417, 0x142406, 0xd72e333c, 0x333c0000, 0, 16 }, /* #62 */
2317 { 0x1e1b42, 0x1e1b07, 0x445aa31b, 0x16a8c6c0, 0, 6 }, /* #63 */
2318};
2319static const BINU32_TEST_T g_aTests_shr_u32_intel[] =
2320{
2321 { 0x2e4d06, 0x2e4546, 0x00000000, 0x00000000, 0, 14 }, /* #0 */
2322 { 0x3e7e16, 0x3e7646, 0x00000000, 0x00000000, 0, 7 }, /* #1 */
2323 { 0x184903, 0x184146, 0x00000000, 0x00000000, 0, 17 }, /* #2 */
2324 { 0x1e1297, 0x1e1246, 0x00000000, 0x00000000, 0, 3 }, /* #3 */
2325 { 0x1c3802, 0x1c3007, 0x6e8c4b69, 0x00000dd1, 0, 19 }, /* #4 */
2326 { 0x2c55c7, 0x2c5d06, 0xb76bb27c, 0x000000b7, 0, 24 }, /* #5 */
2327 { 0x171087, 0x171046, 0x0f5b47dd, 0x00000000, 0, 30 }, /* #6 */
2328 { 0x2b2fd6, 0x2b2f03, 0xcfbd36cc, 0x00000cfb, 0, 20 }, /* #7 */
2329 { 0x0e0217, 0x0e0a02, 0x81579212, 0x00102af2, 0, 11 }, /* #8 */
2330 { 0x3a0242, 0x3a0a03, 0x87dff32c, 0x00021f7f, 0, 14 }, /* #9 */
2331 { 0x3b0307, 0x3b0307, 0x3c2a24b2, 0x00000f0a, 0, 18 }, /* #10 */
2332 { 0x2b2982, 0x2b2107, 0x0ff5977a, 0x0001feb2, 0, 11 }, /* #11 */
2333 { 0x053696, 0x053e02, 0xdd446670, 0x00000375, 0, 22 }, /* #12 */
2334 { 0x262683, 0x262647, 0x61eae050, 0x00000000, 0, 31 }, /* #13 */
2335 { 0x2037d7, 0x203706, 0x36a5d049, 0x00000da9, 0, 18 }, /* #14 */
2336 { 0x383053, 0x383802, 0xc233acd9, 0x006119d6, 0, 9 }, /* #15 */
2337 { 0x241116, 0x241903, 0xbb07fc96, 0x1760ff92, 0, 3 }, /* #16 */
2338 { 0x3d1792, 0x3d1f06, 0xe8934fbd, 0x0000003a, 0, 26 }, /* #17 */
2339 { 0x385ac3, 0x385a02, 0x823a49f6, 0x00000004, 0, 29 }, /* #18 */
2340 { 0x3e0392, 0x3e0b03, 0x8b154f5e, 0x00000458, 0, 21 }, /* #19 */
2341 { 0x072d46, 0x072502, 0x2b98d68d, 0x00000057, 0, 23 }, /* #20 */
2342 { 0x071b13, 0x071346, 0x1db9e0d1, 0x00000000, 0, 31 }, /* #21 */
2343 { 0x0f7943, 0x0f7943, 0xd1be22b1, 0xd1be22b1, 0, 0 }, /* #22 */
2344 { 0x012002, 0x012002, 0x36228af4, 0x00006c45, 0, 15 }, /* #23 */
2345 { 0x3c4653, 0x3c4e02, 0xd83d9008, 0x0360f640, 0, 6 }, /* #24 */
2346 { 0x1943d6, 0x194b07, 0xfff24ae3, 0x000001ff, 0, 23 }, /* #25 */
2347 { 0x0602c7, 0x060207, 0x247479e8, 0x0091d1e7, 0, 6 }, /* #26 */
2348 { 0x007282, 0x007a02, 0x90bd51b7, 0x00000002, 0, 30 }, /* #27 */
2349 { 0x282256, 0x282a02, 0xe2c8e1d0, 0x00000007, 0, 29 }, /* #28 */
2350 { 0x0210c7, 0x021807, 0x97b1c5f6, 0x012f638b, 0, 7 }, /* #29 */
2351 { 0x144102, 0x144146, 0x0d617148, 0x00000000, 0, 31 }, /* #30 */
2352 { 0x2d5046, 0x2d5802, 0xbe968353, 0x00000be9, 0, 20 }, /* #31 */
2353 { 0x0f5497, 0x0f5402, 0x13292a7f, 0x00000026, 0, 23 }, /* #32 */
2354 { 0x181347, 0x181b02, 0xfd4de391, 0x000000fd, 0, 24 }, /* #33 */
2355 { 0x2c3f13, 0x2c3703, 0x52fa2d2f, 0x000a5f45, 0, 11 }, /* #34 */
2356 { 0x107517, 0x107d02, 0x8b322546, 0x00000004, 0, 29 }, /* #35 */
2357 { 0x134143, 0x134906, 0xbbfda224, 0x5dfed112, 0, 1 }, /* #36 */
2358 { 0x391807, 0x391803, 0x8d9d8ce5, 0x000008d9, 0, 20 }, /* #37 */
2359 { 0x244a03, 0x244a07, 0xda93a10c, 0x0000da93, 0, 16 }, /* #38 */
2360 { 0x020dd6, 0x020d06, 0xa04af080, 0x00000005, 0, 29 }, /* #39 */
2361 { 0x045883, 0x045002, 0x1905e7f8, 0x00000032, 0, 23 }, /* #40 */
2362 { 0x1b60d6, 0x1b6806, 0xa85db5c1, 0x02a176d7, 0, 6 }, /* #41 */
2363 { 0x1118d3, 0x111007, 0x2e2f3354, 0x000000b8, 0, 22 }, /* #42 */
2364 { 0x1a3a92, 0x1a3203, 0x06c22701, 0x00001b08, 0, 14 }, /* #43 */
2365 { 0x3562d3, 0x356202, 0x05d4af87, 0x005d4af8, 0, 4 }, /* #44 */
2366 { 0x293257, 0x293a02, 0xf85d217e, 0x0000003e, 0, 26 }, /* #45 */
2367 { 0x280017, 0x280006, 0x63a8dd2a, 0x0000031d, 0, 21 }, /* #46 */
2368 { 0x082552, 0x082d07, 0xdb96f6e3, 0x00db96f6, 0, 8 }, /* #47 */
2369 { 0x0c4f06, 0x0c4f06, 0xf38a3328, 0x0000079c, 0, 21 }, /* #48 */
2370 { 0x015312, 0x015306, 0x0d13905c, 0x0689c82e, 0, 1 }, /* #49 */
2371 { 0x093f17, 0x093f03, 0x905104ba, 0x00120a20, 0, 11 }, /* #50 */
2372 { 0x067392, 0x067303, 0x0eb32870, 0x003acca1, 0, 6 }, /* #51 */
2373 { 0x352707, 0x352f02, 0x99e91038, 0x00000026, 0, 26 }, /* #52 */
2374 { 0x116d42, 0x116503, 0x5c01636b, 0x170058da, 0, 2 }, /* #53 */
2375 { 0x3a3743, 0x3a3702, 0x02a33e10, 0x01519f08, 0, 1 }, /* #54 */
2376 { 0x061856, 0x061803, 0x83b5936e, 0x000041da, 0, 17 }, /* #55 */
2377 { 0x245d13, 0x245d03, 0xbfcc256f, 0x000000bf, 0, 24 }, /* #56 */
2378 { 0x300f92, 0x300703, 0x1db29443, 0x00000001, 0, 28 }, /* #57 */
2379 { 0x0a4c07, 0x0a4402, 0x7df21878, 0x0001f7c8, 0, 14 }, /* #58 */
2380 { 0x0403d7, 0x040b03, 0xd1ef6ac2, 0x347bdab0, 0, 2 }, /* #59 */
2381 { 0x137843, 0x137002, 0x706ce377, 0x00706ce3, 0, 8 }, /* #60 */
2382 { 0x2b50c3, 0x2b5802, 0x8d056afd, 0x23415abf, 0, 2 }, /* #61 */
2383 { 0x280882, 0x280803, 0xebeb6d6a, 0x000ebeb6, 0, 12 }, /* #62 */
2384 { 0x092d42, 0x092507, 0x7b633a78, 0x0000001e, 0, 26 }, /* #63 */
2385};
2386static const BINU32_TEST_T g_aTests_sar_u32_intel[] =
2387{
2388 { 0x1f0b56, 0x1f0346, 0x00000000, 0x00000000, 0, 23 }, /* #0 */
2389 { 0x0b2c92, 0x0b2446, 0x00000000, 0x00000000, 0, 25 }, /* #1 */
2390 { 0x2a26c7, 0x2a2646, 0x00000000, 0x00000000, 0, 17 }, /* #2 */
2391 { 0x1950c6, 0x195046, 0x00000000, 0x00000000, 0, 5 }, /* #3 */
2392 { 0x146347, 0x146382, 0x9239deaf, 0xfffffffe, 0, 30 }, /* #4 */
2393 { 0x2924c2, 0x292403, 0x5e4534c4, 0x00000002, 0, 29 }, /* #5 */
2394 { 0x387c92, 0x387487, 0xdb008ca6, 0xffffffff, 0, 31 }, /* #6 */
2395 { 0x1f22d3, 0x1f2282, 0xcc48cc64, 0xffffffe6, 0, 25 }, /* #7 */
2396 { 0x021fd2, 0x021707, 0x7db5d378, 0x000003ed, 0, 21 }, /* #8 */
2397 { 0x0e0f13, 0x0e0706, 0x00dda64c, 0x00037699, 0, 6 }, /* #9 */
2398 { 0x3f2413, 0x3f2407, 0x7dd23ac2, 0x0000007d, 0, 24 }, /* #10 */
2399 { 0x023c83, 0x023483, 0xb694417f, 0xdb4a20bf, 0, 1 }, /* #11 */
2400 { 0x072012, 0x072087, 0xe1d1d32a, 0xffffc3a3, 0, 15 }, /* #12 */
2401 { 0x184bd6, 0x184307, 0x5f6ddad1, 0x0000bedb, 0, 15 }, /* #13 */
2402 { 0x1b3d97, 0x1b3586, 0xbb945e9c, 0xffffff77, 0, 23 }, /* #14 */
2403 { 0x0c77c7, 0x0c7707, 0x53d1f6f7, 0x000029e8, 0, 17 }, /* #15 */
2404 { 0x1628d2, 0x162003, 0x24878ddd, 0x000490f1, 0, 11 }, /* #16 */
2405 { 0x364056, 0x364007, 0x74836756, 0x00000003, 0, 29 }, /* #17 */
2406 { 0x075457, 0x075407, 0x565c97a4, 0x0002b2e4, 0, 13 }, /* #18 */
2407 { 0x190b53, 0x190387, 0xa114bb28, 0xfffd08a5, 0, 13 }, /* #19 */
2408 { 0x2d5cd6, 0x2d5403, 0x00288ac6, 0x00000002, 0, 20 }, /* #20 */
2409 { 0x1d6fc6, 0x1d6787, 0x9d9bb85f, 0xfffffffc, 0, 29 }, /* #21 */
2410 { 0x0527c7, 0x052786, 0x9cc380a5, 0xffffffff, 0, 31 }, /* #22 */
2411 { 0x3475c3, 0x347587, 0xbbea5d22, 0xfeefa974, 0, 6 }, /* #23 */
2412 { 0x063302, 0x063386, 0xab20f265, 0xfffffff5, 0, 27 }, /* #24 */
2413 { 0x0530d6, 0x053083, 0xa7f12d3b, 0xffffffa7, 0, 24 }, /* #25 */
2414 { 0x031b06, 0x031302, 0x4c3cafe0, 0x00000001, 0, 30 }, /* #26 */
2415 { 0x113753, 0x113706, 0x61a83a06, 0x0061a83a, 0, 8 }, /* #27 */
2416 { 0x155d86, 0x155586, 0xcaeea9f6, 0xffff95dd, 0, 15 }, /* #28 */
2417 { 0x050516, 0x050587, 0x9f8998f6, 0xfffffffc, 0, 29 }, /* #29 */
2418 { 0x070cd3, 0x070483, 0xf3051cb9, 0xffff3051, 0, 12 }, /* #30 */
2419 { 0x175003, 0x175087, 0x817c34e4, 0xf02f869c, 0, 3 }, /* #31 */
2420 { 0x273107, 0x273102, 0x1c2cdbed, 0x00000e16, 0, 17 }, /* #32 */
2421 { 0x054d92, 0x054507, 0x279c14e6, 0x00279c14, 0, 8 }, /* #33 */
2422 { 0x114942, 0x114103, 0x57d27e17, 0x0000afa4, 0, 15 }, /* #34 */
2423 { 0x2c1693, 0x2c1602, 0x231049f8, 0x00000462, 0, 19 }, /* #35 */
2424 { 0x151003, 0x151087, 0xf1a960a6, 0xffffc6a5, 0, 14 }, /* #36 */
2425 { 0x036787, 0x036783, 0xad21d326, 0xffd690e9, 0, 9 }, /* #37 */
2426 { 0x131542, 0x131582, 0xb244cc1d, 0xfffffffb, 0, 28 }, /* #38 */
2427 { 0x2775d2, 0x277583, 0xaeadd337, 0xd756e99b, 0, 1 }, /* #39 */
2428 { 0x2653c2, 0x265387, 0xf52abc59, 0xffa955e2, 0, 5 }, /* #40 */
2429 { 0x126c02, 0x126407, 0x32a6f263, 0x00ca9bc9, 0, 6 }, /* #41 */
2430 { 0x3e3d97, 0x3e3587, 0xad12b4c7, 0xfffd6895, 0, 13 }, /* #42 */
2431 { 0x162c03, 0x162482, 0xbdd84e05, 0xfffdeec2, 0, 13 }, /* #43 */
2432 { 0x200c13, 0x200446, 0x331424b6, 0x00000000, 0, 31 }, /* #44 */
2433 { 0x160842, 0x160007, 0x59bdc364, 0x0000b37b, 0, 15 }, /* #45 */
2434 { 0x2a6a53, 0x2a6203, 0x55c849bf, 0x000000ab, 0, 23 }, /* #46 */
2435 { 0x285897, 0x285007, 0x56392136, 0x000002b1, 0, 21 }, /* #47 */
2436 { 0x163653, 0x163686, 0xf945c357, 0xff945c35, 0, 4 }, /* #48 */
2437 { 0x397dd2, 0x397506, 0x4b48b354, 0x04b48b35, 0, 4 }, /* #49 */
2438 { 0x1c3706, 0x1c3707, 0x2bc694d7, 0x0578d29a, 0, 3 }, /* #50 */
2439 { 0x2e7707, 0x2e7703, 0x54a37a78, 0x00000054, 0, 24 }, /* #51 */
2440 { 0x0a7642, 0x0a7682, 0xce4c1e0a, 0xfffffffe, 0, 29 }, /* #52 */
2441 { 0x0c7803, 0x0c7083, 0xa5e692db, 0xfffff4bc, 0, 19 }, /* #53 */
2442 { 0x1f56d7, 0x1f5647, 0x472bdb3f, 0x00000000, 0, 31 }, /* #54 */
2443 { 0x2351c3, 0x235183, 0xa79b4c7c, 0xfe9e6d31, 0, 6 }, /* #55 */
2444 { 0x285e16, 0x285683, 0xd44d9023, 0xffffffa8, 0, 23 }, /* #56 */
2445 { 0x1e3382, 0x1e3383, 0xa8b46de1, 0xffa8b46d, 0, 8 }, /* #57 */
2446 { 0x391402, 0x391483, 0xea98f6a5, 0xffffea98, 0, 16 }, /* #58 */
2447 { 0x0c0182, 0x0c0107, 0x6b2161c9, 0x00003590, 0, 17 }, /* #59 */
2448 { 0x3c2086, 0x3c2047, 0x42dbdc31, 0x00000000, 0, 31 }, /* #60 */
2449 { 0x190e57, 0x190683, 0xa678dea8, 0xffe99e37, 0, 10 }, /* #61 */
2450 { 0x124057, 0x124006, 0x2d290c68, 0x0000002d, 0, 24 }, /* #62 */
2451 { 0x094407, 0x094486, 0x9fe932ca, 0xfffffcff, 0, 21 }, /* #63 */
2452};
2453static const BINU64_TEST_T g_aTests_rol_u64_intel[] =
2454{
2455 { 0x3225c6, 0x3225c6, 0x0000000000000000, 0x0000000000000000, 0, 59 }, /* #0 */
2456 { 0x2f19d2, 0x2f11d2, 0x0000000000000000, 0x0000000000000000, 0, 35 }, /* #1 */
2457 { 0x3910c3, 0x3910c2, 0x0000000000000000, 0x0000000000000000, 0, 39 }, /* #2 */
2458 { 0x2e2c56, 0x2e2456, 0x0000000000000000, 0x0000000000000000, 0, 38 }, /* #3 */
2459 { 0x104903, 0x104903, 0x4c1f10c291c5d4a7, 0x07c430a4717529d3, 0, 6 }, /* #4 */
2460 { 0x226a87, 0x226286, 0x159d2ca13533b056, 0xa6760ac2b3a59426, 0, 37 }, /* #5 */
2461 { 0x111787, 0x111f86, 0x9af9c2591b12a3d1, 0x12c8d8951e8cd7ce, 0, 19 }, /* #6 */
2462 { 0x361b02, 0x361303, 0xfd230d53a336c04c, 0x3a336c04cfd230d5, 0, 28 }, /* #7 */
2463 { 0x001816, 0x001016, 0xf5543089eb9dbac9, 0xaa86113d73b7593e, 0, 5 }, /* #8 */
2464 { 0x072552, 0x072553, 0x15ba897a297e49bd, 0xf24de8add44bd14b, 0, 43 }, /* #9 */
2465 { 0x2110d3, 0x2110d2, 0x14410c083e195ba7, 0x288218107c32b74e, 0, 1 }, /* #10 */
2466 { 0x2e5352, 0x2e5b53, 0xbf2c54b2c7cb92fd, 0x963e5c97edf962a5, 0, 27 }, /* #11 */
2467 { 0x151fc3, 0x151fc2, 0x649640f72dddda90, 0x7b96eeed48324b20, 0, 23 }, /* #12 */
2468 { 0x254646, 0x254646, 0xda6deab5aedee30e, 0xd76f71876d36f55a, 0, 31 }, /* #13 */
2469 { 0x1b4c92, 0x1b4c93, 0x585d6ce6d6135c6c, 0xc6c585d6ce6d6135, 0, 52 }, /* #14 */
2470 { 0x133912, 0x133113, 0x3cf74e366a02b82e, 0x4e366a02b82e3cf7, 0, 16 }, /* #15 */
2471 { 0x3b5597, 0x3b5d97, 0xa9f221986e5acf7e, 0x10cc372d67bf54f9, 0, 15 }, /* #16 */
2472 { 0x1957d3, 0x1957d2, 0x2579f2b01a66471c, 0x69991c7095e7cac0, 0, 34 }, /* #17 */
2473 { 0x0d3e57, 0x0d3656, 0xd3116e5d0c9d7814, 0xbc0a6988b72e864e, 0, 47 }, /* #18 */
2474 { 0x0d0d06, 0x0d0506, 0xc8864b14ee09fec3, 0x7704ff61e443258a, 0, 31 }, /* #19 */
2475 { 0x320642, 0x320e43, 0xb2ed959cdf0f16cf, 0x59cdf0f16cfb2ed9, 0, 20 }, /* #20 */
2476 { 0x2a5216, 0x2a5217, 0xc83eb1ddf4703352, 0x819a9641f58eefa3, 0, 43 }, /* #21 */
2477 { 0x3811d7, 0x3811d6, 0xcc2c1a50deed607c, 0xed607ccc2c1a50de, 0, 40 }, /* #22 */
2478 { 0x172647, 0x172e46, 0xb382bda766df8185, 0x0616ce0af69d9b7e, 0, 50 }, /* #23 */
2479 { 0x0c5813, 0x0c5012, 0xc1f1dc2760030e5d, 0x061cbb83e3b84ec0, 0, 41 }, /* #24 */
2480 { 0x227ec7, 0x2276c6, 0x233682d35994b672, 0x2d35994b67223368, 0, 20 }, /* #25 */
2481 { 0x1e00c3, 0x1e08c2, 0x967f43b9f0620766, 0xfe8773e0c40ecd2c, 0, 9 }, /* #26 */
2482 { 0x265f06, 0x265707, 0xccf8800e676cac87, 0xb2b21f33e200399d, 0, 42 }, /* #27 */
2483 { 0x254f57, 0x254f57, 0x481dd77db6ef2c89, 0xdf6dbbcb22520775, 0, 22 }, /* #28 */
2484 { 0x1668c2, 0x1668c2, 0x535c0031b8a29fcc, 0x9ae0018dc514fe62, 0, 3 }, /* #29 */
2485 { 0x263bd7, 0x2633d6, 0x16371c1ad7130523, 0x58dc706b5c4c148c, 0, 2 }, /* #30 */
2486 { 0x393243, 0x393a43, 0x8ef729a350008bf3, 0x1a80045f9c77b94d, 0, 27 }, /* #31 */
2487 { 0x0d71d6, 0x0d71d7, 0x31ea93b2319320cc, 0x26419863d5276463, 0, 41 }, /* #32 */
2488 { 0x3f3206, 0x3f3a06, 0xbe9941b9b27e6965, 0xd2cb7d32837364fc, 0, 49 }, /* #33 */
2489 { 0x362397, 0x362b97, 0x8730c05619d338e3, 0x0c05619d338e3873, 0, 12 }, /* #34 */
2490 { 0x3c3b56, 0x3c3357, 0xee42151a1308c0c3, 0x0fb90854684c2303, 0, 58 }, /* #35 */
2491 { 0x053f86, 0x053f86, 0x5a146bbf8a820af5, 0xbd56851aefe2a082, 0, 54 }, /* #36 */
2492 { 0x3d4403, 0x3d4402, 0xe82c2d6e344b9f16, 0x585adc68973e2dd0, 0, 9 }, /* #37 */
2493 { 0x1d2c92, 0x1d2c92, 0xa9090509b3f98955, 0x284d9fcc4aad4848, 0, 19 }, /* #38 */
2494 { 0x044ec3, 0x0446c3, 0x3af393639839ec50, 0xd8a075e726c73073, 0, 49 }, /* #39 */
2495 { 0x1441d7, 0x1441d7, 0x06ddd303e66943c5, 0x74c0f99a50f141b7, 0, 14 }, /* #40 */
2496 { 0x210656, 0x210656, 0x2e1c1d51b3db71d3, 0x3aa367b6e3a65c38, 0, 17 }, /* #41 */
2497 { 0x0f4546, 0x0f4d47, 0x79c26042a4cd6a5d, 0x52ebce130215266b, 0, 51 }, /* #42 */
2498 { 0x1e3012, 0x1e3012, 0x18be07b0071ef83c, 0xbe07b0071ef83c18, 0, 8 }, /* #43 */
2499 { 0x1f6696, 0x1f6696, 0xf3a23601355ddfba, 0x04d5777eebce88d8, 0, 26 }, /* #44 */
2500 { 0x2a5e16, 0x2a5617, 0xc154f33b9c6b3479, 0xe67738d668f382a9, 0, 17 }, /* #45 */
2501 { 0x230e07, 0x230e06, 0x991d0363926dbbd2, 0x64740d8e49b6ef4a, 0, 2 }, /* #46 */
2502 { 0x084792, 0x084f92, 0x5f7e9815fd4b2f78, 0xcbde17dfa6057f52, 0, 46 }, /* #47 */
2503 { 0x104e87, 0x104687, 0xfef7404673ecee85, 0xf7ba02339f67742f, 0, 3 }, /* #48 */
2504 { 0x190a53, 0x190a53, 0x7fe02e860f9d17e8, 0xe87fe02e860f9d17, 0, 56 }, /* #49 */
2505 { 0x161f07, 0x161f06, 0xb8b58573e4d9d681, 0xceb40dc5ac2b9f26, 0, 43 }, /* #50 */
2506 { 0x3008c6, 0x3008c6, 0x8b788ca186b67d44, 0x8ca186b67d448b78, 0, 16 }, /* #51 */
2507 { 0x041fc6, 0x0417c6, 0xfff4e1977aaa8a8d, 0xcbbd554546fffa70, 0, 23 }, /* #52 */
2508 { 0x373f43, 0x373742, 0x340b24a8d13ce5d8, 0xe5d8340b24a8d13c, 0, 48 }, /* #53 */
2509 { 0x125496, 0x125c97, 0xa922325e63163d8f, 0x192f318b1ec7d491, 0, 15 }, /* #54 */
2510 { 0x1a7a03, 0x1a7a02, 0x90e46ec789524511, 0x3763c4a92288c872, 0, 15 }, /* #55 */
2511 { 0x3f6212, 0x3f6212, 0x19b905ac1374e3dc, 0xe416b04dd38f7066, 0, 10 }, /* #56 */
2512 { 0x245d42, 0x245542, 0x39741e6458f5376e, 0x83cc8b1ea6edc72e, 0, 13 }, /* #57 */
2513 { 0x261213, 0x261212, 0x2ff6ed53337f5584, 0xed53337f55842ff6, 0, 16 }, /* #58 */
2514 { 0x060957, 0x060957, 0x64bd2a53b8949b1e, 0xb8949b1e64bd2a53, 0, 32 }, /* #59 */
2515 { 0x254fd2, 0x254fd2, 0xbcb539a1a8adb9a1, 0x86a2b6e686f2d4e6, 0, 26 }, /* #60 */
2516 { 0x212842, 0x212043, 0x358501e0e0931377, 0x58501e0e09313773, 0, 4 }, /* #61 */
2517 { 0x027013, 0x027812, 0x723fd1ed7153b90c, 0x7b5c54ee431c8ff4, 0, 22 }, /* #62 */
2518 { 0x2f2016, 0x2f2817, 0x7c13421c4e734aeb, 0x0e2739a575be09a1, 0, 23 }, /* #63 */
2519};
2520static const BINU64_TEST_T g_aTests_ror_u64_intel[] =
2521{
2522 { 0x2061c6, 0x2061c6, 0x0000000000000000, 0x0000000000000000, 0, 2 }, /* #0 */
2523 { 0x202cd6, 0x2024d6, 0x0000000000000000, 0x0000000000000000, 0, 17 }, /* #1 */
2524 { 0x3a0892, 0x3a0092, 0x0000000000000000, 0x0000000000000000, 0, 28 }, /* #2 */
2525 { 0x2627c6, 0x2627c6, 0x0000000000000000, 0x0000000000000000, 0, 7 }, /* #3 */
2526 { 0x172386, 0x172b86, 0xeec347be459d9114, 0x229dd868f7c8b3b2, 0, 11 }, /* #4 */
2527 { 0x2f7c46, 0x2f7447, 0xca0a8228109c338f, 0xe3f282a08a04270c, 0, 10 }, /* #5 */
2528 { 0x283207, 0x283a06, 0x6d44885678695fad, 0x5fad6d4488567869, 0, 16 }, /* #6 */
2529 { 0x0d1992, 0x0d1993, 0x16fdecb8e13e2b63, 0xcb8e13e2b6316fde, 0, 44 }, /* #7 */
2530 { 0x070553, 0x070552, 0xb6d43d51bbd4d3f9, 0x377a9a7f36da87aa, 0, 35 }, /* #8 */
2531 { 0x2e1807, 0x2e1806, 0x86aa9ca8823d0eb6, 0x047a1d6d0d553951, 0, 31 }, /* #9 */
2532 { 0x3910c3, 0x3918c2, 0x1d78153079815cb5, 0x51d78153079815cb, 0, 4 }, /* #10 */
2533 { 0x3e6c06, 0x3e6407, 0xf86252c31215080d, 0xfc312961890a8406, 0, 1 }, /* #11 */
2534 { 0x024343, 0x024343, 0x47d5be9ff51f67d8, 0xecfb08fab7d3fea3, 0, 19 }, /* #12 */
2535 { 0x1858d2, 0x1858d3, 0xe472280f615db576, 0xa03d8576d5db91c8, 0, 46 }, /* #13 */
2536 { 0x3e4d06, 0x3e4d06, 0xda4b675e032dfad5, 0xda4b675e032dfad5, 0, 0 }, /* #14 */
2537 { 0x0b0dd2, 0x0b05d2, 0x0fa61355d3f034ce, 0x1f4c26aba7e0699c, 0, 63 }, /* #15 */
2538 { 0x051653, 0x051652, 0xb9e528487f573503, 0x090feae6a0773ca5, 0, 43 }, /* #16 */
2539 { 0x0a4113, 0x0a4913, 0x155377e6ea51551b, 0xfcdd4a2aa362aa6e, 0, 43 }, /* #17 */
2540 { 0x320007, 0x320806, 0x063b90a92633e64b, 0x21524c67cc960c77, 0, 47 }, /* #18 */
2541 { 0x092cc7, 0x0924c7, 0x05ffc89fc897e1ec, 0x897e1ec05ffc89fc, 0, 28 }, /* #19 */
2542 { 0x271b16, 0x271b17, 0x082296c6fcc9e273, 0xe610452d8df993c4, 0, 7 }, /* #20 */
2543 { 0x376443, 0x376c42, 0x3d534230c412d593, 0x3104b564cf54d08c, 0, 34 }, /* #21 */
2544 { 0x143c52, 0x143453, 0x17b3145ff4b48d4a, 0xf6628bfe9691a942, 0, 59 }, /* #22 */
2545 { 0x2459c7, 0x2459c7, 0x4a77ae7f44b90e91, 0xa25c8748a53bd73f, 0, 33 }, /* #23 */
2546 { 0x2d0a53, 0x2d0252, 0x202fb32c5358cc62, 0x11017d99629ac663, 0, 5 }, /* #24 */
2547 { 0x2e5986, 0x2e5187, 0xf2d4045052f75ccf, 0xe5a808a0a5eeb99f, 0, 63 }, /* #25 */
2548 { 0x0b0a86, 0x0b0287, 0x1a984deff827769e, 0xed3c35309bdff04e, 0, 15 }, /* #26 */
2549 { 0x0c3707, 0x0c3706, 0xed2fe103ac985787, 0x081d64c2bc3f697f, 0, 45 }, /* #27 */
2550 { 0x2b2512, 0x2b2d12, 0x51f77b302ec19047, 0x7b302ec1904751f7, 0, 48 }, /* #28 */
2551 { 0x011d43, 0x011d42, 0xff2666134017b292, 0x005eca4bfc99984d, 0, 30 }, /* #29 */
2552 { 0x2a07d6, 0x2a0fd7, 0x571513daa2f2f62f, 0xf6a8bcbd8bd5c544, 0, 42 }, /* #30 */
2553 { 0x113bc2, 0x113bc3, 0x9267babb1dc14f38, 0xf389267babb1dc14, 0, 12 }, /* #31 */
2554 { 0x0b2906, 0x0b2106, 0xb625ea3590009cbf, 0x6400272fed897a8d, 0, 34 }, /* #32 */
2555 { 0x120ec6, 0x1206c6, 0xc461b489f007cbf1, 0x227c01f2fc71186d, 0, 42 }, /* #33 */
2556 { 0x397596, 0x397597, 0x825974b0cbff78bf, 0xf17f04b2e96197fe, 0, 15 }, /* #34 */
2557 { 0x0d3086, 0x0d3086, 0x1174feaf7fddf212, 0x7bfeef90908ba7f5, 0, 37 }, /* #35 */
2558 { 0x1d4c16, 0x1d4c17, 0x41dcbf44f183b131, 0xa278c1d898a0ee5f, 0, 41 }, /* #36 */
2559 { 0x081756, 0x081757, 0x441af02cf53bc9be, 0x9de4df220d78167a, 0, 25 }, /* #37 */
2560 { 0x3d40c6, 0x3d40c6, 0x181c066e323fc0c4, 0x0310607019b8c8ff, 0, 14 }, /* #38 */
2561 { 0x063d12, 0x063d13, 0x5559a95a54464055, 0x80aaaab352b4a88c, 0, 15 }, /* #39 */
2562 { 0x1a0217, 0x1a0a17, 0x85dff53a38d8179a, 0xbbfea7471b02f350, 0, 59 }, /* #40 */
2563 { 0x0f1716, 0x0f1f16, 0xf1cc5fb2050e5374, 0x7ec814394dd3c731, 0, 46 }, /* #41 */
2564 { 0x395157, 0x395156, 0xc9b594e063bdc3cb, 0x70f2f26d653818ef, 0, 18 }, /* #42 */
2565 { 0x3d1103, 0x3d1902, 0x0412983bc6887b3d, 0x0778d10f67a08253, 0, 43 }, /* #43 */
2566 { 0x265e16, 0x265616, 0x878ea9990a5b9b2f, 0x754cc852dcd97c3c, 0, 53 }, /* #44 */
2567 { 0x0905d2, 0x090dd2, 0x72bc777ded562623, 0x1311b95e3bbef6ab, 0, 17 }, /* #45 */
2568 { 0x1f5612, 0x1f5e13, 0xb426dcb47e3c99ec, 0xe3c99ecb426dcb47, 0, 28 }, /* #46 */
2569 { 0x114513, 0x114d12, 0xe3ddd3f4088eb82c, 0x38f774fd0223ae0b, 0, 2 }, /* #47 */
2570 { 0x211012, 0x211812, 0xb960ccf5337daa34, 0x2c199ea66fb54697, 0, 59 }, /* #48 */
2571 { 0x007307, 0x007b07, 0x7c2172ccceaffd15, 0x842e5999d5ffa2af, 0, 59 }, /* #49 */
2572 { 0x040a57, 0x040257, 0x4c6aaccb3bd284d2, 0xd24c6aaccb3bd284, 0, 8 }, /* #50 */
2573 { 0x287216, 0x287a16, 0xe05b1b9559f3a91a, 0x1ae05b1b9559f3a9, 0, 8 }, /* #51 */
2574 { 0x2766c7, 0x276ec7, 0x6295f056012a6365, 0xc15804a98d958a57, 0, 46 }, /* #52 */
2575 { 0x0a6807, 0x0a6007, 0x69307bbf7e9df194, 0xbbf7e9df19469307, 0, 44 }, /* #53 */
2576 { 0x375c16, 0x375417, 0x0ea71926f868aba8, 0xc937c3455d407538, 0, 45 }, /* #54 */
2577 { 0x375c52, 0x375453, 0xaedca4aece786db7, 0xbd76e5257673c36d, 0, 5 }, /* #55 */
2578 { 0x0009d3, 0x0001d3, 0xf1b90a665f70d4c1, 0xa60f8dc85332fb86, 0, 13 }, /* #56 */
2579 { 0x081e02, 0x081e03, 0x9a410326a83faeee, 0x9040c9aa0febbba6, 0, 58 }, /* #57 */
2580 { 0x3e0f82, 0x3e0782, 0x9b80ea5979af1a63, 0x5e6bc698e6e03a96, 0, 34 }, /* #58 */
2581 { 0x370613, 0x370612, 0xdd4618800ad789a7, 0x0015af134fba8c31, 0, 39 }, /* #59 */
2582 { 0x1121c6, 0x1129c6, 0x107c0a2fa508589b, 0x3620f8145f4a10b1, 0, 7 }, /* #60 */
2583 { 0x385142, 0x385943, 0x4170816433021a19, 0xa194170816433021, 0, 12 }, /* #61 */
2584 { 0x0b6a13, 0x0b6a12, 0xc7fc0a92c1cd180c, 0x30198ff81525839a, 0, 15 }, /* #62 */
2585 { 0x220cd2, 0x2204d3, 0x75e46d1d5472f6e4, 0xbdb91d791b47551c, 0, 18 }, /* #63 */
2586};
2587static const BINU64_TEST_T g_aTests_rcl_u64_intel[] =
2588{
2589 { 0x0e0b06, 0x0e0306, 0x0000000000000000, 0x0000000000000000, 0, 25 }, /* #0 */
2590 { 0x090d97, 0x090596, 0x0000000000000000, 0x0800000000000000, 0, 60 }, /* #1 */
2591 { 0x105e93, 0x105692, 0x0000000000000000, 0x0000000000008000, 0, 16 }, /* #2 */
2592 { 0x195ec3, 0x1956c2, 0x0000000000000000, 0x0000000800000000, 0, 36 }, /* #3 */
2593 { 0x2a57d2, 0x2a57d2, 0xfa0c2f784f753475, 0x7ba9a3abe830bde1, 0, 35 }, /* #4 */
2594 { 0x3e0e92, 0x3e0692, 0x3784eea171278533, 0xeea1712785331bc2, 0, 16 }, /* #5 */
2595 { 0x101442, 0x101c42, 0xbed5624d90f2af4c, 0x49b21e55e98bed56, 0, 21 }, /* #6 */
2596 { 0x3a7806, 0x3a7807, 0x486234343253e6f5, 0x2188d0d0c94f9bd4, 0, 2 }, /* #7 */
2597 { 0x130106, 0x130106, 0xdad4e81fbe8349bc, 0x7efa0d26f1b5a9d0, 0, 26 }, /* #8 */
2598 { 0x0a6e52, 0x0a6e52, 0xa0b38f415a1db343, 0x71e82b43b6686a0b, 0, 13 }, /* #9 */
2599 { 0x307757, 0x307f56, 0x4cbc61b131df3c2e, 0x98ef9e17532f186c, 0, 31 }, /* #10 */
2600 { 0x2a7bc3, 0x2a73c3, 0x05fb2f1098a929aa, 0x417ecbc4262a4a6a, 0, 63 }, /* #11 */
2601 { 0x0d6b83, 0x0d6b82, 0x401e0c7168b64bd6, 0xb64bd6a00f0638b4, 0, 40 }, /* #12 */
2602 { 0x3a1147, 0x3a1947, 0xad15a6b95489b4d2, 0x6b4569ae55226d34, 0, 63 }, /* #13 */
2603 { 0x1236c6, 0x1236c6, 0xdacc896ec54b7eaa, 0x5bb152dfaa9b5991, 0, 22 }, /* #14 */
2604 { 0x141d83, 0x141583, 0xe1c16150e1d23a38, 0x85438748e8e3c382, 0, 18 }, /* #15 */
2605 { 0x3e2b83, 0x3e2b82, 0x98359fc1dc0a0eea, 0x141dd598359fc1dc, 0, 41 }, /* #16 */
2606 { 0x312f46, 0x312f46, 0x6db8636b20dadf30, 0xd641b5be606db863, 0, 25 }, /* #17 */
2607 { 0x2c35d6, 0x2c3dd7, 0x6891b706bb76c101, 0xb60809a246dc1aed, 0, 43 }, /* #18 */
2608 { 0x3d6d07, 0x3d6506, 0x1db4208803dd7f51, 0x1eebfa8c76d08220, 0, 35 }, /* #19 */
2609 { 0x233c86, 0x233486, 0x3ba69403594a2cc5, 0xe9a500d6528b3147, 0, 6 }, /* #20 */
2610 { 0x0616d3, 0x061ed2, 0x5608b3877866e657, 0xaf5608b3877866e6, 0, 57 }, /* #21 */
2611 { 0x303147, 0x303947, 0x506b25cd922ef826, 0xcd922ef826a83592, 0, 24 }, /* #22 */
2612 { 0x3b4c43, 0x3b4c43, 0x5809dc176a156c8a, 0x5b22ab013b82ed42, 0, 46 }, /* #23 */
2613 { 0x363197, 0x363997, 0x4b32ddcb483869a8, 0x96ee5a41c34d452c, 0, 11 }, /* #24 */
2614 { 0x296213, 0x296a12, 0x73268ff9ff392a63, 0x54c773268ff9ff39, 0, 49 }, /* #25 */
2615 { 0x341583, 0x341d82, 0x88daf0eb0ef35941, 0x8daf0eb0ef35941c, 0, 4 }, /* #26 */
2616 { 0x2f5646, 0x2f5e46, 0x6f2b43395e29268f, 0x3cde568672bc524d, 0, 58 }, /* #27 */
2617 { 0x2a4093, 0x2a4893, 0x9f728eed882f8695, 0xbb620be1a573ee51, 0, 22 }, /* #28 */
2618 { 0x2f6316, 0x2f6317, 0x32b3821086bb0458, 0x04581959c108435d, 0, 48 }, /* #29 */
2619 { 0x0d3fc3, 0x0d37c2, 0x3a4649de89eb8102, 0x4ef44f5c0814e919, 0, 19 }, /* #30 */
2620 { 0x0776d3, 0x0776d2, 0xc7a6a706eb0136b5, 0x1bac04dad78f4d4e, 0, 26 }, /* #31 */
2621 { 0x1a0846, 0x1a0846, 0xb420356449c14f61, 0x2b420356449c14f6, 0, 61 }, /* #32 */
2622 { 0x104502, 0x104502, 0xccfbf3520bae7b31, 0xb33efcd482eb9ecc, 0, 63 }, /* #33 */
2623 { 0x3177d2, 0x3177d2, 0x6d10585d122f3bed, 0x6d10585d122f3bed, 0, 0 }, /* #34 */
2624 { 0x3d2452, 0x3d2452, 0x0e0b29feeca80680, 0x1c1653fdd9500d00, 0, 1 }, /* #35 */
2625 { 0x070016, 0x070816, 0x8c57fe5b298f8665, 0xb6531f0cca8c57fe, 0, 25 }, /* #36 */
2626 { 0x063d53, 0x063d53, 0x8906923672a0ee16, 0x246ce541dc2d8906, 0, 17 }, /* #37 */
2627 { 0x384102, 0x384903, 0x63767b2e7fc8b2d4, 0x73fe4596a18dd9ec, 0, 27 }, /* #38 */
2628 { 0x3e2e03, 0x3e2602, 0x2594d9516611d388, 0x8e9c449653654598, 0, 43 }, /* #39 */
2629 { 0x187517, 0x187d17, 0x8d17ea3248fea179, 0xea179c68bf519247, 0, 44 }, /* #40 */
2630 { 0x2e1a56, 0x2e1a56, 0x9a2614df5c32c28b, 0xb4d130a6fae19614, 0, 60 }, /* #41 */
2631 { 0x1d1046, 0x1d1846, 0x451640995089be0c, 0x0995089be0c228b2, 0, 20 }, /* #42 */
2632 { 0x0e48c3, 0x0e40c2, 0xc9c8f23e992b4a86, 0xdc9c8f23e992b4a8, 0, 61 }, /* #43 */
2633 { 0x017f87, 0x017f87, 0x7a75a8a1759f0891, 0xad450bacf8448de9, 0, 11 }, /* #44 */
2634 { 0x1519c7, 0x1511c7, 0xee4ca182239c905a, 0x94304473920b5ee4, 0, 13 }, /* #45 */
2635 { 0x1b0bc7, 0x1b03c7, 0xffdeba7dab75a26f, 0x56eb44dfffdeba7d, 0, 33 }, /* #46 */
2636 { 0x0b7546, 0x0b7d46, 0x9fba5d9f4163ecef, 0xcef4fdd2ecfa0b1f, 0, 52 }, /* #47 */
2637 { 0x0b7e12, 0x0b7e12, 0xafefacf5bcb6b40c, 0xb6b40c57f7d67ade, 0, 40 }, /* #48 */
2638 { 0x354246, 0x354a47, 0x8281128a4cba6998, 0x974d3308281128a4, 0, 37 }, /* #49 */
2639 { 0x287c46, 0x287c47, 0x5a7799e435f4f4ba, 0xafa7a5d169de6790, 0, 35 }, /* #50 */
2640 { 0x241d13, 0x241d12, 0x43790d22d18d5664, 0x8b4635599286f21a, 0, 26 }, /* #51 */
2641 { 0x192a96, 0x192a97, 0x6f6af11049534cea, 0xa6751bdabc441254, 0, 47 }, /* #52 */
2642 { 0x3d61c2, 0x3d69c3, 0x747a09f1c8cb53ae, 0x232d4eb8e8f413e3, 0, 34 }, /* #53 */
2643 { 0x2877d7, 0x287fd7, 0x80662da49af7a839, 0xdea0e700cc5b4935, 0, 42 }, /* #54 */
2644 { 0x2171d6, 0x2179d6, 0xac0cd38ea9ffa993, 0x334e3aa7fea64d58, 0, 10 }, /* #55 */
2645 { 0x077c56, 0x077457, 0xf27fd84314303fe6, 0xff610c50c0ff99e4, 0, 10 }, /* #56 */
2646 { 0x377416, 0x377c16, 0x66e6fe8a25a984de, 0xdfd144b5309bc66e, 0, 13 }, /* #57 */
2647 { 0x2d2e87, 0x2d2687, 0x215c54bdbe42969e, 0x52f6f90a5a7a42b8, 0, 18 }, /* #58 */
2648 { 0x274b12, 0x274312, 0xd4d8b45ba84037d4, 0x037d46a6c5a2dd42, 0, 44 }, /* #59 */
2649 { 0x095183, 0x095183, 0xfd6aee5444293e18, 0x27c31fd6aee54442, 0, 45 }, /* #60 */
2650 { 0x064d07, 0x064d06, 0x44ae0e38f0bad900, 0x80512b838e3c2eb6, 0, 55 }, /* #61 */
2651 { 0x037e96, 0x037e96, 0x6737863f5c218533, 0x430a666737863f5c, 0, 41 }, /* #62 */
2652 { 0x1e3b43, 0x1e3b42, 0x4057940eb6bbfe91, 0xa075b5dff48d015e, 0, 19 }, /* #63 */
2653};
2654static const BINU64_TEST_T g_aTests_rcr_u64_intel[] =
2655{
2656 { 0x141303, 0x141b02, 0x0000000000000000, 0x0000000200000000, 0, 31 }, /* #0 */
2657 { 0x0b4182, 0x0b4182, 0x0000000000000000, 0x0000000000000000, 0, 63 }, /* #1 */
2658 { 0x1e15c2, 0x1e15c2, 0x0000000000000000, 0x0000000000000000, 0, 11 }, /* #2 */
2659 { 0x2e0083, 0x2e0882, 0x0000000000000000, 0x2000000000000000, 0, 3 }, /* #3 */
2660 { 0x043a07, 0x043a07, 0x50bb1516eb640199, 0xa85d8a8b75b200cc, 0, 1 }, /* #4 */
2661 { 0x371252, 0x371a53, 0xc7b9b09adc92f8ae, 0x8ae63dcd84d6e497, 0, 13 }, /* #5 */
2662 { 0x3b27c7, 0x3b2fc6, 0x41f6c1b067148617, 0x0d8338a430bd07db, 0, 46 }, /* #6 */
2663 { 0x3759d2, 0x3751d2, 0x44942b0a4c88228b, 0x50ac2932208a2c89, 0, 55 }, /* #7 */
2664 { 0x006ec6, 0x006ec7, 0xebae7f500d084fd2, 0xea01a109fa4ebae7, 0, 44 }, /* #8 */
2665 { 0x2d1252, 0x2d1a52, 0xd95b37b7a8eb2823, 0xd9bdbd4759411b65, 0, 54 }, /* #9 */
2666 { 0x286786, 0x286f87, 0x957ec1c51fff1cf1, 0x14abf60e28fff8e7, 0, 5 }, /* #10 */
2667 { 0x2a1847, 0x2a1046, 0xa9a250ffe8e45a35, 0xffe8e45a35d4d128, 0, 41 }, /* #11 */
2668 { 0x3c4993, 0x3c4993, 0x2c1dfa42f0ca65e1, 0x94cbc32c1dfa42f0, 0, 24 }, /* #12 */
2669 { 0x047383, 0x047b82, 0x1915f687c65b9ae5, 0xf8cb735cb1915f68, 0, 36 }, /* #13 */
2670 { 0x266102, 0x266102, 0x5e52ac5bb14308eb, 0xa558b7628611d65e, 0, 56 }, /* #14 */
2671 { 0x1d1c56, 0x1d1c56, 0xf635bc830fb7a341, 0x82f635bc830fb7a3, 0, 8 }, /* #15 */
2672 { 0x014802, 0x014802, 0x9feca15200dfeba2, 0xa9006ff5d127fb28, 0, 42 }, /* #16 */
2673 { 0x392653, 0x392653, 0xce5d4e41c47b8c3c, 0x1879ce5d4e41c47b, 0, 16 }, /* #17 */
2674 { 0x047193, 0x047992, 0x1f78fc594b4918d6, 0xc6b47de3f1652d24, 0, 14 }, /* #18 */
2675 { 0x010c06, 0x010c06, 0x0336ff48b58a14b2, 0x0336ff48b58a14b2, 0, 0 }, /* #19 */
2676 { 0x1a3bd6, 0x1a3bd6, 0xe28e1ad331f6094d, 0xc129ae28e1ad331f, 0, 20 }, /* #20 */
2677 { 0x201317, 0x201317, 0xc828e1f7a97ecda2, 0x7a97ecda2e41470f, 0, 37 }, /* #21 */
2678 { 0x3a4fd3, 0x3a4fd3, 0xb47a95d44ea703e6, 0xb47a95d44ea703e6, 0, 0 }, /* #22 */
2679 { 0x0c74d7, 0x0c74d6, 0xbc976c4ffdeb6ee4, 0xe4de4bb627fef5b7, 0, 9 }, /* #23 */
2680 { 0x1a1f43, 0x1a1f43, 0x0db52637b6797da4, 0xcbed2436d498ded9, 0, 22 }, /* #24 */
2681 { 0x1e2342, 0x1e2b43, 0x98aafcd503f55252, 0x52524c557e6a81fa, 0, 17 }, /* #25 */
2682 { 0x067b42, 0x067343, 0x0286eaf4548051cf, 0x80a1babd15201473, 0, 2 }, /* #26 */
2683 { 0x1b1d17, 0x1b1516, 0xfa48191f23018f70, 0xc7b87e920647c8c0, 0, 18 }, /* #27 */
2684 { 0x206406, 0x206407, 0x19ac66383f01a53e, 0xe034a7c19ac66383, 0, 28 }, /* #28 */
2685 { 0x1540c2, 0x1548c2, 0xae23183ccc5d888c, 0x5d888c57118c1e66, 0, 25 }, /* #29 */
2686 { 0x314113, 0x314112, 0xd2474426383d875b, 0x84c707b0eb7d2474, 0, 44 }, /* #30 */
2687 { 0x004503, 0x004d02, 0x1106fe12a543fec6, 0x7fd8d1106fe12a54, 0, 20 }, /* #31 */
2688 { 0x1a1c92, 0x1a1c93, 0xf6266a5bbc270592, 0x3d899a96ef09c164, 0, 2 }, /* #32 */
2689 { 0x216e06, 0x216606, 0x183041874829aa99, 0x829aa990c1820c3a, 0, 29 }, /* #33 */
2690 { 0x056dd2, 0x0565d3, 0x3b3aabfde031a849, 0xde031a8491d9d55f, 0, 37 }, /* #34 */
2691 { 0x2b3486, 0x2b3c86, 0x9d9cd7c995f61bd8, 0x6be4cafb0dec2767, 0, 50 }, /* #35 */
2692 { 0x2764c3, 0x2764c3, 0xd86de6ae43a5feb5, 0x6bd86de6ae43a5fe, 0, 8 }, /* #36 */
2693 { 0x020b07, 0x020306, 0xe1deb6ea36aeec13, 0x36aeec13f0ef5b75, 0, 33 }, /* #37 */
2694 { 0x2f6257, 0x2f6a57, 0x21e19f221df8b0e7, 0x873c87867c8877e2, 0, 14 }, /* #38 */
2695 { 0x0a6f56, 0x0a6f56, 0xe5e87203e6dc7991, 0xdb8f322e5e87203e, 0, 28 }, /* #39 */
2696 { 0x3a3d43, 0x3a3d42, 0x43a4c1a18be0f23e, 0x62f83c8fa8749834, 0, 35 }, /* #40 */
2697 { 0x3d3302, 0x3d3303, 0x61568ce818b10b23, 0x62164661568ce818, 0, 24 }, /* #41 */
2698 { 0x1e2f86, 0x1e2786, 0x31e6f0cbbd31dc40, 0xc79bc32ef4c77100, 0, 63 }, /* #42 */
2699 { 0x221d17, 0x221516, 0xa402e2d70c326650, 0x34805c5ae1864cca, 0, 3 }, /* #43 */
2700 { 0x2462d2, 0x2462d2, 0x061b3b10c6ab5306, 0xd4c180c3676218d5, 0, 19 }, /* #44 */
2701 { 0x225312, 0x225313, 0x5334d3fcf1d73ba5, 0x3fcf1d73ba5299a6, 0, 45 }, /* #45 */
2702 { 0x123656, 0x123e57, 0xbd89b68a74bb38fb, 0x671f6bd89b68a74b, 0, 20 }, /* #46 */
2703 { 0x2620d3, 0x2620d3, 0xb5ab30faeac1c932, 0x560e4996d6acc3eb, 0, 30 }, /* #47 */
2704 { 0x082d42, 0x082542, 0x615759d06e006bcb, 0x006bcb30abace837, 0, 25 }, /* #48 */
2705 { 0x1b5212, 0x1b5a13, 0xcfe8803a09496b09, 0x2d612cfe8803a094, 0, 20 }, /* #49 */
2706 { 0x1d2e97, 0x1d2e96, 0x221729cb84918de6, 0xb94e5c248c6f3488, 0, 54 }, /* #50 */
2707 { 0x090cd2, 0x090cd3, 0xde263dcba1c1bec1, 0x60b7898f72e8706f, 0, 10 }, /* #51 */
2708 { 0x165b03, 0x165302, 0xcd56b01d00ab7e72, 0xc07402adf9cb9aad, 0, 47 }, /* #52 */
2709 { 0x0b6b12, 0x0b6b13, 0x9a08cfc0265d4cf4, 0x9e89a08cfc0265d4, 0, 12 }, /* #53 */
2710 { 0x191106, 0x191907, 0xae8739e95ae5ff4b, 0x2b5cbfe96ae8739e, 0, 36 }, /* #54 */
2711 { 0x2f22c6, 0x2f22c7, 0x3445f0eacde8ba77, 0x37a2e9dc688be1d5, 0, 31 }, /* #55 */
2712 { 0x0c0456, 0x0c0457, 0x56f84ec6ef0f8ce3, 0x8cadf09d8dde1f19, 0, 7 }, /* #56 */
2713 { 0x190b83, 0x190b83, 0x2e3c1c6c2c193072, 0x1b0b064c1ca5c783, 0, 43 }, /* #57 */
2714 { 0x195347, 0x195b47, 0x0259022a3ebe7e8c, 0xebe7e8c812c81151, 0, 29 }, /* #58 */
2715 { 0x036093, 0x036093, 0xa064e3b5291b0108, 0x5291b0108d03271d, 0, 37 }, /* #59 */
2716 { 0x044e43, 0x044642, 0x85455650bc5deefd, 0x2ef77ee15155942f, 0, 26 }, /* #60 */
2717 { 0x385ed6, 0x3856d7, 0x1de6a962e00f42b5, 0x4b17007a15a8779a, 0, 46 }, /* #61 */
2718 { 0x2f1293, 0x2f1292, 0x9a4d2699ddb8ed99, 0x776e3b667349a4d3, 0, 35 }, /* #62 */
2719 { 0x0239c2, 0x0231c2, 0x6da986a991cc5172, 0x517236d4c354c8e6, 0, 17 }, /* #63 */
2720};
2721static const BINU64_TEST_T g_aTests_shl_u64_intel[] =
2722{
2723 { 0x2f0e02, 0x2f0646, 0x0000000000000000, 0x0000000000000000, 0, 28 }, /* #0 */
2724 { 0x015616, 0x015646, 0x0000000000000000, 0x0000000000000000, 0, 48 }, /* #1 */
2725 { 0x1c6f12, 0x1c6746, 0x0000000000000000, 0x0000000000000000, 0, 22 }, /* #2 */
2726 { 0x0c2cc2, 0x0c2446, 0x0000000000000000, 0x0000000000000000, 0, 50 }, /* #3 */
2727 { 0x116802, 0x116087, 0x0402f353a8f3a165, 0xa8f3a16500000000, 0, 32 }, /* #4 */
2728 { 0x030682, 0x030e06, 0xa80de1fec74b8083, 0x0c00000000000000, 0, 58 }, /* #5 */
2729 { 0x194893, 0x194087, 0xd98f668c8dd42da6, 0x98f668c8dd42da60, 0, 4 }, /* #6 */
2730 { 0x2c01d3, 0x2c0987, 0x9c670ac863011707, 0xc000000000000000, 0, 62 }, /* #7 */
2731 { 0x261f17, 0x261f87, 0xabcf0a0b8e31d37a, 0xe800000000000000, 0, 58 }, /* #8 */
2732 { 0x371602, 0x371686, 0xf8f44a6267400746, 0xc4ce800e8c000000, 0, 25 }, /* #9 */
2733 { 0x295c93, 0x295483, 0xdfdd4c273714d399, 0xfba984e6e29a7320, 0, 5 }, /* #10 */
2734 { 0x173f42, 0x173706, 0xea854d6c20068f10, 0x2a6b610034788000, 0, 11 }, /* #11 */
2735 { 0x275743, 0x275743, 0x666b67385b4fcc65, 0x666b67385b4fcc65, 0, 0 }, /* #12 */
2736 { 0x171c07, 0x171c07, 0xaf6f89fffb6a3f52, 0x4800000000000000, 0, 58 }, /* #13 */
2737 { 0x264f17, 0x264707, 0xd9a755f13b7c5f31, 0x6f8be62000000000, 0, 37 }, /* #14 */
2738 { 0x316317, 0x316b87, 0x6ee8068d1861cf69, 0xda40000000000000, 0, 54 }, /* #15 */
2739 { 0x001fd6, 0x001f06, 0x97f4374c38a672ee, 0x5339770000000000, 0, 39 }, /* #16 */
2740 { 0x0f2942, 0x0f2102, 0x05cdea2cd7a1b35c, 0x2e6f5166bd0d9ae0, 0, 3 }, /* #17 */
2741 { 0x286c16, 0x286407, 0x0b67b5f6ea17be54, 0x7dba85ef95000000, 0, 22 }, /* #18 */
2742 { 0x2e1286, 0x2e1a06, 0xa4b936cb099931dc, 0x4b936cb099931dc0, 0, 4 }, /* #19 */
2743 { 0x2738d3, 0x273803, 0x8ac268d9141e2ee1, 0x61346c8a0f177080, 0, 7 }, /* #20 */
2744 { 0x184d97, 0x184586, 0x13c6a8f61932018c, 0xc000000000000000, 0, 60 }, /* #21 */
2745 { 0x084717, 0x084f07, 0x9b2290d1eea85dc6, 0x7718000000000000, 0, 50 }, /* #22 */
2746 { 0x1144d7, 0x114c47, 0x8e98d8f928b48720, 0x0000000000000000, 0, 59 }, /* #23 */
2747 { 0x0c0dd6, 0x0c0586, 0xc73043c574586af4, 0xc10f15d161abd000, 0, 10 }, /* #24 */
2748 { 0x257792, 0x257f86, 0xa1fc0a59882fdbc9, 0xf240000000000000, 0, 54 }, /* #25 */
2749 { 0x181587, 0x181507, 0x06d7aef8100c9ade, 0x6f00000000000000, 0, 55 }, /* #26 */
2750 { 0x022693, 0x022606, 0x0c9d024998596ac9, 0x049330b2d5920000, 0, 17 }, /* #27 */
2751 { 0x085452, 0x085407, 0xf0e9568262d924a9, 0x0e9568262d924a90, 0, 4 }, /* #28 */
2752 { 0x273093, 0x273006, 0x046990a54c1c9d64, 0x7275900000000000, 0, 42 }, /* #29 */
2753 { 0x2b2c53, 0x2b2486, 0x343797587ceb990a, 0xb0f9d73214000000, 0, 25 }, /* #30 */
2754 { 0x3b7303, 0x3b7b86, 0xaa6cd921326f8571, 0xf857100000000000, 0, 44 }, /* #31 */
2755 { 0x1d4cc2, 0x1d4486, 0x32c6f879082da3c6, 0xcb1be1e420b68f18, 0, 2 }, /* #32 */
2756 { 0x3b5196, 0x3b5986, 0x9366afd2a52ae4b4, 0xae4b400000000000, 0, 44 }, /* #33 */
2757 { 0x194cc2, 0x194407, 0xc455d38c864462a3, 0x38c864462a300000, 0, 20 }, /* #34 */
2758 { 0x3b0e57, 0x3b0606, 0xc8628ad90f2c8ae1, 0x43cb22b840000000, 0, 30 }, /* #35 */
2759 { 0x0d6487, 0x0d6c07, 0xa67d5c3136b28d95, 0x6540000000000000, 0, 54 }, /* #36 */
2760 { 0x3165c2, 0x316d06, 0x9a0f01e19ca59ab6, 0x3394b356c0000000, 0, 29 }, /* #37 */
2761 { 0x393cd2, 0x393486, 0x0e1d0e1238c1558b, 0xaac5800000000000, 0, 47 }, /* #38 */
2762 { 0x0d61c7, 0x0d6987, 0x559c52f4998921ac, 0x98921ac000000000, 0, 36 }, /* #39 */
2763 { 0x190852, 0x190887, 0x568c39c184c9d1e9, 0x873830993a3d2000, 0, 13 }, /* #40 */
2764 { 0x392782, 0x392787, 0x1e99b393dfc3df4c, 0x87be980000000000, 0, 41 }, /* #41 */
2765 { 0x153286, 0x153247, 0x35c51f079150d1ae, 0x0000000000000000, 0, 63 }, /* #42 */
2766 { 0x3a3003, 0x3a3807, 0x890b8e8a2d1d018d, 0x1d018d0000000000, 0, 40 }, /* #43 */
2767 { 0x0b3a82, 0x0b3287, 0xe29da0e7bde5e48d, 0x9234000000000000, 0, 50 }, /* #44 */
2768 { 0x356087, 0x356083, 0xe3c42f41db4e517d, 0xe217a0eda728be80, 0, 7 }, /* #45 */
2769 { 0x343996, 0x343986, 0x8633ffa506c0b37d, 0xfa00000000000000, 0, 57 }, /* #46 */
2770 { 0x056dc3, 0x056d86, 0x96683ce41d556b9e, 0xcd079c83aaad73c0, 0, 5 }, /* #47 */
2771 { 0x256f47, 0x256f06, 0x74023cd446edb01e, 0x376d80f000000000, 0, 35 }, /* #48 */
2772 { 0x054ad2, 0x054a07, 0x804e21a8f0332325, 0x10d4781991928000, 0, 15 }, /* #49 */
2773 { 0x325913, 0x325106, 0x1c008e6492dd4ec0, 0x11cc925ba9d80000, 0, 13 }, /* #50 */
2774 { 0x374a17, 0x374287, 0x23c6654a328f14e6, 0xe332a519478a7300, 0, 7 }, /* #51 */
2775 { 0x285916, 0x285106, 0xf21320bccc1d40fc, 0x4c82f3307503f000, 0, 10 }, /* #52 */
2776 { 0x083612, 0x083e87, 0xa6e60fff32f71096, 0xf997b884b0000000, 0, 27 }, /* #53 */
2777 { 0x1f43c3, 0x1f4b86, 0xb9ed651befc8b852, 0x8df7e45c29000000, 0, 23 }, /* #54 */
2778 { 0x347196, 0x347187, 0x30c459ebdc3a2436, 0x8000000000000000, 0, 62 }, /* #55 */
2779 { 0x0641d6, 0x064187, 0x0a3245dbe04e37e3, 0xb7c09c6fc6000000, 0, 25 }, /* #56 */
2780 { 0x127fc7, 0x127f87, 0x74be2c16e26f993f, 0xbe64fc0000000000, 0, 42 }, /* #57 */
2781 { 0x173f47, 0x173f86, 0x578cfc67caca82b3, 0xcf95950566000000, 0, 25 }, /* #58 */
2782 { 0x270a82, 0x270206, 0xf7aea07d5e7c2272, 0x2272000000000000, 0, 48 }, /* #59 */
2783 { 0x3d4a06, 0x3d4a86, 0xa4233510f35dfda8, 0xa000000000000000, 0, 58 }, /* #60 */
2784 { 0x285c13, 0x285407, 0xcb12a472eca59358, 0x2397652c9ac00000, 0, 19 }, /* #61 */
2785 { 0x072646, 0x072e06, 0x4a7bf05a9b8d2c26, 0x6e34b09800000000, 0, 34 }, /* #62 */
2786 { 0x116496, 0x116c86, 0x5fc6aaa72de4868d, 0xd000000000000000, 0, 60 }, /* #63 */
2787};
2788static const BINU64_TEST_T g_aTests_shr_u64_intel[] =
2789{
2790 { 0x342556, 0x342546, 0x0000000000000000, 0x0000000000000000, 0, 53 }, /* #0 */
2791 { 0x070242, 0x070246, 0x0000000000000000, 0x0000000000000000, 0, 43 }, /* #1 */
2792 { 0x1d6dd2, 0x1d6546, 0x0000000000000000, 0x0000000000000000, 0, 55 }, /* #2 */
2793 { 0x024546, 0x024546, 0x0000000000000000, 0x0000000000000000, 0, 59 }, /* #3 */
2794 { 0x376fc7, 0x376f02, 0x980021b958ae316c, 0x2600086e562b8c5b, 0, 2 }, /* #4 */
2795 { 0x086306, 0x086302, 0x56fe154853974274, 0x15bf855214e5d09d, 0, 2 }, /* #5 */
2796 { 0x096543, 0x096d03, 0x9f136cbac8c75c79, 0x0000000000000013, 0, 59 }, /* #6 */
2797 { 0x333dc2, 0x333d06, 0x94a36a74f8467927, 0x0000000000000009, 0, 60 }, /* #7 */
2798 { 0x0b5fd3, 0x0b5f02, 0xb142f1ce529c97c6, 0x00000058a178e729, 0, 25 }, /* #8 */
2799 { 0x1e3a86, 0x1e3206, 0x696ef95e90d4b481, 0x00000000d2ddf2bd, 0, 31 }, /* #9 */
2800 { 0x323816, 0x323806, 0xd73f56e7762fc06e, 0x00000000000000d7, 0, 56 }, /* #10 */
2801 { 0x322383, 0x322302, 0x58e0a35ed65fdcc9, 0x0000000000001638, 0, 50 }, /* #11 */
2802 { 0x1f2617, 0x1f2603, 0x16ee191657a1dba9, 0x0000000005bb8645, 0, 34 }, /* #12 */
2803 { 0x351517, 0x351d03, 0xee55e28112dff9e3, 0x00000000000001dc, 0, 55 }, /* #13 */
2804 { 0x0d0646, 0x0d0602, 0x409579fb8819c774, 0x000204abcfdc40ce, 0, 13 }, /* #14 */
2805 { 0x312c47, 0x312c02, 0xb0d0d093d1c14846, 0x0000000000000016, 0, 59 }, /* #15 */
2806 { 0x007ed3, 0x007e02, 0xa5f7210e116c1d14, 0x000052fb908708b6, 0, 17 }, /* #16 */
2807 { 0x373ac6, 0x373a02, 0x99ef87e4a38b5f63, 0x0000000000000002, 0, 62 }, /* #17 */
2808 { 0x3e4693, 0x3e4e06, 0xfa98b49c723a6a60, 0x00000000000fa98b, 0, 44 }, /* #18 */
2809 { 0x001416, 0x001402, 0x1086c3da0a3f11bf, 0x0000000000000008, 0, 57 }, /* #19 */
2810 { 0x1c08c6, 0x1c0007, 0x09cd441d483ce812, 0x0000000000000139, 0, 51 }, /* #20 */
2811 { 0x372186, 0x372106, 0x779f0340d2e14d37, 0x000000003bcf81a0, 0, 33 }, /* #21 */
2812 { 0x0f0712, 0x0f0f07, 0xdfc00e59a977cffc, 0x00001bf801cb352e, 0, 19 }, /* #22 */
2813 { 0x2a5f96, 0x2a5f06, 0x9b6d39dffe7af10d, 0x00000000026db4e7, 0, 38 }, /* #23 */
2814 { 0x1f3882, 0x1f3806, 0xafb5412a4c689c22, 0x57daa09526344e11, 0, 1 }, /* #24 */
2815 { 0x151fd7, 0x151703, 0x3b75bafd52720874, 0x01dbadd7ea939043, 0, 5 }, /* #25 */
2816 { 0x3728d6, 0x372802, 0x810c796e7bf1980e, 0x00000000810c796e, 0, 32 }, /* #26 */
2817 { 0x254d12, 0x254d02, 0xbe7eb8c808a2630d, 0x0000000000017cfd, 0, 47 }, /* #27 */
2818 { 0x096203, 0x096a03, 0xd53bfb76a75a1261, 0x00000d53bfb76a75, 0, 20 }, /* #28 */
2819 { 0x032f97, 0x032702, 0x307c60fa9c93701a, 0x000000000000307c, 0, 48 }, /* #29 */
2820 { 0x122192, 0x122907, 0xf5400f59a0d768e3, 0x000000f5400f59a0, 0, 24 }, /* #30 */
2821 { 0x150d86, 0x150d02, 0xb3c3c0fa98dd68a5, 0x000000000059e1e0, 0, 41 }, /* #31 */
2822 { 0x304e13, 0x304606, 0x7a43930c8201c837, 0x0000000000000f48, 0, 51 }, /* #32 */
2823 { 0x0b2dc6, 0x0b2506, 0x7cb51fbdb70416b4, 0x0000007cb51fbdb7, 0, 24 }, /* #33 */
2824 { 0x005dd3, 0x005503, 0x70e8978ace3781e6, 0x00000000e1d12f15, 0, 31 }, /* #34 */
2825 { 0x0c2952, 0x0c2147, 0x1e3e292de7aaacc0, 0x0000000000000000, 0, 61 }, /* #35 */
2826 { 0x0e0c02, 0x0e0c03, 0x947c04db41f8f681, 0x0004a3e026da0fc7, 0, 13 }, /* #36 */
2827 { 0x076e03, 0x076603, 0x0e33dd2429f2c915, 0x000000000000e33d, 0, 44 }, /* #37 */
2828 { 0x172587, 0x172d03, 0xc67f08bbbc89553b, 0x0000000000000c67, 0, 52 }, /* #38 */
2829 { 0x1f4147, 0x1f4902, 0xe078277256d51207, 0x000e078277256d51, 0, 12 }, /* #39 */
2830 { 0x173183, 0x173907, 0x8f7b50d89db504d3, 0x00000000000023de, 0, 50 }, /* #40 */
2831 { 0x2c1913, 0x2c1913, 0x382aa2206dd4130d, 0x382aa2206dd4130d, 0, 0 }, /* #41 */
2832 { 0x0d1086, 0x0d1802, 0xa9f0fdcb003b1b8c, 0x000153e1fb960076, 0, 15 }, /* #42 */
2833 { 0x3b0843, 0x3b0002, 0x2f9f7d3103a1affd, 0x0000000002f9f7d3, 0, 36 }, /* #43 */
2834 { 0x223542, 0x223d06, 0xee0e9ca123ad99c7, 0x000000000003b83a, 0, 46 }, /* #44 */
2835 { 0x004817, 0x004002, 0x4117652d5d52016a, 0x0000000000000104, 0, 54 }, /* #45 */
2836 { 0x083407, 0x083402, 0x0b7a112cad93a6c2, 0x0000002de844b2b6, 0, 22 }, /* #46 */
2837 { 0x021052, 0x021007, 0x6148ff1b06d8d4db, 0x06148ff1b06d8d4d, 0, 4 }, /* #47 */
2838 { 0x121c82, 0x121c02, 0xdc937b9ba09a4388, 0x00000000000001b9, 0, 55 }, /* #48 */
2839 { 0x385956, 0x385102, 0x2648745ee09131c0, 0x0000004c90e8bdc1, 0, 23 }, /* #49 */
2840 { 0x3b3e92, 0x3b3e07, 0xa15c53908a6c1646, 0x00142b8a72114d82, 0, 11 }, /* #50 */
2841 { 0x3c6e06, 0x3c6e06, 0x87d06bf1af7ae9c8, 0x0000000010fa0d7e, 0, 35 }, /* #51 */
2842 { 0x334617, 0x334e07, 0xc8741cc354fda5f6, 0x321d0730d53f697d, 0, 2 }, /* #52 */
2843 { 0x370a17, 0x370202, 0x370e5ca114e80db8, 0x0dc39728453a036e, 0, 2 }, /* #53 */
2844 { 0x2a52c2, 0x2a5a03, 0xfe984e671f01b5bf, 0x0000007f4c27338f, 0, 25 }, /* #54 */
2845 { 0x276b06, 0x276b06, 0xaae8f6ec67fc0aca, 0x000000055747b763, 0, 29 }, /* #55 */
2846 { 0x094913, 0x094902, 0x919d7bdea315e475, 0x0000000000000246, 0, 54 }, /* #56 */
2847 { 0x3912c3, 0x391206, 0x274c2ede0c17c660, 0x0000009d30bb7830, 0, 22 }, /* #57 */
2848 { 0x3c3d92, 0x3c3d06, 0xc7f81d853b97ff5e, 0x00000000000018ff, 0, 51 }, /* #58 */
2849 { 0x393a13, 0x393a06, 0xd508b49e16fdc424, 0x000000035422d278, 0, 30 }, /* #59 */
2850 { 0x163b86, 0x163b03, 0xaf50ae692168409b, 0x0000000000000057, 0, 57 }, /* #60 */
2851 { 0x2241d3, 0x224107, 0x5f2d7152f1d1e2c4, 0x0000000000000005, 0, 60 }, /* #61 */
2852 { 0x183cc3, 0x183402, 0x03f092690e897c73, 0x0000000000000fc2, 0, 46 }, /* #62 */
2853 { 0x2745c3, 0x274502, 0x12051a9e137e85ed, 0x0000000240a353c2, 0, 27 }, /* #63 */
2854};
2855static const BINU64_TEST_T g_aTests_sar_u64_intel[] =
2856{
2857 { 0x2d6c53, 0x2d6446, 0x0000000000000000, 0x0000000000000000, 0, 41 }, /* #0 */
2858 { 0x263cc7, 0x263446, 0x0000000000000000, 0x0000000000000000, 0, 26 }, /* #1 */
2859 { 0x0b3c86, 0x0b3446, 0x0000000000000000, 0x0000000000000000, 0, 26 }, /* #2 */
2860 { 0x165606, 0x165646, 0x0000000000000000, 0x0000000000000000, 0, 56 }, /* #3 */
2861 { 0x114447, 0x114406, 0x6a76a8c2a5c4502c, 0x006a76a8c2a5c450, 0, 8 }, /* #4 */
2862 { 0x3135d7, 0x313503, 0x749386cc93be8185, 0x000000000000000e, 0, 59 }, /* #5 */
2863 { 0x0130c2, 0x013006, 0x4b32f5e438651975, 0x0009665ebc870ca3, 0, 11 }, /* #6 */
2864 { 0x3e32c3, 0x3e3286, 0xb17ebb366f19c297, 0xfffffffffff62fd7, 0, 43 }, /* #7 */
2865 { 0x037297, 0x037286, 0xd4472eccff687c19, 0xffffffffff511cbb, 0, 38 }, /* #8 */
2866 { 0x0b7792, 0x0b7702, 0x1466ee9491c7289a, 0x028cddd29238e513, 0, 3 }, /* #9 */
2867 { 0x2f6793, 0x2f6783, 0xad10129e094f996b, 0xffffad10129e094f, 0, 16 }, /* #10 */
2868 { 0x0a7a83, 0x0a7207, 0x15384119ca1cc4da, 0x000000a9c208ce50, 0, 21 }, /* #11 */
2869 { 0x2b5ed7, 0x2b5ed7, 0xda8238da2be17935, 0xda8238da2be17935, 0, 0 }, /* #12 */
2870 { 0x3e2f87, 0x3e2706, 0x2b7e9269d4db9430, 0x0056fd24d3a9b728, 0, 7 }, /* #13 */
2871 { 0x3c1707, 0x3c1782, 0xee1e22a405458e0e, 0xffff70f115202a2c, 0, 13 }, /* #14 */
2872 { 0x161607, 0x161687, 0x92d9ed79fd4e4d37, 0xfffffff92d9ed79f, 0, 28 }, /* #15 */
2873 { 0x157853, 0x157007, 0x249696a6a8beab36, 0x00000249696a6a8b, 0, 20 }, /* #16 */
2874 { 0x337452, 0x337403, 0x7c108cc634a1904d, 0x0000007c108cc634, 0, 24 }, /* #17 */
2875 { 0x305d16, 0x305586, 0x8a4e69733bb06789, 0xffffc52734b99dd8, 0, 17 }, /* #18 */
2876 { 0x181fd7, 0x181787, 0xd8e8ccbccbf6e612, 0xffffffec74665e65, 0, 25 }, /* #19 */
2877 { 0x3d0f07, 0x3d0746, 0x11228c9ce7a0f228, 0x0000000000000000, 0, 62 }, /* #20 */
2878 { 0x2e4b83, 0x2e4302, 0x1e39368d41876658, 0x03c726d1a830eccb, 0, 3 }, /* #21 */
2879 { 0x135fc3, 0x135702, 0x1e9f9bfa64207f30, 0x00000f4fcdfd3210, 0, 17 }, /* #22 */
2880 { 0x2f7ed2, 0x2f7683, 0xc554649a5149e3d1, 0xffe2aa324d28a4f1, 0, 9 }, /* #23 */
2881 { 0x104ec7, 0x104686, 0x98d2e3c0a4e1e665, 0xfffffffff98d2e3c, 0, 36 }, /* #24 */
2882 { 0x200756, 0x200706, 0x48e8c82094cedbc1, 0x0000000000002474, 0, 49 }, /* #25 */
2883 { 0x1e6c13, 0x1e6403, 0x3a5301c369156989, 0x00001d2980e1b48a, 0, 17 }, /* #26 */
2884 { 0x253883, 0x253083, 0xbb94cb1d1264f9a7, 0xf7729963a24c9f34, 0, 3 }, /* #27 */
2885 { 0x157497, 0x157486, 0xb2865a4829c697ac, 0xfd9432d2414e34bd, 0, 5 }, /* #28 */
2886 { 0x2252c6, 0x225206, 0x0b99417a7ceb21cb, 0x00000002e6505e9f, 0, 26 }, /* #29 */
2887 { 0x236483, 0x236406, 0x5db2f6c235281214, 0x000000bb65ed846a, 0, 23 }, /* #30 */
2888 { 0x3c26d6, 0x3c2607, 0x569b7430f1e2d741, 0x0000000000000569, 0, 52 }, /* #31 */
2889 { 0x1e0d87, 0x1e0583, 0x951c33a9b19441d1, 0xffca8e19d4d8ca20, 0, 9 }, /* #32 */
2890 { 0x010c52, 0x010487, 0xa4e6cdf534ecc7b7, 0xfffffff49cd9bea6, 0, 27 }, /* #33 */
2891 { 0x2624c3, 0x262403, 0x369029d5e87a72fb, 0x0000000000000001, 0, 61 }, /* #34 */
2892 { 0x032246, 0x032287, 0xe9ad806b0d566cb8, 0xfffffffff4d6c035, 0, 33 }, /* #35 */
2893 { 0x1c5a02, 0x1c5282, 0xa78a3392d6c28b02, 0xfffffffffffffffd, 0, 61 }, /* #36 */
2894 { 0x231512, 0x231502, 0x46319433f758888f, 0x0000000008c63286, 0, 35 }, /* #37 */
2895 { 0x2f5c12, 0x2f5402, 0x734264c8b47fca60, 0x0000000000000734, 0, 52 }, /* #38 */
2896 { 0x1c41c6, 0x1c4107, 0x0ce2f4afef069382, 0x0000000000000ce2, 0, 48 }, /* #39 */
2897 { 0x125087, 0x125006, 0x5cec2e1d08cae88e, 0x0000000000000017, 0, 58 }, /* #40 */
2898 { 0x301586, 0x301506, 0x7afa3da7b4df13b6, 0x000000000000000f, 0, 59 }, /* #41 */
2899 { 0x361f47, 0x361787, 0x9c84f31a9d2caa89, 0xce42798d4e965544, 0, 1 }, /* #42 */
2900 { 0x1e1f13, 0x1e1783, 0x99927f1c2fb782df, 0xfffffff99927f1c2, 0, 28 }, /* #43 */
2901 { 0x1d4f03, 0x1d4786, 0x988aed86258981f4, 0xfffffffffffffff3, 0, 59 }, /* #44 */
2902 { 0x221407, 0x221482, 0x88cb8b1d8b42c9b5, 0xfffffffffffffe23, 0, 54 }, /* #45 */
2903 { 0x365816, 0x365086, 0xb35b35d1235654ff, 0xffffb35b35d12356, 0, 16 }, /* #46 */
2904 { 0x182e92, 0x182683, 0xbff3a74c3b91c9af, 0xffffffffffffff7f, 0, 55 }, /* #47 */
2905 { 0x301e53, 0x301683, 0xf18938addfd13546, 0xfc624e2b77f44d51, 0, 2 }, /* #48 */
2906 { 0x103717, 0x103786, 0x9827066c528fc69f, 0xfffffffffffe609c, 0, 46 }, /* #49 */
2907 { 0x2d64d2, 0x2d6487, 0xd167bf99182872b6, 0xfffffd167bf99182, 0, 20 }, /* #50 */
2908 { 0x376197, 0x376183, 0xb6939b1a03013219, 0xffffffffffffdb49, 0, 49 }, /* #51 */
2909 { 0x1d5247, 0x1d5287, 0xd90c49340f642279, 0xffffffb21892681e, 0, 23 }, /* #52 */
2910 { 0x367c42, 0x367403, 0x5a904ce723e36d78, 0x0000000000000016, 0, 58 }, /* #53 */
2911 { 0x2d7152, 0x2d7183, 0xc66856328c514473, 0xffffffffff19a158, 0, 38 }, /* #54 */
2912 { 0x062612, 0x062687, 0xe289f31a1d1536b4, 0xffff144f98d0e8a9, 0, 13 }, /* #55 */
2913 { 0x273b82, 0x273387, 0xbcdeedd693710d2f, 0xfffffffffff79bdd, 0, 43 }, /* #56 */
2914 { 0x317346, 0x317302, 0x15fbecb539543309, 0x000015fbecb53954, 0, 16 }, /* #57 */
2915 { 0x105347, 0x105303, 0x076bd15a7f8fbcf4, 0x00000000000001da, 0, 50 }, /* #58 */
2916 { 0x0e0e97, 0x0e0607, 0x7b169bc118c6dd7a, 0x0000000000000003, 0, 61 }, /* #59 */
2917 { 0x3a03d7, 0x3a0383, 0xbe56fa3e5943bf46, 0xfffef95be8f9650e, 0, 14 }, /* #60 */
2918 { 0x247587, 0x247507, 0x2d68931272801d27, 0x0000000000000005, 0, 59 }, /* #61 */
2919 { 0x3c6cd3, 0x3c6402, 0x5e89ada75062895e, 0x000000005e89ada7, 0, 32 }, /* #62 */
2920 { 0x2d7e56, 0x2d7606, 0x24bf3ce7ec89f263, 0x0000000000000009, 0, 58 }, /* #63 */
2921};
2922
2923
2924#define HAVE_MULDIV_TESTS_INTEL
2925static const MULDIVU8_TEST_T g_aTests_mul_u8_intel[] =
2926{
2927 { 0x362746, 0x362706, 0x0000, 0x0000, 0x00, 0 }, /* #0 */
2928 { 0x360d53, 0x360506, 0x0000, 0x0000, 0x00, 0 }, /* #1 */
2929 { 0x110096, 0x110006, 0x0000, 0x0000, 0x00, 0 }, /* #2 */
2930 { 0x326503, 0x326506, 0x0000, 0x0000, 0x00, 0 }, /* #3 */
2931 { 0x144fd6, 0x144706, 0x366b, 0x0000, 0x00, 0 }, /* #4 */
2932 { 0x1226c7, 0x122606, 0x8936, 0x0000, 0x00, 0 }, /* #5 */
2933 { 0x0b5696, 0x0b5606, 0x469a, 0x0000, 0x00, 0 }, /* #6 */
2934 { 0x396e42, 0x396606, 0xc755, 0x0000, 0x00, 0 }, /* #7 */
2935 { 0x303602, 0x303e03, 0xd8b4, 0xa320, 0xe8, 0 }, /* #8 */
2936 { 0x084dd2, 0x084d07, 0x4367, 0x2165, 0x53, 0 }, /* #9 */
2937 { 0x357ed3, 0x357e07, 0x7490, 0x6a50, 0xbd, 0 }, /* #10 */
2938 { 0x1e5156, 0x1e5987, 0xc72e, 0x1dd4, 0xa6, 0 }, /* #11 */
2939 { 0x0f36c3, 0x0f3e83, 0xe0ea, 0x40e6, 0x47, 0 }, /* #12 */
2940 { 0x1d0856, 0x1d0803, 0x22c1, 0x6445, 0x85, 0 }, /* #13 */
2941 { 0x1d3016, 0x1d3803, 0x9ad3, 0x903d, 0xaf, 0 }, /* #14 */
2942 { 0x0e3c86, 0x0e3c03, 0x1b17, 0x0508, 0x38, 0 }, /* #15 */
2943 { 0x356ed2, 0x356e07, 0xa437, 0x0a50, 0x30, 0 }, /* #16 */
2944 { 0x1c30d3, 0x1c3086, 0xc501, 0x00aa, 0xaa, 0 }, /* #17 */
2945 { 0x1e7056, 0x1e7883, 0xf5ab, 0x10b3, 0x19, 0 }, /* #18 */
2946 { 0x051497, 0x051c87, 0xce30, 0x12f0, 0x65, 0 }, /* #19 */
2947 { 0x0a6d46, 0x0a6d87, 0x2599, 0x59a6, 0x96, 0 }, /* #20 */
2948 { 0x253417, 0x253c83, 0x2d51, 0x46e0, 0xe0, 0 }, /* #21 */
2949 { 0x0d5492, 0x0d5c03, 0x30ed, 0x8376, 0x8e, 0 }, /* #22 */
2950 { 0x3c5d12, 0x3c5d83, 0x61b2, 0x1bd0, 0x28, 0 }, /* #23 */
2951 { 0x115787, 0x115f87, 0xf225, 0x01e1, 0x0d, 0 }, /* #24 */
2952 { 0x3a3397, 0x3a3b87, 0xf0b6, 0x73e2, 0xa3, 0 }, /* #25 */
2953 { 0x372196, 0x372903, 0x27bd, 0x6e01, 0x95, 0 }, /* #26 */
2954 { 0x011856, 0x011002, 0x5001, 0x0067, 0x67, 0 }, /* #27 */
2955 { 0x276c13, 0x276c07, 0xd9c2, 0x0f28, 0x14, 0 }, /* #28 */
2956 { 0x1a4047, 0x1a4883, 0x257b, 0x1fb6, 0x42, 0 }, /* #29 */
2957 { 0x383f97, 0x383f03, 0x469c, 0x7770, 0xc4, 0 }, /* #30 */
2958 { 0x3959c6, 0x395903, 0x249a, 0x9832, 0xfd, 0 }, /* #31 */
2959 { 0x225002, 0x225887, 0xce20, 0x0ec0, 0x76, 0 }, /* #32 */
2960 { 0x1f1c12, 0x1f1c03, 0x126e, 0x3a70, 0x88, 0 }, /* #33 */
2961 { 0x132bd3, 0x132b87, 0x306b, 0x40c9, 0x9b, 0 }, /* #34 */
2962 { 0x2a6a92, 0x2a6a83, 0x32fb, 0x71bc, 0x74, 0 }, /* #35 */
2963 { 0x1c5387, 0x1c5b03, 0xf56f, 0x6120, 0xe0, 0 }, /* #36 */
2964 { 0x3d1787, 0x3d1f83, 0x2e71, 0x128a, 0x2a, 0 }, /* #37 */
2965 { 0x1557d7, 0x155f07, 0x489f, 0x3f5a, 0x66, 0 }, /* #38 */
2966 { 0x255cc2, 0x255c87, 0xba8d, 0x63b1, 0xb5, 0 }, /* #39 */
2967 { 0x105482, 0x105c87, 0x4448, 0x0ea0, 0x34, 0 }, /* #40 */
2968 { 0x023252, 0x023a07, 0xb14b, 0x0465, 0x0f, 0 }, /* #41 */
2969 { 0x3c6b92, 0x3c6b07, 0xf79b, 0x367e, 0x5a, 0 }, /* #42 */
2970 { 0x365f97, 0x365f07, 0xb9f1, 0x3003, 0x33, 0 }, /* #43 */
2971 { 0x3a59c7, 0x3a5907, 0xb0e5, 0xe336, 0xfe, 0 }, /* #44 */
2972 { 0x2b5cd3, 0x2b5c03, 0xf85b, 0x116b, 0x31, 0 }, /* #45 */
2973 { 0x154843, 0x154803, 0xcfb3, 0x1015, 0x17, 0 }, /* #46 */
2974 { 0x0d6ac7, 0x0d6a07, 0xcea7, 0x471b, 0x6d, 0 }, /* #47 */
2975 { 0x3146d3, 0x314e03, 0xee55, 0x0f46, 0x2e, 0 }, /* #48 */
2976 { 0x0c3e06, 0x0c3e87, 0x50a7, 0x23e1, 0x37, 0 }, /* #49 */
2977 { 0x362186, 0x362903, 0x8b1e, 0x1734, 0xc6, 0 }, /* #50 */
2978 { 0x106606, 0x106e07, 0x5305, 0x027b, 0x7f, 0 }, /* #51 */
2979 { 0x231bd6, 0x231b87, 0xa6f9, 0x47fa, 0x4a, 0 }, /* #52 */
2980 { 0x0f2743, 0x0f2f03, 0xa5d1, 0x5b70, 0x70, 0 }, /* #53 */
2981 { 0x160b53, 0x160b83, 0xcda9, 0x1bba, 0x2a, 0 }, /* #54 */
2982 { 0x0651c2, 0x065987, 0x4acd, 0xadc5, 0xd9, 0 }, /* #55 */
2983 { 0x3870c6, 0x387887, 0x1aeb, 0xbfdb, 0xd1, 0 }, /* #56 */
2984 { 0x331592, 0x331d87, 0x708c, 0x19b4, 0x2f, 0 }, /* #57 */
2985 { 0x197cd2, 0x197c07, 0xf178, 0x7350, 0xf6, 0 }, /* #58 */
2986 { 0x3070d3, 0x307883, 0xbdf0, 0x9ab0, 0xa5, 0 }, /* #59 */
2987 { 0x2d4416, 0x2d4c07, 0x2038, 0x3330, 0xea, 0 }, /* #60 */
2988 { 0x321d16, 0x321d07, 0xb8ad, 0x164d, 0x21, 0 }, /* #61 */
2989 { 0x181547, 0x181d07, 0x3547, 0x450f, 0xf9, 0 }, /* #62 */
2990 { 0x157517, 0x157d07, 0x8754, 0x0c24, 0x25, 0 }, /* #63 */
2991};
2992static const MULDIVU8_TEST_T g_aTests_imul_u8_intel[] =
2993{
2994 { 0x1c0013, 0x1c0006, 0x0000, 0x0000, 0x00, 0 }, /* #0 */
2995 { 0x217742, 0x217706, 0x0000, 0x0000, 0x00, 0 }, /* #1 */
2996 { 0x003c13, 0x003406, 0x0000, 0x0000, 0x00, 0 }, /* #2 */
2997 { 0x313a47, 0x313206, 0x0000, 0x0000, 0x00, 0 }, /* #3 */
2998 { 0x037092, 0x037006, 0x76fc, 0x0000, 0x00, 0 }, /* #4 */
2999 { 0x110086, 0x110006, 0x28cd, 0x0000, 0x00, 0 }, /* #5 */
3000 { 0x3075d2, 0x307506, 0x3369, 0x0000, 0x00, 0 }, /* #6 */
3001 { 0x3404c6, 0x340406, 0x02de, 0x0000, 0x00, 0 }, /* #7 */
3002 { 0x1c4502, 0x1c4d07, 0xce8f, 0xde74, 0x4c, 0 }, /* #8 */
3003 { 0x323003, 0x323002, 0x9302, 0x0020, 0x10, 0 }, /* #9 */
3004 { 0x364213, 0x364a83, 0x8b95, 0x08c7, 0xeb, 0 }, /* #10 */
3005 { 0x120103, 0x120907, 0x4c28, 0xfb28, 0xe1, 0 }, /* #11 */
3006 { 0x1c2456, 0x1c2c83, 0xd2e6, 0xfbd6, 0x29, 0 }, /* #12 */
3007 { 0x151c87, 0x151c83, 0x8567, 0xd7c4, 0x9c, 0 }, /* #13 */
3008 { 0x164c46, 0x164482, 0xe4fc, 0xffc8, 0x0e, 0 }, /* #14 */
3009 { 0x135882, 0x135887, 0x309e, 0x2df0, 0x88, 0 }, /* #15 */
3010 { 0x387243, 0x387a87, 0x46da, 0x06fa, 0xd1, 0 }, /* #16 */
3011 { 0x035a86, 0x035a03, 0x3ddd, 0x0604, 0xd4, 0 }, /* #17 */
3012 { 0x224b57, 0x224b83, 0x0828, 0x00c8, 0x05, 0 }, /* #18 */
3013 { 0x000dc7, 0x000d83, 0x5d37, 0x0d89, 0x3f, 0 }, /* #19 */
3014 { 0x173646, 0x173e83, 0x4133, 0x0dbf, 0x45, 0 }, /* #20 */
3015 { 0x113a96, 0x113206, 0xea9a, 0x0066, 0xff, 0 }, /* #21 */
3016 { 0x3337c2, 0x333f83, 0xfba2, 0x239e, 0x9f, 0 }, /* #22 */
3017 { 0x3e4ed7, 0x3e4e07, 0x9e7a, 0xfb3c, 0xf6, 0 }, /* #23 */
3018 { 0x290f17, 0x290f07, 0x66d1, 0xeb41, 0x71, 0 }, /* #24 */
3019 { 0x2145c6, 0x214d03, 0x1194, 0xdb4c, 0x57, 0 }, /* #25 */
3020 { 0x197a07, 0x197a07, 0x376e, 0x1130, 0x28, 0 }, /* #26 */
3021 { 0x135942, 0x135907, 0x4303, 0xff22, 0xb6, 0 }, /* #27 */
3022 { 0x372806, 0x372887, 0xde0b, 0xfbb4, 0x9c, 0 }, /* #28 */
3023 { 0x1e5792, 0x1e5f87, 0x0e20, 0xfea0, 0xf5, 0 }, /* #29 */
3024 { 0x1874c7, 0x187c07, 0xbc94, 0xe56c, 0x3f, 0 }, /* #30 */
3025 { 0x3275c7, 0x327d83, 0x8d59, 0x21b9, 0x61, 0 }, /* #31 */
3026 { 0x194dd6, 0x194d87, 0x098f, 0xebb2, 0x2e, 0 }, /* #32 */
3027 { 0x026b83, 0x026b03, 0xe0a9, 0x1926, 0xb6, 0 }, /* #33 */
3028 { 0x197d53, 0x197d87, 0xb23d, 0xe681, 0x95, 0 }, /* #34 */
3029 { 0x0d2502, 0x0d2d03, 0xfed0, 0x0e70, 0xb3, 0 }, /* #35 */
3030 { 0x1a0953, 0x1a0987, 0xe35e, 0xde96, 0xa5, 0 }, /* #36 */
3031 { 0x370702, 0x370f07, 0xb7b5, 0xee21, 0x3d, 0 }, /* #37 */
3032 { 0x0b3c07, 0x0b3c87, 0xe7db, 0x0ebe, 0x9a, 0 }, /* #38 */
3033 { 0x3b3c86, 0x3b3c83, 0xaebf, 0xebb0, 0x50, 0 }, /* #39 */
3034 { 0x1343c3, 0x134b07, 0xc6c3, 0xe869, 0x63, 0 }, /* #40 */
3035 { 0x1678c6, 0x167883, 0x7b15, 0xfaea, 0xc2, 0 }, /* #41 */
3036 { 0x333c13, 0x333c83, 0x78ea, 0xf5b0, 0x78, 0 }, /* #42 */
3037 { 0x202ed7, 0x202e07, 0x4876, 0xde5a, 0xb7, 0 }, /* #43 */
3038 { 0x227452, 0x227c83, 0xf1f2, 0x0586, 0x9b, 0 }, /* #44 */
3039 { 0x1d6512, 0x1d6d83, 0x2b8e, 0x25da, 0xab, 0 }, /* #45 */
3040 { 0x144953, 0x144987, 0xb3b2, 0xedb8, 0x3c, 0 }, /* #46 */
3041 { 0x1c5712, 0x1c5f07, 0xec3c, 0x0618, 0x1a, 0 }, /* #47 */
3042 { 0x0919c7, 0x091903, 0xdedf, 0xf33d, 0x63, 0 }, /* #48 */
3043 { 0x3e0456, 0x3e0c87, 0x2164, 0xe188, 0xb2, 0 }, /* #49 */
3044 { 0x2d0dd6, 0x2d0d83, 0x4405, 0x01fe, 0x66, 0 }, /* #50 */
3045 { 0x255ed2, 0x255e07, 0x1451, 0x097e, 0x1e, 0 }, /* #51 */
3046 { 0x070d12, 0x070d83, 0xacf6, 0xfc86, 0x59, 0 }, /* #52 */
3047 { 0x283393, 0x283b83, 0x1fc8, 0xef98, 0x4b, 0 }, /* #53 */
3048 { 0x2d0143, 0x2d0903, 0xb7bf, 0xf75e, 0x22, 0 }, /* #54 */
3049 { 0x084503, 0x084d87, 0x5e96, 0xd8aa, 0x5f, 0 }, /* #55 */
3050 { 0x352c52, 0x352c03, 0x0e10, 0xf840, 0x84, 0 }, /* #56 */
3051 { 0x167e43, 0x167e07, 0x38db, 0xfb60, 0x20, 0 }, /* #57 */
3052 { 0x114b46, 0x114b87, 0x7385, 0xe1bb, 0x3f, 0 }, /* #58 */
3053 { 0x0d4c96, 0x0d4c07, 0x71ec, 0xfb00, 0x40, 0 }, /* #59 */
3054 { 0x045382, 0x045b83, 0x333a, 0x1586, 0x5f, 0 }, /* #60 */
3055 { 0x325ed6, 0x325606, 0x6417, 0x0000, 0x00, 0 }, /* #61 */
3056 { 0x067e06, 0x067e87, 0x90f9, 0xfce2, 0x72, 0 }, /* #62 */
3057 { 0x3463d6, 0x346b87, 0x249d, 0x0b9a, 0xe2, 0 }, /* #63 */
3058};
3059static const MULDIVU8_TEST_T g_aTests_div_u8_intel[] =
3060{
3061 { 0x203a12, 0x203a12, 0x0000, 0x0000, 0x00, -1 }, /* #0 */
3062 { 0x257b82, 0x257b82, 0x0000, 0x0000, 0x00, -1 }, /* #1 */
3063 { 0x347a93, 0x347a93, 0x0000, 0x0000, 0x00, -1 }, /* #2 */
3064 { 0x276552, 0x276552, 0x0000, 0x0000, 0x00, -1 }, /* #3 */
3065 { 0x356553, 0x356553, 0xb94c, 0xb94c, 0x00, -1 }, /* #4 */
3066 { 0x141a06, 0x141a06, 0x41f5, 0x41f5, 0x00, -1 }, /* #5 */
3067 { 0x2f7616, 0x2f7616, 0xeef5, 0xeef5, 0x00, -1 }, /* #6 */
3068 { 0x001096, 0x001096, 0x9989, 0x9989, 0x00, -1 }, /* #7 */
3069 { 0x0a1e82, 0x0a1e82, 0xebc2, 0xebc2, 0xe8, -1 }, /* #8 */
3070 { 0x1f6cc6, 0x1f6cc6, 0x8086, 0x62ec, 0x8b, 0 }, /* #9 */
3071 { 0x3301d6, 0x3301d6, 0x1556, 0x1622, 0xa0, 0 }, /* #10 */
3072 { 0x235a57, 0x235a57, 0x3343, 0x3343, 0x30, -1 }, /* #11 */
3073 { 0x277d87, 0x277d87, 0x8882, 0x8882, 0x0d, -1 }, /* #12 */
3074 { 0x342fd3, 0x342fd3, 0x7a9e, 0x7a9e, 0x6c, -1 }, /* #13 */
3075 { 0x174b92, 0x174b92, 0x8656, 0x8656, 0x84, -1 }, /* #14 */
3076 { 0x027617, 0x027617, 0x9619, 0x9619, 0x02, -1 }, /* #15 */
3077 { 0x101dc6, 0x101dc6, 0x3844, 0x045a, 0xa0, 0 }, /* #16 */
3078 { 0x354d86, 0x354d86, 0x84e8, 0x84e8, 0x61, -1 }, /* #17 */
3079 { 0x2b2b16, 0x2b2b16, 0x8f05, 0x20e9, 0x9d, 0 }, /* #18 */
3080 { 0x027a97, 0x027a97, 0x7784, 0x06a1, 0xbe, 0 }, /* #19 */
3081 { 0x1a3907, 0x1a3907, 0xb7c2, 0xb7c2, 0x3c, -1 }, /* #20 */
3082 { 0x3d6f46, 0x3d6f46, 0xc1e6, 0xc1e6, 0xa0, -1 }, /* #21 */
3083 { 0x0c0297, 0x0c0297, 0x4b60, 0xc858, 0xd9, 0 }, /* #22 */
3084 { 0x382417, 0x382417, 0x2a83, 0x5d41, 0xa6, 0 }, /* #23 */
3085 { 0x246c92, 0x246c92, 0x39df, 0x1957, 0xaa, 0 }, /* #24 */
3086 { 0x117706, 0x117706, 0xa824, 0x18b4, 0xef, 0 }, /* #25 */
3087 { 0x203d06, 0x203d06, 0x7132, 0x4fa9, 0xab, 0 }, /* #26 */
3088 { 0x0b3c03, 0x0b3c03, 0x44e9, 0x13b2, 0x63, 0 }, /* #27 */
3089 { 0x094583, 0x094583, 0x76eb, 0x0e93, 0xcf, 0 }, /* #28 */
3090 { 0x165c17, 0x165c17, 0xa11b, 0xa11b, 0x4f, -1 }, /* #29 */
3091 { 0x280e42, 0x280e42, 0x2d16, 0x1630, 0xf0, 0 }, /* #30 */
3092 { 0x275657, 0x275657, 0x08e7, 0x2738, 0x28, 0 }, /* #31 */
3093 { 0x325c13, 0x325c13, 0x62ee, 0x2a81, 0xc4, 0 }, /* #32 */
3094 { 0x085e97, 0x085e97, 0x680e, 0x67b7, 0x91, 0 }, /* #33 */
3095 { 0x310f13, 0x310f13, 0x0f6d, 0x07db, 0x12, 0 }, /* #34 */
3096 { 0x007112, 0x007112, 0x439c, 0x6a7a, 0x8d, 0 }, /* #35 */
3097 { 0x045902, 0x045902, 0x7a9b, 0x12f7, 0x7f, 0 }, /* #36 */
3098 { 0x0c7a16, 0x0c7a16, 0x393a, 0x315d, 0x9d, 0 }, /* #37 */
3099 { 0x3f3592, 0x3f3592, 0xb916, 0x84fa, 0xbd, 0 }, /* #38 */
3100 { 0x036096, 0x036096, 0xcdec, 0xcdec, 0x19, -1 }, /* #39 */
3101 { 0x3d5f47, 0x3d5f47, 0x3645, 0x5d8a, 0x64, 0 }, /* #40 */
3102 { 0x1d4b53, 0x1d4b53, 0x774a, 0x774a, 0x05, -1 }, /* #41 */
3103 { 0x041f16, 0x041f16, 0x417a, 0x0197, 0x6f, 0 }, /* #42 */
3104 { 0x386147, 0x386147, 0x1849, 0x1849, 0x0a, -1 }, /* #43 */
3105 { 0x2d3147, 0x2d3147, 0xa994, 0xa994, 0x85, -1 }, /* #44 */
3106 { 0x233257, 0x233257, 0xf798, 0xf798, 0x99, -1 }, /* #45 */
3107 { 0x1d4986, 0x1d4986, 0x1892, 0x6b1b, 0xe5, 0 }, /* #46 */
3108 { 0x0349c6, 0x0349c6, 0x6066, 0x7e7c, 0xc6, 0 }, /* #47 */
3109 { 0x3f1d13, 0x3f1d13, 0x46b9, 0x0a4d, 0xeb, 0 }, /* #48 */
3110 { 0x090006, 0x090006, 0x60af, 0x0d85, 0xba, 0 }, /* #49 */
3111 { 0x114743, 0x114743, 0xd99d, 0x0dec, 0xec, 0 }, /* #50 */
3112 { 0x3b2297, 0x3b2297, 0x6669, 0x7970, 0xe9, 0 }, /* #51 */
3113 { 0x3d4dd3, 0x3d4dd3, 0x192d, 0x073a, 0x6f, 0 }, /* #52 */
3114 { 0x0302d7, 0x0302d7, 0xc89b, 0xc89b, 0x0d, -1 }, /* #53 */
3115 { 0x0c1e97, 0x0c1e97, 0xdea7, 0xade7, 0xf6, 0 }, /* #54 */
3116 { 0x182502, 0x182502, 0x698b, 0x7398, 0xb1, 0 }, /* #55 */
3117 { 0x3b3d07, 0x3b3d07, 0x6135, 0x2172, 0xda, 0 }, /* #56 */
3118 { 0x0a6707, 0x0a6707, 0x0fb7, 0x2d11, 0xea, 0 }, /* #57 */
3119 { 0x003f56, 0x003f56, 0xdef9, 0xdef9, 0xc3, -1 }, /* #58 */
3120 { 0x3547c7, 0x3547c7, 0x6e41, 0xa573, 0xf4, 0 }, /* #59 */
3121 { 0x151402, 0x151402, 0xbd0c, 0xbd0c, 0xb1, -1 }, /* #60 */
3122 { 0x124396, 0x124396, 0x28e6, 0x124e, 0x86, 0 }, /* #61 */
3123 { 0x123243, 0x123243, 0x1d48, 0x4763, 0x4b, 0 }, /* #62 */
3124 { 0x3654d6, 0x3654d6, 0xd081, 0x52ff, 0xd1, 0 }, /* #63 */
3125};
3126static const MULDIVU8_TEST_T g_aTests_idiv_u8_intel[] =
3127{
3128 { 0x2f51c3, 0x2f51c3, 0x0000, 0x0000, 0x00, -1 }, /* #0 */
3129 { 0x154257, 0x154257, 0x0000, 0x0000, 0x00, -1 }, /* #1 */
3130 { 0x062713, 0x062713, 0x0000, 0x0000, 0x00, -1 }, /* #2 */
3131 { 0x2f6087, 0x2f6087, 0x0000, 0x0000, 0x00, -1 }, /* #3 */
3132 { 0x222312, 0x222312, 0xba69, 0xba69, 0x00, -1 }, /* #4 */
3133 { 0x1f4413, 0x1f4413, 0x5709, 0x5709, 0x00, -1 }, /* #5 */
3134 { 0x003fc3, 0x003fc3, 0x7334, 0x7334, 0x00, -1 }, /* #6 */
3135 { 0x157207, 0x157207, 0xda1b, 0xda1b, 0x00, -1 }, /* #7 */
3136 { 0x3e4e87, 0x3e4e87, 0xce60, 0xce60, 0xd2, -1 }, /* #8 */
3137 { 0x3b1347, 0x3b1347, 0x43bb, 0x43bb, 0x4f, -1 }, /* #9 */
3138 { 0x386b92, 0x386b92, 0xdbf1, 0xcda6, 0x66, 0 }, /* #10 */
3139 { 0x0e7303, 0x0e7303, 0x454d, 0x454d, 0x76, -1 }, /* #11 */
3140 { 0x343ad3, 0x343ad3, 0x164c, 0x045c, 0x3e, 0 }, /* #12 */
3141 { 0x362dc7, 0x362dc7, 0xf511, 0xc931, 0xc8, 0 }, /* #13 */
3142 { 0x223486, 0x223486, 0xb4d2, 0xb4d2, 0xf6, -1 }, /* #14 */
3143 { 0x144d06, 0x144d06, 0xb5b7, 0xb5b7, 0x37, -1 }, /* #15 */
3144 { 0x1b6002, 0x1b6002, 0x9f3c, 0x9f3c, 0x37, -1 }, /* #16 */
3145 { 0x1f6802, 0x1f6802, 0xffb6, 0xb600, 0x81, 0 }, /* #17 */
3146 { 0x273543, 0x273543, 0xbb32, 0xbb32, 0x36, -1 }, /* #18 */
3147 { 0x1c3c06, 0x1c3c06, 0x2efe, 0x3387, 0x9d, 0 }, /* #19 */
3148 { 0x1b4106, 0x1b4106, 0x06e2, 0x06e2, 0xfa, -1 }, /* #20 */
3149 { 0x3e1617, 0x3e1617, 0x626e, 0x626e, 0xf5, -1 }, /* #21 */
3150 { 0x381513, 0x381513, 0x091b, 0x1b48, 0x20, 0 }, /* #22 */
3151 { 0x0f2087, 0x0f2087, 0x5c11, 0x5c11, 0x45, -1 }, /* #23 */
3152 { 0x243543, 0x243543, 0x0428, 0x2c0c, 0x55, 0 }, /* #24 */
3153 { 0x123703, 0x123703, 0x8ca7, 0x8ca7, 0xdf, -1 }, /* #25 */
3154 { 0x1a3f12, 0x1a3f12, 0x8713, 0x8713, 0x39, -1 }, /* #26 */
3155 { 0x331f83, 0x331f83, 0x1477, 0x2dcb, 0x9e, 0 }, /* #27 */
3156 { 0x345993, 0x345993, 0x91c8, 0x91c8, 0x45, -1 }, /* #28 */
3157 { 0x384f06, 0x384f06, 0x9982, 0x9982, 0xd6, -1 }, /* #29 */
3158 { 0x2a7502, 0x2a7502, 0xfbd5, 0xf52c, 0xe8, 0 }, /* #30 */
3159 { 0x310cd2, 0x310cd2, 0x7c1f, 0x7c1f, 0x26, -1 }, /* #31 */
3160 { 0x0c25c2, 0x0c25c2, 0xd35e, 0xe68e, 0x64, 0 }, /* #32 */
3161 { 0x0a3c12, 0x0a3c12, 0xb23f, 0xb23f, 0x9e, -1 }, /* #33 */
3162 { 0x2c0a92, 0x2c0a92, 0x0653, 0x6ff3, 0x8c, 0 }, /* #34 */
3163 { 0x292e56, 0x292e56, 0xeb34, 0xb73b, 0xa7, 0 }, /* #35 */
3164 { 0x110f57, 0x110f57, 0xc548, 0xc548, 0x94, -1 }, /* #36 */
3165 { 0x346397, 0x346397, 0xca39, 0xca39, 0xde, -1 }, /* #37 */
3166 { 0x371096, 0x371096, 0xd7bc, 0xb689, 0x56, 0 }, /* #38 */
3167 { 0x3c2653, 0x3c2653, 0x8ea4, 0x8ea4, 0xbf, -1 }, /* #39 */
3168 { 0x073846, 0x073846, 0xfed1, 0xf1ee, 0x10, 0 }, /* #40 */
3169 { 0x382a42, 0x382a42, 0xbd0a, 0xbd0a, 0x46, -1 }, /* #41 */
3170 { 0x2d3d46, 0x2d3d46, 0xd92f, 0xc6a7, 0x6f, 0 }, /* #42 */
3171 { 0x0c0dc7, 0x0c0dc7, 0x0020, 0x2000, 0xb5, 0 }, /* #43 */
3172 { 0x227017, 0x227017, 0x7f76, 0x7f76, 0xc9, -1 }, /* #44 */
3173 { 0x1f1796, 0x1f1796, 0x8239, 0x8239, 0xb9, -1 }, /* #45 */
3174 { 0x044392, 0x044392, 0xd2f3, 0xd2f3, 0xf3, -1 }, /* #46 */
3175 { 0x336952, 0x336952, 0x7ed0, 0x7ed0, 0x59, -1 }, /* #47 */
3176 { 0x0d3fd2, 0x0d3fd2, 0x3567, 0x3567, 0x31, -1 }, /* #48 */
3177 { 0x0f5fc2, 0x0f5fc2, 0x4443, 0x4443, 0xb1, -1 }, /* #49 */
3178 { 0x264c02, 0x264c02, 0x2a3a, 0x005e, 0x73, 0 }, /* #50 */
3179 { 0x2d0302, 0x2d0302, 0x7068, 0x7068, 0xe5, -1 }, /* #51 */
3180 { 0x1a51d6, 0x1a51d6, 0x9751, 0x9751, 0x73, -1 }, /* #52 */
3181 { 0x177096, 0x177096, 0x5d05, 0x5d05, 0xad, -1 }, /* #53 */
3182 { 0x065496, 0x065496, 0x9a26, 0x9a26, 0xc1, -1 }, /* #54 */
3183 { 0x270fc2, 0x270fc2, 0x8426, 0x8426, 0x6d, -1 }, /* #55 */
3184 { 0x235fd6, 0x235fd6, 0x356e, 0x356e, 0xd0, -1 }, /* #56 */
3185 { 0x0f60d3, 0x0f60d3, 0x488e, 0x488e, 0xb5, -1 }, /* #57 */
3186 { 0x3b5957, 0x3b5957, 0x0e38, 0x28dc, 0x9c, 0 }, /* #58 */
3187 { 0x3b3252, 0x3b3252, 0x4156, 0x4156, 0x54, -1 }, /* #59 */
3188 { 0x396552, 0x396552, 0x1091, 0x07c6, 0xb7, 0 }, /* #60 */
3189 { 0x305f16, 0x305f16, 0x1c81, 0x1c81, 0xdd, -1 }, /* #61 */
3190 { 0x351ec3, 0x351ec3, 0x8eb6, 0x8eb6, 0x78, -1 }, /* #62 */
3191 { 0x064383, 0x064383, 0x7f07, 0x7f07, 0xf5, -1 }, /* #63 */
3192};
3193static const MULDIVU16_TEST_T g_aTests_mul_u16_intel[] =
3194{
3195 { 0x343cd6, 0x343406, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #0 */
3196 { 0x251fd6, 0x251706, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #1 */
3197 { 0x3e1b06, 0x3e1306, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #2 */
3198 { 0x123217, 0x123206, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #3 */
3199 { 0x394516, 0x394506, 0x53a7, 0x0000, 0x6951, 0x0000, 0x0000, 0 }, /* #4 */
3200 { 0x302956, 0x302106, 0xaffb, 0x0000, 0x1552, 0x0000, 0x0000, 0 }, /* #5 */
3201 { 0x132242, 0x132206, 0x1b17, 0x0000, 0x6452, 0x0000, 0x0000, 0 }, /* #6 */
3202 { 0x123516, 0x123506, 0xce25, 0x0000, 0x35ef, 0x0000, 0x0000, 0 }, /* #7 */
3203 { 0x311916, 0x311903, 0x9dc9, 0x2237, 0xfdfd, 0x7656, 0xbfff, 0 }, /* #8 */
3204 { 0x0466d2, 0x046e87, 0xf45b, 0xb3e1, 0x1506, 0xf1eb, 0xfd73, 0 }, /* #9 */
3205 { 0x332592, 0x332d87, 0xa816, 0xa16c, 0x54e5, 0x7cac, 0xbde2, 0 }, /* #10 */
3206 { 0x282ed3, 0x282e87, 0x9e9c, 0xee9c, 0x1cef, 0x7e64, 0xcc01, 0 }, /* #11 */
3207 { 0x0a5717, 0x0a5f03, 0x26a9, 0x5086, 0x80ac, 0x1f1f, 0xce16, 0 }, /* #12 */
3208 { 0x3c1707, 0x3c1f07, 0x440d, 0x6656, 0x3f47, 0x3a87, 0xdc2e, 0 }, /* #13 */
3209 { 0x371702, 0x371f03, 0x055b, 0x523b, 0xad94, 0x0099, 0x1ca1, 0 }, /* #14 */
3210 { 0x2b4743, 0x2b4f83, 0x0bed, 0xaa10, 0xab36, 0x0836, 0xb050, 0 }, /* #15 */
3211 { 0x0a7cd2, 0x0a7c03, 0xec0e, 0x2120, 0x55d7, 0x4169, 0x46f0, 0 }, /* #16 */
3212 { 0x273593, 0x273d03, 0xdc7e, 0x1b2c, 0xdab4, 0x9f44, 0xb8ea, 0 }, /* #17 */
3213 { 0x0035c6, 0x003d87, 0x7700, 0xc800, 0x84d6, 0x2fa1, 0x6678, 0 }, /* #18 */
3214 { 0x0c2f12, 0x0c2f03, 0x9c17, 0x7179, 0x2a9e, 0x0572, 0x08ef, 0 }, /* #19 */
3215 { 0x055dd6, 0x055d07, 0xbab2, 0x4630, 0x6786, 0xa3f9, 0xe0d8, 0 }, /* #20 */
3216 { 0x324686, 0x324e87, 0x10f9, 0xb50f, 0xf100, 0x0004, 0x0047, 0 }, /* #21 */
3217 { 0x1d3703, 0x1d3f87, 0x4287, 0xff71, 0x3828, 0x0544, 0x1447, 0 }, /* #22 */
3218 { 0x2b1013, 0x2b1807, 0xbeb6, 0x6afa, 0x3d1e, 0xb152, 0xee07, 0 }, /* #23 */
3219 { 0x190c56, 0x190c87, 0x713a, 0xfab2, 0x4780, 0x1054, 0x24ed, 0 }, /* #24 */
3220 { 0x315887, 0x315803, 0xb949, 0x3e80, 0xd984, 0x9290, 0xca80, 0 }, /* #25 */
3221 { 0x2d7856, 0x2d7803, 0xcb20, 0x6880, 0xb6ea, 0x95e0, 0xbce4, 0 }, /* #26 */
3222 { 0x1762d7, 0x176a07, 0x4b89, 0x5ab1, 0xe896, 0x0127, 0x03e9, 0 }, /* #27 */
3223 { 0x0b6c52, 0x0b6c07, 0x2fe1, 0x29d8, 0x5752, 0x0ce0, 0x44d8, 0 }, /* #28 */
3224 { 0x2d6f47, 0x2d6f03, 0x9ac3, 0x78cb, 0x50c5, 0x96bd, 0xf959, 0 }, /* #29 */
3225 { 0x0f1ec3, 0x0f1e07, 0xc098, 0x3490, 0xbdb4, 0xa08b, 0xd566, 0 }, /* #30 */
3226 { 0x2d5f43, 0x2d5f87, 0x660f, 0xa38b, 0x38ff, 0x1c36, 0x46c5, 0 }, /* #31 */
3227 { 0x1c3cd2, 0x1c3c03, 0x85d1, 0x1ac1, 0xdb69, 0x2ad5, 0x51f1, 0 }, /* #32 */
3228 { 0x0f0186, 0x0f0903, 0xf361, 0x63e5, 0xf007, 0x7c8f, 0x8305, 0 }, /* #33 */
3229 { 0x381e47, 0x381e07, 0x5593, 0x0ea0, 0x6a70, 0x492a, 0xdae0, 0 }, /* #34 */
3230 { 0x040092, 0x040887, 0x10b5, 0x81f9, 0x26db, 0x02c9, 0x2ab5, 0 }, /* #35 */
3231 { 0x086943, 0x086903, 0x6fa4, 0x6264, 0xffb3, 0x26e5, 0x5931, 0 }, /* #36 */
3232 { 0x0e2b96, 0x0e2b83, 0x4a9f, 0x8a16, 0x4aec, 0x0f34, 0x342a, 0 }, /* #37 */
3233 { 0x392147, 0x392907, 0xa36c, 0x6548, 0x65c5, 0x3040, 0x4b96, 0 }, /* #38 */
3234 { 0x2771d2, 0x277903, 0x9e9e, 0x0768, 0x0cd7, 0x47e7, 0x740c, 0 }, /* #39 */
3235 { 0x0c4313, 0x0c4b87, 0x9cef, 0x8217, 0x838c, 0x259b, 0x3d59, 0 }, /* #40 */
3236 { 0x117487, 0x117c83, 0x6136, 0xd9d0, 0xcad6, 0x3724, 0x9138, 0 }, /* #41 */
3237 { 0x116cd2, 0x116c87, 0x22fe, 0xee5a, 0xf02a, 0x18c8, 0xb553, 0 }, /* #42 */
3238 { 0x1d6597, 0x1d6d07, 0xe744, 0x6b88, 0xa3b9, 0x3cc2, 0x4342, 0 }, /* #43 */
3239 { 0x222cc7, 0x222c07, 0x361f, 0x440c, 0x3754, 0x1b94, 0x8274, 0 }, /* #44 */
3240 { 0x2739d7, 0x273983, 0x2f35, 0xc879, 0xd45d, 0x2502, 0xc8b5, 0 }, /* #45 */
3241 { 0x2716d2, 0x271e07, 0x5207, 0x4a7e, 0xf85a, 0x40bf, 0xca12, 0 }, /* #46 */
3242 { 0x3f3d02, 0x3f3d03, 0x1b66, 0x0004, 0xb425, 0x08e1, 0x52f6, 0 }, /* #47 */
3243 { 0x284a03, 0x284a03, 0x980b, 0x26a4, 0x0157, 0x29d3, 0x466c, 0 }, /* #48 */
3244 { 0x0d0496, 0x0d0c07, 0x589a, 0x2a82, 0x520c, 0x291b, 0x76c5, 0 }, /* #49 */
3245 { 0x1c4ac7, 0x1c4a03, 0x1ddf, 0x394f, 0xb44a, 0x0d5e, 0x7291, 0 }, /* #50 */
3246 { 0x083503, 0x083d07, 0x75f3, 0x3d48, 0x1e45, 0x199d, 0x3798, 0 }, /* #51 */
3247 { 0x0306c2, 0x030e83, 0x7816, 0xb57c, 0xf213, 0x4f43, 0xa8fa, 0 }, /* #52 */
3248 { 0x380e03, 0x380e87, 0x4df3, 0xaf5c, 0x6be3, 0x12f0, 0x3e34, 0 }, /* #53 */
3249 { 0x133e86, 0x133e03, 0xbfd3, 0x5673, 0x5e26, 0x6810, 0x8ae1, 0 }, /* #54 */
3250 { 0x111b16, 0x111b87, 0xdc6f, 0xd384, 0xbabc, 0x283d, 0x2ebc, 0 }, /* #55 */
3251 { 0x396d43, 0x396d87, 0xd0d6, 0xda82, 0xea95, 0x16d9, 0x1c03, 0 }, /* #56 */
3252 { 0x312ad3, 0x312a07, 0xe1fd, 0x7fcc, 0xd4e7, 0xba07, 0xd2bc, 0 }, /* #57 */
3253 { 0x1e1b82, 0x1e1b87, 0x71d6, 0xe7c6, 0x25d0, 0x6c03, 0xf2e9, 0 }, /* #58 */
3254 { 0x2230c2, 0x223883, 0x6ae3, 0xa47a, 0x0fc1, 0x2f12, 0x70be, 0 }, /* #59 */
3255 { 0x214a82, 0x214a87, 0xcd43, 0xe6ff, 0xaf28, 0x5172, 0x6595, 0 }, /* #60 */
3256 { 0x1c1e17, 0x1c1e07, 0x6120, 0x65a0, 0x0644, 0x5070, 0xd405, 0 }, /* #61 */
3257 { 0x2b0c86, 0x2b0c83, 0x679c, 0xf8a4, 0x3902, 0x3600, 0x856f, 0 }, /* #62 */
3258 { 0x2964d6, 0x296c83, 0x90db, 0x9302, 0x2793, 0x483a, 0x7fa6, 0 }, /* #63 */
3259};
3260static const MULDIVU16_TEST_T g_aTests_imul_u16_intel[] =
3261{
3262 { 0x3d04d6, 0x3d0406, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #0 */
3263 { 0x032e46, 0x032606, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #1 */
3264 { 0x134287, 0x134206, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #2 */
3265 { 0x192193, 0x192106, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0 }, /* #3 */
3266 { 0x271493, 0x271406, 0xe9b1, 0x0000, 0x6b4b, 0x0000, 0x0000, 0 }, /* #4 */
3267 { 0x141507, 0x141506, 0xc009, 0x0000, 0x862d, 0x0000, 0x0000, 0 }, /* #5 */
3268 { 0x140d92, 0x140506, 0x2197, 0x0000, 0x0b17, 0x0000, 0x0000, 0 }, /* #6 */
3269 { 0x3d1cc7, 0x3d1406, 0xde2c, 0x0000, 0xeade, 0x0000, 0x0000, 0 }, /* #7 */
3270 { 0x337787, 0x337f03, 0x4a0c, 0x6c08, 0x5d07, 0xe49e, 0xa156, 0 }, /* #8 */
3271 { 0x394212, 0x394a07, 0x0b6c, 0x5cb8, 0x1e5f, 0xfea8, 0xe1ea, 0 }, /* #9 */
3272 { 0x0e30d7, 0x0e3803, 0x660f, 0x7fb5, 0x7e17, 0xda84, 0xa1fb, 0 }, /* #10 */
3273 { 0x267b87, 0x267b03, 0x4cd2, 0x4c58, 0x3e86, 0xf896, 0xe74c, 0 }, /* #11 */
3274 { 0x093946, 0x093983, 0x0509, 0xbd64, 0xa707, 0xffab, 0xef44, 0 }, /* #12 */
3275 { 0x322686, 0x322e03, 0xd107, 0x652c, 0x28e6, 0xedef, 0x6274, 0 }, /* #13 */
3276 { 0x323213, 0x323a87, 0x1807, 0x9dcf, 0xc434, 0x00ef, 0x09f9, 0 }, /* #14 */
3277 { 0x3c2e96, 0x3c2e03, 0x1778, 0x2d08, 0x6820, 0xfa2c, 0xc06f, 0 }, /* #15 */
3278 { 0x0e1b46, 0x0e1b07, 0x465c, 0x660c, 0x4df1, 0x07f5, 0x1cf5, 0 }, /* #16 */
3279 { 0x124e46, 0x124e07, 0x636c, 0x3448, 0x1b03, 0xfae3, 0xf2d6, 0 }, /* #17 */
3280 { 0x1f3446, 0x1f3c87, 0xf004, 0xfd84, 0x1c5f, 0xffc9, 0x0361, 0 }, /* #18 */
3281 { 0x303016, 0x303807, 0x2a00, 0x6e00, 0x1a67, 0x05ad, 0x229b, 0 }, /* #19 */
3282 { 0x2c5812, 0x2c5883, 0x944a, 0xc9a8, 0xcae5, 0xcdd1, 0x7744, 0 }, /* #20 */
3283 { 0x280ed6, 0x280e03, 0x4c56, 0x39d0, 0xcd21, 0x0332, 0x0ab8, 0 }, /* #21 */
3284 { 0x1d72c6, 0x1d7a03, 0xb08a, 0x13d6, 0x3357, 0xdbdc, 0x746f, 0 }, /* #22 */
3285 { 0x2d2753, 0x2d2f03, 0x56c3, 0x0f38, 0x1b23, 0xfab7, 0xf068, 0 }, /* #23 */
3286 { 0x010a82, 0x010a87, 0x7506, 0xd0f0, 0x884c, 0xf6ed, 0xec28, 0 }, /* #24 */
3287 { 0x1a4b06, 0x1a4b07, 0xba5d, 0x30ac, 0x7e5a, 0xf721, 0x209c, 0 }, /* #25 */
3288 { 0x072a53, 0x072a07, 0x4634, 0x6d0c, 0xf3a8, 0x09e3, 0x240f, 0 }, /* #26 */
3289 { 0x380c97, 0x380c83, 0x8eb3, 0xdbfd, 0x6417, 0xe28a, 0x428f, 0 }, /* #27 */
3290 { 0x254512, 0x254d03, 0xa7d7, 0x406b, 0xc217, 0x12c0, 0xc98d, 0 }, /* #28 */
3291 { 0x2a3ed2, 0x2a3e07, 0xac8f, 0x7bac, 0x20c6, 0xede2, 0x3794, 0 }, /* #29 */
3292 { 0x105a93, 0x105a83, 0x457d, 0xd861, 0xe068, 0x1260, 0x43b5, 0 }, /* #30 */
3293 { 0x200e43, 0x200e07, 0x9024, 0x5d30, 0xbdd5, 0xee8e, 0x27ec, 0 }, /* #31 */
3294 { 0x041687, 0x041e07, 0xd84f, 0x74ac, 0x044a, 0xefa1, 0x6994, 0 }, /* #32 */
3295 { 0x310c47, 0x310c83, 0x152f, 0x9a0e, 0x509c, 0xfff1, 0xff52, 0 }, /* #33 */
3296 { 0x005952, 0x005983, 0xf294, 0xb308, 0x4679, 0x009f, 0xf41a, 0 }, /* #34 */
3297 { 0x3e1a86, 0x3e1a03, 0x3947, 0x752a, 0x882f, 0xef8f, 0xb686, 0 }, /* #35 */
3298 { 0x3e3b97, 0x3e3b03, 0x8233, 0x5698, 0xc202, 0x2bb8, 0xa708, 0 }, /* #36 */
3299 { 0x096046, 0x096883, 0xdcf7, 0xe102, 0x1229, 0xf95a, 0x308e, 0 }, /* #37 */
3300 { 0x0a0c96, 0x0a0c87, 0xb612, 0xc5b2, 0x8e94, 0x17e0, 0xad51, 0 }, /* #38 */
3301 { 0x3f1bc3, 0x3f1b83, 0xba85, 0x8ba8, 0x7069, 0xf28e, 0x3188, 0 }, /* #39 */
3302 { 0x315457, 0x315c87, 0x93ea, 0xdfee, 0xc808, 0x34e3, 0x82bb, 0 }, /* #40 */
3303 { 0x0b4f03, 0x0b4f83, 0xd135, 0x9502, 0xaae4, 0xf0c9, 0x533a, 0 }, /* #41 */
3304 { 0x3d1a83, 0x3d1a07, 0x529e, 0x0e96, 0x140c, 0x03a3, 0x0b45, 0 }, /* #42 */
3305 { 0x3c22d7, 0x3c2a03, 0xa9f3, 0x322c, 0x9a9b, 0x29a2, 0x8424, 0 }, /* #43 */
3306 { 0x143886, 0x143883, 0x2980, 0xb480, 0x93e1, 0x0482, 0x1bd3, 0 }, /* #44 */
3307 { 0x1e1753, 0x1e1f87, 0xda77, 0x8f05, 0x6fdb, 0xf5d3, 0x4563, 0 }, /* #45 */
3308 { 0x364993, 0x364987, 0x609f, 0x92a0, 0x5bca, 0x1bb1, 0x4960, 0 }, /* #46 */
3309 { 0x1e42c3, 0x1e4a03, 0x56a2, 0x3176, 0xe297, 0x234b, 0x684b, 0 }, /* #47 */
3310 { 0x3b5012, 0x3b5807, 0x8c39, 0x344b, 0x85a2, 0xdd57, 0x4ca3, 0 }, /* #48 */
3311 { 0x2243d6, 0x224b87, 0xe882, 0xc272, 0xf696, 0xf8c0, 0x4ef9, 0 }, /* #49 */
3312 { 0x226b53, 0x226b83, 0xba76, 0xaa6e, 0xf4b0, 0xf96c, 0x1835, 0 }, /* #50 */
3313 { 0x141c96, 0x141c03, 0x30ba, 0x6ca4, 0xd8b7, 0xfa61, 0xe27a, 0 }, /* #51 */
3314 { 0x001583, 0x001d83, 0xda77, 0xfd3b, 0x4d64, 0xf1de, 0x605d, 0 }, /* #52 */
3315 { 0x161392, 0x161b87, 0xe3f0, 0xf100, 0xea1a, 0x0216, 0xecf0, 0 }, /* #53 */
3316 { 0x0d3056, 0x0d3803, 0xa7ae, 0x523e, 0x26d4, 0x1cfd, 0xabf9, 0 }, /* #54 */
3317 { 0x200117, 0x200987, 0x724a, 0xa70a, 0x4ab8, 0x086d, 0x12e1, 0 }, /* #55 */
3318 { 0x3343d2, 0x334b07, 0x783a, 0x4dee, 0xb153, 0x39d4, 0x7b23, 0 }, /* #56 */
3319 { 0x155f03, 0x155f83, 0xb6a1, 0xc82c, 0xe7da, 0x1ec2, 0x94ac, 0 }, /* #57 */
3320 { 0x087856, 0x087887, 0xc87f, 0xf711, 0x31a9, 0x01a3, 0xf86f, 0 }, /* #58 */
3321 { 0x023a02, 0x023a07, 0xd0da, 0x5b6a, 0x300d, 0x1228, 0x9d69, 0 }, /* #59 */
3322 { 0x270007, 0x270803, 0x3450, 0x27b0, 0x88af, 0x0577, 0x1abf, 0 }, /* #60 */
3323 { 0x092603, 0x092e07, 0x9160, 0x15c0, 0x89b5, 0x28b6, 0xa1ca, 0 }, /* #61 */
3324 { 0x213192, 0x213983, 0x1d13, 0xae64, 0xdbe6, 0x02c9, 0x188c, 0 }, /* #62 */
3325 { 0x313ed6, 0x313e07, 0xe2fe, 0x662e, 0xe9c9, 0x0442, 0xda69, 0 }, /* #63 */
3326};
3327static const MULDIVU16_TEST_T g_aTests_div_u16_intel[] =
3328{
3329 { 0x3774d2, 0x3774d2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #0 */
3330 { 0x2f6703, 0x2f6703, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #1 */
3331 { 0x3e0297, 0x3e0297, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #2 */
3332 { 0x2b2a42, 0x2b2a42, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #3 */
3333 { 0x2201d2, 0x2201d2, 0x557e, 0x557e, 0x34a1, 0x34a1, 0x0000, -1 }, /* #4 */
3334 { 0x184387, 0x184387, 0x1311, 0x1311, 0x8e8e, 0x8e8e, 0x0000, -1 }, /* #5 */
3335 { 0x272e86, 0x272e86, 0x722b, 0x722b, 0x56bc, 0x56bc, 0x0000, -1 }, /* #6 */
3336 { 0x070053, 0x070053, 0xb6c8, 0xb6c8, 0x3a26, 0x3a26, 0x0000, -1 }, /* #7 */
3337 { 0x080d07, 0x080d07, 0xa60c, 0xa60c, 0xec23, 0xec23, 0x1cd8, -1 }, /* #8 */
3338 { 0x3f3e86, 0x3f3e86, 0x4964, 0x3247, 0x1f90, 0x8f78, 0xa0b4, 0 }, /* #9 */
3339 { 0x0f5d93, 0x0f5d93, 0x1ab8, 0x1ab8, 0xb99f, 0xb99f, 0x7116, -1 }, /* #10 */
3340 { 0x165947, 0x165947, 0x4298, 0xd5b5, 0x7dfc, 0x0771, 0x96eb, 0 }, /* #11 */
3341 { 0x031502, 0x031502, 0x3c5e, 0x3c5e, 0xfd1c, 0xfd1c, 0xd597, -1 }, /* #12 */
3342 { 0x180102, 0x180102, 0x48b8, 0x48b8, 0xf39f, 0xf39f, 0x6c09, -1 }, /* #13 */
3343 { 0x114dd2, 0x114dd2, 0x293d, 0x293d, 0x85d7, 0x85d7, 0x2339, -1 }, /* #14 */
3344 { 0x3224d2, 0x3224d2, 0xf892, 0xfc6b, 0xbb41, 0x3fc4, 0xbdea, 0 }, /* #15 */
3345 { 0x205ad7, 0x205ad7, 0x5ec4, 0x8d62, 0x6cc0, 0xa892, 0xc4e9, 0 }, /* #16 */
3346 { 0x326e87, 0x326e87, 0xb3d5, 0xf844, 0xf1f7, 0x7591, 0xf981, 0 }, /* #17 */
3347 { 0x1e0f56, 0x1e0f56, 0x216b, 0xe17c, 0xc9fd, 0x1a37, 0xe553, 0 }, /* #18 */
3348 { 0x2c3c43, 0x2c3c43, 0xbfa9, 0xbfa9, 0x9938, 0x9938, 0x737b, -1 }, /* #19 */
3349 { 0x0b6d03, 0x0b6d03, 0xe089, 0x583b, 0x3a35, 0x3bc2, 0xa8e5, 0 }, /* #20 */
3350 { 0x0a4b43, 0x0a4b43, 0x18bf, 0x18bf, 0x3293, 0x3293, 0x072d, -1 }, /* #21 */
3351 { 0x126e42, 0x126e42, 0x9b15, 0xdb0e, 0xa544, 0x3f1d, 0xc124, 0 }, /* #22 */
3352 { 0x2134c3, 0x2134c3, 0x9310, 0x9310, 0xe33c, 0xe33c, 0xc42f, -1 }, /* #23 */
3353 { 0x270246, 0x270246, 0x6225, 0x6225, 0x3c02, 0x3c02, 0x263a, -1 }, /* #24 */
3354 { 0x195f16, 0x195f16, 0x0671, 0x0671, 0x7697, 0x7697, 0x02fe, -1 }, /* #25 */
3355 { 0x0a7a02, 0x0a7a02, 0x310a, 0xab53, 0x404d, 0x033b, 0x6015, 0 }, /* #26 */
3356 { 0x1477c2, 0x1477c2, 0xb71c, 0xc9ec, 0x2c33, 0x33e4, 0x380a, 0 }, /* #27 */
3357 { 0x2a6413, 0x2a6413, 0x5a4d, 0x12d6, 0x118d, 0xe877, 0xee81, 0 }, /* #28 */
3358 { 0x3f2613, 0x3f2613, 0x2a8e, 0x2823, 0x1a6b, 0x210e, 0xa880, 0 }, /* #29 */
3359 { 0x181396, 0x181396, 0x4379, 0x4379, 0xc66c, 0xc66c, 0x6292, -1 }, /* #30 */
3360 { 0x020f17, 0x020f17, 0x3c0c, 0x3c0c, 0xfa31, 0xfa31, 0x0907, -1 }, /* #31 */
3361 { 0x312816, 0x312816, 0xc1af, 0xc1af, 0x8dbd, 0x8dbd, 0x772e, -1 }, /* #32 */
3362 { 0x206093, 0x206093, 0x2e95, 0x9ff5, 0x6bb3, 0x7694, 0xac5d, 0 }, /* #33 */
3363 { 0x235213, 0x235213, 0x62fc, 0x726e, 0x6137, 0xb7b4, 0xd97c, 0 }, /* #34 */
3364 { 0x0f7a47, 0x0f7a47, 0xe67f, 0xe67f, 0x82a5, 0x82a5, 0x4844, -1 }, /* #35 */
3365 { 0x3c19c6, 0x3c19c6, 0xdf18, 0xf409, 0xb2ed, 0xa9cd, 0xbbb3, 0 }, /* #36 */
3366 { 0x0c71d6, 0x0c71d6, 0xf8ed, 0xf8ed, 0xb09e, 0xb09e, 0x12d6, -1 }, /* #37 */
3367 { 0x164793, 0x164793, 0x6178, 0x9213, 0x8384, 0x8e44, 0xe67c, 0 }, /* #38 */
3368 { 0x001412, 0x001412, 0xe57f, 0xe57f, 0xe208, 0xe208, 0x1b29, -1 }, /* #39 */
3369 { 0x174042, 0x174042, 0x5846, 0x5846, 0xe1bc, 0xe1bc, 0xb455, -1 }, /* #40 */
3370 { 0x093b97, 0x093b97, 0xff44, 0xabf3, 0x9240, 0x65ea, 0xd9be, 0 }, /* #41 */
3371 { 0x3f0457, 0x3f0457, 0x7146, 0x7146, 0x4e88, 0x4e88, 0x22bd, -1 }, /* #42 */
3372 { 0x032c82, 0x032c82, 0xb576, 0xc508, 0xbdbd, 0x1e3e, 0xf687, 0 }, /* #43 */
3373 { 0x085386, 0x085386, 0xeec4, 0xeec4, 0x85ff, 0x85ff, 0x37fd, -1 }, /* #44 */
3374 { 0x0b35d7, 0x0b35d7, 0x5ff3, 0x5ff3, 0xeed6, 0xeed6, 0xa692, -1 }, /* #45 */
3375 { 0x1a1d47, 0x1a1d47, 0x5261, 0xdb11, 0xd01b, 0x4120, 0xf331, 0 }, /* #46 */
3376 { 0x2b2ed7, 0x2b2ed7, 0x762d, 0x762d, 0x8292, 0x8292, 0x547e, -1 }, /* #47 */
3377 { 0x344d12, 0x344d12, 0x9db4, 0xdc5c, 0x91af, 0xa710, 0xa93f, 0 }, /* #48 */
3378 { 0x1c4657, 0x1c4657, 0xaa66, 0x924b, 0x7112, 0xa8a7, 0xc5dd, 0 }, /* #49 */
3379 { 0x1b1496, 0x1b1496, 0x21ff, 0x21ff, 0x987c, 0x987c, 0x03c4, -1 }, /* #50 */
3380 { 0x132a96, 0x132a96, 0x02ee, 0x02ee, 0xcefc, 0xcefc, 0x496a, -1 }, /* #51 */
3381 { 0x031392, 0x031392, 0xc47e, 0xe88f, 0x6679, 0x116c, 0x70ce, 0 }, /* #52 */
3382 { 0x211e83, 0x211e83, 0xad11, 0xad11, 0xdae1, 0xdae1, 0x098a, -1 }, /* #53 */
3383 { 0x1a0156, 0x1a0156, 0x68ce, 0x68ce, 0xc489, 0xc489, 0x924d, -1 }, /* #54 */
3384 { 0x065787, 0x065787, 0xf8f3, 0xf8f3, 0xf97b, 0xf97b, 0x041f, -1 }, /* #55 */
3385 { 0x1c1806, 0x1c1806, 0xaafe, 0xaafe, 0x72dc, 0x72dc, 0x654b, -1 }, /* #56 */
3386 { 0x130543, 0x130543, 0x2e7f, 0x2e7f, 0xca45, 0xca45, 0xa1fd, -1 }, /* #57 */
3387 { 0x343c16, 0x343c16, 0x6935, 0x4a51, 0x296e, 0x5b4e, 0x8eb7, 0 }, /* #58 */
3388 { 0x2a7c07, 0x2a7c07, 0xcf19, 0xcf19, 0xe6b4, 0xe6b4, 0x2671, -1 }, /* #59 */
3389 { 0x3c4f92, 0x3c4f92, 0xa5ca, 0xea49, 0x7a21, 0x79ff, 0x8573, 0 }, /* #60 */
3390 { 0x207d13, 0x207d13, 0xa8d5, 0x39c9, 0x2012, 0x6d58, 0x8e15, 0 }, /* #61 */
3391 { 0x3d08d3, 0x3d08d3, 0xfb5b, 0x9498, 0x9246, 0xc6c3, 0xfc01, 0 }, /* #62 */
3392 { 0x342002, 0x342002, 0x20b7, 0x20b7, 0xe498, 0xe498, 0x1bc8, -1 }, /* #63 */
3393};
3394static const MULDIVU16_TEST_T g_aTests_idiv_u16_intel[] =
3395{
3396 { 0x1657c2, 0x1657c2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #0 */
3397 { 0x2258d3, 0x2258d3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #1 */
3398 { 0x1b4d93, 0x1b4d93, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #2 */
3399 { 0x3154c6, 0x3154c6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, -1 }, /* #3 */
3400 { 0x206f46, 0x206f46, 0x6476, 0x6476, 0xdc36, 0xdc36, 0x0000, -1 }, /* #4 */
3401 { 0x2f7157, 0x2f7157, 0xc82d, 0xc82d, 0xe467, 0xe467, 0x0000, -1 }, /* #5 */
3402 { 0x2a5a57, 0x2a5a57, 0x7ff8, 0x7ff8, 0x9b54, 0x9b54, 0x0000, -1 }, /* #6 */
3403 { 0x042ec3, 0x042ec3, 0x984b, 0x984b, 0x0ea9, 0x0ea9, 0x0000, -1 }, /* #7 */
3404 { 0x2a1b57, 0x2a1b57, 0x5df9, 0x5df9, 0x9ea4, 0x9ea4, 0x87b9, -1 }, /* #8 */
3405 { 0x136217, 0x136217, 0xcafd, 0xcafd, 0x4c57, 0x4c57, 0xaec4, -1 }, /* #9 */
3406 { 0x083a96, 0x083a96, 0x3ba3, 0xea52, 0x0a28, 0x5d3b, 0x8814, 0 }, /* #10 */
3407 { 0x116ec2, 0x116ec2, 0x5f09, 0x5f09, 0x4f9d, 0x4f9d, 0x57c2, -1 }, /* #11 */
3408 { 0x370907, 0x370907, 0x6bb4, 0x6bb4, 0x7dfa, 0x7dfa, 0xc1ba, -1 }, /* #12 */
3409 { 0x053797, 0x053797, 0x26a8, 0x26a8, 0xf2c0, 0xf2c0, 0x07e6, -1 }, /* #13 */
3410 { 0x195c83, 0x195c83, 0xf2c3, 0xf2c3, 0xc077, 0xc077, 0x558d, -1 }, /* #14 */
3411 { 0x2a1007, 0x2a1007, 0xdcf3, 0xdcf3, 0x3fe0, 0x3fe0, 0xca43, -1 }, /* #15 */
3412 { 0x341992, 0x341992, 0x2430, 0x2430, 0xc5a4, 0xc5a4, 0x6d4e, -1 }, /* #16 */
3413 { 0x390943, 0x390943, 0x5ae1, 0x82e1, 0x203d, 0x4017, 0xbe0a, 0 }, /* #17 */
3414 { 0x0d0693, 0x0d0693, 0x6fa5, 0x6fa5, 0x63d7, 0x63d7, 0x44a3, -1 }, /* #18 */
3415 { 0x165e52, 0x165e52, 0x2397, 0x2397, 0x6e6c, 0x6e6c, 0x52bc, -1 }, /* #19 */
3416 { 0x1c7883, 0x1c7883, 0x42c6, 0x42c6, 0xabdd, 0xabdd, 0x9d44, -1 }, /* #20 */
3417 { 0x124a57, 0x124a57, 0x58f0, 0x58f0, 0xb474, 0xb474, 0x1371, -1 }, /* #21 */
3418 { 0x2d7c87, 0x2d7c87, 0x83e4, 0xd750, 0xf21a, 0xf834, 0x576f, 0 }, /* #22 */
3419 { 0x1a7213, 0x1a7213, 0x1fe6, 0x1fe6, 0xa418, 0xa418, 0x2baf, -1 }, /* #23 */
3420 { 0x220257, 0x220257, 0xd331, 0xd331, 0x4d4c, 0x4d4c, 0x8005, -1 }, /* #24 */
3421 { 0x291f86, 0x291f86, 0x2bc4, 0xdf45, 0xf09d, 0xd296, 0x7856, 0 }, /* #25 */
3422 { 0x195092, 0x195092, 0x4a35, 0x4a35, 0x7dcc, 0x7dcc, 0x6512, -1 }, /* #26 */
3423 { 0x0e3343, 0x0e3343, 0x753c, 0x04f0, 0xfe2d, 0xaf6c, 0xa193, 0 }, /* #27 */
3424 { 0x222e56, 0x222e56, 0x1c7b, 0x1c7b, 0xa859, 0xa859, 0x24e9, -1 }, /* #28 */
3425 { 0x1e0dc7, 0x1e0dc7, 0x9023, 0xb474, 0xde30, 0xfdfb, 0x7292, 0 }, /* #29 */
3426 { 0x1f14c7, 0x1f14c7, 0x6a16, 0x8db0, 0xe7f8, 0xdb16, 0x35d0, 0 }, /* #30 */
3427 { 0x2f1902, 0x2f1902, 0x7fab, 0x5a55, 0x1e12, 0x29be, 0x5539, 0 }, /* #31 */
3428 { 0x322202, 0x322202, 0x2307, 0x2307, 0xaedb, 0xaedb, 0x2804, -1 }, /* #32 */
3429 { 0x121b46, 0x121b46, 0xa66e, 0x026d, 0x0076, 0x1be8, 0x30de, 0 }, /* #33 */
3430 { 0x197586, 0x197586, 0x4c98, 0x4c98, 0x9822, 0x9822, 0x877e, -1 }, /* #34 */
3431 { 0x260002, 0x260002, 0x25c0, 0x3a8b, 0xec46, 0xef96, 0xa9be, 0 }, /* #35 */
3432 { 0x266082, 0x266082, 0xee48, 0xee48, 0x3e2d, 0x3e2d, 0xc9ae, -1 }, /* #36 */
3433 { 0x0a6557, 0x0a6557, 0x8eb9, 0x8eb9, 0xc3c5, 0xc3c5, 0x325e, -1 }, /* #37 */
3434 { 0x3a3103, 0x3a3103, 0xf941, 0xf941, 0xb7fd, 0xb7fd, 0x225e, -1 }, /* #38 */
3435 { 0x330a02, 0x330a02, 0xd7a8, 0xd7a8, 0xdf47, 0xdf47, 0x04cb, -1 }, /* #39 */
3436 { 0x292782, 0x292782, 0x9bf0, 0x9bf0, 0xae4d, 0xae4d, 0x9abc, -1 }, /* #40 */
3437 { 0x2c5603, 0x2c5603, 0xbb77, 0xbb77, 0xe313, 0xe313, 0xe08f, -1 }, /* #41 */
3438 { 0x323306, 0x323306, 0x7fc6, 0x7fc6, 0x5635, 0x5635, 0xfba9, -1 }, /* #42 */
3439 { 0x142e42, 0x142e42, 0x4224, 0x5158, 0x1db1, 0x10f4, 0x5d72, 0 }, /* #43 */
3440 { 0x212f42, 0x212f42, 0x6cc5, 0x428a, 0xe47b, 0xba71, 0x9622, 0 }, /* #44 */
3441 { 0x1b6652, 0x1b6652, 0x77eb, 0xfc68, 0x00c4, 0x1e23, 0xc95d, 0 }, /* #45 */
3442 { 0x0a6b97, 0x0a6b97, 0x7254, 0x8986, 0x165d, 0x28c6, 0xcfad, 0 }, /* #46 */
3443 { 0x097407, 0x097407, 0x7a4f, 0x7a4f, 0xb191, 0xb191, 0x17c0, -1 }, /* #47 */
3444 { 0x176643, 0x176643, 0xcc3a, 0xcc3a, 0x7038, 0x7038, 0xfbe2, -1 }, /* #48 */
3445 { 0x2c14d6, 0x2c14d6, 0xdca7, 0xdca7, 0xcdf0, 0xcdf0, 0xbdbf, -1 }, /* #49 */
3446 { 0x3d3fc7, 0x3d3fc7, 0x54e0, 0x54e0, 0x79b6, 0x79b6, 0x8a62, -1 }, /* #50 */
3447 { 0x1a7ac7, 0x1a7ac7, 0xeca0, 0xeca0, 0x6941, 0x6941, 0x2d47, -1 }, /* #51 */
3448 { 0x003f56, 0x003f56, 0x2e1c, 0x2e1c, 0x35fa, 0x35fa, 0xee7a, -1 }, /* #52 */
3449 { 0x366e02, 0x366e02, 0xa1b7, 0xa1b7, 0x48a2, 0x48a2, 0x717a, -1 }, /* #53 */
3450 { 0x2c7612, 0x2c7612, 0x1338, 0x8108, 0xc120, 0xd810, 0x7ec5, 0 }, /* #54 */
3451 { 0x0e1713, 0x0e1713, 0x9edb, 0x9edb, 0xd1a1, 0xd1a1, 0x5396, -1 }, /* #55 */
3452 { 0x0f4a96, 0x0f4a96, 0xbe54, 0xbe54, 0x9045, 0x9045, 0xb8d3, -1 }, /* #56 */
3453 { 0x385d52, 0x385d52, 0x5448, 0x5448, 0xa122, 0xa122, 0x0ab5, -1 }, /* #57 */
3454 { 0x1e4952, 0x1e4952, 0x0145, 0x0145, 0x4dfe, 0x4dfe, 0x0e7c, -1 }, /* #58 */
3455 { 0x204f97, 0x204f97, 0x0156, 0x0156, 0x51f7, 0x51f7, 0x9b5c, -1 }, /* #59 */
3456 { 0x041c86, 0x041c86, 0x92d9, 0x92d9, 0xdf44, 0xdf44, 0xfa04, -1 }, /* #60 */
3457 { 0x232417, 0x232417, 0xd5e4, 0xd5e4, 0x47e2, 0x47e2, 0xcd60, -1 }, /* #61 */
3458 { 0x285f13, 0x285f13, 0x1b6a, 0x1b6a, 0xb4f5, 0xb4f5, 0xa1c7, -1 }, /* #62 */
3459 { 0x130146, 0x130146, 0x9ce3, 0x9ce3, 0x7e95, 0x7e95, 0x529d, -1 }, /* #63 */
3460};
3461static const MULDIVU32_TEST_T g_aTests_mul_u32_intel[] =
3462{
3463 { 0x017357, 0x017306, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #0 */
3464 { 0x250d12, 0x250506, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #1 */
3465 { 0x310c53, 0x310406, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #2 */
3466 { 0x344852, 0x344006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #3 */
3467 { 0x001a42, 0x001206, 0x74241b85, 0x00000000, 0xc3c6e5bd, 0x00000000, 0x00000000, 0 }, /* #4 */
3468 { 0x174e53, 0x174606, 0xa8dd5f91, 0x00000000, 0x1ee731ad, 0x00000000, 0x00000000, 0 }, /* #5 */
3469 { 0x185c57, 0x185406, 0xe80e6152, 0x00000000, 0x1e8f92fa, 0x00000000, 0x00000000, 0 }, /* #6 */
3470 { 0x3f3483, 0x3f3406, 0xf34221fa, 0x00000000, 0xfc763c13, 0x00000000, 0x00000000, 0 }, /* #7 */
3471 { 0x240782, 0x240f07, 0xdcabce83, 0x4a4dea7d, 0xeb7ce651, 0xbf433153, 0xdde212ff, 0 }, /* #8 */
3472 { 0x0e2487, 0x0e2c83, 0xb047197c, 0xc2b54220, 0x74cbd9c3, 0xa3b62689, 0xedc02c78, 0 }, /* #9 */
3473 { 0x221116, 0x221903, 0x02bbb94c, 0x0cbb1a34, 0x126f10a0, 0x00c0095c, 0x46421b9f, 0 }, /* #10 */
3474 { 0x3d53c2, 0x3d5b07, 0x44b37a2f, 0x42c0ea9c, 0x2f65778e, 0x3dd0107a, 0xe6550424, 0 }, /* #11 */
3475 { 0x382097, 0x382803, 0x206981c8, 0x11231420, 0x7282964c, 0x1cf67523, 0xe4c16ea4, 0 }, /* #12 */
3476 { 0x156f57, 0x156f83, 0x78e59ad5, 0xe996cc9d, 0x6265ff9f, 0x782ab540, 0xfe743ea9, 0 }, /* #13 */
3477 { 0x2c6e97, 0x2c6e07, 0x92ce880a, 0x1bdf49aa, 0x117ba119, 0x42d95332, 0x74920691, 0 }, /* #14 */
3478 { 0x0f2d12, 0x0f2d87, 0xd7fa93a9, 0xc3077e55, 0x8e0bb31b, 0x1aef8187, 0x1fed40cd, 0 }, /* #15 */
3479 { 0x1638c2, 0x163887, 0x2b3edb58, 0xb7fbf588, 0xba10f897, 0x09c4c701, 0x39d3d153, 0 }, /* #16 */
3480 { 0x234956, 0x234983, 0xba8ad63b, 0xdf72f107, 0x143c56d5, 0x4ef6e84a, 0x6c5dc7a5, 0 }, /* #17 */
3481 { 0x0d3316, 0x0d3b87, 0x7f5d54b0, 0xff7e6260, 0xa84815ba, 0x715a1e98, 0xe3d5c8b2, 0 }, /* #18 */
3482 { 0x397742, 0x397f83, 0x638a46ec, 0x8608ea40, 0x8bf5cfcd, 0x07b2c6b6, 0x13cc7eb0, 0 }, /* #19 */
3483 { 0x1260d3, 0x126887, 0x163e45d5, 0xc59392b4, 0x02ab8738, 0x12187331, 0xd0435de4, 0 }, /* #20 */
3484 { 0x2c7197, 0x2c7983, 0xc5e455fe, 0x9844dcdc, 0xf9fd2cce, 0x00a644fc, 0x00d71792, 0 }, /* #21 */
3485 { 0x365793, 0x365f87, 0xfcb976ca, 0xdb2fdae8, 0xdc8ca773, 0x2d4aeaa1, 0x2de13264, 0 }, /* #22 */
3486 { 0x0c3e83, 0x0c3e83, 0x5de4f329, 0xc568fb97, 0x0c79f885, 0x1cecd6e0, 0x4edd10bf, 0 }, /* #23 */
3487 { 0x020b42, 0x020b87, 0xf7f55e7e, 0xdfb3fffc, 0x1d03fa7e, 0x1fad7ede, 0x20b47e82, 0 }, /* #24 */
3488 { 0x144417, 0x144c83, 0xfd36abca, 0x8d713fc2, 0x6d0cb594, 0x57ccab2f, 0x58c4024d, 0 }, /* #25 */
3489 { 0x2e1917, 0x2e1987, 0x1285b676, 0xda48bd3c, 0xbf139aaf, 0x019d98ee, 0x165465fa, 0 }, /* #26 */
3490 { 0x042cc3, 0x042c03, 0x09716972, 0x776de30e, 0x3f7b8496, 0x06c52b96, 0xb78a383f, 0 }, /* #27 */
3491 { 0x363d53, 0x363d87, 0x0abdb22c, 0xafea5b00, 0xd8ebf735, 0x04022322, 0x5f88dc40, 0 }, /* #28 */
3492 { 0x015a96, 0x015a87, 0x4dde262c, 0xeaa93a30, 0x377ed225, 0x45c7e439, 0xe569c524, 0 }, /* #29 */
3493 { 0x363506, 0x363d07, 0xe501d081, 0x416fe18d, 0x4e8a20a5, 0x0d6d9adf, 0x0f02cb0d, 0 }, /* #30 */
3494 { 0x1e5d53, 0x1e5d87, 0x9d32a3de, 0xdf3e3f60, 0x7b29fc32, 0x230c6e16, 0x3913cb50, 0 }, /* #31 */
3495 { 0x154313, 0x154b83, 0xf4e36e78, 0xd876c210, 0x1c6de43c, 0x8542f667, 0x8b4ee61e, 0 }, /* #32 */
3496 { 0x031042, 0x031883, 0xc9b6946d, 0xbfc862c8, 0xd4f03f2c, 0x989b42a3, 0xc1ad60e8, 0 }, /* #33 */
3497 { 0x292907, 0x292987, 0x1721710c, 0xc218e8b4, 0x51796b15, 0x0c7860a4, 0x8a03e0cf, 0 }, /* #34 */
3498 { 0x3b76c7, 0x3b7e07, 0xb8d69fff, 0x74097474, 0x2e8ab1dd, 0x6f5821db, 0x9a360b8c, 0 }, /* #35 */
3499 { 0x314006, 0x314887, 0x59c588b2, 0xa53a175a, 0x448303c3, 0x0e3b6e7e, 0x2895e775, 0 }, /* #36 */
3500 { 0x3d36d6, 0x3d3e87, 0xe0c4250b, 0xdedd83a0, 0xbfe531f9, 0x70ffb91c, 0x80b38ee0, 0 }, /* #37 */
3501 { 0x351a92, 0x351a83, 0x333f95d5, 0x87d221ba, 0x79b694bb, 0x0d50c8f8, 0x4283d5d2, 0 }, /* #38 */
3502 { 0x073652, 0x073e03, 0xc4a8c168, 0x6232e280, 0xe342dc70, 0x902a6435, 0xbbaaaf90, 0 }, /* #39 */
3503 { 0x125c97, 0x125c83, 0x8bf573ec, 0xfbd62f94, 0xe119edc3, 0x076eea9f, 0x0d98a49f, 0 }, /* #40 */
3504 { 0x370042, 0x370803, 0xf6f3b412, 0x5343d154, 0x0ec1eeca, 0xda02be92, 0xe1ff95da, 0 }, /* #41 */
3505 { 0x371083, 0x371883, 0x80955f1f, 0xb370908c, 0x90ea067b, 0x4aa4d31f, 0x949c39f4, 0 }, /* #42 */
3506 { 0x3647d7, 0x364f87, 0xb3f8dbc3, 0xc3f6081b, 0x6f971a79, 0x1f8a0539, 0x2cdcd4c9, 0 }, /* #43 */
3507 { 0x1a1753, 0x1a1f03, 0x47e01a38, 0x7765b8b0, 0xd3078f49, 0x09b3d77a, 0x228ebf3a, 0 }, /* #44 */
3508 { 0x1f1246, 0x1f1a03, 0x5fe2b509, 0x1c625cc4, 0x4feee7fa, 0x43d9e9e5, 0xb5270ba4, 0 }, /* #45 */
3509 { 0x117d16, 0x117d07, 0x21e35529, 0x409d165a, 0x9639abe6, 0x09d70034, 0x4a5544ca, 0 }, /* #46 */
3510 { 0x2b6c12, 0x2b6c83, 0x0876e8f4, 0xb3b41fbc, 0xfe73d844, 0x047bb897, 0x8797a99b, 0 }, /* #47 */
3511 { 0x3705c7, 0x370d87, 0x21f029a1, 0x8a25f233, 0xda82e92c, 0x1da9ddda, 0xdfc19353, 0 }, /* #48 */
3512 { 0x0f7e03, 0x0f7e07, 0x15b5d589, 0x3456578e, 0x261fc80b, 0x04c14b42, 0x3811e59e, 0 }, /* #49 */
3513 { 0x0830d6, 0x083887, 0xd32e6ee6, 0xfa83675a, 0x26b39629, 0x6a6d2eec, 0x8103605f, 0 }, /* #50 */
3514 { 0x260492, 0x260c07, 0xebd4e337, 0x41b4768b, 0xa45b4af4, 0xcf0d5068, 0xe0c2594d, 0 }, /* #51 */
3515 { 0x1e5cc3, 0x1e5c03, 0x6643458d, 0x104f7ce5, 0x5d258217, 0x51f54cff, 0xcd2ba2b9, 0 }, /* #52 */
3516 { 0x1e3842, 0x1e3803, 0x033231a0, 0x3c2190e0, 0x94920114, 0x006e1257, 0x22708f63, 0 }, /* #53 */
3517 { 0x3e4c92, 0x3e4c87, 0x2265cff8, 0xdbb57dc0, 0xce67032f, 0x000c9485, 0x005da048, 0 }, /* #54 */
3518 { 0x107113, 0x107907, 0xf9ba62b7, 0x23943ad7, 0xc46be038, 0x992795a2, 0x9d0048e1, 0 }, /* #55 */
3519 { 0x064216, 0x064a87, 0x706b4700, 0x848ab100, 0x82d13920, 0x1f91d4f0, 0x47e3e647, 0 }, /* #56 */
3520 { 0x365782, 0x365f83, 0xfb822496, 0xc7fbf1fe, 0xc89d0469, 0x4a7c1b33, 0x4bd0a39d, 0 }, /* #57 */
3521 { 0x321807, 0x321803, 0x273f4256, 0x1e51dee0, 0xcad40b35, 0x0a978844, 0x4516b650, 0 }, /* #58 */
3522 { 0x040bd2, 0x040b03, 0x39355c4d, 0x703a0646, 0x231b7d80, 0x02ba0c07, 0x0c33aa5e, 0 }, /* #59 */
3523 { 0x021317, 0x021b03, 0x61e31807, 0x1cbd0602, 0xe0d2876c, 0x560b4149, 0xe106f56e, 0 }, /* #60 */
3524 { 0x183606, 0x183e83, 0xad5878a1, 0x81a35413, 0xbf26251f, 0x76820cc4, 0xaf03cc33, 0 }, /* #61 */
3525 { 0x0453d6, 0x045b03, 0x28ee98a9, 0x7544741f, 0x7847578d, 0x18ca4233, 0x9b0b3b87, 0 }, /* #62 */
3526 { 0x2f1fd7, 0x2f1f03, 0x96a8d836, 0x2673fa7a, 0xad43f793, 0x424d1c75, 0x70a8a187, 0 }, /* #63 */
3527};
3528static const MULDIVU32_TEST_T g_aTests_imul_u32_intel[] =
3529{
3530 { 0x066f56, 0x066706, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #0 */
3531 { 0x0e1e93, 0x0e1606, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #1 */
3532 { 0x023e07, 0x023606, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #2 */
3533 { 0x2e35c6, 0x2e3506, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0 }, /* #3 */
3534 { 0x2444c6, 0x244406, 0xd60c1dce, 0x00000000, 0x94588bda, 0x00000000, 0x00000000, 0 }, /* #4 */
3535 { 0x380cd3, 0x380406, 0xfe2874b2, 0x00000000, 0xefae5640, 0x00000000, 0x00000000, 0 }, /* #5 */
3536 { 0x1b7846, 0x1b7006, 0x90d8a6f2, 0x00000000, 0xf9465ef3, 0x00000000, 0x00000000, 0 }, /* #6 */
3537 { 0x204f13, 0x204706, 0x4da2a223, 0x00000000, 0x0043123d, 0x00000000, 0x00000000, 0 }, /* #7 */
3538 { 0x374a52, 0x374a87, 0x0026fb3a, 0xab3305e4, 0x3bebcef4, 0xfffd226d, 0xed2e751a, 0 }, /* #8 */
3539 { 0x100243, 0x100a87, 0xce1f42f7, 0xba71e7d1, 0xb5f1509b, 0x025441a0, 0xf40bb177, 0 }, /* #9 */
3540 { 0x315003, 0x315883, 0x94138fd4, 0xe560f008, 0xd67a6567, 0x1c4e9da2, 0xbcdaacba, 0 }, /* #10 */
3541 { 0x006e07, 0x006e87, 0x34ba0333, 0xfd20982b, 0x091d7d25, 0xfc72cb24, 0xeec19729, 0 }, /* #11 */
3542 { 0x140542, 0x140d87, 0x391359a1, 0x92589e09, 0x6afd32e4, 0xeef3b85f, 0xb388fb69, 0 }, /* #12 */
3543 { 0x022713, 0x022f83, 0xd630d8b0, 0xd5cf74b0, 0x1e974fa2, 0x0226f511, 0xf2d27541, 0 }, /* #13 */
3544 { 0x331113, 0x331907, 0x4079b0b7, 0x40cb16d1, 0xa04f685f, 0x1832c320, 0x60145cb7, 0 }, /* #14 */
3545 { 0x0e2c87, 0x0e2c87, 0xa2176113, 0x9c67e803, 0x9cb33034, 0x1e15eaa6, 0xadfc2b51, 0 }, /* #15 */
3546 { 0x226d12, 0x226d03, 0xe5e869fb, 0x11b1ed3b, 0xcc498380, 0xfb6d4764, 0x2cde65c1, 0 }, /* #16 */
3547 { 0x3f6587, 0x3f6d03, 0x07ac9810, 0x7dd1acd0, 0x08a1d855, 0x01402862, 0x29b7ff4d, 0 }, /* #17 */
3548 { 0x2d3f93, 0x2d3f07, 0xf0d5469e, 0x264ade36, 0xa8a3e0a3, 0xfa9f29b7, 0x5ac77475, 0 }, /* #18 */
3549 { 0x2d2b56, 0x2d2b87, 0x6f34a2a7, 0xb5634c65, 0x8aa162ed, 0x333d23fe, 0x75f43613, 0 }, /* #19 */
3550 { 0x374543, 0x374d07, 0x9fe5cd53, 0x720b56d7, 0xb563be7f, 0x1700aace, 0xc2b99bed, 0 }, /* #20 */
3551 { 0x206547, 0x206d83, 0xa8d170ee, 0x97f18808, 0xe2d2a35f, 0x1d607fc4, 0xa9bce11c, 0 }, /* #21 */
3552 { 0x1d1dd2, 0x1d1d07, 0xbd231d2f, 0x34852fac, 0x85b1222e, 0x0b7e97da, 0xd3fd9814, 0 }, /* #22 */
3553 { 0x1478c7, 0x147803, 0x8b63ba4d, 0x67bf5016, 0xe47acd30, 0x3565ed62, 0x8ac5cf6e, 0 }, /* #23 */
3554 { 0x027343, 0x027b03, 0xf9ff9994, 0x54d14c34, 0xb7b0b418, 0x02b79279, 0x8c19fb89, 0 }, /* #24 */
3555 { 0x0a7806, 0x0a7887, 0xbfa280cc, 0x9f649528, 0x0e19e82b, 0xf0b15ee9, 0x3ce1938e, 0 }, /* #25 */
3556 { 0x161083, 0x161887, 0x6b9a848f, 0xeec283aa, 0x435499b5, 0x14f0fe40, 0x31d25ab6, 0 }, /* #26 */
3557 { 0x192dc3, 0x192d07, 0xf0fa5446, 0x52e87fde, 0x2de973a8, 0x066d6b99, 0x927791c5, 0 }, /* #27 */
3558 { 0x311282, 0x311a03, 0xdef1124c, 0x61bb66f4, 0x42c245c5, 0xf6a78320, 0x485f2a6f, 0 }, /* #28 */
3559 { 0x131b92, 0x131b03, 0x8a2b1863, 0x088fa234, 0x5c52077c, 0xd4306dce, 0x5f2ed93c, 0 }, /* #29 */
3560 { 0x3f7e46, 0x3f7e07, 0xc9041a9b, 0x62b12cc9, 0x6298395f, 0x0fef1d4d, 0xb5d00a6b, 0 }, /* #30 */
3561 { 0x302e83, 0x302e07, 0x1f856daa, 0x1a77b612, 0x0f93cdce, 0x08e982ea, 0x48615565, 0 }, /* #31 */
3562 { 0x0d7a82, 0x0d7a07, 0x70e16fab, 0x03169ed2, 0xdeb9cbec, 0x22fd024e, 0x4f597276, 0 }, /* #32 */
3563 { 0x342882, 0x342807, 0x58f9e87a, 0x5798803c, 0xab891898, 0xe2e4a110, 0xac411c76, 0 }, /* #33 */
3564 { 0x3b63d6, 0x3b6b87, 0xf6da3d95, 0xa172abca, 0x38d91330, 0x01de7dec, 0xcbb10622, 0 }, /* #34 */
3565 { 0x3d2457, 0x3d2c07, 0xee8d8dc9, 0x535fe222, 0x877e7231, 0x021263ee, 0xe1999a12, 0 }, /* #35 */
3566 { 0x2a5883, 0x2a5887, 0x6aef917b, 0xbe1d57a9, 0xedb4f425, 0xcebf45ed, 0x8a17382b, 0 }, /* #36 */
3567 { 0x2c1687, 0x2c1e83, 0xa58b943b, 0xae62b1ef, 0x391f0bfe, 0x25ff3dea, 0x947681dd, 0 }, /* #37 */
3568 { 0x1f29d7, 0x1f2903, 0xddc92a78, 0x7b9690e0, 0xb4a2eeec, 0x01d8c919, 0xf22e7d24, 0 }, /* #38 */
3569 { 0x013897, 0x013883, 0x29667b37, 0xc1d350ef, 0xb3b068a5, 0x0c07f086, 0x4a64e409, 0 }, /* #39 */
3570 { 0x3f7607, 0x3f7e03, 0x8670165e, 0x4896668c, 0x7f7ff56f, 0x3af819c5, 0x83d0d79a, 0 }, /* #40 */
3571 { 0x221803, 0x221807, 0x728ecd70, 0x23518e60, 0xdc62dc98, 0x12d41744, 0x2a135b8a, 0 }, /* #41 */
3572 { 0x2a2f92, 0x2a2f07, 0xe89241cf, 0x2a67528d, 0x78429b29, 0xfa8f800e, 0x3b6f88e3, 0 }, /* #42 */
3573 { 0x333a82, 0x333a07, 0x05c284a4, 0x37059a88, 0xcdb89c30, 0xfe32052f, 0xafcafbd2, 0 }, /* #43 */
3574 { 0x1908d6, 0x190807, 0x505bf952, 0x77e35d14, 0xa7413356, 0x2806b2b7, 0x7f82d67a, 0 }, /* #44 */
3575 { 0x302303, 0x302b87, 0xf026d7ba, 0x95689f6a, 0xfd63fe25, 0x05f117d4, 0xa00581b9, 0 }, /* #45 */
3576 { 0x312553, 0x312d83, 0x0c48a335, 0xbdf01398, 0xe18c5ab5, 0x05f38383, 0x7c06e038, 0 }, /* #46 */
3577 { 0x2a13c7, 0x2a1b83, 0x79ca8ace, 0x98f3cc1c, 0x736e9714, 0x38d7e90b, 0x777b82c2, 0 }, /* #47 */
3578 { 0x0259d6, 0x025903, 0x74e5bf6f, 0x3ec86379, 0xe0fe6b96, 0x009521ca, 0x01469797, 0 }, /* #48 */
3579 { 0x212e53, 0x212e83, 0x4abebfe0, 0xb010f140, 0x89e0cd9a, 0xfbc632f8, 0xf186dc76, 0 }, /* #49 */
3580 { 0x0d0b17, 0x0d0b83, 0xbe5863b8, 0x9fc78480, 0x619bf21a, 0x0dffd123, 0xc96a07f0, 0 }, /* #50 */
3581 { 0x1c2546, 0x1c2d87, 0xb489c2d9, 0xdffeb2dd, 0x3fe85bc7, 0x110cbbaf, 0xc628e5a5, 0 }, /* #51 */
3582 { 0x174597, 0x174d03, 0x4b00857c, 0x375fd8d0, 0x28b2e7ec, 0xff9ad588, 0xfea6b24c, 0 }, /* #52 */
3583 { 0x0854c2, 0x085c03, 0x73e58027, 0x5b287a73, 0xed9714e9, 0x39cfb46f, 0x7fb296d5, 0 }, /* #53 */
3584 { 0x2378c2, 0x237887, 0x651884d1, 0x8a729793, 0x126e4276, 0x02cda3f5, 0x07193f23, 0 }, /* #54 */
3585 { 0x106e12, 0x106e83, 0x9f1c4cee, 0xeb70c0f2, 0xee5aeb91, 0xeaaba8f7, 0x385b3c8f, 0 }, /* #55 */
3586 { 0x105587, 0x105d03, 0x0480153b, 0x7cd58b2c, 0xdf80657a, 0x00e4bad1, 0x32d33ec4, 0 }, /* #56 */
3587 { 0x173cc6, 0x173c07, 0x0df4c0a5, 0x1f2960b8, 0x3a004a55, 0xfc0a1d91, 0xb75a0858, 0 }, /* #57 */
3588 { 0x0313d7, 0x031b83, 0x52531dfc, 0x9af205dc, 0x8764c515, 0xe18c14b0, 0xa14d8209, 0 }, /* #58 */
3589 { 0x2e2803, 0x2e2803, 0x1b986d8c, 0x1973dc8c, 0x59fe6159, 0xf425ad2a, 0x920ae141, 0 }, /* #59 */
3590 { 0x185602, 0x185e03, 0x85abc25a, 0x18ff7afe, 0x727428f4, 0xd751c233, 0x55220cdb, 0 }, /* #60 */
3591 { 0x133cc7, 0x133c83, 0x775d1c09, 0x8bbf2945, 0xbb9fc345, 0x28bcc826, 0x575eaa5d, 0 }, /* #61 */
3592 { 0x022e87, 0x022e03, 0x51613be7, 0x618adeb5, 0xadfe70a2, 0xed773606, 0xc5b21d03, 0 }, /* #62 */
3593 { 0x1d2956, 0x1d2987, 0xa465d445, 0xaf32b9be, 0x27e23856, 0xddf068bf, 0x5f3091a6, 0 }, /* #63 */
3594};
3595static const MULDIVU32_TEST_T g_aTests_div_u32_intel[] =
3596{
3597 { 0x1f07d3, 0x1f07d3, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #0 */
3598 { 0x196b93, 0x196b93, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #1 */
3599 { 0x0d5a02, 0x0d5a02, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #2 */
3600 { 0x3f0207, 0x3f0207, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #3 */
3601 { 0x114306, 0x114306, 0xacbdca08, 0xacbdca08, 0x5582f8a3, 0x5582f8a3, 0x00000000, -1 }, /* #4 */
3602 { 0x1f7253, 0x1f7253, 0xbfac05c0, 0xbfac05c0, 0xe94fd037, 0xe94fd037, 0x00000000, -1 }, /* #5 */
3603 { 0x1616d3, 0x1616d3, 0xec7fde28, 0xec7fde28, 0xa02d4956, 0xa02d4956, 0x00000000, -1 }, /* #6 */
3604 { 0x1f6503, 0x1f6503, 0x8d91062d, 0x8d91062d, 0x300d7570, 0x300d7570, 0x00000000, -1 }, /* #7 */
3605 { 0x053606, 0x053606, 0xb3919a1c, 0xa16f1ae1, 0x9941a464, 0xacce206d, 0xf308368f, 0 }, /* #8 */
3606 { 0x286286, 0x286286, 0x0ce6b50e, 0x34f33407, 0x22b96271, 0x09abe964, 0xa7e1f086, 0 }, /* #9 */
3607 { 0x3f0c16, 0x3f0c16, 0x8856d337, 0x8856d337, 0x896433f6, 0x896433f6, 0x3bffe8f6, -1 }, /* #10 */
3608 { 0x016747, 0x016747, 0xfb0d56f9, 0xfb0d56f9, 0x65963694, 0x65963694, 0x3d9d823c, -1 }, /* #11 */
3609 { 0x044493, 0x044493, 0x61d04c23, 0x61d04c23, 0x53f3cbad, 0x53f3cbad, 0x23130e04, -1 }, /* #12 */
3610 { 0x1e3fc6, 0x1e3fc6, 0xcaf5a57a, 0x6f48dd27, 0x6d797331, 0x42ddf89b, 0xfbd5f589, 0 }, /* #13 */
3611 { 0x1a3386, 0x1a3386, 0xf1f80a1b, 0xf1f80a1b, 0xf17f126f, 0xf17f126f, 0x06dcba40, -1 }, /* #14 */
3612 { 0x224fd7, 0x224fd7, 0xdda30fd9, 0xf4647d7d, 0xbf4c8e4a, 0x8b6b001f, 0xc86283c2, 0 }, /* #15 */
3613 { 0x2000c3, 0x2000c3, 0xd8034972, 0xedbba1d7, 0x82bfbb1a, 0x2deb726f, 0x8ccba6b5, 0 }, /* #16 */
3614 { 0x3f13c6, 0x3f13c6, 0xb186d687, 0xaf4758ee, 0x5e71b65d, 0x0b5fb6e3, 0x89f04d3e, 0 }, /* #17 */
3615 { 0x1a7216, 0x1a7216, 0x14ff2157, 0x926b3990, 0x5e68a194, 0x9c80d817, 0xa510a5b4, 0 }, /* #18 */
3616 { 0x1d2c42, 0x1d2c42, 0x05da0c1b, 0x8409007f, 0x7c89343e, 0x5ad62665, 0xf175bf4a, 0 }, /* #19 */
3617 { 0x1365c2, 0x1365c2, 0x93aba8b3, 0x303e08c0, 0x20a61527, 0x7d56e873, 0xad40888b, 0 }, /* #20 */
3618 { 0x2778c2, 0x2778c2, 0x401f5593, 0x401f5593, 0xb51a92fc, 0xb51a92fc, 0x264e9f13, -1 }, /* #21 */
3619 { 0x065a43, 0x065a43, 0x0f3352d9, 0x565e9ce3, 0x24d182b6, 0x58b0e73b, 0x6d21464a, 0 }, /* #22 */
3620 { 0x0c1202, 0x0c1202, 0xcf168ebe, 0xc0eff60b, 0x7608f9c4, 0x4e0346a3, 0x9c9d9031, 0 }, /* #23 */
3621 { 0x2e7797, 0x2e7797, 0x9d62d380, 0x9d62d380, 0x71975198, 0x71975198, 0x51d20dc0, -1 }, /* #24 */
3622 { 0x3d32d3, 0x3d32d3, 0xc08473a8, 0x8a31bb09, 0x1692c4bc, 0x1b0de2fd, 0x29d0f713, 0 }, /* #25 */
3623 { 0x2874d6, 0x2874d6, 0x8505d112, 0xd706f4ac, 0xcce3d9d8, 0xea97e36e, 0xf3ee67bb, 0 }, /* #26 */
3624 { 0x336616, 0x336616, 0x8d5936f0, 0x8d5936f0, 0xbab5a1b8, 0xbab5a1b8, 0x85a829cf, -1 }, /* #27 */
3625 { 0x360883, 0x360883, 0x8a4f6fe4, 0xe55e1f1d, 0x3cda0e29, 0x2073a65e, 0x43eadabe, 0 }, /* #28 */
3626 { 0x174f07, 0x174f07, 0xbc1ace73, 0xbdc4f7e6, 0x3edad590, 0x255d355b, 0x54caa044, 0 }, /* #29 */
3627 { 0x092452, 0x092452, 0x661621f8, 0x661621f8, 0xb92065f4, 0xb92065f4, 0x134a1ea8, -1 }, /* #30 */
3628 { 0x180716, 0x180716, 0x4fd3494e, 0x9c6b2859, 0x96aa6277, 0x2c2e9443, 0xf6959c03, 0 }, /* #31 */
3629 { 0x075682, 0x075682, 0x16fcdae9, 0x16fcdae9, 0x60026d3f, 0x60026d3f, 0x32a17874, -1 }, /* #32 */
3630 { 0x246517, 0x246517, 0x499c1901, 0xa9f22a54, 0x375b3743, 0x229bfdbd, 0x5362f84d, 0 }, /* #33 */
3631 { 0x0a4fd6, 0x0a4fd6, 0xa73d5ef3, 0xa73d5ef3, 0xdbbdc208, 0xdbbdc208, 0x755a8237, -1 }, /* #34 */
3632 { 0x0a7982, 0x0a7982, 0x34b4bdd8, 0x34b4bdd8, 0xea8f0f4a, 0xea8f0f4a, 0xac3eb0db, -1 }, /* #35 */
3633 { 0x277956, 0x277956, 0x2124cb9c, 0x2124cb9c, 0xf6bf1885, 0xf6bf1885, 0x1ddf2af4, -1 }, /* #36 */
3634 { 0x2610c3, 0x2610c3, 0xc381e4ba, 0x8e32fc8f, 0x87828aea, 0x06fb08b1, 0xf3f519e7, 0 }, /* #37 */
3635 { 0x344ac7, 0x344ac7, 0xeb3415b7, 0xeb3415b7, 0xbff44e04, 0xbff44e04, 0xbc349cf5, -1 }, /* #38 */
3636 { 0x105446, 0x105446, 0x435cfc57, 0x5c00f144, 0x2d3a3469, 0x37d1220f, 0x7dd852f2, 0 }, /* #39 */
3637 { 0x2a15d6, 0x2a15d6, 0xafc21938, 0xafc21938, 0xaab0fa3c, 0xaab0fa3c, 0x26561f32, -1 }, /* #40 */
3638 { 0x055787, 0x055787, 0xf27f1c1b, 0xf27f1c1b, 0x6ae7e00a, 0x6ae7e00a, 0x4ce1976e, -1 }, /* #41 */
3639 { 0x2d7613, 0x2d7613, 0x28a5f0f0, 0x3aff972d, 0x33499152, 0x527a90b8, 0xde8a8418, 0 }, /* #42 */
3640 { 0x151ed7, 0x151ed7, 0x9cc23e6a, 0x797bce28, 0x2532ad19, 0x2f05e20a, 0x4e62f21c, 0 }, /* #43 */
3641 { 0x307987, 0x307987, 0xd76d25b3, 0xd76d25b3, 0xbb96aefd, 0xbb96aefd, 0x9b7c9f51, -1 }, /* #44 */
3642 { 0x2c3b93, 0x2c3b93, 0xd78eceb2, 0xd78eceb2, 0x9407d75c, 0x9407d75c, 0x5076d4e0, -1 }, /* #45 */
3643 { 0x1226d3, 0x1226d3, 0x74246f47, 0x74246f47, 0xe73e01d9, 0xe73e01d9, 0x30c19770, -1 }, /* #46 */
3644 { 0x032182, 0x032182, 0xdab1c504, 0xdab1c504, 0xe29c850e, 0xe29c850e, 0x550b7d5d, -1 }, /* #47 */
3645 { 0x150bc7, 0x150bc7, 0x927fc263, 0x927fc263, 0xea1c4c33, 0xea1c4c33, 0x5a5790be, -1 }, /* #48 */
3646 { 0x254e47, 0x254e47, 0xc4392b61, 0xc4392b61, 0x92d574f9, 0x92d574f9, 0x167b77e1, -1 }, /* #49 */
3647 { 0x1f0f83, 0x1f0f83, 0xe4f08fca, 0x5f2ed6ff, 0x5231d435, 0x7fe85889, 0xdd1131bf, 0 }, /* #50 */
3648 { 0x105353, 0x105353, 0x739a104e, 0x739a104e, 0xe8d2c781, 0xe8d2c781, 0xb5ff33f9, -1 }, /* #51 */
3649 { 0x217e86, 0x217e86, 0x93dee21e, 0x93dee21e, 0xa9f256a5, 0xa9f256a5, 0x0dc85458, -1 }, /* #52 */
3650 { 0x186f46, 0x186f46, 0xbf8f9341, 0xbf8f9341, 0x273362c7, 0x273362c7, 0x0306a2cd, -1 }, /* #53 */
3651 { 0x283b02, 0x283b02, 0xf3aec837, 0xd841fbbf, 0xb0035948, 0xba7e16ea, 0xd05c05f3, 0 }, /* #54 */
3652 { 0x023907, 0x023907, 0xde9dd92b, 0xde9dd92b, 0x7d79b94b, 0x7d79b94b, 0x3b63ce8a, -1 }, /* #55 */
3653 { 0x075446, 0x075446, 0x385ae5e5, 0xc698dcaa, 0xabf0a210, 0x38d07a39, 0xdda3487e, 0 }, /* #56 */
3654 { 0x1b3096, 0x1b3096, 0x50a781b3, 0x47042e2e, 0x15c6dc5f, 0x0112e22b, 0x4e8048dc, 0 }, /* #57 */
3655 { 0x176487, 0x176487, 0x03ea59d4, 0x03ea59d4, 0xd130e71b, 0xd130e71b, 0x8da8ccaa, -1 }, /* #58 */
3656 { 0x1311d3, 0x1311d3, 0x537cb24d, 0x97a455a3, 0x1131f9fa, 0x02a7a359, 0x1d075c7c, 0 }, /* #59 */
3657 { 0x0b6343, 0x0b6343, 0xe4dedd5f, 0x110ec2c0, 0x0b43b4d1, 0x5dea501f, 0xa90e6fbf, 0 }, /* #60 */
3658 { 0x0b4793, 0x0b4793, 0xd1710145, 0xa8b3a94f, 0x9f245509, 0x569959b7, 0xf17e4012, 0 }, /* #61 */
3659 { 0x0036d7, 0x0036d7, 0x3e6cbc08, 0x3e6cbc08, 0x6a1c000b, 0x6a1c000b, 0x5201bfa1, -1 }, /* #62 */
3660 { 0x307dd2, 0x307dd2, 0x7ef08466, 0x7ef08466, 0xfe74897e, 0xfe74897e, 0xe9de48d7, -1 }, /* #63 */
3661};
3662static const MULDIVU32_TEST_T g_aTests_idiv_u32_intel[] =
3663{
3664 { 0x205283, 0x205283, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #0 */
3665 { 0x104557, 0x104557, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #1 */
3666 { 0x135f56, 0x135f56, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #2 */
3667 { 0x2a1c83, 0x2a1c83, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -1 }, /* #3 */
3668 { 0x187dd2, 0x187dd2, 0x732a0581, 0x732a0581, 0xedce9ecf, 0xedce9ecf, 0x00000000, -1 }, /* #4 */
3669 { 0x155556, 0x155556, 0x720d491b, 0x720d491b, 0x8fd093ba, 0x8fd093ba, 0x00000000, -1 }, /* #5 */
3670 { 0x321f43, 0x321f43, 0xb931e845, 0xb931e845, 0xd38b8261, 0xd38b8261, 0x00000000, -1 }, /* #6 */
3671 { 0x2051d7, 0x2051d7, 0x2a41738a, 0x2a41738a, 0x2f3e11b8, 0x2f3e11b8, 0x00000000, -1 }, /* #7 */
3672 { 0x2f0352, 0x2f0352, 0x7f5af434, 0x7f5af434, 0x95b8eb14, 0x95b8eb14, 0x64044fb6, -1 }, /* #8 */
3673 { 0x135552, 0x135552, 0x921ccec3, 0x06712a90, 0xfd685db4, 0xb14c2663, 0x98fbf016, 0 }, /* #9 */
3674 { 0x265d43, 0x265d43, 0x693c91de, 0x693c91de, 0xe6339d14, 0xe6339d14, 0xda4110de, -1 }, /* #10 */
3675 { 0x114556, 0x114556, 0x097c21ef, 0x097c21ef, 0x4bae57f7, 0x4bae57f7, 0xa90ab2c9, -1 }, /* #11 */
3676 { 0x3b7e56, 0x3b7e56, 0x3cdad4f5, 0x3cdad4f5, 0xb40c743a, 0xb40c743a, 0xdcea776e, -1 }, /* #12 */
3677 { 0x1e16c3, 0x1e16c3, 0xa8be7187, 0xa8be7187, 0x41be75e1, 0x41be75e1, 0x8fd6b697, -1 }, /* #13 */
3678 { 0x1f7802, 0x1f7802, 0x1ee7505f, 0x8a90b9be, 0xdf84a1d3, 0xe20dd521, 0x46cef741, 0 }, /* #14 */
3679 { 0x3c18c7, 0x3c18c7, 0x3fabf2cf, 0x3fabf2cf, 0x0fdd4499, 0x0fdd4499, 0xe5460926, -1 }, /* #15 */
3680 { 0x0d6f87, 0x0d6f87, 0x6b1c6aae, 0x6b1c6aae, 0xd5d36385, 0xd5d36385, 0xb10857f6, -1 }, /* #16 */
3681 { 0x1c3b06, 0x1c3b06, 0x77f97b37, 0xa9624c0b, 0x09391cf1, 0x037eac94, 0xe4bd8ec9, 0 }, /* #17 */
3682 { 0x3a4b42, 0x3a4b42, 0x2375184c, 0x2375184c, 0xcf3210dc, 0xcf3210dc, 0xe87482c1, -1 }, /* #18 */
3683 { 0x185756, 0x185756, 0x6364a3cb, 0x6364a3cb, 0x542cb3ce, 0x542cb3ce, 0xd1764e84, -1 }, /* #19 */
3684 { 0x0c2b86, 0x0c2b86, 0x67d18d9d, 0x67d18d9d, 0xda5cfd10, 0xda5cfd10, 0xd8d3fbd7, -1 }, /* #20 */
3685 { 0x385687, 0x385687, 0xfffd004f, 0xab39eb48, 0xdee4c0bd, 0xe20c81af, 0x63f992b4, 0 }, /* #21 */
3686 { 0x317b87, 0x317b87, 0xfea6303e, 0xfea6303e, 0xc4776cd5, 0xc4776cd5, 0x05f44d17, -1 }, /* #22 */
3687 { 0x3e5403, 0x3e5403, 0x37be790f, 0x37be790f, 0x4984bb1a, 0x4984bb1a, 0x4d59de15, -1 }, /* #23 */
3688 { 0x1e6743, 0x1e6743, 0x18d7905e, 0xf3b0fce6, 0xfa0d4f1b, 0xff6a6fe0, 0x7bb58805, 0 }, /* #24 */
3689 { 0x392f17, 0x392f17, 0x9360ec7e, 0x9360ec7e, 0xad278df8, 0xad278df8, 0xe872164b, -1 }, /* #25 */
3690 { 0x3c4cc3, 0x3c4cc3, 0x07583b0e, 0x07583b0e, 0xb54c4845, 0xb54c4845, 0xb312eb32, -1 }, /* #26 */
3691 { 0x2604d3, 0x2604d3, 0x24e98ce8, 0x24e98ce8, 0x9a075e1d, 0x9a075e1d, 0x41b1ba3b, -1 }, /* #27 */
3692 { 0x307e46, 0x307e46, 0x2e7ad3be, 0x66d5e691, 0x0c9fe322, 0x012fa490, 0x1f6d7f4e, 0 }, /* #28 */
3693 { 0x0319c3, 0x0319c3, 0x50442a86, 0x50442a86, 0x3ae3fbc1, 0x3ae3fbc1, 0x9156da48, -1 }, /* #29 */
3694 { 0x074587, 0x074587, 0xdad2e147, 0x92c66cf7, 0x34bad119, 0x38bcd36f, 0x8469a2e8, 0 }, /* #30 */
3695 { 0x092412, 0x092412, 0xeb2cbbbc, 0xba465cd9, 0xe33ad118, 0xf9ff57e6, 0x69a1b4c6, 0 }, /* #31 */
3696 { 0x2d48c3, 0x2d48c3, 0xee16578d, 0xee16578d, 0xafe8bd95, 0xafe8bd95, 0x81cafd96, -1 }, /* #32 */
3697 { 0x180316, 0x180316, 0x24d74e26, 0x24d74e26, 0xb99b2aff, 0xb99b2aff, 0xaa0cb070, -1 }, /* #33 */
3698 { 0x202843, 0x202843, 0xa770f7a8, 0xa770f7a8, 0xa295c289, 0xa295c289, 0xb2dba29d, -1 }, /* #34 */
3699 { 0x1d2442, 0x1d2442, 0x03117b75, 0x03117b75, 0xec896922, 0xec896922, 0x07d62984, -1 }, /* #35 */
3700 { 0x056543, 0x056543, 0xa55cafc5, 0xa55cafc5, 0x9fbba1af, 0x9fbba1af, 0xe65b8d9d, -1 }, /* #36 */
3701 { 0x2f1d87, 0x2f1d87, 0x4ce04279, 0x4ce04279, 0x9360f25c, 0x9360f25c, 0xeefeb27f, -1 }, /* #37 */
3702 { 0x090452, 0x090452, 0xae14e920, 0xae14e920, 0x1adc39b8, 0x1adc39b8, 0xd6258dbf, -1 }, /* #38 */
3703 { 0x1f6a17, 0x1f6a17, 0x3a7944a0, 0x3a7944a0, 0x0e26fbf4, 0x0e26fbf4, 0x0c0b1f9b, -1 }, /* #39 */
3704 { 0x270482, 0x270482, 0xb66b63d0, 0xb66b63d0, 0x2ac205c2, 0x2ac205c2, 0x1bfd7b15, -1 }, /* #40 */
3705 { 0x070003, 0x070003, 0x7aa4318e, 0xe76a23bb, 0xf52bae36, 0xdf6b66ea, 0x70c34bac, 0 }, /* #41 */
3706 { 0x387f96, 0x387f96, 0xf495d24c, 0xf495d24c, 0x441cb2c8, 0x441cb2c8, 0x3720740a, -1 }, /* #42 */
3707 { 0x230d53, 0x230d53, 0xf1d55854, 0xf1d55854, 0xb42d3312, 0xb42d3312, 0xf8af9e69, -1 }, /* #43 */
3708 { 0x081e87, 0x081e87, 0x6b6d9b47, 0x09c4d2e4, 0xfd4b7915, 0xbeb70ab3, 0xb91bcccd, 0 }, /* #44 */
3709 { 0x265406, 0x265406, 0x3fd30d3f, 0x3fd30d3f, 0x753ccd77, 0x753ccd77, 0xf47bdc11, -1 }, /* #45 */
3710 { 0x3d5046, 0x3d5046, 0xce532412, 0xcd9de348, 0xe7e26b19, 0xece72c6a, 0x7a884cad, 0 }, /* #46 */
3711 { 0x062e46, 0x062e46, 0x37f645b3, 0x37f645b3, 0xe55d7181, 0xe55d7181, 0xe7b0cfd1, -1 }, /* #47 */
3712 { 0x194992, 0x194992, 0xec82d66c, 0xec82d66c, 0x123b1fe7, 0x123b1fe7, 0xfaa59e9f, -1 }, /* #48 */
3713 { 0x281d12, 0x281d12, 0x94a5dc68, 0x94a5dc68, 0xf230bdbf, 0xf230bdbf, 0x1a1c4147, -1 }, /* #49 */
3714 { 0x3c3557, 0x3c3557, 0x5daeb8ff, 0x5daeb8ff, 0x7d981e4b, 0x7d981e4b, 0xf7794e15, -1 }, /* #50 */
3715 { 0x1963d6, 0x1963d6, 0x4c68a253, 0x877ad99e, 0x2eca36b7, 0x591f4e83, 0x9c9cc198, 0 }, /* #51 */
3716 { 0x2e0f96, 0x2e0f96, 0x3a5fe202, 0x3a5fe202, 0x14919df7, 0x14919df7, 0xddbb7642, -1 }, /* #52 */
3717 { 0x1c6f06, 0x1c6f06, 0x41b9de70, 0x41b9de70, 0x6c1625f1, 0x6c1625f1, 0xe5128975, -1 }, /* #53 */
3718 { 0x0a7807, 0x0a7807, 0xc2ce1ec3, 0xc2ce1ec3, 0x49310476, 0x49310476, 0xffc7e5ab, -1 }, /* #54 */
3719 { 0x361b86, 0x361b86, 0xa34b19b4, 0xa34b19b4, 0x612dc527, 0x612dc527, 0x168c63f4, -1 }, /* #55 */
3720 { 0x186006, 0x186006, 0x13e5b3a4, 0x13e5b3a4, 0x6b11500e, 0x6b11500e, 0xe7e28db5, -1 }, /* #56 */
3721 { 0x131c83, 0x131c83, 0x1984855f, 0x1984855f, 0x61fd3a35, 0x61fd3a35, 0x10d3b159, -1 }, /* #57 */
3722 { 0x254086, 0x254086, 0x72c3df4b, 0xfa32eae6, 0xff3938e2, 0xf272b307, 0x2243f8d6, 0 }, /* #58 */
3723 { 0x371593, 0x371593, 0xa3837cf2, 0xa3837cf2, 0x64f5b95d, 0x64f5b95d, 0x100edb94, -1 }, /* #59 */
3724 { 0x0b7d83, 0x0b7d83, 0x2d3967a9, 0x2d3967a9, 0x937d30fb, 0x937d30fb, 0x45eff00d, -1 }, /* #60 */
3725 { 0x391756, 0x391756, 0xe6abebc1, 0xe6abebc1, 0x82ad1f8c, 0x82ad1f8c, 0x9a603125, -1 }, /* #61 */
3726 { 0x340017, 0x340017, 0x02579743, 0x02579743, 0xdda4db9b, 0xdda4db9b, 0xe96069de, -1 }, /* #62 */
3727 { 0x1c3f53, 0x1c3f53, 0x0cc9a5c4, 0x9db99a87, 0xd23c24eb, 0xd8d047f5, 0x77370c79, 0 }, /* #63 */
3728};
3729static const MULDIVU64_TEST_T g_aTests_mul_u64_intel[] =
3730{
3731 { 0x270942, 0x270106, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #0 */
3732 { 0x1d5897, 0x1d5006, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #1 */
3733 { 0x291c16, 0x291406, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #2 */
3734 { 0x0501d3, 0x050106, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #3 */
3735 { 0x221682, 0x221606, 0x2ae4c43a9e3e4955, 0x0000000000000000, 0x87eb3d6269e919cd, 0x0000000000000000, 0x0000000000000000, 0 }, /* #4 */
3736 { 0x305292, 0x305206, 0x10939477b4e32580, 0x0000000000000000, 0x419c42eec2287cb9, 0x0000000000000000, 0x0000000000000000, 0 }, /* #5 */
3737 { 0x1433d2, 0x143306, 0x41cd8e3903c1adc7, 0x0000000000000000, 0x22691d2fb6976976, 0x0000000000000000, 0x0000000000000000, 0 }, /* #6 */
3738 { 0x1b2d86, 0x1b2506, 0x9ca47fe184f874e2, 0x0000000000000000, 0x87c2e27e7223e2e2, 0x0000000000000000, 0x0000000000000000, 0 }, /* #7 */
3739 { 0x2e4347, 0x2e4b87, 0xa978332397dcd647, 0x983dcad0a3f17fde, 0x6047d1fa4d666d43, 0x26b9d44caa685d06, 0x3a7fca8b8f182a32, 0 }, /* #8 */
3740 { 0x021346, 0x021b87, 0x227cf8238467d4ac, 0x86240814826cbf60, 0x356bd05d1a1357d2, 0x1e8809696cfed660, 0xe2a12abd5efc5388, 0 }, /* #9 */
3741 { 0x2d0312, 0x2d0b83, 0x1a78d88dd9d08a30, 0xdf8a5b2481e750b0, 0x91a73252c469c367, 0x08aa73c0c92fd5d7, 0x53cdb586d0fb2079, 0 }, /* #10 */
3742 { 0x3160c6, 0x316887, 0x6b3b76e20ca3fc7c, 0xcb8cf82416aa3ed4, 0x0c8d53209fb24f51, 0x0f919d18a4bd3427, 0x252b0498f7c11aab, 0 }, /* #11 */
3743 { 0x356e13, 0x356e07, 0x2e9ba11d029411e2, 0x7ec754ad1cd897c6, 0x75ffee63156ec9bf, 0x11ccb1369462e5b8, 0x61c436fee597c213, 0 }, /* #12 */
3744 { 0x3c0dc6, 0x3c0d83, 0x8a5182448548ae4a, 0xb371d0a1b431fd8a, 0x15f0b26010990688, 0x84a0bbf3f57fe362, 0xf577cc5134bcc721, 0 }, /* #13 */
3745 { 0x194113, 0x194907, 0x4b9b272b7d99449a, 0x1d011fff5223962e, 0x4107008af4bf8ab3, 0x0b3c2f04cbe3509e, 0x260aad2be2e8acf3, 0 }, /* #14 */
3746 { 0x1f7502, 0x1f7d87, 0x3fb93e62b770107c, 0x9151b03ea266cf60, 0x700ee4aece0b37a1, 0x2e3f66d78a8e68eb, 0xb9cb037ac7ad1128, 0 }, /* #15 */
3747 { 0x2c1dd7, 0x2c1d03, 0xf16435dd39645f5a, 0x4de0f56cd4f8bf08, 0xa23a96b4b66d2e70, 0xc0cee387016efff0, 0xcc79fec732affe14, 0 }, /* #16 */
3748 { 0x3b52c2, 0x3b5a07, 0x1fb896456624bc9f, 0x44b2700aa24ce372, 0x7f10262945e1606d, 0x1383b8d94a5c3a4b, 0x9d7d3d02fee1b54e, 0 }, /* #17 */
3749 { 0x1a7fc6, 0x1a7f87, 0xed2a37e93897847d, 0xe72a700e429ed9a9, 0x70a11d67634fc646, 0xdaebee9ed090177d, 0xec4ecf7aaa8d4d9d, 0 }, /* #18 */
3750 { 0x035b86, 0x035b83, 0xe6682f9029269c20, 0xddea78f23c68c220, 0xd6427f0f2d69d19e, 0x8bec220bce55a010, 0x9b76f15a922e0731, 0 }, /* #19 */
3751 { 0x347a83, 0x347a83, 0x071235a6ccdf2062, 0x8710270c7923f7c8, 0xd970a66b54c2fb5d, 0x03f6e99b313adc8e, 0x8f876dd83aacc524, 0 }, /* #20 */
3752 { 0x3531d6, 0x353907, 0x87d820898514d754, 0x161626a428098b24, 0xaa1b0bfdaeb9f065, 0x58d2bf567b6d2527, 0xa7636c6b6fe1af25, 0 }, /* #21 */
3753 { 0x1b4c46, 0x1b4c03, 0xd7e1329a3e6ea22f, 0x4b9ccb276aed660e, 0x7445f1674ca15425, 0x083631ef1565484f, 0x09bce10b59dbfd52, 0 }, /* #22 */
3754 { 0x311847, 0x311883, 0xbd63c17a56c70034, 0xb66f12ead7f433a4, 0xe8f3338786aa41c4, 0x5b9052bc87232f8b, 0x7bc487b67ed42d4d, 0 }, /* #23 */
3755 { 0x214257, 0x214a07, 0x6bda54202be63dd4, 0x28979e534b7aa714, 0xeac6bb2516c49d91, 0x5cbe334c41966813, 0xdc2297ec8b523711, 0 }, /* #24 */
3756 { 0x340ac6, 0x340a83, 0xeba46ca510a629be, 0xe87e2b2576de573e, 0xb9d4f491ae1760a6, 0x198fc74cc3c19e9a, 0x1bc51c95aafe0141, 0 }, /* #25 */
3757 { 0x317f86, 0x317f03, 0xb0392c6ac1762c56, 0x2c8010b0eb5205c4, 0x47f7a383de398bff, 0x3e1f1cace0b6ba6c, 0x5a3e7bca194369a6, 0 }, /* #26 */
3758 { 0x1f0bc3, 0x1f0b87, 0x8819866f689100d3, 0x9526849f71e87f44, 0x999530fbb29dabe3, 0x4cdbd089a746eac7, 0x9091b1ad69a1592c, 0 }, /* #27 */
3759 { 0x113286, 0x113a07, 0x0ba1cb13d8593572, 0x18db5d94987b47de, 0x1eb31ee4db60a6f0, 0x0669027fb8be44fb, 0x8d13be240dfebfe7, 0 }, /* #28 */
3760 { 0x090f92, 0x090f87, 0x377805cab32d69f0, 0xa83fa58b84bd7f50, 0x21075c9cf034ab78, 0x25f612f51cd72834, 0xaf32e4b666d2aceb, 0 }, /* #29 */
3761 { 0x3866d3, 0x386e83, 0xa10da6c8b0ccdce7, 0xd83bfa6e1e16176b, 0xd1aa7bd98095996f, 0x627e9391b52f173f, 0x9c8f77b50cf8fcdd, 0 }, /* #30 */
3762 { 0x0402d3, 0x040a83, 0x144a578e3fa91e67, 0xf47c7d6373480e9e, 0x1c470b4b07d36f15, 0x0ea2bfb126abf34b, 0xb8a7ffad60beddb2, 0 }, /* #31 */
3763 { 0x244852, 0x244883, 0x430906e216f905e5, 0xdc51fdb848c8eae6, 0x4c4ee29ae0d2a023, 0x09524a8f608395b0, 0x2398f937c0d8b0ee, 0 }, /* #32 */
3764 { 0x147913, 0x147983, 0xc884a5efaa2c1d88, 0xe71c40f74c8f68b0, 0x31fcb35b11c064d7, 0x9dfeb08e61484833, 0xc9b5fad97a38b1f6, 0 }, /* #33 */
3765 { 0x2057c2, 0x205f87, 0xda092a27fe22ad54, 0xcd9269a54950ca0c, 0x382e147d64dea9c5, 0x4f7b3abd46a79497, 0x5d52122fab465677, 0 }, /* #34 */
3766 { 0x104006, 0x104887, 0x3a782953c5986fbd, 0x9d39fdc993870ba5, 0x4beb59ed30dd08aa, 0x39f0ddedec0a9318, 0xfdafa1c201f27609, 0 }, /* #35 */
3767 { 0x0d2e07, 0x0d2e87, 0xeb26b29c4f85a067, 0x872f238de0ba9a8d, 0xc57b3dda0359ed91, 0xb9e13b3391d64146, 0xca5c34a5acc344eb, 0 }, /* #36 */
3768 { 0x111393, 0x111b87, 0xf050f30fe1ea56c5, 0xcbc22948d6104939, 0x112cfc66adff3979, 0x1b9c3c699415c704, 0x1d69880237a0afe5, 0 }, /* #37 */
3769 { 0x3a4d86, 0x3a4d87, 0xb8d54c3190b57db3, 0x885d7b11abd24db8, 0xfca871cf3a6145c6, 0x0054dc2b9b430cb4, 0x007588af29ff4f68, 0 }, /* #38 */
3770 { 0x0f39d3, 0x0f3907, 0x8857c5d53f98762c, 0x6be6b257dc7313e4, 0x03ddda87061c6021, 0x3c81e03c501e3eec, 0x719c175402dc800b, 0 }, /* #39 */
3771 { 0x005d82, 0x005d07, 0x0413d83aab4c5432, 0x1d280260710b28b8, 0x08de83dde20dd5df, 0x02ba33dd96247614, 0xab3b74a16d3d3abc, 0 }, /* #40 */
3772 { 0x251f12, 0x251f87, 0x6d1c0b887cb81849, 0xdeff69ed7594c7dd, 0xcde905b201a45c28, 0x55cd6b9eda991c97, 0xc950b68ac6bd3af5, 0 }, /* #41 */
3773 { 0x271c83, 0x271c07, 0xc52fe03bc1b37ecb, 0x096cfb27b6594c2d, 0x287e6ac36f36dffe, 0x78f71a03f96b7b69, 0x9d0b58da696e49e7, 0 }, /* #42 */
3774 { 0x3262c2, 0x326a07, 0x726952a9a3e8716d, 0x3e02abd68ed5c7f3, 0x59e72c47e69668e9, 0x722cc962b51a3336, 0xff788c3d4564a2df, 0 }, /* #43 */
3775 { 0x2e09c2, 0x2e0903, 0xfe5143bd09bb42f1, 0x22db4c3ad1bc543b, 0xa19180446c30d752, 0x79ca479360829f5e, 0x7a988df9f3e1f1eb, 0 }, /* #44 */
3776 { 0x1d47d3, 0x1d4f87, 0xc07132ad06fc007e, 0xea297e9207392a90, 0x719c604e69c736a2, 0x86abd99471279c13, 0xb3262dafa55998b8, 0 }, /* #45 */
3777 { 0x217e56, 0x217e03, 0x626c4133d0c7d4da, 0x2be5257b2769852a, 0xef61b7b3f489887b, 0x33d92b5a4fc8260f, 0x86dbcc7aa0489fc9, 0 }, /* #46 */
3778 { 0x345957, 0x345983, 0x2eefe3a5e594cec9, 0xd2800e166bd90473, 0x445272d0f1894788, 0x04159e4658ee7694, 0x1646eb29a099eb5b, 0 }, /* #47 */
3779 { 0x2b4146, 0x2b4983, 0x64aef1bb34c601e1, 0x961b6789be25bb15, 0x4f5b0aac5925e08f, 0x05e9b04bb8bb6421, 0x0f08bdd839c147b5, 0 }, /* #48 */
3780 { 0x0122d3, 0x012a83, 0x2e8995dac043bfea, 0xeedf0fd1e7b039e0, 0xd3c565f51b6db5f2, 0x1a72eb0f522d476c, 0x917e7611d8bd4330, 0 }, /* #49 */
3781 { 0x1b7e97, 0x1b7e07, 0x729289b35a80b276, 0x51c41396fc054e72, 0x9de77b59333fdf56, 0x3945c8bb925389f6, 0x7ff836a838e7da1b, 0 }, /* #50 */
3782 { 0x114f92, 0x114f83, 0x40671d6f10a10e5f, 0xa52a9621bf2783f4, 0xa93b698b586f6545, 0x3c2006df51c0498e, 0xeeff0b1d12bd588c, 0 }, /* #51 */
3783 { 0x151cc2, 0x151c07, 0x4674218285bdccf6, 0x6a5a6780049335ee, 0x8cbb9857ba037c7d, 0x23df0b23fc07ceb5, 0x825776aa00b412b5, 0 }, /* #52 */
3784 { 0x120616, 0x120e07, 0x9507519a775a6d89, 0x5f3d6ed54b093a35, 0xd0c60df14fa27517, 0x84051d1b3149c6e8, 0xe2c86283059a084d, 0 }, /* #53 */
3785 { 0x112407, 0x112c83, 0x397a9eb56c784c5d, 0x9b4ef77d859b492a, 0xa0cfcb0ef56e7099, 0x03bd8a99c963329a, 0x10a8b318bfdfeb32, 0 }, /* #54 */
3786 { 0x0d0693, 0x0d0e03, 0x9dd67ad391f7f3fa, 0x430abe692cb1bc4c, 0x3a52fa8abf411c76, 0x9ca8f97bf89a2e7e, 0xfe16fbb2bf71249e, 0 }, /* #55 */
3787 { 0x337503, 0x337d03, 0xaecbe7ae2335e8c6, 0x7d29b8090bfb9bba, 0xa887e71fd69188d1, 0x380951b84434b930, 0x5211955707a628bf, 0 }, /* #56 */
3788 { 0x272ed7, 0x272e03, 0x469a5b4020690cbf, 0x5bf3ba7c0755d552, 0x968903f2851d6ad5, 0x3fd5f717dd9db96d, 0xe7768119f5ae352e, 0 }, /* #57 */
3789 { 0x237103, 0x237903, 0x6b79b1669cf74069, 0x700232eb1f122a19, 0x07a7a60a054a5e38, 0x1f36cb944884e907, 0x4a599ace9ccd6631, 0 }, /* #58 */
3790 { 0x245d97, 0x245d87, 0x59a1e41ee6328a84, 0xb8ba366e555db5e4, 0xf1fd81492a7eb29a, 0x48eab5a0d8072bc4, 0xd0422f3f6a8bb3d9, 0 }, /* #59 */
3791 { 0x0e7447, 0x0e7c87, 0x38d8ed1dce7898f6, 0xb7d9647915f87ba0, 0xaf036e53064e0d4d, 0x0470c1d20c9fd3f5, 0x13ff24abc349d870, 0 }, /* #60 */
3792 { 0x033082, 0x033887, 0x86fe5db719bcd130, 0xa097b4804f611e00, 0x391d625cd42e6a97, 0x1660239bb61d9528, 0x2a6ec3346e4d42a0, 0 }, /* #61 */
3793 { 0x022b42, 0x022b03, 0x85b2880827519f97, 0x793ec8878b8d5a51, 0x307a5e7ec721c020, 0x01991261fb5cb1fc, 0x030f477966149257, 0 }, /* #62 */
3794 { 0x165f93, 0x165f03, 0x0f1f0bcbac76c967, 0x3c67199b6c059c98, 0x2118ea14f5b1c1f6, 0x01c9898b55efaa3e, 0x1e4202ac6a0f67a8, 0 }, /* #63 */
3795};
3796static const MULDIVU64_TEST_T g_aTests_imul_u64_intel[] =
3797{
3798 { 0x3c3bd3, 0x3c3306, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #0 */
3799 { 0x0e6c86, 0x0e6406, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #1 */
3800 { 0x184653, 0x184606, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #2 */
3801 { 0x0c6603, 0x0c6606, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0 }, /* #3 */
3802 { 0x3f2a13, 0x3f2206, 0x4675478fd9d9c8e9, 0x0000000000000000, 0xa6d51c9fae20db47, 0x0000000000000000, 0x0000000000000000, 0 }, /* #4 */
3803 { 0x3f7c53, 0x3f7406, 0xa62f6d09c0b24d9a, 0x0000000000000000, 0x46596ba1d9b5c8b4, 0x0000000000000000, 0x0000000000000000, 0 }, /* #5 */
3804 { 0x2f4b82, 0x2f4306, 0xb3583d9378e3a2eb, 0x0000000000000000, 0xce3c0f649e54f272, 0x0000000000000000, 0x0000000000000000, 0 }, /* #6 */
3805 { 0x255fc2, 0x255706, 0xb87ae0c6cff73261, 0x0000000000000000, 0x209f707b6d6f1f9c, 0x0000000000000000, 0x0000000000000000, 0 }, /* #7 */
3806 { 0x342cd3, 0x342c03, 0x904d7d148d717a93, 0x76526853b5ed777a, 0x99b5469c35cab2e8, 0x343b5a9349cde84c, 0x884a15116565a4de, 0 }, /* #8 */
3807 { 0x067742, 0x067f83, 0x0a77f7f3bbd30164, 0x970f07816d477f1c, 0x3dc51510c94c9944, 0x01351c8d4b857b2a, 0x1d8704dd68789d1f, 0 }, /* #9 */
3808 { 0x175992, 0x175907, 0xf357c291a46b1e39, 0x1ae33888fe23205c, 0x8b7537051e882c6d, 0x0362203f8f5d3a71, 0xbb920747cb18633c, 0 }, /* #10 */
3809 { 0x2a5082, 0x2a5887, 0xf1b2684b09a905ce, 0x8c50849e5ec404be, 0xd42cb2d5f39617e5, 0x02de30d8a8939184, 0xccab4a17e4628dc9, 0 }, /* #11 */
3810 { 0x084243, 0x084a03, 0x7cece8109ef0f6ea, 0x78f903e1c6b91bce, 0xf56f4d4a34517018, 0xdffe0db747a05418, 0xbe68c764ae02a46b, 0 }, /* #12 */
3811 { 0x2d4106, 0x2d4983, 0x891cdb7542d7803d, 0x9bf70917919f631f, 0x2c2a20380a06b61f, 0x181c475c48a3903f, 0xcc153b104249ea8b, 0 }, /* #13 */
3812 { 0x1d6182, 0x1d6987, 0x6cce83c48fad90d1, 0xfc77c221e565c642, 0x4b482646c489cc13, 0xf82a7e7da0001b7e, 0xed9173fda72682a2, 0 }, /* #14 */
3813 { 0x3261c3, 0x326903, 0xbd85a0acaf39055c, 0x38aacf8229af6438, 0xe7d2f0a818ec00e9, 0xec965882eea68993, 0x4ac1a07dacbd80a2, 0 }, /* #15 */
3814 { 0x2c26c6, 0x2c2e03, 0x79ddbfe1fac16508, 0x76203799991b5ec8, 0xb11d9db9383c8ca1, 0x2bc0a8e56581a623, 0x5be8d39818b3fc39, 0 }, /* #16 */
3815 { 0x1f45c7, 0x1f4d83, 0xf5e7231f28bdd5fc, 0xa785514c5f02dd2c, 0x8801befec0e1d52b, 0x01f49fe0bf4a00e4, 0xce6b48c721ac9c35, 0 }, /* #17 */
3816 { 0x375897, 0x375803, 0x5a0d8e5050bf25a4, 0x36f89946b91de698, 0xe853aa39eb801de1, 0xedb8466ab6eda07d, 0xcc089c11f7e1e1b6, 0 }, /* #18 */
3817 { 0x0b4442, 0x0b4c07, 0xa1739a1a03f161fc, 0x7e6a564500e92530, 0x691ba4e07b0d8fdb, 0x1ef3c90c96891506, 0xac3180a5a1abf0b4, 0 }, /* #19 */
3818 { 0x223593, 0x223d07, 0xe5dfd9f1c6bde80b, 0x01f6e6ff757ea750, 0xa8946b3dd5f2d408, 0x0c045ab3e48f8f52, 0x8a3f57793cc877f0, 0 }, /* #20 */
3819 { 0x0b5c17, 0x0b5c07, 0xb7691d220bcb5674, 0x1aed10be77cc72cc, 0xa285f99e5a34e470, 0x044f043bf4bcf43a, 0xf0ce01dd5e6fd28f, 0 }, /* #21 */
3820 { 0x2b4e07, 0x2b4e03, 0x8dbb1d7b0b9828a1, 0x1b836e4a87df3d29, 0x12b3c4136dbf75b2, 0xf3fa4438c70e5cfb, 0x1aef20663ac61f89, 0 }, /* #22 */
3821 { 0x1d7a17, 0x1d7a03, 0xb0c6bb4dc5e794a4, 0x20fb52ade5127af8, 0x7c9f7e5a8d290c61, 0x160f39f7a2267517, 0xb8b7cceb14e9b28e, 0 }, /* #23 */
3822 { 0x203b16, 0x203b87, 0xdfdce47b5d37515a, 0xcb14dc04bfc6f1e4, 0xb6f855c81123ecf2, 0x056e1e4527bae6d1, 0xd4be82aa63bbc0fa, 0 }, /* #24 */
3823 { 0x026186, 0x026983, 0x2772a0b7b022f88f, 0x9032bda39768b5c1, 0x0d8a3d09f58c9979, 0x037eb53f1e3a9b64, 0x16ae4ac8eb2074af, 0 }, /* #25 */
3824 { 0x072e07, 0x072e03, 0x2f5b8f37925f8005, 0x25ede887b0ce6034, 0x2ee97c0dad91b6cb, 0x101062829e3886e2, 0x56d6354d280679a4, 0 }, /* #26 */
3825 { 0x3026d3, 0x302e87, 0xb42215b6731578cf, 0xbbe11417cebfd9b8, 0x5d8147efee8967f3, 0x0684e9a20e3eff19, 0xea0088a9f95d08c8, 0 }, /* #27 */
3826 { 0x2b45d3, 0x2b4d07, 0x412ab6df868b32c3, 0x779aaefb1c62c41b, 0x6b96015cea805e3d, 0xe6593a7c873dc677, 0x9b3b3e08bd47e3c9, 0 }, /* #28 */
3827 { 0x395693, 0x395e03, 0xd380f4d095cd5239, 0x6014ca8af5239c8f, 0x4237986efee99f73, 0x0cb32eaf2ba271fc, 0xb6eeffaa3c454507, 0 }, /* #29 */
3828 { 0x1757d6, 0x175f83, 0x1ef3e72da55835c2, 0xafe67276e885852a, 0xa06781a50b69e3eb, 0x0a9a3bec662e8448, 0x57b089eb18c97235, 0 }, /* #30 */
3829 { 0x264056, 0x264807, 0xb7d36e2997649796, 0x369d3f824a684db2, 0xc00f3dfd1d8fe2c2, 0x029c26134ebd8da2, 0xf6be1734952e4b6b, 0 }, /* #31 */
3830 { 0x3509d7, 0x350987, 0x171acf7bb3dea59d, 0xf9ba93d5172feed2, 0xa9ae52c40b9492d6, 0xfa19cbcf19649eaf, 0xbea2f777f1ea6a7a, 0 }, /* #32 */
3831 { 0x395c47, 0x395c83, 0x0d0241e68c56c509, 0xb4d448d74c10941f, 0x226c7d78c48d3647, 0x02931041e2691950, 0x32a9af0fe4b1c1e7, 0 }, /* #33 */
3832 { 0x1f32c2, 0x1f3a83, 0xcbdda4d88d9f1d3a, 0xdab4ec284817512c, 0xda66c65ea58bac3e, 0xee9e52bfe132ed33, 0x5559b5e215448c0e, 0 }, /* #34 */
3833 { 0x2763d6, 0x276b87, 0x40656b5fff5afbba, 0xff906384278bef12, 0x71371658d848aa24, 0x0a24974240f5301c, 0x2852773e7a93f39d, 0 }, /* #35 */
3834 { 0x2e2a16, 0x2e2a07, 0x40f1b7bfe1b8e6fe, 0x1bb3d6b09ae0175a, 0x9ef6f3af8aaa7f69, 0xfb8da1f3c5da140e, 0xee78bb805d6826d3, 0 }, /* #36 */
3835 { 0x153bd7, 0x153b87, 0x2cbfebc3d9d1fc3e, 0xbe65a3ce300a66aa, 0xb551c708b62c3e1a, 0xffe9b30506df26fc, 0xff806c946924b80b, 0 }, /* #37 */
3836 { 0x193097, 0x193883, 0x8426f9e0651305da, 0x83e4a2b03d91423e, 0x3d2ff1783aecf435, 0x11b3e76c00eb8f47, 0xdb684f298e9836bb, 0 }, /* #38 */
3837 { 0x243a96, 0x243a83, 0x2362c52ecf1aff8f, 0xb060080041fca8fd, 0xe9a03807dbccc934, 0x0530c495192de1a8, 0x258d04f0142888b3, 0 }, /* #39 */
3838 { 0x020886, 0x020803, 0x7f638e8e3f9babb5, 0x01c6bd224dcfc807, 0x476ff8ee1c327bc5, 0xf0b5d4d1c58f9e49, 0xe1461bda1332d24b, 0 }, /* #40 */
3839 { 0x0b1583, 0x0b1d87, 0x424e3e8a06d2cf21, 0xed280cbbfe1d527b, 0xa09fa9d6b46ccf40, 0xf951bf6981128894, 0xe634df6ea8743a1b, 0 }, /* #41 */
3840 { 0x285846, 0x285887, 0x7201f06345ee9b52, 0x8e147dd03dbf138e, 0xa602de4f8982330d, 0x237faf12dca68a90, 0x4fb6131d99a961ef, 0 }, /* #42 */
3841 { 0x3d7506, 0x3d7d83, 0x3a37015c8b892d17, 0xf6d738c4d1e9eccd, 0x249a70a79e022958, 0xece24a874bcdbb16, 0xabefe76e762a0bbb, 0 }, /* #43 */
3842 { 0x0b50d2, 0x0b5887, 0xfb7033d6c5219e3c, 0xa0ca880899139124, 0xc219966fdaea2a3f, 0xffa0dab37c211f61, 0x14db83032f464aa7, 0 }, /* #44 */
3843 { 0x2d7a92, 0x2d7a87, 0xbf5f78c62cdd6250, 0x833b09648645f960, 0x83d5ab1b994e1401, 0xf0cdc6ce5f58608f, 0x3c31e8d0ce79665e, 0 }, /* #45 */
3844 { 0x3d64c6, 0x3d6c03, 0x8b73192ac854b074, 0x7b3b046d62cfc6ec, 0x513223ab52f527a3, 0x0fc4b4a95fc83212, 0xdd5d7a5df200bdb7, 0 }, /* #46 */
3845 { 0x303c46, 0x303c03, 0x3e8c546642bbd8d8, 0x2b7e72a5728cb6f8, 0x288e59ffa49d61cd, 0xe54031bfad015bb2, 0x9284fc59e173eb8d, 0 }, /* #47 */
3846 { 0x0d7353, 0x0d7b03, 0xff9bd84f89b41499, 0x34541dd46ebb17ab, 0x99b92001fb3434e7, 0xffdf58b250d86dc0, 0x5376b0d20ba3f4e3, 0 }, /* #48 */
3847 { 0x0011d2, 0x001903, 0xffe1c9ff54de6a92, 0x250299b89fc15d20, 0x415196066110577b, 0xfff4b415c70ac14a, 0x5fb95cc7a8948a10, 0 }, /* #49 */
3848 { 0x2e5e93, 0x2e5e03, 0x4bffe032a2d5e619, 0x15001bada4b3791c, 0xbd8b45540902a54b, 0xfc5ed07a6efc959f, 0xf3c617713946cd7c, 0 }, /* #50 */
3849 { 0x336102, 0x336983, 0x2a27d1425aba7fe6, 0xc8625690467edfe6, 0x8a77823042f7ee46, 0xf7d9228ae874a58d, 0xce7efdf002511001, 0 }, /* #51 */
3850 { 0x3a6947, 0x3a6983, 0xcc883aa4bf4e08da, 0x862cf2db350054e6, 0xebbcb06a4b360ef6, 0x177782171d521c3f, 0x8b46c8bd490bde5f, 0 }, /* #52 */
3851 { 0x3e0382, 0x3e0b87, 0xd0e8330c397ff7ef, 0xdbddb79a199cd50c, 0x162c4d4d5b8a5df1, 0x11cd7c096a29f61c, 0x9f3942fb0e1c8fb4, 0 }, /* #53 */
3852 { 0x064492, 0x064c87, 0xe9f7f517db1d2144, 0x8bd1629d363f489c, 0x7b97b108d5e86669, 0xf7a1149812f9cc00, 0x61443bb0c9814cf7, 0 }, /* #54 */
3853 { 0x110743, 0x110f83, 0x09fa14dd8ec5f586, 0x8106e7d0a9470694, 0xe125b07abce3df60, 0x011159ba1a7a97f3, 0x1b65fd090f4df6ee, 0 }, /* #55 */
3854 { 0x130086, 0x130803, 0xd609348c00f3c6f9, 0x5f4229b60e7e8604, 0x1a6878b72a35cd8d, 0xf7a51b6ec398e18a, 0x32f83b779c36a324, 0 }, /* #56 */
3855 { 0x3332c2, 0x333a07, 0x125567bfe9b71b3e, 0x22fd5d183f64953c, 0x81ea2fdf375adaa9, 0x09031e1772784668, 0x7dd741b46ca5d4a2, 0 }, /* #57 */
3856 { 0x0d2b06, 0x0d2b03, 0x2b9f2a48ec7a726a, 0x0d75c620b5e1ad62, 0x63861f6c6b1c5749, 0xf5ed7cd37135107d, 0xc4e3a7da5cfe130d, 0 }, /* #58 */
3857 { 0x1e0443, 0x1e0c87, 0x35e65044bcf808d6, 0xd6afe8eee0eac6de, 0x11b72f7ffe88193f, 0x0d1cd511350e433f, 0x3e477f0e7115fe0d, 0 }, /* #59 */
3858 { 0x321f52, 0x321f83, 0x60ecdceda8b71e51, 0xf6cba245bbf37fd3, 0x0c652b5d752b44f0, 0x01cb69fdbdf190a1, 0x04bd68c5497c3ee3, 0 }, /* #60 */
3859 { 0x335017, 0x335803, 0x40bdcce05d03ddd3, 0x19a66b2d81f860ad, 0xba1ae1eb18182efa, 0xea9e4c95e7ca779f, 0xab73eea1c5e7377f, 0 }, /* #61 */
3860 { 0x1a4c43, 0x1a4c87, 0xb1d296723e4cb423, 0xeee14d0932f98a17, 0x0f7cbe6d5aeacfac, 0xfc899abe8cd2f3d8, 0x0b56982715bee77d, 0 }, /* #62 */
3861 { 0x2a1d47, 0x2a1d03, 0x831f0f0668beb3c1, 0x5aa9db389e50df29, 0x85de08d3fa5ab478, 0x2607170772f9c388, 0xb20b2a7dbeae6569, 0 }, /* #63 */
3862};
3863static const MULDIVU64_TEST_T g_aTests_div_u64_intel[] =
3864{
3865 { 0x214603, 0x214603, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #0 */
3866 { 0x0e6a53, 0x0e6a53, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #1 */
3867 { 0x2e3083, 0x2e3083, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #2 */
3868 { 0x010883, 0x010883, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #3 */
3869 { 0x376986, 0x376986, 0xa4385b084b5bb32f, 0xa4385b084b5bb32f, 0x53a83a4899068392, 0x53a83a4899068392, 0x0000000000000000, -1 }, /* #4 */
3870 { 0x0f1d46, 0x0f1d46, 0x6359fc88b7e4139f, 0x6359fc88b7e4139f, 0xce04f494a566610a, 0xce04f494a566610a, 0x0000000000000000, -1 }, /* #5 */
3871 { 0x067247, 0x067247, 0x1e1c775f85c5ad66, 0x1e1c775f85c5ad66, 0x57fec157df9056e4, 0x57fec157df9056e4, 0x0000000000000000, -1 }, /* #6 */
3872 { 0x1e6913, 0x1e6913, 0x021bdf7871666d27, 0x021bdf7871666d27, 0x0fa7d4e3edd490e1, 0x0fa7d4e3edd490e1, 0x0000000000000000, -1 }, /* #7 */
3873 { 0x2e2702, 0x2e2702, 0x1d891c060758db3c, 0xfc915c12369ae4bc, 0xb347d71290c80361, 0x50e666dec9a05768, 0xb5b786dfc908b71b, 0 }, /* #8 */
3874 { 0x1e3842, 0x1e3842, 0x4c4d8aa1ed859d83, 0x4c4d8aa1ed859d83, 0x93e52e80bc5803b4, 0x93e52e80bc5803b4, 0x89d7335064742e09, -1 }, /* #9 */
3875 { 0x267653, 0x267653, 0x7392f0d93d9b5408, 0x2b9b457e602eaa1a, 0x1d6a36a8a40d96eb, 0x405a9ef1c11d6476, 0xacaf7a41edc0f6ad, 0 }, /* #10 */
3876 { 0x3b5d86, 0x3b5d86, 0x5008770c1fadeb7e, 0x5d946c2fa790ae0b, 0x5600a097cb2c5dac, 0x94373a89f478844c, 0xeb456e2ed0dffed6, 0 }, /* #11 */
3877 { 0x304b46, 0x304b46, 0xd0765d4f74df890b, 0xd0765d4f74df890b, 0xb5527f9b3d9caf39, 0xb5527f9b3d9caf39, 0x19c869cd46d70323, -1 }, /* #12 */
3878 { 0x396a52, 0x396a52, 0x2bc8736568294c03, 0x2bc8736568294c03, 0xab28f1fbc1a272d7, 0xab28f1fbc1a272d7, 0x9adf670a7ada4b1b, -1 }, /* #13 */
3879 { 0x2b5b93, 0x2b5b93, 0x23586d5cd8b0937c, 0x2b1668937679829f, 0x29c3720751409083, 0x00a45a547ed4d353, 0xf822163f43b15037, 0 }, /* #14 */
3880 { 0x2f3157, 0x2f3157, 0xcd1d6aa2b65bdec4, 0xcd1d6aa2b65bdec4, 0xeb18403775326fae, 0xeb18403775326fae, 0xea234062211d255b, -1 }, /* #15 */
3881 { 0x2b5102, 0x2b5102, 0x269687ab3f568aee, 0xa3a74be45ba2acdb, 0x5818855b6c8d24e1, 0x5b58db99a22b2d7f, 0x89ce78a3d2a56bfd, 0 }, /* #16 */
3882 { 0x157bc2, 0x157bc2, 0x6a9c8baab9bca2b7, 0x6a9c8baab9bca2b7, 0xe05ca3afeda511f8, 0xe05ca3afeda511f8, 0x2600979f1dbba1e3, -1 }, /* #17 */
3883 { 0x305653, 0x305653, 0x1bb4c097efbda86e, 0x1bb4c097efbda86e, 0xe80d9c49a51f524c, 0xe80d9c49a51f524c, 0x6250fbc52d6b3875, -1 }, /* #18 */
3884 { 0x237843, 0x237843, 0x9281e588ad268437, 0x9281e588ad268437, 0x6e82ba35784d5a4d, 0x6e82ba35784d5a4d, 0x62d920713557c725, -1 }, /* #19 */
3885 { 0x3e76d3, 0x3e76d3, 0x69b63250315c915d, 0xb5a1c2f54c82c99e, 0x60b92945d681a3e0, 0x40647911cf30905f, 0x885379926125f551, 0 }, /* #20 */
3886 { 0x137f97, 0x137f97, 0x321344712cf85e84, 0x421b202161acaefa, 0x401313832dcbcee4, 0x5e1d6952ab128c8e, 0xf82212863f0e5bd7, 0 }, /* #21 */
3887 { 0x3d2497, 0x3d2497, 0x2d544a184e04f3b2, 0x6f31203b95f749f2, 0x65ab8a96c8f65722, 0x4df78c646af23bf0, 0xea13e2bbc6477029, 0 }, /* #22 */
3888 { 0x172843, 0x172843, 0x7b983e3d28d90ccd, 0xa397de8f8108beb6, 0x65a29c59adc340ca, 0x0d846bfce3197813, 0x9f0b66a50deaa2a7, 0 }, /* #23 */
3889 { 0x3c1706, 0x3c1706, 0x1655098c8b857bd4, 0x1925d4be21a4e8e9, 0x18099eaa73cb68c0, 0x2fd10d9359bd8091, 0xf4b2c76efd72674b, 0 }, /* #24 */
3890 { 0x325a53, 0x325a53, 0x30210708a5302bfe, 0x770cea8525f06a5f, 0x3a17396bd477c84f, 0x5b234c3796f970db, 0x7cea51c147eaadbd, 0 }, /* #25 */
3891 { 0x396f12, 0x396f12, 0xdf5aaf460d480d77, 0x57ffb866ef1a5cc5, 0x063ae6874549c747, 0x101abc101622ed06, 0x121fc4a5946447bd, 0 }, /* #26 */
3892 { 0x2c5e17, 0x2c5e17, 0x2ff25779384fdbb0, 0x1529cf1bfc5f6ec4, 0x0c2be96bebcaa2fa, 0x0da518a694438498, 0x933b52fab889f1a6, 0 }, /* #27 */
3893 { 0x2b1046, 0x2b1046, 0x37df903fcd26e004, 0x37df903fcd26e004, 0xbb78e76c6987736d, 0xbb78e76c6987736d, 0xacaf3f745f5a6788, -1 }, /* #28 */
3894 { 0x106bc6, 0x106bc6, 0x8d229a648ebc27b3, 0xfcffd6214112046a, 0x6d84684ed4ce8b19, 0x3fac17ccebdece4f, 0x6ed0ed3659ad102a, 0 }, /* #29 */
3895 { 0x0a0603, 0x0a0603, 0xd105b990de6f827d, 0x878980fc7540914a, 0x6d795e9345fff2db, 0x4ff93c0574bbf7cb, 0xcec5cbeda999b7a5, 0 }, /* #30 */
3896 { 0x0b7912, 0x0b7912, 0x77a107a5c8634354, 0x77a107a5c8634354, 0x711caeacd93559ae, 0x711caeacd93559ae, 0x375c59c123747a9a, -1 }, /* #31 */
3897 { 0x1b7d93, 0x1b7d93, 0xdc43f5a761b43d54, 0x24f76f08b3550616, 0x210cfac6cc76a82a, 0x9286162db0ab14f4, 0xe4e1d2a2a93b5a90, 0 }, /* #32 */
3898 { 0x3963c6, 0x3963c6, 0x3728e937d6180e33, 0x3728e937d6180e33, 0xbb8e6c70fe3d2215, 0xbb8e6c70fe3d2215, 0x50a0da3fb4d88cce, -1 }, /* #33 */
3899 { 0x1327c7, 0x1327c7, 0x3fdf1bd7b2bd6a33, 0x3fdf1bd7b2bd6a33, 0xf5384c6ddda1608c, 0xf5384c6ddda1608c, 0x18204ef338127366, -1 }, /* #34 */
3900 { 0x0c1fc6, 0x0c1fc6, 0x2961ead339cb56c6, 0x2961ead339cb56c6, 0x871d41d9eaa1a84e, 0x871d41d9eaa1a84e, 0x17b7567ed3267cae, -1 }, /* #35 */
3901 { 0x2506c2, 0x2506c2, 0xdc14818505292f79, 0xdc14818505292f79, 0x51c9d33725457477, 0x51c9d33725457477, 0x2b973fa90f1cf8fb, -1 }, /* #36 */
3902 { 0x025412, 0x025412, 0x30ab4870cc3627a8, 0xeba73a4e54f0a297, 0x919a11944b9b4b01, 0x47cbb60eacde4091, 0x9e2c62b2106def81, 0 }, /* #37 */
3903 { 0x3b47d6, 0x3b47d6, 0xce22c2abaa51d21c, 0x77d4abdc5d148312, 0x574b53454c0f7ab1, 0x464edb370459cb6c, 0xba7da16beef7ca98, 0 }, /* #38 */
3904 { 0x326e03, 0x326e03, 0x1d0f6eb7494c15a4, 0x6ec3ff405239b364, 0x40a7da05cc42ee11, 0x105e7e9c66eea2f0, 0x956e6adf17e819f5, 0 }, /* #39 */
3905 { 0x360817, 0x360817, 0xe4430ea61e7c693a, 0xe4430ea61e7c693a, 0xc1dfa26730fea9e5, 0xc1dfa26730fea9e5, 0x21987b7393694fb6, -1 }, /* #40 */
3906 { 0x037292, 0x037292, 0x5b6a10bf2f738cbb, 0x5b6a10bf2f738cbb, 0x9a52475889a40fb5, 0x9a52475889a40fb5, 0x5a28c345e217f904, -1 }, /* #41 */
3907 { 0x144602, 0x144602, 0x143e77c3bf815758, 0x143e77c3bf815758, 0xe432b3337c80a495, 0xe432b3337c80a495, 0x3fb69251cd6540b5, -1 }, /* #42 */
3908 { 0x004713, 0x004713, 0xf61e55807520980f, 0xf61e55807520980f, 0xf6a2d796b75f16c3, 0xf6a2d796b75f16c3, 0x4aca43502454c1b6, -1 }, /* #43 */
3909 { 0x005a57, 0x005a57, 0xb63778b83724822a, 0xd04b971905a38be1, 0xc9b074b264e04f58, 0xd879ed8df259312e, 0xf7e18debbf85907c, 0 }, /* #44 */
3910 { 0x251e87, 0x251e87, 0x4b146a49fc38a0d7, 0x4b146a49fc38a0d7, 0xf6ff352a7fb29372, 0xf6ff352a7fb29372, 0x805bc640e426d69b, -1 }, /* #45 */
3911 { 0x382706, 0x382706, 0x9306850bed75affe, 0xc6aa3eb923c44fe9, 0x65c5773cfe398eaf, 0x55fc61c1eaf80b24, 0x8324878fe1227fca, 0 }, /* #46 */
3912 { 0x273316, 0x273316, 0x4575423915cebf65, 0x20e300a80057df61, 0x0ade762afd305a22, 0x4fe5c61f06cddbd2, 0x549b80840f6a6b73, 0 }, /* #47 */
3913 { 0x1e55d6, 0x1e55d6, 0xefe09b769b6b157e, 0xefe09b769b6b157e, 0x65b3756428469958, 0x65b3756428469958, 0x5dd385130d12d174, -1 }, /* #48 */
3914 { 0x3b1583, 0x3b1583, 0x834175ebf008fea4, 0x834175ebf008fea4, 0xc5eb7fd97acfdc8a, 0xc5eb7fd97acfdc8a, 0x39855d080fff942a, -1 }, /* #49 */
3915 { 0x016ac3, 0x016ac3, 0x8a7770aa2a1f85a5, 0x2fed92857fd36522, 0x1c2545f71058e3f6, 0x1d07ec2bdb651e67, 0x9655d6e3856e3b2f, 0 }, /* #50 */
3916 { 0x255716, 0x255716, 0xa453e9db60227277, 0xa453e9db60227277, 0xe045d351c926953c, 0xe045d351c926953c, 0x1f1db10833b07388, -1 }, /* #51 */
3917 { 0x1339c7, 0x1339c7, 0xa11cdeb174be2445, 0x3c47fc3a565d29b0, 0x10b6315005787938, 0x1f1b5e65da8ea735, 0x46f8797e20ac8003, 0 }, /* #52 */
3918 { 0x123003, 0x123003, 0xed2b5900bc13992f, 0xed2b5900bc13992f, 0xef75d0d09d62302c, 0xef75d0d09d62302c, 0x665aaa0b44773ac8, -1 }, /* #53 */
3919 { 0x061b02, 0x061b02, 0x6d83b0ae81d33236, 0x6d83b0ae81d33236, 0x686d359b176ab549, 0x686d359b176ab549, 0x319ec30126d0d5e1, -1 }, /* #54 */
3920 { 0x354016, 0x354016, 0xb79bb784cedbe826, 0x88aed3967965f185, 0x769a7710393fb217, 0xaf1b10e3b12b251b, 0xde2351cd11b5bf4f, 0 }, /* #55 */
3921 { 0x2751d2, 0x2751d2, 0x77950c5a72758396, 0xa5fb65ed6e0f4af5, 0x87ff3935c8ccd2cb, 0xa0f7e83ca078645a, 0xd1c0c3062d4154cc, 0 }, /* #56 */
3922 { 0x0c6792, 0x0c6792, 0xc02e61235a5ff9cc, 0xc02e61235a5ff9cc, 0xd013c25d222e642b, 0xd013c25d222e642b, 0x6203cfdbd2e45c22, -1 }, /* #57 */
3923 { 0x271412, 0x271412, 0x15ff670d2ae6005f, 0x15ff670d2ae6005f, 0x6251951b41338c6b, 0x6251951b41338c6b, 0x3c6826c6477e8f21, -1 }, /* #58 */
3924 { 0x021e86, 0x021e86, 0x513bef75fc694b35, 0x513bef75fc694b35, 0x95810eee82a3964e, 0x95810eee82a3964e, 0x31fe1a3d40b52838, -1 }, /* #59 */
3925 { 0x127e16, 0x127e16, 0xab697e2f9b04680b, 0xc1b4a24c6e9ef872, 0xaadcec8c8e96ca8d, 0x4c7bfd9b689c64ab, 0xe1cfb4da3ef06f30, 0 }, /* #60 */
3926 { 0x1d5546, 0x1d5546, 0xec0ab2da414ca90f, 0xec0ab2da414ca90f, 0xb02cd28e4ad5f4d9, 0xb02cd28e4ad5f4d9, 0x6f2268c39af327e4, -1 }, /* #61 */
3927 { 0x087dc6, 0x087dc6, 0xbbc6a9a731649399, 0xbbc6a9a731649399, 0x5ab163bcd676609d, 0x5ab163bcd676609d, 0x4003bbf044d8979b, -1 }, /* #62 */
3928 { 0x073583, 0x073583, 0x325978789d58e4c0, 0x28735392830f95bc, 0x2022bc05c5210fc9, 0x6e3eea3776cfec40, 0xcb60baba7051d3e0, 0 }, /* #63 */
3929};
3930static const MULDIVU64_TEST_T g_aTests_idiv_u64_intel[] =
3931{
3932 { 0x3e0257, 0x3e0257, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #0 */
3933 { 0x3a6982, 0x3a6982, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #1 */
3934 { 0x3c5e53, 0x3c5e53, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #2 */
3935 { 0x2302c6, 0x2302c6, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, -1 }, /* #3 */
3936 { 0x181907, 0x181907, 0x3e8452e8416b90fd, 0x3e8452e8416b90fd, 0xc77e739889c6e580, 0xc77e739889c6e580, 0x0000000000000000, -1 }, /* #4 */
3937 { 0x1374d3, 0x1374d3, 0xf48762a8eeb6a343, 0xf48762a8eeb6a343, 0x4fbecfc44f62b95c, 0x4fbecfc44f62b95c, 0x0000000000000000, -1 }, /* #5 */
3938 { 0x2949c7, 0x2949c7, 0x817873bebf82b416, 0x817873bebf82b416, 0x6829b32cbb5534d7, 0x6829b32cbb5534d7, 0x0000000000000000, -1 }, /* #6 */
3939 { 0x391616, 0x391616, 0x7e9602644fec713a, 0x7e9602644fec713a, 0xb07020ee0cf2a7ee, 0xb07020ee0cf2a7ee, 0x0000000000000000, -1 }, /* #7 */
3940 { 0x1a2692, 0x1a2692, 0xa17536986deda7c6, 0xafa78026cf55723c, 0x2328473d660e87bc, 0x1aea6221e0ec7cea, 0x8ffb07b7d7c39359, 0 }, /* #8 */
3941 { 0x382852, 0x382852, 0xa3917003ecdc7529, 0xa3917003ecdc7529, 0x56505932ecaf716c, 0x56505932ecaf716c, 0xf6932163ba930439, -1 }, /* #9 */
3942 { 0x0570d6, 0x0570d6, 0x119c2ad840a42c76, 0x5c2c6fe1542397ab, 0xfe0dbe937f86dd61, 0xfc80dbc9e78b6b70, 0xfa982924c1254512, 0 }, /* #10 */
3943 { 0x076756, 0x076756, 0x9865b18a238a8c8b, 0x9865b18a238a8c8b, 0xbd41d2d345152bdf, 0xbd41d2d345152bdf, 0x28f9359c276caac4, -1 }, /* #11 */
3944 { 0x305996, 0x305996, 0xed712836f614f501, 0x8769ea18b4fccc2b, 0xf81febf20d956b4b, 0xf8f1c4fa255e0f78, 0x10b80e75e8e0971b, 0 }, /* #12 */
3945 { 0x041c56, 0x041c56, 0x35f7bebc0a900aa9, 0x35f7bebc0a900aa9, 0xe78cfaceed5aa300, 0xe78cfaceed5aa300, 0xf165f13710679edf, -1 }, /* #13 */
3946 { 0x084ad2, 0x084ad2, 0x344c2580d591bffc, 0x344c2580d591bffc, 0x8efc85f1befd636e, 0x8efc85f1befd636e, 0x7bfb77dac5c87fc5, -1 }, /* #14 */
3947 { 0x1f0d12, 0x1f0d12, 0xb6bf3b07f12652ae, 0xb6bf3b07f12652ae, 0xb7daaf9201155758, 0xb7daaf9201155758, 0x5de7cf57968a254c, -1 }, /* #15 */
3948 { 0x3c3692, 0x3c3692, 0xb999d76f2e2ccd18, 0xb999d76f2e2ccd18, 0xa3d1ba590e2ff679, 0xa3d1ba590e2ff679, 0x9a28e399fd1874ef, -1 }, /* #16 */
3949 { 0x2f4116, 0x2f4116, 0xe15000b9557b68f7, 0x30637ecee2cc75cb, 0x1289257aea21f73c, 0x48e9edc9eeb92b0a, 0x62102e1f47ab6427, 0 }, /* #17 */
3950 { 0x217716, 0x217716, 0x690b7e9824e62a16, 0x690b7e9824e62a16, 0x90af07b6b41c6b5e, 0x90af07b6b41c6b5e, 0xe3dba7b2d6ea2959, -1 }, /* #18 */
3951 { 0x2e21d6, 0x2e21d6, 0x29d192c1fa61e0f4, 0x3776dc83971a29ef, 0x109e33374f246a28, 0x04c81e34c43f8252, 0x4cb39b45a4e0f57e, 0 }, /* #19 */
3952 { 0x3f14d2, 0x3f14d2, 0xd3040de223b73cd6, 0x53ca5a895cdd02fa, 0xe32c70c537db3099, 0xebbae7e56aaf32a8, 0xa7edaad2243a6523, 0 }, /* #20 */
3953 { 0x331757, 0x331757, 0x666a7723c9e73128, 0x666a7723c9e73128, 0x8990559c596d908c, 0x8990559c596d908c, 0xea84289d293d5ff0, -1 }, /* #21 */
3954 { 0x1723d7, 0x1723d7, 0x8d7bf9009c7c10b6, 0x8d7bf9009c7c10b6, 0x5325333661e4865e, 0x5325333661e4865e, 0x7a59a03ed0559b90, -1 }, /* #22 */
3955 { 0x2b3dc3, 0x2b3dc3, 0x6b139cd3f560d06f, 0x6b139cd3f560d06f, 0xe9c624e9d71706da, 0xe9c624e9d71706da, 0x1881aa59d6e9a56f, -1 }, /* #23 */
3956 { 0x282492, 0x282492, 0x243e98a3d2f02fbf, 0x243e98a3d2f02fbf, 0x52b3fcb9407bf242, 0x52b3fcb9407bf242, 0xd717b37317fdf181, -1 }, /* #24 */
3957 { 0x3c1343, 0x3c1343, 0x5bf82ecbfb3abe65, 0x5bf82ecbfb3abe65, 0x2dc2e7f128efc047, 0x2dc2e7f128efc047, 0x4723350386b57054, -1 }, /* #25 */
3958 { 0x300407, 0x300407, 0xd9b16cf63507dda4, 0xd9b16cf63507dda4, 0x329cc6a47ff61fa7, 0x329cc6a47ff61fa7, 0x5123e8d6ff00ff2b, -1 }, /* #26 */
3959 { 0x113c46, 0x113c46, 0x831a38ba8fd65a13, 0x831a38ba8fd65a13, 0x36415feaf30472b2, 0x36415feaf30472b2, 0xf0eddc1cb7012032, -1 }, /* #27 */
3960 { 0x3c2b57, 0x3c2b57, 0x2d7b5c000f684dd5, 0xf63782be64e90b07, 0x03550a8236cbc500, 0x478afe7bc4c9b312, 0xa8ce1fd858cb7765, 0 }, /* #28 */
3961 { 0x1772d6, 0x1772d6, 0x871a0806bb1617b8, 0x871a0806bb1617b8, 0x62305325d64a515b, 0x62305325d64a515b, 0xeb02aafbd4f6d9ec, -1 }, /* #29 */
3962 { 0x257717, 0x257717, 0xeb440575e9d46b5a, 0xb1c85987b8f2c8db, 0xed824febb54829d8, 0xc444112f5b282a39, 0x3c85070a203e70b3, 0 }, /* #30 */
3963 { 0x3002c7, 0x3002c7, 0xd6d93451b568c16d, 0x4d1bbedd2102e3ea, 0x1cfe9cb21fdec700, 0x5af3714e9d476477, 0x604316c6bfbfa8af, 0 }, /* #31 */
3964 { 0x107796, 0x107796, 0xeea1239ff5a4ff67, 0xeea1239ff5a4ff67, 0xd3e0261cc254ff4a, 0xd3e0261cc254ff4a, 0xabc9ee8747cf3c7c, -1 }, /* #32 */
3965 { 0x3e7e93, 0x3e7e93, 0x3fa16eb18ad34b0f, 0x0793a1669857e8bd, 0x038375e0ac33b1c3, 0x5f32400ad3baa26c, 0x76b6dc7f46f55cdf, 0 }, /* #33 */
3966 { 0x3a7193, 0x3a7193, 0x3203a0cc34942267, 0xb8de45c4a7c4808a, 0x0d82d88c0f4c9954, 0x0a4deeaa2f0ee0a5, 0xcf5fc470e38d2ded, 0 }, /* #34 */
3967 { 0x2f00c7, 0x2f00c7, 0x07e236f4e1a1a977, 0x07e236f4e1a1a977, 0xd2d30a4952176148, 0xd2d30a4952176148, 0x1049f82e6cbb02ea, -1 }, /* #35 */
3968 { 0x3147d2, 0x3147d2, 0x41d7134478d5cb6d, 0x41d7134478d5cb6d, 0x80dcb36c6c88c3d5, 0x80dcb36c6c88c3d5, 0x4a41fa3453a28c92, -1 }, /* #36 */
3969 { 0x0a3c16, 0x0a3c16, 0xe175c4d36bb1e5a0, 0xe175c4d36bb1e5a0, 0x5ececf589890d288, 0x5ececf589890d288, 0xac37d01852521748, -1 }, /* #37 */
3970 { 0x2638c6, 0x2638c6, 0xf7b26164d2e71f4b, 0xf7b26164d2e71f4b, 0x8bd67887c04e9927, 0x8bd67887c04e9927, 0x57f751bbb17b3e7b, -1 }, /* #38 */
3971 { 0x1f1352, 0x1f1352, 0x6a9e643bf4745487, 0x6a9e643bf4745487, 0x5dcd93a6bf3f65a1, 0x5dcd93a6bf3f65a1, 0x947fd2f9a2b9a006, -1 }, /* #39 */
3972 { 0x001902, 0x001902, 0x78acafa640d918ac, 0x78acafa640d918ac, 0x8629f3465e8d2fa0, 0x8629f3465e8d2fa0, 0x0f8d226774f41216, -1 }, /* #40 */
3973 { 0x137c56, 0x137c56, 0x8d5d0a7f823cc87d, 0xe88177f7e7ff4e6c, 0xf5701d303cfe9831, 0xce1a07eb82d12435, 0x73164a6b70722956, 0 }, /* #41 */
3974 { 0x044c93, 0x044c93, 0x1da135defbb85eec, 0x1da135defbb85eec, 0x8a86c9bba798678a, 0x8a86c9bba798678a, 0xaac5210fa0b0a6d6, -1 }, /* #42 */
3975 { 0x353d93, 0x353d93, 0x79fe7733b3cf54cc, 0x79fe7733b3cf54cc, 0x64b94eaad13010dd, 0x64b94eaad13010dd, 0xfc9a2afc5826021c, -1 }, /* #43 */
3976 { 0x2e7403, 0x2e7403, 0xa18d310d199f9588, 0xa18d310d199f9588, 0x58f3b113b2f9ff9b, 0x58f3b113b2f9ff9b, 0x1203d1f547bc9386, -1 }, /* #44 */
3977 { 0x194c83, 0x194c83, 0x19bc7fa6655e0965, 0x19bc7fa6655e0965, 0xdc16e87a32e19aac, 0xdc16e87a32e19aac, 0xd77714b94aabf72b, -1 }, /* #45 */
3978 { 0x131e46, 0x131e46, 0x3dec09d2c35192c5, 0x3dec09d2c35192c5, 0x92e75a52a54059c8, 0x92e75a52a54059c8, 0x3bfcef04a57bce77, -1 }, /* #46 */
3979 { 0x166f03, 0x166f03, 0xc47f9c59f2c5a97a, 0xc47f9c59f2c5a97a, 0x66472e57b9d3012e, 0x66472e57b9d3012e, 0xa359d7740e271758, -1 }, /* #47 */
3980 { 0x1212c2, 0x1212c2, 0xbe005b80a9f7c7a6, 0xf60ab558148e43bd, 0xfd2a865c9862d0b4, 0xfa0a008a351b7f46, 0x48da2d3fe523bfe0, 0 }, /* #48 */
3981 { 0x0a2f02, 0x0a2f02, 0x779406f109365991, 0xdd7377e9c5b7585a, 0xf8fc20f82392e19c, 0xfa095985fceca3b5, 0x33fb00fbf642e566, 0 }, /* #49 */
3982 { 0x102a97, 0x102a97, 0x7cd7add7bfde01c0, 0x7cd7add7bfde01c0, 0x920a5f031b92e145, 0x920a5f031b92e145, 0xc1dd1e7c049a9bb3, -1 }, /* #50 */
3983 { 0x0d3213, 0x0d3213, 0x23caedb9f0691dec, 0x7cc063fd81586ebf, 0x2fcf560000b13ba5, 0x1b9efb0375c4656d, 0x621c15ea6d8fe641, 0 }, /* #51 */
3984 { 0x334387, 0x334387, 0x9c122f13d1e75f4c, 0x1faf6cf3e16fffce, 0x06085808eddb5d49, 0x01eec103be3988dc, 0x30bd79f127843408, 0 }, /* #52 */
3985 { 0x313316, 0x313316, 0xfba5d6d4f9f060b1, 0xfba5d6d4f9f060b1, 0xacdd42cf93096027, 0xacdd42cf93096027, 0x20e711c12cad8494, -1 }, /* #53 */
3986 { 0x172dc2, 0x172dc2, 0x9163d9712c3b786f, 0x9163d9712c3b786f, 0x3dc8ad142d511d95, 0x3dc8ad142d511d95, 0x3fa3adfdbacac1e1, -1 }, /* #54 */
3987 { 0x367d42, 0x367d42, 0x739d83b6b4a825ed, 0x81fa486e6d670a3d, 0x304dc96935710d48, 0x09b9e375655f1e8d, 0x9de05064ea2b7ae0, 0 }, /* #55 */
3988 { 0x2d0b97, 0x2d0b97, 0xa3305324cfbbe792, 0xcc6fdac65278dbe8, 0xf0c1a7b48636d0a2, 0xf3c19a91d6d1d10a, 0x4bae56766c381ce5, 0 }, /* #56 */
3989 { 0x1046c3, 0x1046c3, 0xf969baba1243d7bf, 0xf969baba1243d7bf, 0x5a74916e66cbb03a, 0x5a74916e66cbb03a, 0x40bf10e272b9e1e4, -1 }, /* #57 */
3990 { 0x371ed7, 0x371ed7, 0x0410635c7f204cd5, 0xdd4e38bb8d3e673a, 0xef96a9242d84d402, 0x8efb84aa00da7563, 0x79186ebb69cec3cd, 0 }, /* #58 */
3991 { 0x001887, 0x001887, 0x73f1b17a538fce56, 0x73f1b17a538fce56, 0xed04144f8c40a610, 0xed04144f8c40a610, 0xe956c88328ff5b19, -1 }, /* #59 */
3992 { 0x1b4843, 0x1b4843, 0xf75a7b054e83d766, 0xf75a7b054e83d766, 0x264695a90c8fd993, 0x264695a90c8fd993, 0xf9e28cc6987c0d1d, -1 }, /* #60 */
3993 { 0x0372d7, 0x0372d7, 0x45c3b002d6bc4173, 0x45c3b002d6bc4173, 0x4c9604e7409bcac7, 0x4c9604e7409bcac7, 0x4c88af4376ffdda2, -1 }, /* #61 */
3994 { 0x1e50c2, 0x1e50c2, 0xa5577fef7d98ab5f, 0xa5577fef7d98ab5f, 0x8dffdfdebe3b4466, 0x8dffdfdebe3b4466, 0xca7e083ac9a7c929, -1 }, /* #62 */
3995 { 0x280746, 0x280746, 0x218e1caa548dcc9c, 0x87effc4b34caeffe, 0xea7d7828d945e374, 0xdf662758a911e64c, 0x2ddd2506177f4cd8, 0 }, /* #63 */
3996};
3997
3998#endif /* !VMM_INCLUDED_SRC_testcase_tstIEMAImplData_Intel_h */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette