Coverage Report

Created: 2018-09-19 20:53

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/clang-build/lib/Target/X86/X86GenSubtargetInfo.inc
Line
Count
Source (jump to first uncovered line)
1
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2
|*                                                                            *|
3
|* Subtarget Enumeration Source Fragment                                      *|
4
|*                                                                            *|
5
|* Automatically generated file, do not edit!                                 *|
6
|*                                                                            *|
7
\*===----------------------------------------------------------------------===*/
8
9
10
#ifdef GET_SUBTARGETINFO_ENUM
11
#undef GET_SUBTARGETINFO_ENUM
12
13
namespace llvm {
14
namespace X86 {
15
enum {
16
  Feature3DNow = 0,
17
  Feature3DNowA = 1,
18
  Feature64Bit = 2,
19
  FeatureADX = 3,
20
  FeatureAES = 4,
21
  FeatureAVX = 5,
22
  FeatureAVX2 = 6,
23
  FeatureAVX512 = 7,
24
  FeatureBITALG = 8,
25
  FeatureBMI = 9,
26
  FeatureBMI2 = 10,
27
  FeatureBWI = 11,
28
  FeatureCDI = 12,
29
  FeatureCLDEMOTE = 13,
30
  FeatureCLFLUSHOPT = 14,
31
  FeatureCLWB = 15,
32
  FeatureCLZERO = 16,
33
  FeatureCMOV = 17,
34
  FeatureCMPXCHG16B = 18,
35
  FeatureDQI = 19,
36
  FeatureERI = 20,
37
  FeatureERMSB = 21,
38
  FeatureF16C = 22,
39
  FeatureFMA = 23,
40
  FeatureFMA4 = 24,
41
  FeatureFSGSBase = 25,
42
  FeatureFXSR = 26,
43
  FeatureFast11ByteNOP = 27,
44
  FeatureFast15ByteNOP = 28,
45
  FeatureFastLZCNT = 29,
46
  FeatureFastPartialYMMorZMMWrite = 30,
47
  FeatureFastSHLDRotate = 31,
48
  FeatureFastScalarFSQRT = 32,
49
  FeatureFastVariableShuffle = 33,
50
  FeatureFastVectorFSQRT = 34,
51
  FeatureGFNI = 35,
52
  FeatureHasFastGather = 36,
53
  FeatureIFMA = 37,
54
  FeatureINVPCID = 38,
55
  FeatureLAHFSAHF = 39,
56
  FeatureLEAForSP = 40,
57
  FeatureLEAUsesAG = 41,
58
  FeatureLWP = 42,
59
  FeatureLZCNT = 43,
60
  FeatureLZCNTFalseDeps = 44,
61
  FeatureMMX = 45,
62
  FeatureMOVBE = 46,
63
  FeatureMOVDIR64B = 47,
64
  FeatureMOVDIRI = 48,
65
  FeatureMPX = 49,
66
  FeatureMWAITX = 50,
67
  FeatureMacroFusion = 51,
68
  FeatureNOPL = 52,
69
  FeaturePCLMUL = 53,
70
  FeaturePCONFIG = 54,
71
  FeaturePFI = 55,
72
  FeaturePKU = 56,
73
  FeaturePOPCNT = 57,
74
  FeaturePOPCNTFalseDeps = 58,
75
  FeaturePREFETCHWT1 = 59,
76
  FeaturePRFCHW = 60,
77
  FeaturePTWRITE = 61,
78
  FeaturePadShortFunctions = 62,
79
  FeaturePrefer256Bit = 63,
80
  FeatureRDPID = 64,
81
  FeatureRDRAND = 65,
82
  FeatureRDSEED = 66,
83
  FeatureRTM = 67,
84
  FeatureRetpoline = 68,
85
  FeatureRetpolineExternalThunk = 69,
86
  FeatureRetpolineIndirectBranches = 70,
87
  FeatureRetpolineIndirectCalls = 71,
88
  FeatureSGX = 72,
89
  FeatureSHA = 73,
90
  FeatureSHSTK = 74,
91
  FeatureSSE1 = 75,
92
  FeatureSSE2 = 76,
93
  FeatureSSE3 = 77,
94
  FeatureSSE4A = 78,
95
  FeatureSSE41 = 79,
96
  FeatureSSE42 = 80,
97
  FeatureSSEUnalignedMem = 81,
98
  FeatureSSSE3 = 82,
99
  FeatureSlow3OpsLEA = 83,
100
  FeatureSlowDivide32 = 84,
101
  FeatureSlowDivide64 = 85,
102
  FeatureSlowIncDec = 86,
103
  FeatureSlowLEA = 87,
104
  FeatureSlowPMULLD = 88,
105
  FeatureSlowSHLD = 89,
106
  FeatureSlowTwoMemOps = 90,
107
  FeatureSlowUAMem16 = 91,
108
  FeatureSlowUAMem32 = 92,
109
  FeatureSoftFloat = 93,
110
  FeatureTBM = 94,
111
  FeatureVAES = 95,
112
  FeatureVBMI = 96,
113
  FeatureVBMI2 = 97,
114
  FeatureVLX = 98,
115
  FeatureVNNI = 99,
116
  FeatureVPCLMULQDQ = 100,
117
  FeatureVPOPCNTDQ = 101,
118
  FeatureWAITPKG = 102,
119
  FeatureWBNOINVD = 103,
120
  FeatureX87 = 104,
121
  FeatureXOP = 105,
122
  FeatureXSAVE = 106,
123
  FeatureXSAVEC = 107,
124
  FeatureXSAVEOPT = 108,
125
  FeatureXSAVES = 109,
126
  Mode16Bit = 110,
127
  Mode32Bit = 111,
128
  Mode64Bit = 112,
129
  ProcIntelAtom = 113,
130
  ProcIntelBDW = 114,
131
  ProcIntelCNL = 115,
132
  ProcIntelGLM = 116,
133
  ProcIntelGLP = 117,
134
  ProcIntelHSW = 118,
135
  ProcIntelICL = 119,
136
  ProcIntelICX = 120,
137
  ProcIntelKNL = 121,
138
  ProcIntelSKL = 122,
139
  ProcIntelSKX = 123,
140
  ProcIntelSLM = 124,
141
  ProcIntelTRM = 125,
142
};
143
} // end namespace X86
144
} // end namespace llvm
145
146
#endif // GET_SUBTARGETINFO_ENUM
147
148
149
#ifdef GET_SUBTARGETINFO_MC_DESC
150
#undef GET_SUBTARGETINFO_MC_DESC
151
152
namespace llvm {
153
// Sorted (by key) array of values for CPU features.
154
extern const llvm::SubtargetFeatureKV X86FeatureKV[] = {
155
  { "16bit-mode", "16-bit mode (i8086)", { X86::Mode16Bit }, { } },
156
  { "32bit-mode", "32-bit mode (80386)", { X86::Mode32Bit }, { } },
157
  { "3dnow", "Enable 3DNow! instructions", { X86::Feature3DNow }, { X86::FeatureMMX } },
158
  { "3dnowa", "Enable 3DNow! Athlon instructions", { X86::Feature3DNowA }, { X86::Feature3DNow } },
159
  { "64bit", "Support 64-bit instructions", { X86::Feature64Bit }, { } },
160
  { "64bit-mode", "64-bit mode (x86_64)", { X86::Mode64Bit }, { } },
161
  { "adx", "Support ADX instructions", { X86::FeatureADX }, { } },
162
  { "aes", "Enable AES instructions", { X86::FeatureAES }, { X86::FeatureSSE2 } },
163
  { "atom", "Intel Atom processors", { X86::ProcIntelAtom }, { } },
164
  { "avx", "Enable AVX instructions", { X86::FeatureAVX }, { X86::FeatureSSE42 } },
165
  { "avx2", "Enable AVX2 instructions", { X86::FeatureAVX2 }, { X86::FeatureAVX } },
166
  { "avx512bitalg", "Enable AVX-512 Bit Algorithms", { X86::FeatureBITALG }, { X86::FeatureBWI } },
167
  { "avx512bw", "Enable AVX-512 Byte and Word Instructions", { X86::FeatureBWI }, { X86::FeatureAVX512 } },
168
  { "avx512cd", "Enable AVX-512 Conflict Detection Instructions", { X86::FeatureCDI }, { X86::FeatureAVX512 } },
169
  { "avx512dq", "Enable AVX-512 Doubleword and Quadword Instructions", { X86::FeatureDQI }, { X86::FeatureAVX512 } },
170
  { "avx512er", "Enable AVX-512 Exponential and Reciprocal Instructions", { X86::FeatureERI }, { X86::FeatureAVX512 } },
171
  { "avx512f", "Enable AVX-512 instructions", { X86::FeatureAVX512 }, { X86::FeatureAVX2, X86::FeatureFMA, X86::FeatureF16C } },
172
  { "avx512ifma", "Enable AVX-512 Integer Fused Multiple-Add", { X86::FeatureIFMA }, { X86::FeatureAVX512 } },
173
  { "avx512pf", "Enable AVX-512 PreFetch Instructions", { X86::FeaturePFI }, { X86::FeatureAVX512 } },
174
  { "avx512vbmi", "Enable AVX-512 Vector Byte Manipulation Instructions", { X86::FeatureVBMI }, { X86::FeatureBWI } },
175
  { "avx512vbmi2", "Enable AVX-512 further Vector Byte Manipulation Instructions", { X86::FeatureVBMI2 }, { X86::FeatureBWI } },
176
  { "avx512vl", "Enable AVX-512 Vector Length eXtensions", { X86::FeatureVLX }, { X86::FeatureAVX512 } },
177
  { "avx512vnni", "Enable AVX-512 Vector Neural Network Instructions", { X86::FeatureVNNI }, { X86::FeatureAVX512 } },
178
  { "avx512vpopcntdq", "Enable AVX-512 Population Count Instructions", { X86::FeatureVPOPCNTDQ }, { X86::FeatureAVX512 } },
179
  { "bmi", "Support BMI instructions", { X86::FeatureBMI }, { } },
180
  { "bmi2", "Support BMI2 instructions", { X86::FeatureBMI2 }, { } },
181
  { "broadwell", "Intel Broadwell processors", { X86::ProcIntelBDW }, { } },
182
  { "cannonlake", "Intel Cannonlake processors", { X86::ProcIntelCNL }, { } },
183
  { "cldemote", "Enable Cache Demote", { X86::FeatureCLDEMOTE }, { } },
184
  { "clflushopt", "Flush A Cache Line Optimized", { X86::FeatureCLFLUSHOPT }, { } },
185
  { "clwb", "Cache Line Write Back", { X86::FeatureCLWB }, { } },
186
  { "clzero", "Enable Cache Line Zero", { X86::FeatureCLZERO }, { } },
187
  { "cmov", "Enable conditional move instructions", { X86::FeatureCMOV }, { } },
188
  { "cx16", "64-bit with cmpxchg16b", { X86::FeatureCMPXCHG16B }, { } },
189
  { "ermsb", "REP MOVS/STOS are fast", { X86::FeatureERMSB }, { } },
190
  { "f16c", "Support 16-bit floating point conversion instructions", { X86::FeatureF16C }, { X86::FeatureAVX } },
191
  { "false-deps-lzcnt-tzcnt", "LZCNT/TZCNT have a false dependency on dest register", { X86::FeatureLZCNTFalseDeps }, { } },
192
  { "false-deps-popcnt", "POPCNT has a false dependency on dest register", { X86::FeaturePOPCNTFalseDeps }, { } },
193
  { "fast-11bytenop", "Target can quickly decode up to 11 byte NOPs", { X86::FeatureFast11ByteNOP }, { } },
194
  { "fast-15bytenop", "Target can quickly decode up to 15 byte NOPs", { X86::FeatureFast15ByteNOP }, { } },
195
  { "fast-gather", "Indicates if gather is reasonably fast.", { X86::FeatureHasFastGather }, { } },
196
  { "fast-lzcnt", "LZCNT instructions are as fast as most simple integer ops", { X86::FeatureFastLZCNT }, { } },
197
  { "fast-partial-ymm-or-zmm-write", "Partial writes to YMM/ZMM registers are fast", { X86::FeatureFastPartialYMMorZMMWrite }, { } },
198
  { "fast-scalar-fsqrt", "Scalar SQRT is fast (disable Newton-Raphson)", { X86::FeatureFastScalarFSQRT }, { } },
199
  { "fast-shld-rotate", "SHLD can be used as a faster rotate", { X86::FeatureFastSHLDRotate }, { } },
200
  { "fast-variable-shuffle", "Shuffles with variable masks are fast", { X86::FeatureFastVariableShuffle }, { } },
201
  { "fast-vector-fsqrt", "Vector SQRT is fast (disable Newton-Raphson)", { X86::FeatureFastVectorFSQRT }, { } },
202
  { "fma", "Enable three-operand fused multiple-add", { X86::FeatureFMA }, { X86::FeatureAVX } },
203
  { "fma4", "Enable four-operand fused multiple-add", { X86::FeatureFMA4 }, { X86::FeatureAVX, X86::FeatureSSE4A } },
204
  { "fsgsbase", "Support FS/GS Base instructions", { X86::FeatureFSGSBase }, { } },
205
  { "fxsr", "Support fxsave/fxrestore instructions", { X86::FeatureFXSR }, { } },
206
  { "gfni", "Enable Galois Field Arithmetic Instructions", { X86::FeatureGFNI }, { X86::FeatureSSE2 } },
207
  { "glm", "Intel Goldmont processors", { X86::ProcIntelGLM }, { } },
208
  { "glp", "Intel Goldmont Plus processors", { X86::ProcIntelGLP }, { } },
209
  { "haswell", "Intel Haswell processors", { X86::ProcIntelHSW }, { } },
210
  { "icelake-client", "Intel Icelake processors", { X86::ProcIntelICL }, { } },
211
  { "icelake-server", "Intel Icelake Server processors", { X86::ProcIntelICX }, { } },
212
  { "idivl-to-divb", "Use 8-bit divide for positive values less than 256", { X86::FeatureSlowDivide32 }, { } },
213
  { "idivq-to-divl", "Use 32-bit divide for positive values less than 2^32", { X86::FeatureSlowDivide64 }, { } },
214
  { "invpcid", "Invalidate Process-Context Identifier", { X86::FeatureINVPCID }, { } },
215
  { "knl", "Intel Knights Landing processors", { X86::ProcIntelKNL }, { } },
216
  { "lea-sp", "Use LEA for adjusting the stack pointer", { X86::FeatureLEAForSP }, { } },
217
  { "lea-uses-ag", "LEA instruction needs inputs at AG stage", { X86::FeatureLEAUsesAG }, { } },
218
  { "lwp", "Enable LWP instructions", { X86::FeatureLWP }, { } },
219
  { "lzcnt", "Support LZCNT instruction", { X86::FeatureLZCNT }, { } },
220
  { "macrofusion", "Various instructions can be fused with conditional branches", { X86::FeatureMacroFusion }, { } },
221
  { "mmx", "Enable MMX instructions", { X86::FeatureMMX }, { } },
222
  { "movbe", "Support MOVBE instruction", { X86::FeatureMOVBE }, { } },
223
  { "movdir64b", "Support movdir64b instruction", { X86::FeatureMOVDIR64B }, { } },
224
  { "movdiri", "Support movdiri instruction", { X86::FeatureMOVDIRI }, { } },
225
  { "mpx", "Support MPX instructions", { X86::FeatureMPX }, { } },
226
  { "mwaitx", "Enable MONITORX/MWAITX timer functionality", { X86::FeatureMWAITX }, { } },
227
  { "nopl", "Enable NOPL instruction", { X86::FeatureNOPL }, { } },
228
  { "pad-short-functions", "Pad short functions", { X86::FeaturePadShortFunctions }, { } },
229
  { "pclmul", "Enable packed carry-less multiplication instructions", { X86::FeaturePCLMUL }, { X86::FeatureSSE2 } },
230
  { "pconfig", "platform configuration instruction", { X86::FeaturePCONFIG }, { } },
231
  { "pku", "Enable protection keys", { X86::FeaturePKU }, { } },
232
  { "popcnt", "Support POPCNT instruction", { X86::FeaturePOPCNT }, { } },
233
  { "prefer-256-bit", "Prefer 256-bit AVX instructions", { X86::FeaturePrefer256Bit }, { } },
234
  { "prefetchwt1", "Prefetch with Intent to Write and T1 Hint", { X86::FeaturePREFETCHWT1 }, { } },
235
  { "prfchw", "Support PRFCHW instructions", { X86::FeaturePRFCHW }, { } },
236
  { "ptwrite", "Support ptwrite instruction", { X86::FeaturePTWRITE }, { } },
237
  { "rdpid", "Support RDPID instructions", { X86::FeatureRDPID }, { } },
238
  { "rdrnd", "Support RDRAND instruction", { X86::FeatureRDRAND }, { } },
239
  { "rdseed", "Support RDSEED instruction", { X86::FeatureRDSEED }, { } },
240
  { "retpoline", "Remove speculation of indirect branches from the generated code, either by avoiding them entirely or lowering them with a speculation blocking construct.", { X86::FeatureRetpoline }, { X86::FeatureRetpolineIndirectCalls, X86::FeatureRetpolineIndirectBranches } },
241
  { "retpoline-external-thunk", "When lowering an indirect call or branch using a `retpoline`, rely on the specified user provided thunk rather than emitting one ourselves. Only has effect when combined with some other retpoline feature.", { X86::FeatureRetpolineExternalThunk }, { X86::FeatureRetpolineIndirectCalls } },
242
  { "retpoline-indirect-branches", "Remove speculation of indirect branches from the generated code.", { X86::FeatureRetpolineIndirectBranches }, { } },
243
  { "retpoline-indirect-calls", "Remove speculation of indirect calls from the generated code.", { X86::FeatureRetpolineIndirectCalls }, { } },
244
  { "rtm", "Support RTM instructions", { X86::FeatureRTM }, { } },
245
  { "sahf", "Support LAHF and SAHF instructions", { X86::FeatureLAHFSAHF }, { } },
246
  { "sgx", "Enable Software Guard Extensions", { X86::FeatureSGX }, { } },
247
  { "sha", "Enable SHA instructions", { X86::FeatureSHA }, { X86::FeatureSSE2 } },
248
  { "shstk", "Support CET Shadow-Stack instructions", { X86::FeatureSHSTK }, { } },
249
  { "skx", "Intel Skylake Server processors", { X86::ProcIntelSKX }, { } },
250
  { "skylake", "Intel Skylake processors", { X86::ProcIntelSKL }, { } },
251
  { "slm", "Intel Silvermont processors", { X86::ProcIntelSLM }, { } },
252
  { "slow-3ops-lea", "LEA instruction with 3 ops or certain registers is slow", { X86::FeatureSlow3OpsLEA }, { } },
253
  { "slow-incdec", "INC and DEC instructions are slower than ADD and SUB", { X86::FeatureSlowIncDec }, { } },
254
  { "slow-lea", "LEA instruction with certain arguments is slow", { X86::FeatureSlowLEA }, { } },
255
  { "slow-pmulld", "PMULLD instruction is slow", { X86::FeatureSlowPMULLD }, { } },
256
  { "slow-shld", "SHLD instruction is slow", { X86::FeatureSlowSHLD }, { } },
257
  { "slow-two-mem-ops", "Two memory operand instructions are slow", { X86::FeatureSlowTwoMemOps }, { } },
258
  { "slow-unaligned-mem-16", "Slow unaligned 16-byte memory access", { X86::FeatureSlowUAMem16 }, { } },
259
  { "slow-unaligned-mem-32", "Slow unaligned 32-byte memory access", { X86::FeatureSlowUAMem32 }, { } },
260
  { "soft-float", "Use software floating point features.", { X86::FeatureSoftFloat }, { } },
261
  { "sse", "Enable SSE instructions", { X86::FeatureSSE1 }, { } },
262
  { "sse-unaligned-mem", "Allow unaligned memory operands with SSE instructions", { X86::FeatureSSEUnalignedMem }, { } },
263
  { "sse2", "Enable SSE2 instructions", { X86::FeatureSSE2 }, { X86::FeatureSSE1 } },
264
  { "sse3", "Enable SSE3 instructions", { X86::FeatureSSE3 }, { X86::FeatureSSE2 } },
265
  { "sse4.1", "Enable SSE 4.1 instructions", { X86::FeatureSSE41 }, { X86::FeatureSSSE3 } },
266
  { "sse4.2", "Enable SSE 4.2 instructions", { X86::FeatureSSE42 }, { X86::FeatureSSE41 } },
267
  { "sse4a", "Support SSE 4a instructions", { X86::FeatureSSE4A }, { X86::FeatureSSE3 } },
268
  { "ssse3", "Enable SSSE3 instructions", { X86::FeatureSSSE3 }, { X86::FeatureSSE3 } },
269
  { "tbm", "Enable TBM instructions", { X86::FeatureTBM }, { } },
270
  { "tremont", "Intel Tremont processors", { X86::ProcIntelTRM }, { } },
271
  { "vaes", "Promote selected AES instructions to AVX512/AVX registers", { X86::FeatureVAES }, { X86::FeatureAVX, X86::FeatureAES } },
272
  { "vpclmulqdq", "Enable vpclmulqdq instructions", { X86::FeatureVPCLMULQDQ }, { X86::FeatureAVX, X86::FeaturePCLMUL } },
273
  { "waitpkg", "Wait and pause enhancements", { X86::FeatureWAITPKG }, { } },
274
  { "wbnoinvd", "Write Back No Invalidate", { X86::FeatureWBNOINVD }, { } },
275
  { "x87", "Enable X87 float instructions", { X86::FeatureX87 }, { } },
276
  { "xop", "Enable XOP instructions", { X86::FeatureXOP }, { X86::FeatureFMA4 } },
277
  { "xsave", "Support xsave instructions", { X86::FeatureXSAVE }, { } },
278
  { "xsavec", "Support xsavec instructions", { X86::FeatureXSAVEC }, { } },
279
  { "xsaveopt", "Support xsaveopt instructions", { X86::FeatureXSAVEOPT }, { } },
280
  { "xsaves", "Support xsaves instructions", { X86::FeatureXSAVES }, { } },
281
};
282
283
// Sorted (by key) array of values for CPU subtype.
284
extern const llvm::SubtargetFeatureKV X86SubTypeKV[] = {
285
  { "amdfam10", "Select the amdfam10 processor", { X86::FeatureX87, X86::FeatureSSE4A, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureCMOV, X86::Feature64Bit }, { } },
286
  { "athlon", "Select the athlon processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::Feature3DNowA, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
287
  { "athlon-4", "Select the athlon-4 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
288
  { "athlon-fx", "Select the athlon-fx processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
289
  { "athlon-mp", "Select the athlon-mp processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
290
  { "athlon-tbird", "Select the athlon-tbird processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::Feature3DNowA, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
291
  { "athlon-xp", "Select the athlon-xp processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureSSE1, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSlowSHLD }, { } },
292
  { "athlon64", "Select the athlon64 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
293
  { "athlon64-sse3", "Select the athlon64-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
294
  { "atom", "Select the atom processor", { X86::ProcIntelAtom, X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeatureLEAForSP, X86::FeatureSlowDivide32, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeatureLEAUsesAG, X86::FeaturePadShortFunctions, X86::FeatureLAHFSAHF }, { } },
295
  { "barcelona", "Select the barcelona processor", { X86::FeatureX87, X86::FeatureSSE4A, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureCMOV, X86::Feature64Bit }, { } },
296
  { "bdver1", "Select the bdver1 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureLWP, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureMacroFusion }, { } },
297
  { "bdver2", "Select the bdver2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureMacroFusion }, { } },
298
  { "bdver3", "Select the bdver3 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureFSGSBase, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureMacroFusion }, { } },
299
  { "bdver4", "Select the bdver4 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureXOP, X86::FeatureFMA4, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeaturePCLMUL, X86::FeatureF16C, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureTBM, X86::FeatureLWP, X86::FeatureFMA, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureFSGSBase, X86::FeatureLAHFSAHF, X86::FeatureFast11ByteNOP, X86::FeatureMWAITX, X86::FeatureMacroFusion }, { } },
300
  { "bonnell", "Select the bonnell processor", { X86::ProcIntelAtom, X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeatureLEAForSP, X86::FeatureSlowDivide32, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeatureLEAUsesAG, X86::FeaturePadShortFunctions, X86::FeatureLAHFSAHF }, { } },
301
  { "broadwell", "Select the broadwell processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::ProcIntelBDW, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
302
  { "btver1", "Select the btver1 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureSSE4A, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePRFCHW, X86::FeatureLZCNT, X86::FeaturePOPCNT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast15ByteNOP }, { } },
303
  { "btver2", "Select the btver2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureSSE4A, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeaturePCLMUL, X86::FeatureBMI, X86::FeatureF16C, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureFastLZCNT, X86::FeaturePOPCNT, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureSlowSHLD, X86::FeatureLAHFSAHF, X86::FeatureFast15ByteNOP, X86::FeatureFastPartialYMMorZMMWrite }, { } },
304
  { "c3", "Select the c3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
305
  { "c3-2", "Select the c3-2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureCMOV }, { } },
306
  { "cannonlake", "Select the cannonlake processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::ProcIntelCNL, X86::FeatureHasFastGather }, { } },
307
  { "core-avx-i", "Select the core-avx-i processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
308
  { "core-avx2", "Select the core-avx2 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::ProcIntelHSW, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
309
  { "core2", "Select the core2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
310
  { "corei7", "Select the corei7 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
311
  { "corei7-avx", "Select the corei7-avx processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
312
  { "generic", "Select the generic processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
313
  { "geode", "Select the geode processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNowA }, { } },
314
  { "goldmont", "Select the goldmont processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::ProcIntelGLM, X86::FeaturePOPCNTFalseDeps }, { } },
315
  { "goldmont-plus", "Select the goldmont-plus processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::FeaturePTWRITE, X86::FeatureRDPID, X86::FeatureSGX, X86::ProcIntelGLP }, { } },
316
  { "haswell", "Select the haswell processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::ProcIntelHSW, X86::FeaturePOPCNTFalseDeps, X86::FeatureLZCNTFalseDeps }, { } },
317
  { "i386", "Select the i386 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
318
  { "i486", "Select the i486 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
319
  { "i586", "Select the i586 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
320
  { "i686", "Select the i686 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV }, { } },
321
  { "icelake-client", "Select the icelake-client processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::FeatureBITALG, X86::FeatureVAES, X86::FeatureVBMI2, X86::FeatureVNNI, X86::FeatureVPCLMULQDQ, X86::FeatureVPOPCNTDQ, X86::FeatureGFNI, X86::FeatureCLWB, X86::FeatureRDPID, X86::ProcIntelICL, X86::FeatureHasFastGather }, { } },
322
  { "icelake-server", "Select the icelake-server processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureVBMI, X86::FeatureIFMA, X86::FeatureSHA, X86::FeatureSGX, X86::FeatureBITALG, X86::FeatureVAES, X86::FeatureVBMI2, X86::FeatureVNNI, X86::FeatureVPCLMULQDQ, X86::FeatureVPOPCNTDQ, X86::FeatureGFNI, X86::FeatureCLWB, X86::FeatureRDPID, X86::ProcIntelICX, X86::FeaturePCONFIG, X86::FeatureWBNOINVD, X86::FeatureHasFastGather }, { } },
323
  { "ivybridge", "Select the ivybridge processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
324
  { "k6", "Select the k6 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
325
  { "k6-2", "Select the k6-2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
326
  { "k6-3", "Select the k6-3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
327
  { "k8", "Select the k8 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
328
  { "k8-sse3", "Select the k8-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
329
  { "knl", "Select the knl processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX512, X86::FeatureERI, X86::FeatureCDI, X86::FeaturePFI, X86::FeaturePREFETCHWT1, X86::FeatureADX, X86::FeatureRDSEED, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureFMA, X86::FeaturePRFCHW, X86::ProcIntelKNL, X86::FeatureSlowTwoMemOps, X86::FeatureFastPartialYMMorZMMWrite, X86::FeatureHasFastGather }, { } },
330
  { "knm", "Select the knm processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX512, X86::FeatureERI, X86::FeatureCDI, X86::FeaturePFI, X86::FeaturePREFETCHWT1, X86::FeatureADX, X86::FeatureRDSEED, X86::FeatureMOVBE, X86::FeatureLZCNT, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureFMA, X86::FeaturePRFCHW, X86::ProcIntelKNL, X86::FeatureSlowTwoMemOps, X86::FeatureFastPartialYMMorZMMWrite, X86::FeatureHasFastGather, X86::FeatureVPOPCNTDQ }, { } },
331
  { "lakemont", "Select the lakemont processor", { }, { } },
332
  { "nehalem", "Select the nehalem processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
333
  { "nocona", "Select the nocona processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B }, { } },
334
  { "opteron", "Select the opteron processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE2, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlowSHLD, X86::FeatureCMOV }, { } },
335
  { "opteron-sse3", "Select the opteron-sse3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureSSE3, X86::Feature3DNowA, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMPXCHG16B, X86::FeatureSlowSHLD, X86::FeatureCMOV, X86::Feature64Bit }, { } },
336
  { "penryn", "Select the penryn processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE41, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
337
  { "pentium", "Select the pentium processor", { X86::FeatureX87, X86::FeatureSlowUAMem16 }, { } },
338
  { "pentium-m", "Select the pentium-m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
339
  { "pentium-mmx", "Select the pentium-mmx processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
340
  { "pentium2", "Select the pentium2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureCMOV, X86::FeatureFXSR, X86::FeatureNOPL }, { } },
341
  { "pentium3", "Select the pentium3 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
342
  { "pentium3m", "Select the pentium3m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE1, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
343
  { "pentium4", "Select the pentium4 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
344
  { "pentium4m", "Select the pentium4m processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
345
  { "pentiumpro", "Select the pentiumpro processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureCMOV, X86::FeatureNOPL }, { } },
346
  { "prescott", "Select the prescott processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
347
  { "sandybridge", "Select the sandybridge processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureSlowUAMem32, X86::FeaturePOPCNTFalseDeps }, { } },
348
  { "silvermont", "Select the silvermont processor", { X86::ProcIntelSLM, X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeaturePRFCHW, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureSlowPMULLD, X86::FeatureRDRAND, X86::FeatureLAHFSAHF, X86::FeaturePOPCNTFalseDeps }, { } },
349
  { "skx", "Select the skx processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureCLWB, X86::ProcIntelSKX, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps }, { } },
350
  { "skylake", "Select the skylake processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::ProcIntelSKL, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps, X86::FeatureSGX }, { } },
351
  { "skylake-avx512", "Select the skylake-avx512 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureAVX, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeatureSlowDivide64, X86::FeaturePCLMUL, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureLAHFSAHF, X86::FeatureSlow3OpsLEA, X86::FeatureFastScalarFSQRT, X86::FeatureFastSHLDRotate, X86::FeatureSlowIncDec, X86::FeatureMacroFusion, X86::FeatureRDRAND, X86::FeatureF16C, X86::FeatureFSGSBase, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureERMSB, X86::FeatureFMA, X86::FeatureINVPCID, X86::FeatureLZCNT, X86::FeatureMOVBE, X86::FeatureFastVariableShuffle, X86::FeatureADX, X86::FeatureRDSEED, X86::FeaturePRFCHW, X86::FeatureAES, X86::FeatureMPX, X86::FeatureRTM, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFastVectorFSQRT, X86::FeatureAVX512, X86::FeatureCDI, X86::FeatureDQI, X86::FeatureBWI, X86::FeatureVLX, X86::FeaturePKU, X86::FeatureCLWB, X86::ProcIntelSKX, X86::FeatureHasFastGather, X86::FeaturePOPCNTFalseDeps }, { } },
352
  { "slm", "Select the slm processor", { X86::ProcIntelSLM, X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureSlowDivide64, X86::FeatureSlowTwoMemOps, X86::FeaturePRFCHW, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureSlowPMULLD, X86::FeatureRDRAND, X86::FeatureLAHFSAHF, X86::FeaturePOPCNTFalseDeps }, { } },
353
  { "tremont", "Select the tremont processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureMOVBE, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureAES, X86::FeaturePRFCHW, X86::FeatureSlowTwoMemOps, X86::FeatureSlowLEA, X86::FeatureSlowIncDec, X86::FeatureLAHFSAHF, X86::FeatureMPX, X86::FeatureSHA, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureXSAVE, X86::FeatureXSAVEOPT, X86::FeatureXSAVEC, X86::FeatureXSAVES, X86::FeatureCLFLUSHOPT, X86::FeatureFSGSBase, X86::FeaturePTWRITE, X86::FeatureRDPID, X86::FeatureSGX, X86::ProcIntelTRM, X86::FeatureCLDEMOTE, X86::FeatureGFNI, X86::FeatureMOVDIRI, X86::FeatureMOVDIR64B, X86::FeatureWAITPKG }, { } },
354
  { "westmere", "Select the westmere processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE42, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeaturePOPCNT, X86::FeaturePCLMUL, X86::FeatureLAHFSAHF, X86::FeatureMacroFusion }, { } },
355
  { "winchip-c6", "Select the winchip-c6 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX }, { } },
356
  { "winchip2", "Select the winchip2 processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::Feature3DNow }, { } },
357
  { "x86-64", "Select the x86-64 processor", { X86::FeatureX87, X86::FeatureCMOV, X86::FeatureMMX, X86::FeatureSSE2, X86::FeatureFXSR, X86::FeatureNOPL, X86::Feature64Bit, X86::FeatureSlow3OpsLEA, X86::FeatureSlowIncDec, X86::FeatureMacroFusion }, { } },
358
  { "yonah", "Select the yonah processor", { X86::FeatureX87, X86::FeatureSlowUAMem16, X86::FeatureMMX, X86::FeatureSSE3, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureCMOV }, { } },
359
  { "znver1", "Select the znver1 processor", { X86::FeatureADX, X86::FeatureAES, X86::FeatureAVX2, X86::FeatureBMI, X86::FeatureBMI2, X86::FeatureCLFLUSHOPT, X86::FeatureCLZERO, X86::FeatureCMOV, X86::Feature64Bit, X86::FeatureCMPXCHG16B, X86::FeatureF16C, X86::FeatureFMA, X86::FeatureFSGSBase, X86::FeatureFXSR, X86::FeatureNOPL, X86::FeatureFastLZCNT, X86::FeatureLAHFSAHF, X86::FeatureLZCNT, X86::FeatureFast15ByteNOP, X86::FeatureMacroFusion, X86::FeatureMMX, X86::FeatureMOVBE, X86::FeatureMWAITX, X86::FeaturePCLMUL, X86::FeaturePOPCNT, X86::FeaturePRFCHW, X86::FeatureRDRAND, X86::FeatureRDSEED, X86::FeatureSHA, X86::FeatureSSE4A, X86::FeatureSlowSHLD, X86::FeatureX87, X86::FeatureXSAVE, X86::FeatureXSAVEC, X86::FeatureXSAVEOPT, X86::FeatureXSAVES }, { } },
360
};
361
362
#ifdef DBGFIELD
363
#error "<target>GenSubtargetInfo.inc requires a DBGFIELD macro"
364
#endif
365
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
366
#define DBGFIELD(x) x,
367
#else
368
#define DBGFIELD(x)
369
#endif
370
371
// ===============================================================
372
// Data tables for the new per-operand machine model.
373
374
// {ProcResourceIdx, Cycles}
375
extern const llvm::MCWriteProcResEntry X86WriteProcResTable[] = {
376
  { 0,  0}, // Invalid
377
  { 3,  1}, // #1
378
  { 1,  2}, // #2
379
  { 3,  2}, // #3
380
  { 2,  1}, // #4
381
  { 3,  1}, // #5
382
  { 1,  1}, // #6
383
  { 3,  1}, // #7
384
  { 3,  7}, // #8
385
  { 3,  6}, // #9
386
  { 1,  5}, // #10
387
  { 3,  5}, // #11
388
  { 3, 16}, // #12
389
  { 3,  9}, // #13
390
  { 1,  1}, // #14
391
  { 3,  2}, // #15
392
  { 3, 15}, // #16
393
  { 3,  8}, // #17
394
  { 3, 50}, // #18
395
  { 3, 130}, // #19
396
  { 3, 68}, // #20
397
  { 3, 125}, // #21
398
  { 3, 70}, // #22
399
  { 3, 34}, // #23
400
  { 3, 62}, // #24
401
  { 3, 10}, // #25
402
  { 3, 12}, // #26
403
  { 1,  3}, // #27
404
  { 3,  3}, // #28
405
  { 3,  4}, // #29
406
  { 1,  4}, // #30
407
  { 3,  4}, // #31
408
  { 3, 71}, // #32
409
  { 3, 14}, // #33
410
  { 2,  5}, // #34
411
  { 3,  5}, // #35
412
  { 1,  1}, // #36
413
  { 2,  1}, // #37
414
  { 3,  2}, // #38
415
  { 1,  5}, // #39
416
  { 2,  5}, // #40
417
  { 3, 10}, // #41
418
  { 3, 11}, // #42
419
  { 3, 13}, // #43
420
  { 3, 17}, // #44
421
  { 3, 18}, // #45
422
  { 3, 20}, // #46
423
  { 3, 21}, // #47
424
  { 3, 22}, // #48
425
  { 3, 23}, // #49
426
  { 3, 25}, // #50
427
  { 3, 26}, // #51
428
  { 3, 29}, // #52
429
  { 3, 30}, // #53
430
  { 3, 32}, // #54
431
  { 3, 45}, // #55
432
  { 3, 46}, // #56
433
  { 3, 48}, // #57
434
  { 3, 55}, // #58
435
  { 3, 59}, // #59
436
  { 3, 63}, // #60
437
  { 3, 72}, // #61
438
  { 3, 74}, // #62
439
  { 3, 77}, // #63
440
  { 3, 78}, // #64
441
  { 3, 79}, // #65
442
  { 3, 92}, // #66
443
  { 3, 94}, // #67
444
  { 3, 99}, // #68
445
  { 3, 121}, // #69
446
  { 3, 127}, // #70
447
  { 3, 140}, // #71
448
  { 3, 141}, // #72
449
  { 3, 146}, // #73
450
  { 3, 147}, // #74
451
  { 3, 168}, // #75
452
  { 3, 174}, // #76
453
  { 3, 183}, // #77
454
  { 3, 202}, // #78
455
  {15,  1}, // #79
456
  {19,  1}, // #80
457
  {22,  1}, // #81
458
  {23,  1}, // #82
459
  { 7,  1}, // #83
460
  {12,  1}, // #84
461
  {17,  1}, // #85
462
  {21,  2}, // #86
463
  {22,  1}, // #87
464
  {23,  4}, // #88
465
  {14,  1}, // #89
466
  {17,  1}, // #90
467
  {20,  1}, // #91
468
  {21,  1}, // #92
469
  {22,  1}, // #93
470
  {23,  2}, // #94
471
  {14,  1}, // #95
472
  {20,  1}, // #96
473
  {22,  1}, // #97
474
  {23,  1}, // #98
475
  { 7,  1}, // #99
476
  {12,  1}, // #100
477
  {21,  1}, // #101
478
  {23,  2}, // #102
479
  {17,  1}, // #103
480
  {21,  1}, // #104
481
  {23,  1}, // #105
482
  { 8,  1}, // #106
483
  {13,  1}, // #107
484
  {15,  1}, // #108
485
  {18,  1}, // #109
486
  {19,  1}, // #110
487
  {20,  1}, // #111
488
  {22,  1}, // #112
489
  {23,  1}, // #113
490
  { 7,  1}, // #114
491
  {12,  1}, // #115
492
  {14,  2}, // #116
493
  {17,  1}, // #117
494
  {20,  2}, // #118
495
  {21,  2}, // #119
496
  {22,  3}, // #120
497
  {23,  6}, // #121
498
  {17,  1}, // #122
499
  {21,  1}, // #123
500
  {22,  1}, // #124
501
  {23,  2}, // #125
502
  { 4,  1}, // #126
503
  {11,  1}, // #127
504
  {15,  1}, // #128
505
  {16,  1}, // #129
506
  {17,  1}, // #130
507
  {19,  1}, // #131
508
  {21,  1}, // #132
509
  {22,  1}, // #133
510
  {23,  2}, // #134
511
  { 4,  1}, // #135
512
  {11,  1}, // #136
513
  {15,  1}, // #137
514
  {16,  1}, // #138
515
  {19,  1}, // #139
516
  {22,  1}, // #140
517
  {23,  1}, // #141
518
  { 8,  1}, // #142
519
  {13,  1}, // #143
520
  {15,  1}, // #144
521
  {17,  1}, // #145
522
  {18,  1}, // #146
523
  {19,  1}, // #147
524
  {20,  1}, // #148
525
  {21,  1}, // #149
526
  {22,  1}, // #150
527
  {23,  2}, // #151
528
  { 8,  2}, // #152
529
  {13,  2}, // #153
530
  {15,  2}, // #154
531
  {17,  1}, // #155
532
  {18,  2}, // #156
533
  {19,  2}, // #157
534
  {20,  2}, // #158
535
  {21,  1}, // #159
536
  {22,  2}, // #160
537
  {23,  3}, // #161
538
  { 8,  2}, // #162
539
  {13,  2}, // #163
540
  {15,  2}, // #164
541
  {18,  2}, // #165
542
  {19,  2}, // #166
543
  {20,  2}, // #167
544
  {22,  2}, // #168
545
  {23,  2}, // #169
546
  { 3,  2}, // #170
547
  { 8,  7}, // #171
548
  {11,  2}, // #172
549
  {12,  2}, // #173
550
  {13,  9}, // #174
551
  {14,  2}, // #175
552
  {15,  7}, // #176
553
  {17,  1}, // #177
554
  {18,  7}, // #178
555
  {19, 10}, // #179
556
  {20,  9}, // #180
557
  {21,  1}, // #181
558
  {22, 10}, // #182
559
  {23, 11}, // #183
560
  { 3,  2}, // #184
561
  { 8,  7}, // #185
562
  {11,  2}, // #186
563
  {12,  2}, // #187
564
  {13,  9}, // #188
565
  {14,  2}, // #189
566
  {15,  7}, // #190
567
  {18,  7}, // #191
568
  {19, 11}, // #192
569
  {20,  9}, // #193
570
  {22, 11}, // #194
571
  {23, 11}, // #195
572
  {14,  1}, // #196
573
  {15,  1}, // #197
574
  {17,  1}, // #198
575
  {19,  1}, // #199
576
  {20,  1}, // #200
577
  {21,  1}, // #201
578
  {22,  2}, // #202
579
  {23,  3}, // #203
580
  {14,  1}, // #204
581
  {15,  1}, // #205
582
  {19,  1}, // #206
583
  {20,  1}, // #207
584
  {22,  2}, // #208
585
  {23,  2}, // #209
586
  {15,  1}, // #210
587
  {17,  1}, // #211
588
  {19,  1}, // #212
589
  {21,  1}, // #213
590
  {22,  1}, // #214
591
  {23,  2}, // #215
592
  {14,  1}, // #216
593
  {17,  1}, // #217
594
  {20,  1}, // #218
595
  {21,  1}, // #219
596
  {22,  2}, // #220
597
  {23,  3}, // #221
598
  {14,  1}, // #222
599
  {20,  1}, // #223
600
  {22,  2}, // #224
601
  {23,  2}, // #225
602
  {14,  2}, // #226
603
  {20,  2}, // #227
604
  {22,  5}, // #228
605
  {23,  5}, // #229
606
  { 1, 10}, // #230
607
  { 3,  1}, // #231
608
  {11,  1}, // #232
609
  {12,  1}, // #233
610
  {13,  1}, // #234
611
  {14,  1}, // #235
612
  {17,  1}, // #236
613
  {19,  1}, // #237
614
  {20,  1}, // #238
615
  {21,  1}, // #239
616
  {22,  1}, // #240
617
  {23,  2}, // #241
618
  { 1, 10}, // #242
619
  { 3,  1}, // #243
620
  {11,  1}, // #244
621
  {12,  1}, // #245
622
  {13,  1}, // #246
623
  {14,  1}, // #247
624
  {19,  1}, // #248
625
  {20,  1}, // #249
626
  {22,  1}, // #250
627
  {23,  1}, // #251
628
  { 2,  8}, // #252
629
  { 3,  1}, // #253
630
  {11,  1}, // #254
631
  {12,  1}, // #255
632
  {13,  1}, // #256
633
  {14,  1}, // #257
634
  {17,  1}, // #258
635
  {19,  1}, // #259
636
  {20,  1}, // #260
637
  {21,  1}, // #261
638
  {22,  1}, // #262
639
  {23,  2}, // #263
640
  { 2,  8}, // #264
641
  { 3,  1}, // #265
642
  {11,  1}, // #266
643
  {12,  1}, // #267
644
  {13,  1}, // #268
645
  {14,  1}, // #269
646
  {19,  1}, // #270
647
  {20,  1}, // #271
648
  {22,  1}, // #272
649
  {23,  1}, // #273
650
  { 2,  5}, // #274
651
  { 3,  1}, // #275
652
  {11,  1}, // #276
653
  {12,  1}, // #277
654
  {13,  1}, // #278
655
  {14,  1}, // #279
656
  {17,  1}, // #280
657
  {19,  1}, // #281
658
  {20,  1}, // #282
659
  {21,  1}, // #283
660
  {22,  1}, // #284
661
  {23,  2}, // #285
662
  { 2,  5}, // #286
663
  { 3,  1}, // #287
664
  {11,  1}, // #288
665
  {12,  1}, // #289
666
  {13,  1}, // #290
667
  {14,  1}, // #291
668
  {19,  1}, // #292
669
  {20,  1}, // #293
670
  {22,  1}, // #294
671
  {23,  1}, // #295
672
  { 2,  3}, // #296
673
  { 3,  1}, // #297
674
  {11,  1}, // #298
675
  {12,  1}, // #299
676
  {13,  1}, // #300
677
  {14,  1}, // #301
678
  {19,  1}, // #302
679
  {20,  1}, // #303
680
  {22,  1}, // #304
681
  {23,  1}, // #305
682
  { 2,  4}, // #306
683
  { 3,  1}, // #307
684
  {11,  1}, // #308
685
  {12,  1}, // #309
686
  {13,  1}, // #310
687
  {14,  1}, // #311
688
  {19,  1}, // #312
689
  {20,  1}, // #313
690
  {22,  1}, // #314
691
  {23,  1}, // #315
692
  { 3,  1}, // #316
693
  { 4,  1}, // #317
694
  { 8,  1}, // #318
695
  {11,  2}, // #319
696
  {12,  1}, // #320
697
  {13,  2}, // #321
698
  {14,  1}, // #322
699
  {15,  2}, // #323
700
  {16,  1}, // #324
701
  {17,  1}, // #325
702
  {18,  1}, // #326
703
  {19,  3}, // #327
704
  {20,  2}, // #328
705
  {21,  1}, // #329
706
  {22,  3}, // #330
707
  {23,  4}, // #331
708
  { 3,  1}, // #332
709
  { 4,  1}, // #333
710
  { 8,  1}, // #334
711
  {11,  2}, // #335
712
  {12,  1}, // #336
713
  {13,  2}, // #337
714
  {14,  1}, // #338
715
  {15,  2}, // #339
716
  {16,  1}, // #340
717
  {18,  1}, // #341
718
  {19,  3}, // #342
719
  {20,  2}, // #343
720
  {22,  3}, // #344
721
  {23,  3}, // #345
722
  { 3,  2}, // #346
723
  { 4,  1}, // #347
724
  { 8,  1}, // #348
725
  {11,  3}, // #349
726
  {12,  2}, // #350
727
  {13,  3}, // #351
728
  {14,  2}, // #352
729
  {15,  2}, // #353
730
  {16,  1}, // #354
731
  {17,  1}, // #355
732
  {18,  1}, // #356
733
  {19,  4}, // #357
734
  {20,  3}, // #358
735
  {21,  1}, // #359
736
  {22,  4}, // #360
737
  {23,  5}, // #361
738
  { 3,  2}, // #362
739
  { 4,  1}, // #363
740
  { 8,  1}, // #364
741
  {11,  3}, // #365
742
  {12,  2}, // #366
743
  {13,  3}, // #367
744
  {14,  2}, // #368
745
  {15,  2}, // #369
746
  {16,  1}, // #370
747
  {18,  1}, // #371
748
  {19,  4}, // #372
749
  {20,  3}, // #373
750
  {22,  4}, // #374
751
  {23,  4}, // #375
752
  { 7,  1}, // #376
753
  { 8,  1}, // #377
754
  {12,  1}, // #378
755
  {13,  1}, // #379
756
  {15,  1}, // #380
757
  {18,  1}, // #381
758
  {19,  1}, // #382
759
  {20,  1}, // #383
760
  {21,  1}, // #384
761
  {22,  1}, // #385
762
  {23,  3}, // #386
763
  { 3,  1}, // #387
764
  { 8,  1}, // #388
765
  {11,  1}, // #389
766
  {12,  1}, // #390
767
  {13,  2}, // #391
768
  {14,  1}, // #392
769
  {15,  1}, // #393
770
  {18,  1}, // #394
771
  {19,  2}, // #395
772
  {20,  2}, // #396
773
  {22,  2}, // #397
774
  {23,  2}, // #398
775
  {11,  8}, // #399
776
  {15,  1}, // #400
777
  {19, 30}, // #401
778
  {22, 31}, // #402
779
  {23, 31}, // #403
780
  {11,  2}, // #404
781
  {19,  2}, // #405
782
  {22,  2}, // #406
783
  {23,  2}, // #407
784
  { 4,  1}, // #408
785
  { 8,  2}, // #409
786
  {11,  1}, // #410
787
  {13,  2}, // #411
788
  {15,  3}, // #412
789
  {16,  1}, // #413
790
  {17,  1}, // #414
791
  {18,  2}, // #415
792
  {19,  3}, // #416
793
  {20,  2}, // #417
794
  {21,  1}, // #418
795
  {22,  3}, // #419
796
  {23,  4}, // #420
797
  { 4,  1}, // #421
798
  { 8,  2}, // #422
799
  {11,  1}, // #423
800
  {13,  2}, // #424
801
  {15,  3}, // #425
802
  {16,  1}, // #426
803
  {18,  2}, // #427
804
  {19,  3}, // #428
805
  {20,  2}, // #429
806
  {22,  3}, // #430
807
  {23,  3}, // #431
808
  { 3,  1}, // #432
809
  {11,  1}, // #433
810
  {12,  1}, // #434
811
  {13,  1}, // #435
812
  {14,  1}, // #436
813
  {17,  1}, // #437
814
  {19,  1}, // #438
815
  {20,  1}, // #439
816
  {21,  1}, // #440
817
  {22,  2}, // #441
818
  {23,  3}, // #442
819
  {11,  1}, // #443
820
  {19,  1}, // #444
821
  {22,  1}, // #445
822
  {23,  1}, // #446
823
  { 7,  1}, // #447
824
  {12,  1}, // #448
825
  {17,  1}, // #449
826
  {21,  1}, // #450
827
  {23,  2}, // #451
828
  { 8,  2}, // #452
829
  {13,  2}, // #453
830
  {15,  3}, // #454
831
  {17,  1}, // #455
832
  {18,  2}, // #456
833
  {19,  3}, // #457
834
  {20,  2}, // #458
835
  {21,  1}, // #459
836
  {22,  3}, // #460
837
  {23,  4}, // #461
838
  { 8,  2}, // #462
839
  {13,  2}, // #463
840
  {15,  3}, // #464
841
  {18,  2}, // #465
842
  {19,  3}, // #466
843
  {20,  2}, // #467
844
  {22,  3}, // #468
845
  {23,  3}, // #469
846
  { 3,  1}, // #470
847
  { 8,  2}, // #471
848
  {11,  1}, // #472
849
  {12,  1}, // #473
850
  {13,  3}, // #474
851
  {14,  1}, // #475
852
  {15,  2}, // #476
853
  {17,  1}, // #477
854
  {18,  2}, // #478
855
  {19,  3}, // #479
856
  {20,  3}, // #480
857
  {21,  1}, // #481
858
  {22,  3}, // #482
859
  {23,  4}, // #483
860
  { 3,  1}, // #484
861
  { 8,  2}, // #485
862
  {11,  1}, // #486
863
  {12,  1}, // #487
864
  {13,  3}, // #488
865
  {14,  1}, // #489
866
  {15,  2}, // #490
867
  {18,  2}, // #491
868
  {19,  3}, // #492
869
  {20,  3}, // #493
870
  {22,  3}, // #494
871
  {23,  3}, // #495
872
  {11,  1}, // #496
873
  {17,  1}, // #497
874
  {19,  1}, // #498
875
  {21,  1}, // #499
876
  {22,  1}, // #500
877
  {23,  2}, // #501
878
  { 3,  4}, // #502
879
  { 8,  3}, // #503
880
  {11,  4}, // #504
881
  {12,  4}, // #505
882
  {13,  7}, // #506
883
  {14,  4}, // #507
884
  {15,  3}, // #508
885
  {17,  1}, // #509
886
  {18,  3}, // #510
887
  {19,  7}, // #511
888
  {20,  7}, // #512
889
  {21,  1}, // #513
890
  {22,  8}, // #514
891
  {23,  9}, // #515
892
  { 3,  4}, // #516
893
  { 8,  3}, // #517
894
  {11,  4}, // #518
895
  {12,  4}, // #519
896
  {13,  7}, // #520
897
  {14,  4}, // #521
898
  {15,  3}, // #522
899
  {18,  3}, // #523
900
  {19,  7}, // #524
901
  {20,  7}, // #525
902
  {22,  8}, // #526
903
  {23,  8}, // #527
904
  { 3,  4}, // #528
905
  { 8,  3}, // #529
906
  {11,  4}, // #530
907
  {12,  4}, // #531
908
  {13,  7}, // #532
909
  {14,  4}, // #533
910
  {15,  3}, // #534
911
  {17,  1}, // #535
912
  {18,  3}, // #536
913
  {19,  8}, // #537
914
  {20,  7}, // #538
915
  {21,  1}, // #539
916
  {22,  9}, // #540
917
  {23, 10}, // #541
918
  { 3,  4}, // #542
919
  { 8,  3}, // #543
920
  {11,  4}, // #544
921
  {12,  4}, // #545
922
  {13,  7}, // #546
923
  {14,  4}, // #547
924
  {15,  3}, // #548
925
  {18,  3}, // #549
926
  {19,  8}, // #550
927
  {20,  7}, // #551
928
  {22,  9}, // #552
929
  {23,  9}, // #553
930
  { 3,  3}, // #554
931
  {11,  3}, // #555
932
  {12,  3}, // #556
933
  {13,  3}, // #557
934
  {14,  3}, // #558
935
  {17,  1}, // #559
936
  {19,  3}, // #560
937
  {20,  3}, // #561
938
  {21,  1}, // #562
939
  {22,  3}, // #563
940
  {23,  4}, // #564
941
  { 3,  3}, // #565
942
  {11,  3}, // #566
943
  {12,  3}, // #567
944
  {13,  3}, // #568
945
  {14,  3}, // #569
946
  {19,  3}, // #570
947
  {20,  3}, // #571
948
  {22,  3}, // #572
949
  {23,  3}, // #573
950
  { 3,  2}, // #574
951
  {11,  2}, // #575
952
  {12,  2}, // #576
953
  {13,  2}, // #577
954
  {14,  2}, // #578
955
  {17,  1}, // #579
956
  {19,  2}, // #580
957
  {20,  2}, // #581
958
  {21,  1}, // #582
959
  {22,  2}, // #583
960
  {23,  3}, // #584
961
  { 3,  2}, // #585
962
  {11,  2}, // #586
963
  {12,  2}, // #587
964
  {13,  2}, // #588
965
  {14,  2}, // #589
966
  {19,  2}, // #590
967
  {20,  2}, // #591
968
  {22,  2}, // #592
969
  {23,  2}, // #593
970
  { 3,  1}, // #594
971
  { 8,  1}, // #595
972
  {11,  1}, // #596
973
  {12,  1}, // #597
974
  {13,  2}, // #598
975
  {14,  1}, // #599
976
  {15,  1}, // #600
977
  {17,  1}, // #601
978
  {18,  1}, // #602
979
  {19,  2}, // #603
980
  {20,  2}, // #604
981
  {21,  1}, // #605
982
  {22,  2}, // #606
983
  {23,  3}, // #607
984
  { 7,  1}, // #608
985
  {12,  1}, // #609
986
  {14,  1}, // #610
987
  {17,  1}, // #611
988
  {20,  1}, // #612
989
  {21,  2}, // #613
990
  {22,  1}, // #614
991
  {23,  4}, // #615
992
  { 4,  2}, // #616
993
  {11,  2}, // #617
994
  {15,  2}, // #618
995
  {16,  2}, // #619
996
  {17,  1}, // #620
997
  {19,  2}, // #621
998
  {21,  1}, // #622
999
  {22,  2}, // #623
1000
  {23,  3}, // #624
1001
  { 7,  1}, // #625
1002
  {12,  1}, // #626
1003
  {14,  1}, // #627
1004
  {20,  1}, // #628
1005
  {21,  1}, // #629
1006
  {22,  1}, // #630
1007
  {23,  3}, // #631
1008
  { 4,  1}, // #632
1009
  {11,  1}, // #633
1010
  {14,  1}, // #634
1011
  {15,  1}, // #635
1012
  {16,  1}, // #636
1013
  {17,  1}, // #637
1014
  {19,  1}, // #638
1015
  {20,  1}, // #639
1016
  {21,  2}, // #640
1017
  {22,  4}, // #641
1018
  {23,  6}, // #642
1019
  { 4,  1}, // #643
1020
  {11,  1}, // #644
1021
  {15,  1}, // #645
1022
  {16,  1}, // #646
1023
  {17,  1}, // #647
1024
  {19,  1}, // #648
1025
  {21,  2}, // #649
1026
  {22,  2}, // #650
1027
  {23,  4}, // #651
1028
  { 4,  1}, // #652
1029
  {11,  1}, // #653
1030
  {14,  1}, // #654
1031
  {15,  1}, // #655
1032
  {16,  1}, // #656
1033
  {19,  1}, // #657
1034
  {20,  1}, // #658
1035
  {22,  4}, // #659
1036
  {23,  4}, // #660
1037
  { 2, 14}, // #661
1038
  { 3,  1}, // #662
1039
  {11,  1}, // #663
1040
  {12,  1}, // #664
1041
  {13,  1}, // #665
1042
  {14,  1}, // #666
1043
  {17,  1}, // #667
1044
  {19,  1}, // #668
1045
  {20,  1}, // #669
1046
  {21,  1}, // #670
1047
  {22,  1}, // #671
1048
  {23,  2}, // #672
1049
  { 2, 14}, // #673
1050
  { 3,  1}, // #674
1051
  {11,  1}, // #675
1052
  {12,  1}, // #676
1053
  {13,  1}, // #677
1054
  {14,  1}, // #678
1055
  {19,  1}, // #679
1056
  {20,  1}, // #680
1057
  {22,  1}, // #681
1058
  {23,  1}, // #682
1059
  { 2,  7}, // #683
1060
  { 3,  1}, // #684
1061
  {11,  1}, // #685
1062
  {12,  1}, // #686
1063
  {13,  1}, // #687
1064
  {14,  1}, // #688
1065
  {17,  1}, // #689
1066
  {19,  1}, // #690
1067
  {20,  1}, // #691
1068
  {21,  1}, // #692
1069
  {22,  1}, // #693
1070
  {23,  2}, // #694
1071
  { 2,  7}, // #695
1072
  { 3,  1}, // #696
1073
  {11,  1}, // #697
1074
  {12,  1}, // #698
1075
  {13,  1}, // #699
1076
  {14,  1}, // #700
1077
  {19,  1}, // #701
1078
  {20,  1}, // #702
1079
  {22,  1}, // #703
1080
  {23,  1}, // #704
1081
  { 2,  9}, // #705
1082
  { 3,  1}, // #706
1083
  {11,  1}, // #707
1084
  {12,  1}, // #708
1085
  {13,  1}, // #709
1086
  {14,  1}, // #710
1087
  {19,  1}, // #711
1088
  {20,  1}, // #712
1089
  {22,  1}, // #713
1090
  {23,  1}, // #714
1091
  { 4,  1}, // #715
1092
  { 7,  1}, // #716
1093
  {11,  1}, // #717
1094
  {12,  1}, // #718
1095
  {15,  1}, // #719
1096
  {16,  1}, // #720
1097
  {19,  1}, // #721
1098
  {21,  1}, // #722
1099
  {22,  1}, // #723
1100
  {23,  3}, // #724
1101
  { 4,  1}, // #725
1102
  { 8,  1}, // #726
1103
  {11,  1}, // #727
1104
  {13,  1}, // #728
1105
  {15,  2}, // #729
1106
  {16,  1}, // #730
1107
  {18,  1}, // #731
1108
  {19,  2}, // #732
1109
  {20,  1}, // #733
1110
  {22,  2}, // #734
1111
  {23,  2}, // #735
1112
  { 2, 16}, // #736
1113
  { 3,  2}, // #737
1114
  {11,  2}, // #738
1115
  {12,  2}, // #739
1116
  {13,  2}, // #740
1117
  {14,  2}, // #741
1118
  {17,  1}, // #742
1119
  {19,  3}, // #743
1120
  {20,  2}, // #744
1121
  {21,  1}, // #745
1122
  {22,  3}, // #746
1123
  {23,  4}, // #747
1124
  { 2, 16}, // #748
1125
  { 3,  2}, // #749
1126
  {11,  2}, // #750
1127
  {12,  2}, // #751
1128
  {13,  2}, // #752
1129
  {14,  2}, // #753
1130
  {19,  3}, // #754
1131
  {20,  2}, // #755
1132
  {22,  3}, // #756
1133
  {23,  3}, // #757
1134
  { 2, 10}, // #758
1135
  { 3,  2}, // #759
1136
  {11,  2}, // #760
1137
  {12,  2}, // #761
1138
  {13,  2}, // #762
1139
  {14,  2}, // #763
1140
  {17,  1}, // #764
1141
  {19,  3}, // #765
1142
  {20,  2}, // #766
1143
  {21,  1}, // #767
1144
  {22,  3}, // #768
1145
  {23,  4}, // #769
1146
  { 2, 10}, // #770
1147
  { 3,  2}, // #771
1148
  {11,  2}, // #772
1149
  {12,  2}, // #773
1150
  {13,  2}, // #774
1151
  {14,  2}, // #775
1152
  {19,  3}, // #776
1153
  {20,  2}, // #777
1154
  {22,  3}, // #778
1155
  {23,  3}, // #779
1156
  { 3,  1}, // #780
1157
  { 7,  1}, // #781
1158
  {11,  1}, // #782
1159
  {12,  2}, // #783
1160
  {13,  1}, // #784
1161
  {14,  1}, // #785
1162
  {15,  1}, // #786
1163
  {19,  2}, // #787
1164
  {20,  1}, // #788
1165
  {21,  1}, // #789
1166
  {22,  2}, // #790
1167
  {23,  4}, // #791
1168
  { 3,  2}, // #792
1169
  { 8,  1}, // #793
1170
  {11,  2}, // #794
1171
  {12,  2}, // #795
1172
  {13,  3}, // #796
1173
  {14,  2}, // #797
1174
  {15,  1}, // #798
1175
  {17,  1}, // #799
1176
  {18,  1}, // #800
1177
  {19,  3}, // #801
1178
  {20,  3}, // #802
1179
  {21,  1}, // #803
1180
  {22,  3}, // #804
1181
  {23,  4}, // #805
1182
  { 3,  2}, // #806
1183
  { 8,  1}, // #807
1184
  {11,  2}, // #808
1185
  {12,  2}, // #809
1186
  {13,  3}, // #810
1187
  {14,  2}, // #811
1188
  {15,  1}, // #812
1189
  {18,  1}, // #813
1190
  {19,  3}, // #814
1191
  {20,  3}, // #815
1192
  {22,  3}, // #816
1193
  {23,  3}, // #817
1194
  { 2, 28}, // #818
1195
  { 3,  2}, // #819
1196
  {11,  2}, // #820
1197
  {12,  2}, // #821
1198
  {13,  2}, // #822
1199
  {14,  2}, // #823
1200
  {17,  1}, // #824
1201
  {19,  3}, // #825
1202
  {20,  2}, // #826
1203
  {21,  1}, // #827
1204
  {22,  3}, // #828
1205
  {23,  4}, // #829
1206
  { 2, 28}, // #830
1207
  { 3,  2}, // #831
1208
  {11,  2}, // #832
1209
  {12,  2}, // #833
1210
  {13,  2}, // #834
1211
  {14,  2}, // #835
1212
  {19,  3}, // #836
1213
  {20,  2}, // #837
1214
  {22,  3}, // #838
1215
  {23,  3}, // #839
1216
  { 2, 14}, // #840
1217
  { 3,  2}, // #841
1218
  {11,  2}, // #842
1219
  {12,  2}, // #843
1220
  {13,  2}, // #844
1221
  {14,  2}, // #845
1222
  {17,  1}, // #846
1223
  {19,  3}, // #847
1224
  {20,  2}, // #848
1225
  {21,  1}, // #849
1226
  {22,  3}, // #850
1227
  {23,  4}, // #851
1228
  { 2, 14}, // #852
1229
  { 3,  2}, // #853
1230
  {11,  2}, // #854
1231
  {12,  2}, // #855
1232
  {13,  2}, // #856
1233
  {14,  2}, // #857
1234
  {19,  3}, // #858
1235
  {20,  2}, // #859
1236
  {22,  3}, // #860
1237
  {23,  3}, // #861
1238
  { 4,  1}, // #862
1239
  {11,  1}, // #863
1240
  {14,  1}, // #864
1241
  {15,  1}, // #865
1242
  {16,  1}, // #866
1243
  {17,  1}, // #867
1244
  {19,  1}, // #868
1245
  {20,  1}, // #869
1246
  {21,  1}, // #870
1247
  {22,  4}, // #871
1248
  {23,  5}, // #872
1249
  { 4,  1}, // #873
1250
  {11,  1}, // #874
1251
  {14,  1}, // #875
1252
  {15,  1}, // #876
1253
  {16,  1}, // #877
1254
  {19,  1}, // #878
1255
  {20,  1}, // #879
1256
  {22,  3}, // #880
1257
  {23,  3}, // #881
1258
  { 4,  2}, // #882
1259
  {11,  2}, // #883
1260
  {14,  3}, // #884
1261
  {15,  3}, // #885
1262
  {16,  2}, // #886
1263
  {17,  1}, // #887
1264
  {19,  3}, // #888
1265
  {20,  3}, // #889
1266
  {21,  2}, // #890
1267
  {22,  9}, // #891
1268
  {23, 11}, // #892
1269
  { 3,  2}, // #893
1270
  { 4,  1}, // #894
1271
  { 9,  4}, // #895
1272
  {11,  3}, // #896
1273
  {12,  2}, // #897
1274
  {13,  2}, // #898
1275
  {14,  6}, // #899
1276
  {15,  1}, // #900
1277
  {16,  5}, // #901
1278
  {18,  4}, // #902
1279
  {19,  3}, // #903
1280
  {20,  6}, // #904
1281
  {22, 12}, // #905
1282
  {23, 12}, // #906
1283
  {17,  1}, // #907
1284
  {21,  1}, // #908
1285
  {22,  2}, // #909
1286
  {23,  3}, // #910
1287
  { 9,  1}, // #911
1288
  {14,  1}, // #912
1289
  {16,  1}, // #913
1290
  {18,  1}, // #914
1291
  {20,  1}, // #915
1292
  {22,  3}, // #916
1293
  {23,  3}, // #917
1294
  { 7,  1}, // #918
1295
  {12,  1}, // #919
1296
  {17,  1}, // #920
1297
  {21,  2}, // #921
1298
  {22,  3}, // #922
1299
  {23,  6}, // #923
1300
  { 3,  1}, // #924
1301
  {11,  2}, // #925
1302
  {12,  1}, // #926
1303
  {13,  1}, // #927
1304
  {14,  1}, // #928
1305
  {17,  1}, // #929
1306
  {19,  2}, // #930
1307
  {20,  1}, // #931
1308
  {21,  1}, // #932
1309
  {22,  2}, // #933
1310
  {23,  3}, // #934
1311
  {14,  2}, // #935
1312
  {20,  2}, // #936
1313
  {22, 11}, // #937
1314
  {23, 11}, // #938
1315
  { 7,  1}, // #939
1316
  { 9,  1}, // #940
1317
  {12,  1}, // #941
1318
  {14,  1}, // #942
1319
  {16,  1}, // #943
1320
  {18,  1}, // #944
1321
  {20,  1}, // #945
1322
  {21,  1}, // #946
1323
  {22,  1}, // #947
1324
  {23,  3}, // #948
1325
  { 3,  1}, // #949
1326
  { 4,  1}, // #950
1327
  {11,  2}, // #951
1328
  {12,  1}, // #952
1329
  {13,  1}, // #953
1330
  {14,  1}, // #954
1331
  {15,  1}, // #955
1332
  {16,  1}, // #956
1333
  {19,  2}, // #957
1334
  {20,  1}, // #958
1335
  {22,  2}, // #959
1336
  {23,  2}, // #960
1337
  { 9,  1}, // #961
1338
  {14,  1}, // #962
1339
  {16,  1}, // #963
1340
  {18,  1}, // #964
1341
  {20,  1}, // #965
1342
  {22,  5}, // #966
1343
  {23,  5}, // #967
1344
  { 7,  1}, // #968
1345
  {12,  1}, // #969
1346
  {14,  4}, // #970
1347
  {15,  2}, // #971
1348
  {17,  1}, // #972
1349
  {19,  2}, // #973
1350
  {20,  4}, // #974
1351
  {21,  2}, // #975
1352
  {22, 11}, // #976
1353
  {23, 14}, // #977
1354
  { 9,  2}, // #978
1355
  {14,  4}, // #979
1356
  {15,  1}, // #980
1357
  {16,  2}, // #981
1358
  {18,  2}, // #982
1359
  {19,  1}, // #983
1360
  {20,  4}, // #984
1361
  {22,  7}, // #985
1362
  {23,  7}, // #986
1363
  { 9,  1}, // #987
1364
  {14,  1}, // #988
1365
  {16,  1}, // #989
1366
  {18,  1}, // #990
1367
  {20,  1}, // #991
1368
  {22,  6}, // #992
1369
  {23,  6}, // #993
1370
  { 3,  2}, // #994
1371
  { 7,  1}, // #995
1372
  { 8,  4}, // #996
1373
  {11,  2}, // #997
1374
  {12,  3}, // #998
1375
  {13,  6}, // #999
1376
  {14,  6}, // #1000
1377
  {15,  4}, // #1001
1378
  {17,  1}, // #1002
1379
  {18,  4}, // #1003
1380
  {19,  6}, // #1004
1381
  {20, 10}, // #1005
1382
  {21,  2}, // #1006
1383
  {22, 16}, // #1007
1384
  {23, 19}, // #1008
1385
  { 8,  2}, // #1009
1386
  {13,  2}, // #1010
1387
  {15,  2}, // #1011
1388
  {18,  2}, // #1012
1389
  {19,  2}, // #1013
1390
  {20,  2}, // #1014
1391
  {22, 22}, // #1015
1392
  {23, 22}, // #1016
1393
  { 7,  1}, // #1017
1394
  { 8,  1}, // #1018
1395
  { 9,  1}, // #1019
1396
  {12,  1}, // #1020
1397
  {13,  1}, // #1021
1398
  {14,  2}, // #1022
1399
  {15,  1}, // #1023
1400
  {16,  1}, // #1024
1401
  {17,  1}, // #1025
1402
  {18,  2}, // #1026
1403
  {19,  1}, // #1027
1404
  {20,  3}, // #1028
1405
  {21,  2}, // #1029
1406
  {22,  5}, // #1030
1407
  {23,  8}, // #1031
1408
  { 8,  6}, // #1032
1409
  {11,  3}, // #1033
1410
  {13,  6}, // #1034
1411
  {15,  6}, // #1035
1412
  {18,  6}, // #1036
1413
  {19,  9}, // #1037
1414
  {20,  6}, // #1038
1415
  {22, 15}, // #1039
1416
  {23, 15}, // #1040
1417
  { 8,  1}, // #1041
1418
  { 9,  5}, // #1042
1419
  {13,  1}, // #1043
1420
  {14,  9}, // #1044
1421
  {15,  1}, // #1045
1422
  {16,  5}, // #1046
1423
  {17,  2}, // #1047
1424
  {18,  6}, // #1048
1425
  {19,  1}, // #1049
1426
  {20, 10}, // #1050
1427
  {21,  3}, // #1051
1428
  {22, 20}, // #1052
1429
  {23, 23}, // #1053
1430
  { 8,  1}, // #1054
1431
  { 9,  5}, // #1055
1432
  {13,  1}, // #1056
1433
  {14,  9}, // #1057
1434
  {15,  1}, // #1058
1435
  {16,  5}, // #1059
1436
  {17,  3}, // #1060
1437
  {18,  6}, // #1061
1438
  {19,  1}, // #1062
1439
  {20, 10}, // #1063
1440
  {21,  3}, // #1064
1441
  {22, 20}, // #1065
1442
  {23, 23}, // #1066
1443
  { 8,  1}, // #1067
1444
  { 9,  1}, // #1068
1445
  {13,  1}, // #1069
1446
  {14,  2}, // #1070
1447
  {15,  1}, // #1071
1448
  {16,  1}, // #1072
1449
  {18,  2}, // #1073
1450
  {19,  1}, // #1074
1451
  {20,  3}, // #1075
1452
  {22,  8}, // #1076
1453
  {23,  8}, // #1077
1454
  { 3,  4}, // #1078
1455
  { 9,  2}, // #1079
1456
  {11,  4}, // #1080
1457
  {12,  4}, // #1081
1458
  {13,  5}, // #1082
1459
  {14,  8}, // #1083
1460
  {15,  1}, // #1084
1461
  {16,  2}, // #1085
1462
  {17, 33}, // #1086
1463
  {18,  2}, // #1087
1464
  {19,  6}, // #1088
1465
  {20,  9}, // #1089
1466
  {21, 33}, // #1090
1467
  {22, 57}, // #1091
1468
  {23, 90}, // #1092
1469
  { 9,  1}, // #1093
1470
  {14,  1}, // #1094
1471
  {16,  1}, // #1095
1472
  {17,  1}, // #1096
1473
  {18,  1}, // #1097
1474
  {20,  1}, // #1098
1475
  {21,  1}, // #1099
1476
  {22,  2}, // #1100
1477
  {23,  3}, // #1101
1478
  {14,  2}, // #1102
1479
  {20,  2}, // #1103
1480
  {22,  2}, // #1104
1481
  {23,  2}, // #1105
1482
  { 3,  1}, // #1106
1483
  {11,  1}, // #1107
1484
  {12,  1}, // #1108
1485
  {13,  1}, // #1109
1486
  {14,  1}, // #1110
1487
  {19,  1}, // #1111
1488
  {20,  1}, // #1112
1489
  {22,  2}, // #1113
1490
  {23,  2}, // #1114
1491
  {11,  1}, // #1115
1492
  {19,  2}, // #1116
1493
  {22,  2}, // #1117
1494
  {23,  2}, // #1118
1495
  { 4,  1}, // #1119
1496
  {11,  1}, // #1120
1497
  {15,  1}, // #1121
1498
  {16,  1}, // #1122
1499
  {19,  1}, // #1123
1500
  {22,  2}, // #1124
1501
  {23,  2}, // #1125
1502
  {14,  2}, // #1126
1503
  {20,  2}, // #1127
1504
  {22,  3}, // #1128
1505
  {23,  3}, // #1129
1506
  { 7,  1}, // #1130
1507
  {12,  1}, // #1131
1508
  {21,  1}, // #1132
1509
  {22,  1}, // #1133
1510
  {23,  3}, // #1134
1511
  { 7,  1}, // #1135
1512
  {12,  1}, // #1136
1513
  {14,  1}, // #1137
1514
  {20,  1}, // #1138
1515
  {21,  1}, // #1139
1516
  {22,  2}, // #1140
1517
  {23,  4}, // #1141
1518
  { 7,  1}, // #1142
1519
  { 9,  1}, // #1143
1520
  {12,  1}, // #1144
1521
  {14,  1}, // #1145
1522
  {16,  1}, // #1146
1523
  {18,  1}, // #1147
1524
  {20,  1}, // #1148
1525
  {21,  1}, // #1149
1526
  {22,  2}, // #1150
1527
  {23,  4}, // #1151
1528
  { 7,  1}, // #1152
1529
  {12,  1}, // #1153
1530
  {21,  1}, // #1154
1531
  {22,  4}, // #1155
1532
  {23,  6}, // #1156
1533
  { 9,  1}, // #1157
1534
  {14,  1}, // #1158
1535
  {16,  1}, // #1159
1536
  {18,  1}, // #1160
1537
  {20,  1}, // #1161
1538
  {22,  2}, // #1162
1539
  {23,  2}, // #1163
1540
  { 9,  1}, // #1164
1541
  {14,  1}, // #1165
1542
  {16,  1}, // #1166
1543
  {17,  1}, // #1167
1544
  {18,  1}, // #1168
1545
  {20,  1}, // #1169
1546
  {21,  1}, // #1170
1547
  {22,  1}, // #1171
1548
  {23,  2}, // #1172
1549
  { 3,  1}, // #1173
1550
  { 7,  1}, // #1174
1551
  {11,  1}, // #1175
1552
  {12,  2}, // #1176
1553
  {13,  1}, // #1177
1554
  {14,  1}, // #1178
1555
  {19,  1}, // #1179
1556
  {20,  1}, // #1180
1557
  {21,  1}, // #1181
1558
  {22,  1}, // #1182
1559
  {23,  3}, // #1183
1560
  { 4,  1}, // #1184
1561
  { 9,  1}, // #1185
1562
  {11,  1}, // #1186
1563
  {14,  2}, // #1187
1564
  {15,  1}, // #1188
1565
  {16,  2}, // #1189
1566
  {18,  1}, // #1190
1567
  {19,  1}, // #1191
1568
  {20,  2}, // #1192
1569
  {22,  4}, // #1193
1570
  {23,  4}, // #1194
1571
  { 7,  1}, // #1195
1572
  { 9,  1}, // #1196
1573
  {12,  1}, // #1197
1574
  {14,  1}, // #1198
1575
  {16,  1}, // #1199
1576
  {17,  1}, // #1200
1577
  {18,  1}, // #1201
1578
  {20,  1}, // #1202
1579
  {21,  2}, // #1203
1580
  {22,  2}, // #1204
1581
  {23,  5}, // #1205
1582
  { 7,  1}, // #1206
1583
  {12,  1}, // #1207
1584
  {14,  2}, // #1208
1585
  {17,  1}, // #1209
1586
  {20,  2}, // #1210
1587
  {21,  2}, // #1211
1588
  {22,  2}, // #1212
1589
  {23,  5}, // #1213
1590
  { 7,  1}, // #1214
1591
  {12,  1}, // #1215
1592
  {17,  1}, // #1216
1593
  {21,  2}, // #1217
1594
  {22,  2}, // #1218
1595
  {23,  5}, // #1219
1596
  { 3,  1}, // #1220
1597
  { 4,  1}, // #1221
1598
  {11,  2}, // #1222
1599
  {12,  1}, // #1223
1600
  {13,  1}, // #1224
1601
  {14,  1}, // #1225
1602
  {15,  1}, // #1226
1603
  {16,  1}, // #1227
1604
  {17,  1}, // #1228
1605
  {19,  2}, // #1229
1606
  {20,  1}, // #1230
1607
  {21,  1}, // #1231
1608
  {22,  2}, // #1232
1609
  {23,  3}, // #1233
1610
  { 4,  1}, // #1234
1611
  { 8,  1}, // #1235
1612
  {11,  1}, // #1236
1613
  {13,  1}, // #1237
1614
  {15,  2}, // #1238
1615
  {16,  1}, // #1239
1616
  {17,  1}, // #1240
1617
  {18,  1}, // #1241
1618
  {19,  2}, // #1242
1619
  {20,  1}, // #1243
1620
  {21,  1}, // #1244
1621
  {22,  2}, // #1245
1622
  {23,  3}, // #1246
1623
  { 4,  1}, // #1247
1624
  {11,  1}, // #1248
1625
  {14,  1}, // #1249
1626
  {15,  1}, // #1250
1627
  {16,  1}, // #1251
1628
  {17,  1}, // #1252
1629
  {19,  1}, // #1253
1630
  {20,  1}, // #1254
1631
  {21,  1}, // #1255
1632
  {22,  3}, // #1256
1633
  {23,  4}, // #1257
1634
  { 4,  1}, // #1258
1635
  {11,  1}, // #1259
1636
  {15,  1}, // #1260
1637
  {16,  1}, // #1261
1638
  {17,  1}, // #1262
1639
  {19,  1}, // #1263
1640
  {21,  1}, // #1264
1641
  {22,  2}, // #1265
1642
  {23,  3}, // #1266
1643
  {14,  1}, // #1267
1644
  {17,  1}, // #1268
1645
  {20,  1}, // #1269
1646
  {21,  1}, // #1270
1647
  {22,  4}, // #1271
1648
  {23,  5}, // #1272
1649
  { 9,  1}, // #1273
1650
  {14,  1}, // #1274
1651
  {16,  1}, // #1275
1652
  {18,  1}, // #1276
1653
  {20,  1}, // #1277
1654
  {22,  1}, // #1278
1655
  {23,  1}, // #1279
1656
  { 7,  1}, // #1280
1657
  {12,  1}, // #1281
1658
  {15,  1}, // #1282
1659
  {19,  1}, // #1283
1660
  {21,  1}, // #1284
1661
  {22,  1}, // #1285
1662
  {23,  3}, // #1286
1663
  { 8,  2}, // #1287
1664
  {13,  2}, // #1288
1665
  {15,  2}, // #1289
1666
  {18,  2}, // #1290
1667
  {19,  2}, // #1291
1668
  {20,  2}, // #1292
1669
  {22,  3}, // #1293
1670
  {23,  3}, // #1294
1671
  {14,  1}, // #1295
1672
  {20,  1}, // #1296
1673
  {22,  3}, // #1297
1674
  {23,  3}, // #1298
1675
  {14,  1}, // #1299
1676
  {17,  1}, // #1300
1677
  {20,  1}, // #1301
1678
  {21,  2}, // #1302
1679
  {22,  3}, // #1303
1680
  {23,  5}, // #1304
1681
  {14,  2}, // #1305
1682
  {17,  1}, // #1306
1683
  {20,  2}, // #1307
1684
  {21,  2}, // #1308
1685
  {22,  3}, // #1309
1686
  {23,  5}, // #1310
1687
  { 8,  1}, // #1311
1688
  {13,  1}, // #1312
1689
  {15,  1}, // #1313
1690
  {17,  1}, // #1314
1691
  {18,  1}, // #1315
1692
  {19,  2}, // #1316
1693
  {20,  1}, // #1317
1694
  {21,  1}, // #1318
1695
  {22,  2}, // #1319
1696
  {23,  3}, // #1320
1697
  {19,  1}, // #1321
1698
  {22,  4}, // #1322
1699
  {23,  4}, // #1323
1700
  { 4,  2}, // #1324
1701
  { 9,  2}, // #1325
1702
  {11,  2}, // #1326
1703
  {14,  2}, // #1327
1704
  {15,  2}, // #1328
1705
  {16,  4}, // #1329
1706
  {17,  1}, // #1330
1707
  {18,  2}, // #1331
1708
  {19,  2}, // #1332
1709
  {20,  2}, // #1333
1710
  {21,  1}, // #1334
1711
  {22,  7}, // #1335
1712
  {23,  8}, // #1336
1713
  { 4,  1}, // #1337
1714
  { 9,  2}, // #1338
1715
  {11,  1}, // #1339
1716
  {14,  2}, // #1340
1717
  {15,  1}, // #1341
1718
  {16,  3}, // #1342
1719
  {17,  1}, // #1343
1720
  {18,  2}, // #1344
1721
  {19,  1}, // #1345
1722
  {20,  2}, // #1346
1723
  {21,  1}, // #1347
1724
  {22,  4}, // #1348
1725
  {23,  5}, // #1349
1726
  { 4,  1}, // #1350
1727
  { 9,  1}, // #1351
1728
  {11,  1}, // #1352
1729
  {14,  2}, // #1353
1730
  {15,  1}, // #1354
1731
  {16,  2}, // #1355
1732
  {18,  1}, // #1356
1733
  {19,  1}, // #1357
1734
  {20,  2}, // #1358
1735
  {22,  3}, // #1359
1736
  {23,  3}, // #1360
1737
  {14,  1}, // #1361
1738
  {20,  1}, // #1362
1739
  {22,  5}, // #1363
1740
  {23,  5}, // #1364
1741
  { 4,  1}, // #1365
1742
  {11,  1}, // #1366
1743
  {14,  4}, // #1367
1744
  {15,  2}, // #1368
1745
  {16,  1}, // #1369
1746
  {17,  1}, // #1370
1747
  {19,  2}, // #1371
1748
  {20,  4}, // #1372
1749
  {21,  2}, // #1373
1750
  {22,  8}, // #1374
1751
  {23, 10}, // #1375
1752
  { 4,  2}, // #1376
1753
  {11,  2}, // #1377
1754
  {14,  2}, // #1378
1755
  {15,  2}, // #1379
1756
  {16,  2}, // #1380
1757
  {19,  2}, // #1381
1758
  {20,  2}, // #1382
1759
  {22,  7}, // #1383
1760
  {23,  7}, // #1384
1761
  { 4,  1}, // #1385
1762
  {11,  1}, // #1386
1763
  {14,  4}, // #1387
1764
  {15,  2}, // #1388
1765
  {16,  1}, // #1389
1766
  {19,  2}, // #1390
1767
  {20,  4}, // #1391
1768
  {22,  9}, // #1392
1769
  {23,  9}, // #1393
1770
  { 4,  2}, // #1394
1771
  {11,  2}, // #1395
1772
  {14,  3}, // #1396
1773
  {15,  3}, // #1397
1774
  {16,  2}, // #1398
1775
  {19,  3}, // #1399
1776
  {20,  3}, // #1400
1777
  {22, 10}, // #1401
1778
  {23, 10}, // #1402
1779
  { 8, 16}, // #1403
1780
  {13, 16}, // #1404
1781
  {15, 16}, // #1405
1782
  {18, 16}, // #1406
1783
  {19, 16}, // #1407
1784
  {20, 16}, // #1408
1785
  {22, 16}, // #1409
1786
  {23, 16}, // #1410
1787
  { 9,  3}, // #1411
1788
  {14,  3}, // #1412
1789
  {16,  3}, // #1413
1790
  {17,  1}, // #1414
1791
  {18,  3}, // #1415
1792
  {20,  3}, // #1416
1793
  {21,  1}, // #1417
1794
  {22, 18}, // #1418
1795
  {23, 19}, // #1419
1796
  { 7,  1}, // #1420
1797
  { 9,  5}, // #1421
1798
  {12,  1}, // #1422
1799
  {14,  5}, // #1423
1800
  {16,  5}, // #1424
1801
  {17,  1}, // #1425
1802
  {18,  5}, // #1426
1803
  {20,  5}, // #1427
1804
  {21,  2}, // #1428
1805
  {22, 24}, // #1429
1806
  {23, 27}, // #1430
1807
  { 7,  1}, // #1431
1808
  { 9,  6}, // #1432
1809
  {12,  1}, // #1433
1810
  {14,  6}, // #1434
1811
  {16,  6}, // #1435
1812
  {17,  1}, // #1436
1813
  {18,  6}, // #1437
1814
  {20,  6}, // #1438
1815
  {21,  2}, // #1439
1816
  {22, 25}, // #1440
1817
  {23, 28}, // #1441
1818
  { 3,  2}, // #1442
1819
  {11,  4}, // #1443
1820
  {12,  2}, // #1444
1821
  {13,  3}, // #1445
1822
  {14, 12}, // #1446
1823
  {17,  8}, // #1447
1824
  {19,  7}, // #1448
1825
  {20, 13}, // #1449
1826
  {21,  8}, // #1450
1827
  {22, 56}, // #1451
1828
  {23, 64}, // #1452
1829
  { 3,  4}, // #1453
1830
  { 9,  4}, // #1454
1831
  {11,  4}, // #1455
1832
  {12,  4}, // #1456
1833
  {13,  5}, // #1457
1834
  {14, 10}, // #1458
1835
  {15,  1}, // #1459
1836
  {16,  4}, // #1460
1837
  {17, 31}, // #1461
1838
  {18,  4}, // #1462
1839
  {19,  6}, // #1463
1840
  {20, 11}, // #1464
1841
  {21, 31}, // #1465
1842
  {22, 57}, // #1466
1843
  {23, 88}, // #1467
1844
  { 3,  7}, // #1468
1845
  { 4,  7}, // #1469
1846
  { 8,  3}, // #1470
1847
  { 9,  3}, // #1471
1848
  {11, 15}, // #1472
1849
  {12,  7}, // #1473
1850
  {13, 10}, // #1474
1851
  {14, 10}, // #1475
1852
  {15, 10}, // #1476
1853
  {16, 10}, // #1477
1854
  {18,  6}, // #1478
1855
  {19, 18}, // #1479
1856
  {20, 13}, // #1480
1857
  {22, 32}, // #1481
1858
  {23, 32}, // #1482
1859
  { 3,  9}, // #1483
1860
  { 4,  9}, // #1484
1861
  { 7, 11}, // #1485
1862
  { 8,  8}, // #1486
1863
  { 9,  1}, // #1487
1864
  {11, 18}, // #1488
1865
  {12, 20}, // #1489
1866
  {13, 17}, // #1490
1867
  {14, 31}, // #1491
1868
  {15, 17}, // #1492
1869
  {16, 10}, // #1493
1870
  {18,  9}, // #1494
1871
  {19, 26}, // #1495
1872
  {20, 39}, // #1496
1873
  {21, 11}, // #1497
1874
  {22, 78}, // #1498
1875
  {23, 100}, // #1499
1876
  { 7,  1}, // #1500
1877
  { 8,  5}, // #1501
1878
  {12,  1}, // #1502
1879
  {13,  5}, // #1503
1880
  {15,  5}, // #1504
1881
  {17,  2}, // #1505
1882
  {18,  5}, // #1506
1883
  {19,  5}, // #1507
1884
  {20,  5}, // #1508
1885
  {21,  2}, // #1509
1886
  {22,  6}, // #1510
1887
  {23,  9}, // #1511
1888
  { 9,  1}, // #1512
1889
  {14,  1}, // #1513
1890
  {16,  1}, // #1514
1891
  {17,  1}, // #1515
1892
  {18,  1}, // #1516
1893
  {20,  1}, // #1517
1894
  {21,  1}, // #1518
1895
  {22, 17}, // #1519
1896
  {23, 18}, // #1520
1897
  { 7,  1}, // #1521
1898
  { 8,  3}, // #1522
1899
  {12,  1}, // #1523
1900
  {13,  3}, // #1524
1901
  {15,  3}, // #1525
1902
  {17,  2}, // #1526
1903
  {18,  3}, // #1527
1904
  {19,  3}, // #1528
1905
  {20,  3}, // #1529
1906
  {21,  2}, // #1530
1907
  {22,  4}, // #1531
1908
  {23,  7}, // #1532
1909
  { 7,  1}, // #1533
1910
  { 8,  3}, // #1534
1911
  {12,  1}, // #1535
1912
  {13,  3}, // #1536
1913
  {15,  3}, // #1537
1914
  {17,  4}, // #1538
1915
  {18,  3}, // #1539
1916
  {19,  3}, // #1540
1917
  {20,  3}, // #1541
1918
  {21,  4}, // #1542
1919
  {22,  4}, // #1543
1920
  {23,  9}, // #1544
1921
  { 7,  1}, // #1545
1922
  { 8,  4}, // #1546
1923
  {12,  1}, // #1547
1924
  {13,  4}, // #1548
1925
  {15,  4}, // #1549
1926
  {17,  8}, // #1550
1927
  {18,  4}, // #1551
1928
  {19,  4}, // #1552
1929
  {20,  4}, // #1553
1930
  {21,  8}, // #1554
1931
  {22,  5}, // #1555
1932
  {23, 14}, // #1556
1933
  { 3,  2}, // #1557
1934
  { 4,  2}, // #1558
1935
  { 8,  2}, // #1559
1936
  {11,  4}, // #1560
1937
  {12,  2}, // #1561
1938
  {13,  4}, // #1562
1939
  {14,  2}, // #1563
1940
  {15,  4}, // #1564
1941
  {16,  2}, // #1565
1942
  {17,  1}, // #1566
1943
  {18,  2}, // #1567
1944
  {19,  6}, // #1568
1945
  {20,  4}, // #1569
1946
  {21,  1}, // #1570
1947
  {22,  7}, // #1571
1948
  {23,  8}, // #1572
1949
  { 9,  1}, // #1573
1950
  {16,  1}, // #1574
1951
  { 3,  1}, // #1575
1952
  {11,  1}, // #1576
1953
  {12,  2}, // #1577
1954
  {14,  1}, // #1578
1955
  { 8,  1}, // #1579
1956
  { 9,  1}, // #1580
1957
  {12,  1}, // #1581
1958
  {14,  1}, // #1582
1959
  {15,  1}, // #1583
1960
  { 9,  1}, // #1584
1961
  {10,  1}, // #1585
1962
  {11,  1}, // #1586
1963
  {12,  1}, // #1587
1964
  { 6,  1}, // #1588
1965
  { 8,  1}, // #1589
1966
  { 9,  1}, // #1590
1967
  {10,  1}, // #1591
1968
  { 3,  2}, // #1592
1969
  {11,  1}, // #1593
1970
  {12,  2}, // #1594
1971
  {14,  1}, // #1595
1972
  { 3,  2}, // #1596
1973
  {11,  1}, // #1597
1974
  {12,  1}, // #1598
1975
  { 5,  1}, // #1599
1976
  { 7,  1}, // #1600
1977
  { 9,  1}, // #1601
1978
  {10,  1}, // #1602
1979
  {11,  1}, // #1603
1980
  {12,  1}, // #1604
1981
  { 7,  1}, // #1605
1982
  { 9,  1}, // #1606
1983
  {11,  1}, // #1607
1984
  {12,  1}, // #1608
1985
  {19,  1}, // #1609
1986
  { 7,  1}, // #1610
1987
  { 9,  1}, // #1611
1988
  {19,  1}, // #1612
1989
  { 9,  1}, // #1613
1990
  {10,  4}, // #1614
1991
  {11,  1}, // #1615
1992
  {12,  1}, // #1616
1993
  { 3,  4}, // #1617
1994
  {11,  1}, // #1618
1995
  {12,  1}, // #1619
1996
  { 1,  1}, // #1620
1997
  { 3,  1}, // #1621
1998
  { 5,  1}, // #1622
1999
  { 7,  1}, // #1623
2000
  { 9,  1}, // #1624
2001
  {10,  1}, // #1625
2002
  {11,  1}, // #1626
2003
  {12,  1}, // #1627
2004
  { 8,  1}, // #1628
2005
  { 9,  1}, // #1629
2006
  {11,  1}, // #1630
2007
  {12,  1}, // #1631
2008
  {15,  1}, // #1632
2009
  { 8,  1}, // #1633
2010
  { 9,  1}, // #1634
2011
  {15,  1}, // #1635
2012
  { 1,  1}, // #1636
2013
  { 3,  1}, // #1637
2014
  { 5,  1}, // #1638
2015
  { 8,  1}, // #1639
2016
  { 9,  1}, // #1640
2017
  {10,  1}, // #1641
2018
  {11,  1}, // #1642
2019
  {12,  1}, // #1643
2020
  {15,  1}, // #1644
2021
  { 1,  1}, // #1645
2022
  { 3,  1}, // #1646
2023
  { 5,  1}, // #1647
2024
  { 8,  1}, // #1648
2025
  { 9,  1}, // #1649
2026
  {10,  1}, // #1650
2027
  {15,  1}, // #1651
2028
  { 8,  1}, // #1652
2029
  { 9,  1}, // #1653
2030
  {11,  1}, // #1654
2031
  {12,  1}, // #1655
2032
  {15,  2}, // #1656
2033
  { 8,  1}, // #1657
2034
  { 9,  1}, // #1658
2035
  {15,  2}, // #1659
2036
  { 2,  1}, // #1660
2037
  { 3,  1}, // #1661
2038
  { 4, 17}, // #1662
2039
  {11,  1}, // #1663
2040
  {12,  1}, // #1664
2041
  { 2,  1}, // #1665
2042
  { 3,  1}, // #1666
2043
  { 4, 25}, // #1667
2044
  {11,  1}, // #1668
2045
  {12,  1}, // #1669
2046
  { 2,  1}, // #1670
2047
  { 3,  1}, // #1671
2048
  { 4, 41}, // #1672
2049
  {11,  1}, // #1673
2050
  {12,  1}, // #1674
2051
  { 2,  1}, // #1675
2052
  { 3,  1}, // #1676
2053
  { 4, 12}, // #1677
2054
  {11,  1}, // #1678
2055
  {12,  1}, // #1679
2056
  { 6, 19}, // #1680
2057
  { 8,  1}, // #1681
2058
  { 9,  1}, // #1682
2059
  {10, 19}, // #1683
2060
  {11,  1}, // #1684
2061
  {12,  1}, // #1685
2062
  { 5,  3}, // #1686
2063
  { 6,  3}, // #1687
2064
  { 8,  1}, // #1688
2065
  { 9,  1}, // #1689
2066
  {10,  6}, // #1690
2067
  {11,  1}, // #1691
2068
  {12,  1}, // #1692
2069
  { 9,  1}, // #1693
2070
  {11,  1}, // #1694
2071
  {12,  1}, // #1695
2072
  {16,  1}, // #1696
2073
  { 2,  1}, // #1697
2074
  { 3,  1}, // #1698
2075
  {11,  1}, // #1699
2076
  {12,  1}, // #1700
2077
  {13,  1}, // #1701
2078
  { 2,  1}, // #1702
2079
  { 3,  1}, // #1703
2080
  {13,  1}, // #1704
2081
  { 2,  1}, // #1705
2082
  { 3,  1}, // #1706
2083
  {11,  1}, // #1707
2084
  {12,  1}, // #1708
2085
  {13,  4}, // #1709
2086
  { 2,  1}, // #1710
2087
  { 3,  1}, // #1711
2088
  {13,  4}, // #1712
2089
  { 9,  1}, // #1713
2090
  {11,  1}, // #1714
2091
  {12,  1}, // #1715
2092
  {16,  4}, // #1716
2093
  { 9,  1}, // #1717
2094
  {16,  4}, // #1718
2095
  { 7,  1}, // #1719
2096
  { 9,  1}, // #1720
2097
  {11,  1}, // #1721
2098
  {12,  1}, // #1722
2099
  {19,  2}, // #1723
2100
  { 7,  1}, // #1724
2101
  { 9,  1}, // #1725
2102
  {19,  2}, // #1726
2103
  { 6,  2}, // #1727
2104
  { 8,  1}, // #1728
2105
  { 9,  1}, // #1729
2106
  {10,  2}, // #1730
2107
  {11,  1}, // #1731
2108
  {12,  1}, // #1732
2109
  { 6,  1}, // #1733
2110
  { 8,  1}, // #1734
2111
  { 9,  1}, // #1735
2112
  {10,  1}, // #1736
2113
  {11,  1}, // #1737
2114
  {12,  1}, // #1738
2115
  { 2,  5}, // #1739
2116
  { 3,  5}, // #1740
2117
  {11,  1}, // #1741
2118
  {12,  1}, // #1742
2119
  {13,  1}, // #1743
2120
  { 2,  5}, // #1744
2121
  { 3,  5}, // #1745
2122
  {13,  1}, // #1746
2123
  { 2,  5}, // #1747
2124
  { 3,  5}, // #1748
2125
  {11,  1}, // #1749
2126
  {12,  1}, // #1750
2127
  {13,  4}, // #1751
2128
  { 2,  5}, // #1752
2129
  { 3,  5}, // #1753
2130
  {13,  4}, // #1754
2131
  { 1,  1}, // #1755
2132
  { 3,  1}, // #1756
2133
  { 5,  1}, // #1757
2134
  { 8,  1}, // #1758
2135
  { 9,  1}, // #1759
2136
  {10,  1}, // #1760
2137
  {11,  3}, // #1761
2138
  {12,  5}, // #1762
2139
  {14,  2}, // #1763
2140
  {16, 10}, // #1764
2141
  {18,  4}, // #1765
2142
  { 1,  1}, // #1766
2143
  { 3,  1}, // #1767
2144
  { 5,  1}, // #1768
2145
  { 8,  1}, // #1769
2146
  { 9,  1}, // #1770
2147
  {10,  1}, // #1771
2148
  {11,  2}, // #1772
2149
  {12,  4}, // #1773
2150
  {14,  2}, // #1774
2151
  {16, 10}, // #1775
2152
  {18,  4}, // #1776
2153
  { 1,  1}, // #1777
2154
  { 3,  1}, // #1778
2155
  { 5,  1}, // #1779
2156
  { 8,  1}, // #1780
2157
  { 9,  1}, // #1781
2158
  {10,  1}, // #1782
2159
  {11,  1}, // #1783
2160
  {12,  1}, // #1784
2161
  {16,  2}, // #1785
2162
  {18,  2}, // #1786
2163
  { 1,  1}, // #1787
2164
  { 3,  1}, // #1788
2165
  { 5,  1}, // #1789
2166
  { 8,  1}, // #1790
2167
  { 9,  1}, // #1791
2168
  {10,  1}, // #1792
2169
  {16,  2}, // #1793
2170
  {18,  2}, // #1794
2171
  { 7,  1}, // #1795
2172
  { 9,  1}, // #1796
2173
  {11,  1}, // #1797
2174
  {12,  1}, // #1798
2175
  {16,  1}, // #1799
2176
  { 7,  1}, // #1800
2177
  { 9,  1}, // #1801
2178
  {16,  1}, // #1802
2179
  { 7,  2}, // #1803
2180
  { 9,  3}, // #1804
2181
  {11,  1}, // #1805
2182
  {12,  1}, // #1806
2183
  {16,  1}, // #1807
2184
  {19,  2}, // #1808
2185
  { 7,  2}, // #1809
2186
  { 9,  3}, // #1810
2187
  {16,  1}, // #1811
2188
  {19,  2}, // #1812
2189
  { 3,  1}, // #1813
2190
  {12,  1}, // #1814
2191
  {14,  1}, // #1815
2192
  { 3, 22}, // #1816
2193
  {11,  1}, // #1817
2194
  {12,  1}, // #1818
2195
  { 6, 27}, // #1819
2196
  { 8,  1}, // #1820
2197
  { 9,  1}, // #1821
2198
  {10, 27}, // #1822
2199
  {11,  1}, // #1823
2200
  {12,  1}, // #1824
2201
  { 6, 21}, // #1825
2202
  { 8,  1}, // #1826
2203
  { 9,  1}, // #1827
2204
  {10, 21}, // #1828
2205
  {11,  1}, // #1829
2206
  {12,  1}, // #1830
2207
  { 6, 35}, // #1831
2208
  { 8,  1}, // #1832
2209
  { 9,  1}, // #1833
2210
  {10, 35}, // #1834
2211
  { 5,  2}, // #1835
2212
  { 7,  2}, // #1836
2213
  { 9,  2}, // #1837
2214
  {10,  2}, // #1838
2215
  {11,  2}, // #1839
2216
  {12,  2}, // #1840
2217
  { 9,  2}, // #1841
2218
  {10,  6}, // #1842
2219
  {11,  2}, // #1843
2220
  {12,  2}, // #1844
2221
  { 9,  2}, // #1845
2222
  {10,  2}, // #1846
2223
  {11,  1}, // #1847
2224
  {12,  1}, // #1848
2225
  { 8,  2}, // #1849
2226
  { 9,  2}, // #1850
2227
  {11,  2}, // #1851
2228
  {12,  2}, // #1852
2229
  {15,  2}, // #1853
2230
  { 8,  2}, // #1854
2231
  { 9,  2}, // #1855
2232
  {15,  2}, // #1856
2233
  { 8,  2}, // #1857
2234
  { 9,  2}, // #1858
2235
  {10,  4}, // #1859
2236
  {11,  2}, // #1860
2237
  {12,  2}, // #1861
2238
  {15,  2}, // #1862
2239
  { 8,  2}, // #1863
2240
  { 9,  2}, // #1864
2241
  {10,  4}, // #1865
2242
  {15,  2}, // #1866
2243
  { 8,  2}, // #1867
2244
  { 9,  2}, // #1868
2245
  {10,  2}, // #1869
2246
  {12,  1}, // #1870
2247
  {14,  1}, // #1871
2248
  {15,  2}, // #1872
2249
  { 8,  2}, // #1873
2250
  { 9,  2}, // #1874
2251
  {10,  2}, // #1875
2252
  {15,  2}, // #1876
2253
  { 6, 38}, // #1877
2254
  { 8,  2}, // #1878
2255
  { 9,  2}, // #1879
2256
  {10, 38}, // #1880
2257
  {11,  2}, // #1881
2258
  {12,  2}, // #1882
2259
  { 5,  6}, // #1883
2260
  { 6,  6}, // #1884
2261
  { 8,  2}, // #1885
2262
  { 9,  2}, // #1886
2263
  {10, 12}, // #1887
2264
  {11,  2}, // #1888
2265
  {12,  2}, // #1889
2266
  { 9,  2}, // #1890
2267
  {10,  4}, // #1891
2268
  {12,  2}, // #1892
2269
  {14,  2}, // #1893
2270
  { 9,  1}, // #1894
2271
  {10,  4}, // #1895
2272
  {12,  1}, // #1896
2273
  {14,  1}, // #1897
2274
  { 9,  2}, // #1898
2275
  {16,  2}, // #1899
2276
  { 8,  2}, // #1900
2277
  { 9,  2}, // #1901
2278
  {12,  2}, // #1902
2279
  {14,  2}, // #1903
2280
  {15,  2}, // #1904
2281
  { 6,  4}, // #1905
2282
  { 8,  2}, // #1906
2283
  { 9,  2}, // #1907
2284
  {10,  4}, // #1908
2285
  {11,  2}, // #1909
2286
  {12,  2}, // #1910
2287
  { 6,  2}, // #1911
2288
  { 8,  2}, // #1912
2289
  { 9,  2}, // #1913
2290
  {10,  2}, // #1914
2291
  {11,  2}, // #1915
2292
  {12,  2}, // #1916
2293
  { 9,  2}, // #1917
2294
  {12,  2}, // #1918
2295
  {14,  2}, // #1919
2296
  {16,  4}, // #1920
2297
  { 9,  2}, // #1921
2298
  {11,  2}, // #1922
2299
  {12,  2}, // #1923
2300
  {16,  4}, // #1924
2301
  { 9,  1}, // #1925
2302
  {12,  1}, // #1926
2303
  {14,  1}, // #1927
2304
  {16,  4}, // #1928
2305
  { 9,  1}, // #1929
2306
  {11,  1}, // #1930
2307
  {12,  1}, // #1931
2308
  {16,  2}, // #1932
2309
  { 1,  1}, // #1933
2310
  { 3,  1}, // #1934
2311
  { 5,  2}, // #1935
2312
  { 9,  2}, // #1936
2313
  {10,  4}, // #1937
2314
  {11,  2}, // #1938
2315
  {12,  2}, // #1939
2316
  { 6, 54}, // #1940
2317
  { 8,  2}, // #1941
2318
  { 9,  2}, // #1942
2319
  {10, 54}, // #1943
2320
  {11,  2}, // #1944
2321
  {12,  2}, // #1945
2322
  { 6, 42}, // #1946
2323
  { 8,  2}, // #1947
2324
  { 9,  2}, // #1948
2325
  {10, 42}, // #1949
2326
  {11,  2}, // #1950
2327
  {12,  2}, // #1951
2328
  { 9,  2}, // #1952
2329
  {10,  4}, // #1953
2330
  {11,  1}, // #1954
2331
  {12,  1}, // #1955
2332
  { 2,  1}, // #1956
2333
  { 3,  1}, // #1957
2334
  {12,  1}, // #1958
2335
  {14,  1}, // #1959
2336
  {13,  1}, // #1960
2337
  {19,  1}, // #1961
2338
  {20,  1}, // #1962
2339
  {22,  1}, // #1963
2340
  {23,  1}, // #1964
2341
  { 3,  3}, // #1965
2342
  { 8,  6}, // #1966
2343
  {11,  3}, // #1967
2344
  {12,  3}, // #1968
2345
  {13,  9}, // #1969
2346
  {14,  3}, // #1970
2347
  {15,  6}, // #1971
2348
  {17,  1}, // #1972
2349
  {18,  6}, // #1973
2350
  {19, 10}, // #1974
2351
  {20,  9}, // #1975
2352
  {21,  1}, // #1976
2353
  {22, 10}, // #1977
2354
  {23, 11}, // #1978
2355
  { 3,  3}, // #1979
2356
  { 8,  6}, // #1980
2357
  {11,  3}, // #1981
2358
  {12,  3}, // #1982
2359
  {13,  9}, // #1983
2360
  {14,  3}, // #1984
2361
  {15,  6}, // #1985
2362
  {18,  6}, // #1986
2363
  {19, 11}, // #1987
2364
  {20,  9}, // #1988
2365
  {22, 11}, // #1989
2366
  {23, 11}, // #1990
2367
  {14,  2}, // #1991
2368
  {17,  1}, // #1992
2369
  {20,  2}, // #1993
2370
  {21,  1}, // #1994
2371
  {22,  2}, // #1995
2372
  {23,  3}, // #1996
2373
  {11,  2}, // #1997
2374
  {17,  1}, // #1998
2375
  {19,  2}, // #1999
2376
  {21,  1}, // #2000
2377
  {22,  2}, // #2001
2378
  {23,  3}, // #2002
2379
  { 2,  4}, // #2003
2380
  { 3,  1}, // #2004
2381
  {11,  1}, // #2005
2382
  {12,  1}, // #2006
2383
  {13,  1}, // #2007
2384
  {14,  1}, // #2008
2385
  {17,  1}, // #2009
2386
  {19,  1}, // #2010
2387
  {20,  1}, // #2011
2388
  {21,  1}, // #2012
2389
  {22,  1}, // #2013
2390
  {23,  2}, // #2014
2391
  { 2,  3}, // #2015
2392
  { 3,  1}, // #2016
2393
  {11,  1}, // #2017
2394
  {12,  1}, // #2018
2395
  {13,  1}, // #2019
2396
  {14,  1}, // #2020
2397
  {17,  1}, // #2021
2398
  {19,  1}, // #2022
2399
  {20,  1}, // #2023
2400
  {21,  1}, // #2024
2401
  {22,  1}, // #2025
2402
  {23,  2}, // #2026
2403
  { 8,  1}, // #2027
2404
  {13,  1}, // #2028
2405
  {15,  1}, // #2029
2406
  {17,  1}, // #2030
2407
  {18,  1}, // #2031
2408
  {19,  3}, // #2032
2409
  {20,  1}, // #2033
2410
  {21,  1}, // #2034
2411
  {22,  3}, // #2035
2412
  {23,  4}, // #2036
2413
  { 8,  1}, // #2037
2414
  {13,  1}, // #2038
2415
  {15,  1}, // #2039
2416
  {18,  1}, // #2040
2417
  {19,  3}, // #2041
2418
  {20,  1}, // #2042
2419
  {22,  3}, // #2043
2420
  {23,  3}, // #2044
2421
  { 8,  1}, // #2045
2422
  {13,  1}, // #2046
2423
  {15,  1}, // #2047
2424
  {17,  1}, // #2048
2425
  {18,  1}, // #2049
2426
  {19,  4}, // #2050
2427
  {20,  1}, // #2051
2428
  {21,  1}, // #2052
2429
  {22,  4}, // #2053
2430
  {23,  5}, // #2054
2431
  { 8,  1}, // #2055
2432
  {13,  1}, // #2056
2433
  {15,  1}, // #2057
2434
  {18,  1}, // #2058
2435
  {19,  4}, // #2059
2436
  {20,  1}, // #2060
2437
  {22,  4}, // #2061
2438
  {23,  4}, // #2062
2439
  {13,  9}, // #2063
2440
  {19,  9}, // #2064
2441
  {20,  9}, // #2065
2442
  {22, 10}, // #2066
2443
  {23, 10}, // #2067
2444
  {13,  2}, // #2068
2445
  {19,  2}, // #2069
2446
  {20,  2}, // #2070
2447
  {22,  2}, // #2071
2448
  {23,  2}, // #2072
2449
  { 8,  2}, // #2073
2450
  {13,  2}, // #2074
2451
  {15,  2}, // #2075
2452
  {17,  1}, // #2076
2453
  {18,  2}, // #2077
2454
  {19,  3}, // #2078
2455
  {20,  2}, // #2079
2456
  {21,  1}, // #2080
2457
  {22,  3}, // #2081
2458
  {23,  4}, // #2082
2459
  { 8,  2}, // #2083
2460
  {13,  2}, // #2084
2461
  {15,  2}, // #2085
2462
  {18,  2}, // #2086
2463
  {19,  3}, // #2087
2464
  {20,  2}, // #2088
2465
  {22,  3}, // #2089
2466
  {23,  3}, // #2090
2467
  {13,  1}, // #2091
2468
  {17,  1}, // #2092
2469
  {19,  1}, // #2093
2470
  {20,  1}, // #2094
2471
  {21,  1}, // #2095
2472
  {22,  1}, // #2096
2473
  {23,  2}, // #2097
2474
  { 8,  2}, // #2098
2475
  {13,  3}, // #2099
2476
  {15,  2}, // #2100
2477
  {17,  1}, // #2101
2478
  {18,  2}, // #2102
2479
  {19,  3}, // #2103
2480
  {20,  3}, // #2104
2481
  {21,  1}, // #2105
2482
  {22,  3}, // #2106
2483
  {23,  4}, // #2107
2484
  { 8,  2}, // #2108
2485
  {13,  3}, // #2109
2486
  {15,  2}, // #2110
2487
  {18,  2}, // #2111
2488
  {19,  3}, // #2112
2489
  {20,  3}, // #2113
2490
  {22,  3}, // #2114
2491
  {23,  3}, // #2115
2492
  { 8,  1}, // #2116
2493
  {11,  1}, // #2117
2494
  {13,  1}, // #2118
2495
  {15,  1}, // #2119
2496
  {18,  1}, // #2120
2497
  {19,  2}, // #2121
2498
  {20,  1}, // #2122
2499
  {22,  2}, // #2123
2500
  {23,  2}, // #2124
2501
  { 4,  1}, // #2125
2502
  {11,  1}, // #2126
2503
  {14,  2}, // #2127
2504
  {15,  1}, // #2128
2505
  {16,  1}, // #2129
2506
  {17,  1}, // #2130
2507
  {19,  1}, // #2131
2508
  {20,  2}, // #2132
2509
  {21,  2}, // #2133
2510
  {22,  4}, // #2134
2511
  {23,  6}, // #2135
2512
  { 4,  1}, // #2136
2513
  {11,  1}, // #2137
2514
  {14,  2}, // #2138
2515
  {15,  1}, // #2139
2516
  {16,  1}, // #2140
2517
  {19,  1}, // #2141
2518
  {20,  2}, // #2142
2519
  {22,  4}, // #2143
2520
  {23,  4}, // #2144
2521
  { 2,  6}, // #2145
2522
  { 3,  1}, // #2146
2523
  {11,  1}, // #2147
2524
  {12,  1}, // #2148
2525
  {13,  1}, // #2149
2526
  {14,  1}, // #2150
2527
  {17,  1}, // #2151
2528
  {19,  1}, // #2152
2529
  {20,  1}, // #2153
2530
  {21,  1}, // #2154
2531
  {22,  1}, // #2155
2532
  {23,  2}, // #2156
2533
  { 2,  6}, // #2157
2534
  { 3,  1}, // #2158
2535
  {11,  1}, // #2159
2536
  {12,  1}, // #2160
2537
  {13,  1}, // #2161
2538
  {14,  1}, // #2162
2539
  {19,  1}, // #2163
2540
  {20,  1}, // #2164
2541
  {22,  1}, // #2165
2542
  {23,  1}, // #2166
2543
  { 8,  1}, // #2167
2544
  {11,  1}, // #2168
2545
  {13,  1}, // #2169
2546
  {15,  1}, // #2170
2547
  {17,  1}, // #2171
2548
  {18,  1}, // #2172
2549
  {19,  2}, // #2173
2550
  {20,  1}, // #2174
2551
  {21,  1}, // #2175
2552
  {22,  2}, // #2176
2553
  {23,  3}, // #2177
2554
  {13,  2}, // #2178
2555
  {17,  1}, // #2179
2556
  {19,  2}, // #2180
2557
  {20,  2}, // #2181
2558
  {21,  1}, // #2182
2559
  {22,  2}, // #2183
2560
  {23,  3}, // #2184
2561
  { 7,  1}, // #2185
2562
  { 8,  1}, // #2186
2563
  {11,  1}, // #2187
2564
  {12,  1}, // #2188
2565
  {13,  1}, // #2189
2566
  {15,  1}, // #2190
2567
  {18,  1}, // #2191
2568
  {19,  2}, // #2192
2569
  {20,  1}, // #2193
2570
  {21,  1}, // #2194
2571
  {22,  2}, // #2195
2572
  {23,  4}, // #2196
2573
  { 7,  1}, // #2197
2574
  { 8,  1}, // #2198
2575
  {12,  1}, // #2199
2576
  {13,  2}, // #2200
2577
  {15,  1}, // #2201
2578
  {18,  1}, // #2202
2579
  {19,  2}, // #2203
2580
  {20,  2}, // #2204
2581
  {21,  1}, // #2205
2582
  {22,  2}, // #2206
2583
  {23,  4}, // #2207
2584
  { 8,  1}, // #2208
2585
  {13,  2}, // #2209
2586
  {15,  1}, // #2210
2587
  {18,  1}, // #2211
2588
  {19,  2}, // #2212
2589
  {20,  2}, // #2213
2590
  {22,  2}, // #2214
2591
  {23,  2}, // #2215
2592
  { 2, 16}, // #2216
2593
  { 3,  2}, // #2217
2594
  { 8,  1}, // #2218
2595
  {11,  2}, // #2219
2596
  {12,  2}, // #2220
2597
  {13,  3}, // #2221
2598
  {14,  2}, // #2222
2599
  {15,  1}, // #2223
2600
  {17,  1}, // #2224
2601
  {18,  1}, // #2225
2602
  {19,  3}, // #2226
2603
  {20,  3}, // #2227
2604
  {21,  1}, // #2228
2605
  {22,  3}, // #2229
2606
  {23,  4}, // #2230
2607
  { 2, 16}, // #2231
2608
  { 3,  2}, // #2232
2609
  { 8,  1}, // #2233
2610
  {11,  2}, // #2234
2611
  {12,  2}, // #2235
2612
  {13,  3}, // #2236
2613
  {14,  2}, // #2237
2614
  {15,  1}, // #2238
2615
  {18,  1}, // #2239
2616
  {19,  3}, // #2240
2617
  {20,  3}, // #2241
2618
  {22,  3}, // #2242
2619
  {23,  3}, // #2243
2620
  { 2, 10}, // #2244
2621
  { 3,  2}, // #2245
2622
  { 8,  1}, // #2246
2623
  {11,  2}, // #2247
2624
  {12,  2}, // #2248
2625
  {13,  3}, // #2249
2626
  {14,  2}, // #2250
2627
  {15,  1}, // #2251
2628
  {17,  1}, // #2252
2629
  {18,  1}, // #2253
2630
  {19,  3}, // #2254
2631
  {20,  3}, // #2255
2632
  {21,  1}, // #2256
2633
  {22,  3}, // #2257
2634
  {23,  4}, // #2258
2635
  { 2, 10}, // #2259
2636
  { 3,  2}, // #2260
2637
  { 8,  1}, // #2261
2638
  {11,  2}, // #2262
2639
  {12,  2}, // #2263
2640
  {13,  3}, // #2264
2641
  {14,  2}, // #2265
2642
  {15,  1}, // #2266
2643
  {18,  1}, // #2267
2644
  {19,  3}, // #2268
2645
  {20,  3}, // #2269
2646
  {22,  3}, // #2270
2647
  {23,  3}, // #2271
2648
  { 3,  1}, // #2272
2649
  {11,  1}, // #2273
2650
  {12,  1}, // #2274
2651
  {13,  1}, // #2275
2652
  {14,  1}, // #2276
2653
  {19,  1}, // #2277
2654
  {20,  1}, // #2278
2655
  {21,  1}, // #2279
2656
  {22,  1}, // #2280
2657
  {23,  2}, // #2281
2658
  { 2, 12}, // #2282
2659
  { 3,  1}, // #2283
2660
  {11,  1}, // #2284
2661
  {12,  1}, // #2285
2662
  {13,  1}, // #2286
2663
  {14,  1}, // #2287
2664
  {17,  1}, // #2288
2665
  {19,  1}, // #2289
2666
  {20,  1}, // #2290
2667
  {21,  1}, // #2291
2668
  {22,  1}, // #2292
2669
  {23,  2}, // #2293
2670
  { 2, 12}, // #2294
2671
  { 3,  1}, // #2295
2672
  {11,  1}, // #2296
2673
  {12,  1}, // #2297
2674
  {13,  1}, // #2298
2675
  {14,  1}, // #2299
2676
  {19,  1}, // #2300
2677
  {20,  1}, // #2301
2678
  {22,  1}, // #2302
2679
  {23,  1}, // #2303
2680
  { 2, 24}, // #2304
2681
  { 3,  2}, // #2305
2682
  { 8,  1}, // #2306
2683
  {11,  2}, // #2307
2684
  {12,  2}, // #2308
2685
  {13,  3}, // #2309
2686
  {14,  2}, // #2310
2687
  {15,  1}, // #2311
2688
  {17,  1}, // #2312
2689
  {18,  1}, // #2313
2690
  {19,  3}, // #2314
2691
  {20,  3}, // #2315
2692
  {21,  1}, // #2316
2693
  {22,  3}, // #2317
2694
  {23,  4}, // #2318
2695
  { 2, 24}, // #2319
2696
  { 3,  2}, // #2320
2697
  { 8,  1}, // #2321
2698
  {11,  2}, // #2322
2699
  {12,  2}, // #2323
2700
  {13,  3}, // #2324
2701
  {14,  2}, // #2325
2702
  {15,  1}, // #2326
2703
  {18,  1}, // #2327
2704
  {19,  3}, // #2328
2705
  {20,  3}, // #2329
2706
  {22,  3}, // #2330
2707
  {23,  3}, // #2331
2708
  { 2, 12}, // #2332
2709
  { 3,  2}, // #2333
2710
  { 8,  1}, // #2334
2711
  {11,  2}, // #2335
2712
  {12,  2}, // #2336
2713
  {13,  3}, // #2337
2714
  {14,  2}, // #2338
2715
  {15,  1}, // #2339
2716
  {17,  1}, // #2340
2717
  {18,  1}, // #2341
2718
  {19,  3}, // #2342
2719
  {20,  3}, // #2343
2720
  {21,  1}, // #2344
2721
  {22,  3}, // #2345
2722
  {23,  4}, // #2346
2723
  { 2, 12}, // #2347
2724
  { 3,  2}, // #2348
2725
  { 8,  1}, // #2349
2726
  {11,  2}, // #2350
2727
  {12,  2}, // #2351
2728
  {13,  3}, // #2352
2729
  {14,  2}, // #2353
2730
  {15,  1}, // #2354
2731
  {18,  1}, // #2355
2732
  {19,  3}, // #2356
2733
  {20,  3}, // #2357
2734
  {22,  3}, // #2358
2735
  {23,  3}, // #2359
2736
  { 4,  2}, // #2360
2737
  {11,  2}, // #2361
2738
  {14,  4}, // #2362
2739
  {15,  3}, // #2363
2740
  {16,  2}, // #2364
2741
  {17,  1}, // #2365
2742
  {19,  3}, // #2366
2743
  {20,  4}, // #2367
2744
  {21,  2}, // #2368
2745
  {22,  9}, // #2369
2746
  {23, 11}, // #2370
2747
  { 8,  1}, // #2371
2748
  {13,  1}, // #2372
2749
  {15,  1}, // #2373
2750
  {18,  1}, // #2374
2751
  {19,  2}, // #2375
2752
  {20,  1}, // #2376
2753
  {22,  2}, // #2377
2754
  {23,  2}, // #2378
2755
  { 3,  2}, // #2379
2756
  { 4,  1}, // #2380
2757
  { 8,  2}, // #2381
2758
  { 9,  4}, // #2382
2759
  {11,  3}, // #2383
2760
  {12,  2}, // #2384
2761
  {13,  6}, // #2385
2762
  {14,  6}, // #2386
2763
  {15,  3}, // #2387
2764
  {16,  5}, // #2388
2765
  {18,  6}, // #2389
2766
  {19,  7}, // #2390
2767
  {20, 10}, // #2391
2768
  {22, 15}, // #2392
2769
  {23, 15}, // #2393
2770
  { 7,  1}, // #2394
2771
  { 9,  1}, // #2395
2772
  {12,  1}, // #2396
2773
  {14,  2}, // #2397
2774
  {16,  1}, // #2398
2775
  {17,  1}, // #2399
2776
  {18,  1}, // #2400
2777
  {20,  2}, // #2401
2778
  {21,  2}, // #2402
2779
  {22,  5}, // #2403
2780
  {23,  8}, // #2404
2781
  { 3,  1}, // #2405
2782
  {11,  1}, // #2406
2783
  {12,  1}, // #2407
2784
  {13,  2}, // #2408
2785
  {14,  1}, // #2409
2786
  {17,  1}, // #2410
2787
  {19,  2}, // #2411
2788
  {20,  2}, // #2412
2789
  {21,  1}, // #2413
2790
  {22,  2}, // #2414
2791
  {23,  3}, // #2415
2792
  { 3,  1}, // #2416
2793
  { 8,  1}, // #2417
2794
  {11,  1}, // #2418
2795
  {12,  1}, // #2419
2796
  {13,  2}, // #2420
2797
  {14,  1}, // #2421
2798
  {15,  1}, // #2422
2799
  {18,  1}, // #2423
2800
  {19,  3}, // #2424
2801
  {20,  2}, // #2425
2802
  {22,  3}, // #2426
2803
  {23,  3}, // #2427
2804
  { 3,  1}, // #2428
2805
  { 8,  1}, // #2429
2806
  {11,  1}, // #2430
2807
  {12,  1}, // #2431
2808
  {13,  2}, // #2432
2809
  {14,  1}, // #2433
2810
  {15,  1}, // #2434
2811
  {17,  1}, // #2435
2812
  {18,  1}, // #2436
2813
  {19,  3}, // #2437
2814
  {20,  2}, // #2438
2815
  {21,  1}, // #2439
2816
  {22,  3}, // #2440
2817
  {23,  4}, // #2441
2818
  { 9,  1}, // #2442
2819
  {14,  1}, // #2443
2820
  {16,  1}, // #2444
2821
  {18,  1}, // #2445
2822
  {20,  1}, // #2446
2823
  {22,  4}, // #2447
2824
  {23,  4}, // #2448
2825
  { 9,  1}, // #2449
2826
  {14,  4}, // #2450
2827
  {15,  1}, // #2451
2828
  {16,  1}, // #2452
2829
  {18,  1}, // #2453
2830
  {19,  1}, // #2454
2831
  {20,  4}, // #2455
2832
  {22,  7}, // #2456
2833
  {23,  7}, // #2457
2834
  { 8,  1}, // #2458
2835
  { 9,  2}, // #2459
2836
  {13,  1}, // #2460
2837
  {14,  2}, // #2461
2838
  {15,  1}, // #2462
2839
  {16,  2}, // #2463
2840
  {18,  3}, // #2464
2841
  {19,  1}, // #2465
2842
  {20,  3}, // #2466
2843
  {22, 10}, // #2467
2844
  {23, 10}, // #2468
2845
  { 8,  6}, // #2469
2846
  {13,  9}, // #2470
2847
  {15,  6}, // #2471
2848
  {18,  6}, // #2472
2849
  {19,  9}, // #2473
2850
  {20,  9}, // #2474
2851
  {22, 15}, // #2475
2852
  {23, 15}, // #2476
2853
  {14,  3}, // #2477
2854
  {20,  3}, // #2478
2855
  {22,  3}, // #2479
2856
  {23,  3}, // #2480
2857
  { 7,  1}, // #2481
2858
  {12,  1}, // #2482
2859
  {14,  2}, // #2483
2860
  {20,  2}, // #2484
2861
  {21,  1}, // #2485
2862
  {22,  2}, // #2486
2863
  {23,  4}, // #2487
2864
  { 7,  1}, // #2488
2865
  {12,  1}, // #2489
2866
  {14,  3}, // #2490
2867
  {17,  1}, // #2491
2868
  {20,  3}, // #2492
2869
  {21,  2}, // #2493
2870
  {22,  3}, // #2494
2871
  {23,  6}, // #2495
2872
  {14,  3}, // #2496
2873
  {17,  1}, // #2497
2874
  {20,  3}, // #2498
2875
  {21,  2}, // #2499
2876
  {22,  3}, // #2500
2877
  {23,  5}, // #2501
2878
  { 4,  1}, // #2502
2879
  { 9,  1}, // #2503
2880
  {11,  1}, // #2504
2881
  {14,  1}, // #2505
2882
  {15,  1}, // #2506
2883
  {16,  2}, // #2507
2884
  {18,  1}, // #2508
2885
  {19,  1}, // #2509
2886
  {20,  1}, // #2510
2887
  {22,  4}, // #2511
2888
  {23,  4}, // #2512
2889
  { 4,  1}, // #2513
2890
  {11,  1}, // #2514
2891
  {14,  5}, // #2515
2892
  {15,  2}, // #2516
2893
  {16,  1}, // #2517
2894
  {17,  1}, // #2518
2895
  {19,  2}, // #2519
2896
  {20,  5}, // #2520
2897
  {21,  2}, // #2521
2898
  {22,  8}, // #2522
2899
  {23, 10}, // #2523
2900
  { 4,  2}, // #2524
2901
  {11,  2}, // #2525
2902
  {14,  3}, // #2526
2903
  {15,  2}, // #2527
2904
  {16,  2}, // #2528
2905
  {19,  2}, // #2529
2906
  {20,  3}, // #2530
2907
  {22,  7}, // #2531
2908
  {23,  7}, // #2532
2909
  { 4,  1}, // #2533
2910
  {11,  1}, // #2534
2911
  {14,  5}, // #2535
2912
  {15,  2}, // #2536
2913
  {16,  1}, // #2537
2914
  {19,  2}, // #2538
2915
  {20,  5}, // #2539
2916
  {22,  9}, // #2540
2917
  {23,  9}, // #2541
2918
  { 4,  2}, // #2542
2919
  {11,  2}, // #2543
2920
  {14,  4}, // #2544
2921
  {15,  3}, // #2545
2922
  {16,  2}, // #2546
2923
  {19,  3}, // #2547
2924
  {20,  4}, // #2548
2925
  {22, 10}, // #2549
2926
  {23, 10}, // #2550
2927
  { 4,  1}, // #2551
2928
  { 9,  8}, // #2552
2929
  {11,  1}, // #2553
2930
  {14,  8}, // #2554
2931
  {15,  1}, // #2555
2932
  {16,  9}, // #2556
2933
  {17,  1}, // #2557
2934
  {18,  8}, // #2558
2935
  {19,  1}, // #2559
2936
  {20,  8}, // #2560
2937
  {21,  1}, // #2561
2938
  {22, 30}, // #2562
2939
  {23, 31}, // #2563
2940
  { 7,  1}, // #2564
2941
  { 9, 10}, // #2565
2942
  {12,  1}, // #2566
2943
  {14, 10}, // #2567
2944
  {16, 10}, // #2568
2945
  {17,  1}, // #2569
2946
  {18, 10}, // #2570
2947
  {20, 10}, // #2571
2948
  {21,  2}, // #2572
2949
  {22, 36}, // #2573
2950
  {23, 39}, // #2574
2951
  { 7,  1}, // #2575
2952
  { 9, 11}, // #2576
2953
  {12,  1}, // #2577
2954
  {14, 11}, // #2578
2955
  {16, 11}, // #2579
2956
  {17,  1}, // #2580
2957
  {18, 11}, // #2581
2958
  {20, 11}, // #2582
2959
  {21,  2}, // #2583
2960
  {22, 37}, // #2584
2961
  {23, 40}, // #2585
2962
  { 4,  1}, // #2586
2963
  { 7,  1}, // #2587
2964
  { 8,  2}, // #2588
2965
  { 9,  3}, // #2589
2966
  {11,  1}, // #2590
2967
  {12,  1}, // #2591
2968
  {13,  2}, // #2592
2969
  {14,  3}, // #2593
2970
  {15,  4}, // #2594
2971
  {16,  4}, // #2595
2972
  {17,  1}, // #2596
2973
  {18,  5}, // #2597
2974
  {19,  4}, // #2598
2975
  {20,  5}, // #2599
2976
  {21,  2}, // #2600
2977
  {22, 15}, // #2601
2978
  {23, 18}, // #2602
2979
  { 3,  2}, // #2603
2980
  {11,  2}, // #2604
2981
  {12,  2}, // #2605
2982
  {13,  7}, // #2606
2983
  {14, 12}, // #2607
2984
  {17,  8}, // #2608
2985
  {19,  7}, // #2609
2986
  {20, 17}, // #2610
2987
  {21,  8}, // #2611
2988
  {22, 56}, // #2612
2989
  {23, 64}, // #2613
2990
  { 3,  7}, // #2614
2991
  { 4,  2}, // #2615
2992
  { 8,  8}, // #2616
2993
  { 9,  3}, // #2617
2994
  {11,  9}, // #2618
2995
  {12,  7}, // #2619
2996
  {13, 16}, // #2620
2997
  {14, 10}, // #2621
2998
  {15, 10}, // #2622
2999
  {16,  5}, // #2623
3000
  {18, 11}, // #2624
3001
  {19, 18}, // #2625
3002
  {20, 19}, // #2626
3003
  {22, 32}, // #2627
3004
  {23, 32}, // #2628
3005
  { 3,  4}, // #2629
3006
  { 4,  2}, // #2630
3007
  { 8,  4}, // #2631
3008
  { 9,  8}, // #2632
3009
  {11,  6}, // #2633
3010
  {12,  4}, // #2634
3011
  {13,  8}, // #2635
3012
  {14, 26}, // #2636
3013
  {15,  6}, // #2637
3014
  {16, 10}, // #2638
3015
  {18, 12}, // #2639
3016
  {19, 10}, // #2640
3017
  {20, 30}, // #2641
3018
  {22, 66}, // #2642
3019
  {23, 66}, // #2643
3020
  { 3,  9}, // #2644
3021
  { 4,  1}, // #2645
3022
  { 7, 11}, // #2646
3023
  { 8, 16}, // #2647
3024
  { 9,  1}, // #2648
3025
  {11, 10}, // #2649
3026
  {12, 20}, // #2650
3027
  {13, 25}, // #2651
3028
  {14, 31}, // #2652
3029
  {15, 17}, // #2653
3030
  {16,  2}, // #2654
3031
  {18, 17}, // #2655
3032
  {19, 26}, // #2656
3033
  {20, 47}, // #2657
3034
  {21, 11}, // #2658
3035
  {22, 78}, // #2659
3036
  {23, 100}, // #2660
3037
  { 3,  1}, // #2661
3038
  { 8,  1}, // #2662
3039
  {11,  1}, // #2663
3040
  {12,  1}, // #2664
3041
  {13,  2}, // #2665
3042
  {14,  1}, // #2666
3043
  {15,  1}, // #2667
3044
  {17,  2}, // #2668
3045
  {18,  1}, // #2669
3046
  {19,  3}, // #2670
3047
  {20,  2}, // #2671
3048
  {21,  2}, // #2672
3049
  {22,  3}, // #2673
3050
  {23,  5}, // #2674
3051
  { 3,  2}, // #2675
3052
  { 8,  4}, // #2676
3053
  {11,  2}, // #2677
3054
  {12,  2}, // #2678
3055
  {13,  6}, // #2679
3056
  {14,  2}, // #2680
3057
  {15,  4}, // #2681
3058
  {17,  1}, // #2682
3059
  {18,  4}, // #2683
3060
  {19,  6}, // #2684
3061
  {20,  6}, // #2685
3062
  {21,  1}, // #2686
3063
  {22,  7}, // #2687
3064
  {23,  8}, // #2688
3065
  { 8,  2}, // #2689
3066
  {11,  1}, // #2690
3067
  {13,  2}, // #2691
3068
  {15,  2}, // #2692
3069
  {18,  2}, // #2693
3070
  {19,  3}, // #2694
3071
  {20,  2}, // #2695
3072
  {22,  3}, // #2696
3073
  {23,  3}, // #2697
3074
  { 8,  2}, // #2698
3075
  {11,  1}, // #2699
3076
  {13,  2}, // #2700
3077
  {15,  2}, // #2701
3078
  {17,  1}, // #2702
3079
  {18,  2}, // #2703
3080
  {19,  3}, // #2704
3081
  {20,  2}, // #2705
3082
  {21,  1}, // #2706
3083
  {22,  3}, // #2707
3084
  {23,  4}, // #2708
3085
  { 7,  2}, // #2709
3086
  {12,  2}, // #2710
3087
  {15,  1}, // #2711
3088
  {19,  1}, // #2712
3089
  {21,  2}, // #2713
3090
  {22,  1}, // #2714
3091
  {23,  5}, // #2715
3092
  { 7,  1}, // #2716
3093
  {12,  1}, // #2717
3094
  {19,  1}, // #2718
3095
  {21,  1}, // #2719
3096
  {22,  1}, // #2720
3097
  {23,  3}, // #2721
3098
  { 7,  1}, // #2722
3099
  { 8,  2}, // #2723
3100
  {12,  1}, // #2724
3101
  {13,  2}, // #2725
3102
  {15,  2}, // #2726
3103
  {18,  2}, // #2727
3104
  {19,  2}, // #2728
3105
  {20,  2}, // #2729
3106
  {21,  1}, // #2730
3107
  {22,  2}, // #2731
3108
  {23,  4}, // #2732
3109
  { 8,  1}, // #2733
3110
  {13,  1}, // #2734
3111
  {15,  1}, // #2735
3112
  {17,  1}, // #2736
3113
  {18,  1}, // #2737
3114
  {19,  1}, // #2738
3115
  {20,  1}, // #2739
3116
  {21,  1}, // #2740
3117
  {22,  2}, // #2741
3118
  {23,  3}, // #2742
3119
  { 3,  1}, // #2743
3120
  { 7,  2}, // #2744
3121
  {11,  1}, // #2745
3122
  {12,  3}, // #2746
3123
  {13,  1}, // #2747
3124
  {14,  1}, // #2748
3125
  {19,  1}, // #2749
3126
  {20,  1}, // #2750
3127
  {21,  2}, // #2751
3128
  {22,  3}, // #2752
3129
  {23,  7}, // #2753
3130
  { 3,  1}, // #2754
3131
  { 7,  4}, // #2755
3132
  {11,  1}, // #2756
3133
  {12,  5}, // #2757
3134
  {13,  1}, // #2758
3135
  {14,  1}, // #2759
3136
  {19,  1}, // #2760
3137
  {20,  1}, // #2761
3138
  {21,  4}, // #2762
3139
  {22,  3}, // #2763
3140
  {23, 11}, // #2764
3141
  { 3,  1}, // #2765
3142
  { 7,  8}, // #2766
3143
  {11,  1}, // #2767
3144
  {12,  9}, // #2768
3145
  {13,  1}, // #2769
3146
  {14,  1}, // #2770
3147
  {19,  1}, // #2771
3148
  {20,  1}, // #2772
3149
  {21,  8}, // #2773
3150
  {22,  3}, // #2774
3151
  {23, 19}, // #2775
3152
  { 3,  1}, // #2776
3153
  { 7, 16}, // #2777
3154
  { 8,  1}, // #2778
3155
  {11,  1}, // #2779
3156
  {12, 17}, // #2780
3157
  {13,  2}, // #2781
3158
  {14,  1}, // #2782
3159
  {15,  1}, // #2783
3160
  {18,  1}, // #2784
3161
  {19,  2}, // #2785
3162
  {20,  2}, // #2786
3163
  {21, 16}, // #2787
3164
  {22,  4}, // #2788
3165
  {23, 36}, // #2789
3166
  { 3,  1}, // #2790
3167
  { 7,  2}, // #2791
3168
  { 8,  1}, // #2792
3169
  {11,  1}, // #2793
3170
  {12,  3}, // #2794
3171
  {13,  2}, // #2795
3172
  {14,  1}, // #2796
3173
  {15,  1}, // #2797
3174
  {18,  1}, // #2798
3175
  {19,  2}, // #2799
3176
  {20,  2}, // #2800
3177
  {21,  2}, // #2801
3178
  {22,  4}, // #2802
3179
  {23,  8}, // #2803
3180
  { 3,  1}, // #2804
3181
  { 7,  4}, // #2805
3182
  { 8,  1}, // #2806
3183
  {11,  1}, // #2807
3184
  {12,  5}, // #2808
3185
  {13,  2}, // #2809
3186
  {14,  1}, // #2810
3187
  {15,  1}, // #2811
3188
  {18,  1}, // #2812
3189
  {19,  2}, // #2813
3190
  {20,  2}, // #2814
3191
  {21,  4}, // #2815
3192
  {22,  4}, // #2816
3193
  {23, 12}, // #2817
3194
  { 3,  1}, // #2818
3195
  { 7,  8}, // #2819
3196
  { 8,  1}, // #2820
3197
  {11,  1}, // #2821
3198
  {12,  9}, // #2822
3199
  {13,  2}, // #2823
3200
  {14,  1}, // #2824
3201
  {15,  1}, // #2825
3202
  {18,  1}, // #2826
3203
  {19,  2}, // #2827
3204
  {20,  2}, // #2828
3205
  {21,  8}, // #2829
3206
  {22,  4}, // #2830
3207
  {23, 20}, // #2831
3208
  {11,  3}, // #2832
3209
  {19,  3}, // #2833
3210
  {22,  3}, // #2834
3211
  {23,  3}, // #2835
3212
  {13,  3}, // #2836
3213
  {19,  3}, // #2837
3214
  {20,  3}, // #2838
3215
  {22,  3}, // #2839
3216
  {23,  3}, // #2840
3217
  { 3,  1}, // #2841
3218
  {11,  1}, // #2842
3219
  {12,  1}, // #2843
3220
  {13,  1}, // #2844
3221
  {14,  1}, // #2845
3222
  {17,  1}, // #2846
3223
  {19,  2}, // #2847
3224
  {20,  1}, // #2848
3225
  {21,  1}, // #2849
3226
  {22,  2}, // #2850
3227
  {23,  3}, // #2851
3228
  { 4,  1}, // #2852
3229
  { 8,  2}, // #2853
3230
  {11,  3}, // #2854
3231
  {13,  2}, // #2855
3232
  {15,  3}, // #2856
3233
  {16,  1}, // #2857
3234
  {17,  1}, // #2858
3235
  {18,  2}, // #2859
3236
  {19,  7}, // #2860
3237
  {20,  2}, // #2861
3238
  {21,  1}, // #2862
3239
  {22,  7}, // #2863
3240
  {23,  8}, // #2864
3241
  {17,  1}, // #2865
3242
  {19,  3}, // #2866
3243
  {21,  1}, // #2867
3244
  {22,  3}, // #2868
3245
  {23,  4}, // #2869
3246
  { 3,  1}, // #2870
3247
  {11,  1}, // #2871
3248
  {12,  1}, // #2872
3249
  {13,  1}, // #2873
3250
  {14,  1}, // #2874
3251
  {17,  2}, // #2875
3252
  {19,  2}, // #2876
3253
  {20,  1}, // #2877
3254
  {21,  2}, // #2878
3255
  {22,  3}, // #2879
3256
  {23,  5}, // #2880
3257
  { 8,  5}, // #2881
3258
  {11,  5}, // #2882
3259
  {13,  5}, // #2883
3260
  {15,  5}, // #2884
3261
  {18,  5}, // #2885
3262
  {19, 14}, // #2886
3263
  {20,  5}, // #2887
3264
  {22, 14}, // #2888
3265
  {23, 14}, // #2889
3266
  { 8,  5}, // #2890
3267
  {11,  5}, // #2891
3268
  {13,  5}, // #2892
3269
  {15,  5}, // #2893
3270
  {17,  1}, // #2894
3271
  {18,  5}, // #2895
3272
  {19, 14}, // #2896
3273
  {20,  5}, // #2897
3274
  {21,  1}, // #2898
3275
  {22, 14}, // #2899
3276
  {23, 15}, // #2900
3277
  { 8,  9}, // #2901
3278
  {11,  7}, // #2902
3279
  {13,  9}, // #2903
3280
  {15,  9}, // #2904
3281
  {18,  9}, // #2905
3282
  {19, 21}, // #2906
3283
  {20,  9}, // #2907
3284
  {22, 21}, // #2908
3285
  {23, 21}, // #2909
3286
  { 8,  9}, // #2910
3287
  {11,  7}, // #2911
3288
  {13,  9}, // #2912
3289
  {15,  9}, // #2913
3290
  {17,  1}, // #2914
3291
  {18,  9}, // #2915
3292
  {19, 21}, // #2916
3293
  {20,  9}, // #2917
3294
  {21,  1}, // #2918
3295
  {22, 21}, // #2919
3296
  {23, 22}, // #2920
3297
  { 8, 17}, // #2921
3298
  {11, 11}, // #2922
3299
  {13, 17}, // #2923
3300
  {15, 17}, // #2924
3301
  {18, 17}, // #2925
3302
  {19, 35}, // #2926
3303
  {20, 17}, // #2927
3304
  {22, 35}, // #2928
3305
  {23, 35}, // #2929
3306
  { 8, 17}, // #2930
3307
  {11, 11}, // #2931
3308
  {13, 17}, // #2932
3309
  {15, 17}, // #2933
3310
  {17,  1}, // #2934
3311
  {18, 17}, // #2935
3312
  {19, 35}, // #2936
3313
  {20, 17}, // #2937
3314
  {21,  1}, // #2938
3315
  {22, 35}, // #2939
3316
  {23, 36}, // #2940
3317
  { 4,  1}, // #2941
3318
  { 7,  1}, // #2942
3319
  { 9,  1}, // #2943
3320
  {11,  1}, // #2944
3321
  {12,  1}, // #2945
3322
  { 5,  1}, // #2946
3323
  {10,  2}, // #2947
3324
  {11,  1}, // #2948
3325
  {12,  4}, // #2949
3326
  { 6,  1}, // #2950
3327
  { 8,  1}, // #2951
3328
  { 9,  1}, // #2952
3329
  {10,  1}, // #2953
3330
  {11,  1}, // #2954
3331
  {12,  2}, // #2955
3332
  { 6,  1}, // #2956
3333
  { 8,  1}, // #2957
3334
  { 9,  1}, // #2958
3335
  {11,  1}, // #2959
3336
  {12,  1}, // #2960
3337
  { 5,  1}, // #2961
3338
  {10,  1}, // #2962
3339
  {12,  2}, // #2963
3340
  {10,  1}, // #2964
3341
  {12,  1}, // #2965
3342
  { 5,  1}, // #2966
3343
  {10,  2}, // #2967
3344
  {11,  3}, // #2968
3345
  {12,  6}, // #2969
3346
  { 8,  1}, // #2970
3347
  {10,  1}, // #2971
3348
  {11,  2}, // #2972
3349
  {12,  3}, // #2973
3350
  { 4,  1}, // #2974
3351
  { 7,  1}, // #2975
3352
  { 9,  1}, // #2976
3353
  {10,  1}, // #2977
3354
  {11,  1}, // #2978
3355
  {12,  2}, // #2979
3356
  { 6,  1}, // #2980
3357
  { 8,  1}, // #2981
3358
  { 9,  1}, // #2982
3359
  {10,  1}, // #2983
3360
  {11,  2}, // #2984
3361
  {12,  3}, // #2985
3362
  { 6,  1}, // #2986
3363
  { 8,  1}, // #2987
3364
  { 9,  1}, // #2988
3365
  {11,  2}, // #2989
3366
  {12,  2}, // #2990
3367
  { 6,  2}, // #2991
3368
  { 8,  2}, // #2992
3369
  { 9,  2}, // #2993
3370
  {10,  1}, // #2994
3371
  {11,  2}, // #2995
3372
  {12,  3}, // #2996
3373
  { 6,  2}, // #2997
3374
  { 8,  2}, // #2998
3375
  { 9,  2}, // #2999
3376
  {11,  2}, // #3000
3377
  {12,  2}, // #3001
3378
  {10,  1}, // #3002
3379
  {11, 10}, // #3003
3380
  {12, 11}, // #3004
3381
  {11, 11}, // #3005
3382
  {12, 11}, // #3006
3383
  { 4,  1}, // #3007
3384
  { 7,  1}, // #3008
3385
  { 8,  1}, // #3009
3386
  { 9,  1}, // #3010
3387
  {10,  1}, // #3011
3388
  {11,  2}, // #3012
3389
  {12,  3}, // #3013
3390
  { 4,  1}, // #3014
3391
  { 7,  1}, // #3015
3392
  { 8,  1}, // #3016
3393
  { 9,  1}, // #3017
3394
  {11,  2}, // #3018
3395
  {12,  2}, // #3019
3396
  { 8,  1}, // #3020
3397
  {10,  1}, // #3021
3398
  {11,  1}, // #3022
3399
  {12,  2}, // #3023
3400
  { 8,  2}, // #3024
3401
  {10,  1}, // #3025
3402
  {11,  2}, // #3026
3403
  {12,  3}, // #3027
3404
  { 8,  2}, // #3028
3405
  {11,  2}, // #3029
3406
  {12,  2}, // #3030
3407
  { 8,  2}, // #3031
3408
  {10,  1}, // #3032
3409
  {11,  3}, // #3033
3410
  {12,  4}, // #3034
3411
  { 8,  2}, // #3035
3412
  {11,  3}, // #3036
3413
  {12,  3}, // #3037
3414
  { 6,  2}, // #3038
3415
  { 8,  3}, // #3039
3416
  { 9,  2}, // #3040
3417
  {11,  3}, // #3041
3418
  {12,  3}, // #3042
3419
  { 5,  1}, // #3043
3420
  { 6,  2}, // #3044
3421
  { 8,  2}, // #3045
3422
  { 9,  2}, // #3046
3423
  {10,  2}, // #3047
3424
  {11,  3}, // #3048
3425
  {12,  6}, // #3049
3426
  { 8,  1}, // #3050
3427
  {11,  4}, // #3051
3428
  {12,  4}, // #3052
3429
  { 4,  1}, // #3053
3430
  { 6,  1}, // #3054
3431
  { 7,  1}, // #3055
3432
  { 8,  1}, // #3056
3433
  { 9,  2}, // #3057
3434
  {10,  1}, // #3058
3435
  {11,  2}, // #3059
3436
  {12,  3}, // #3060
3437
  { 4,  1}, // #3061
3438
  { 6,  1}, // #3062
3439
  { 7,  1}, // #3063
3440
  { 8,  1}, // #3064
3441
  { 9,  2}, // #3065
3442
  {11,  2}, // #3066
3443
  {12,  2}, // #3067
3444
  { 3,  1}, // #3068
3445
  { 7,  1}, // #3069
3446
  { 8,  1}, // #3070
3447
  {10,  1}, // #3071
3448
  {11,  1}, // #3072
3449
  {12,  2}, // #3073
3450
  { 3,  1}, // #3074
3451
  { 6,  1}, // #3075
3452
  { 7,  1}, // #3076
3453
  { 8,  2}, // #3077
3454
  { 9,  1}, // #3078
3455
  {11,  2}, // #3079
3456
  {12,  2}, // #3080
3457
  { 3,  1}, // #3081
3458
  { 4,  1}, // #3082
3459
  { 7,  2}, // #3083
3460
  { 8,  1}, // #3084
3461
  { 9,  1}, // #3085
3462
  {10,  1}, // #3086
3463
  {11,  2}, // #3087
3464
  {12,  3}, // #3088
3465
  { 3,  1}, // #3089
3466
  { 4,  1}, // #3090
3467
  { 7,  2}, // #3091
3468
  { 8,  1}, // #3092
3469
  { 9,  1}, // #3093
3470
  {11,  2}, // #3094
3471
  {12,  2}, // #3095
3472
  { 4,  1}, // #3096
3473
  { 6,  2}, // #3097
3474
  { 7,  1}, // #3098
3475
  { 8,  2}, // #3099
3476
  { 9,  3}, // #3100
3477
  {11,  3}, // #3101
3478
  {12,  3}, // #3102
3479
  { 3,  1}, // #3103
3480
  { 7,  1}, // #3104
3481
  { 8,  1}, // #3105
3482
  {11,  1}, // #3106
3483
  {12,  1}, // #3107
3484
  { 1, 10}, // #3108
3485
  { 3,  1}, // #3109
3486
  { 7,  1}, // #3110
3487
  { 8,  1}, // #3111
3488
  {10,  1}, // #3112
3489
  {11,  1}, // #3113
3490
  {12,  2}, // #3114
3491
  { 1, 10}, // #3115
3492
  { 3,  1}, // #3116
3493
  { 7,  1}, // #3117
3494
  { 8,  1}, // #3118
3495
  {11,  1}, // #3119
3496
  {12,  1}, // #3120
3497
  { 2, 22}, // #3121
3498
  { 3,  1}, // #3122
3499
  { 7,  1}, // #3123
3500
  { 8,  1}, // #3124
3501
  {10,  1}, // #3125
3502
  {11,  1}, // #3126
3503
  {12,  2}, // #3127
3504
  { 2, 22}, // #3128
3505
  { 3,  1}, // #3129
3506
  { 7,  1}, // #3130
3507
  { 8,  1}, // #3131
3508
  {11,  1}, // #3132
3509
  {12,  1}, // #3133
3510
  { 2, 14}, // #3134
3511
  { 3,  1}, // #3135
3512
  { 7,  1}, // #3136
3513
  { 8,  1}, // #3137
3514
  {10,  1}, // #3138
3515
  {11,  1}, // #3139
3516
  {12,  2}, // #3140
3517
  { 2, 14}, // #3141
3518
  { 3,  1}, // #3142
3519
  { 7,  1}, // #3143
3520
  { 8,  1}, // #3144
3521
  {11,  1}, // #3145
3522
  {12,  1}, // #3146
3523
  { 3,  1}, // #3147
3524
  { 4,  1}, // #3148
3525
  { 6,  1}, // #3149
3526
  { 7,  2}, // #3150
3527
  { 8,  2}, // #3151
3528
  { 9,  2}, // #3152
3529
  {10,  1}, // #3153
3530
  {11,  3}, // #3154
3531
  {12,  4}, // #3155
3532
  { 3,  1}, // #3156
3533
  { 4,  1}, // #3157
3534
  { 6,  1}, // #3158
3535
  { 7,  2}, // #3159
3536
  { 8,  2}, // #3160
3537
  { 9,  2}, // #3161
3538
  {11,  3}, // #3162
3539
  {12,  3}, // #3163
3540
  { 3,  1}, // #3164
3541
  { 4,  2}, // #3165
3542
  { 6,  1}, // #3166
3543
  { 7,  3}, // #3167
3544
  { 8,  2}, // #3168
3545
  { 9,  3}, // #3169
3546
  {10,  1}, // #3170
3547
  {11,  4}, // #3171
3548
  {12,  5}, // #3172
3549
  { 3,  1}, // #3173
3550
  { 4,  2}, // #3174
3551
  { 6,  1}, // #3175
3552
  { 7,  3}, // #3176
3553
  { 8,  2}, // #3177
3554
  { 9,  3}, // #3178
3555
  {11,  4}, // #3179
3556
  {12,  4}, // #3180
3557
  { 5,  1}, // #3181
3558
  { 9,  1}, // #3182
3559
  {10,  1}, // #3183
3560
  {11,  1}, // #3184
3561
  {12,  3}, // #3185
3562
  { 3,  1}, // #3186
3563
  { 7,  1}, // #3187
3564
  { 8,  1}, // #3188
3565
  { 9,  1}, // #3189
3566
  {11,  2}, // #3190
3567
  {12,  2}, // #3191
3568
  {11, 31}, // #3192
3569
  {12, 31}, // #3193
3570
  { 4,  1}, // #3194
3571
  { 6,  2}, // #3195
3572
  { 7,  1}, // #3196
3573
  { 8,  2}, // #3197
3574
  { 9,  3}, // #3198
3575
  {10,  1}, // #3199
3576
  {11,  3}, // #3200
3577
  {12,  4}, // #3201
3578
  { 3,  1}, // #3202
3579
  { 5,  1}, // #3203
3580
  { 6,  1}, // #3204
3581
  { 7,  1}, // #3205
3582
  { 8,  2}, // #3206
3583
  { 9,  1}, // #3207
3584
  {10,  1}, // #3208
3585
  {11,  2}, // #3209
3586
  {12,  4}, // #3210
3587
  { 6,  1}, // #3211
3588
  { 8,  1}, // #3212
3589
  { 9,  2}, // #3213
3590
  {11,  2}, // #3214
3591
  {12,  2}, // #3215
3592
  { 3,  1}, // #3216
3593
  { 7,  1}, // #3217
3594
  { 8,  1}, // #3218
3595
  { 9,  2}, // #3219
3596
  {10,  1}, // #3220
3597
  {11,  3}, // #3221
3598
  {12,  4}, // #3222
3599
  { 3,  1}, // #3223
3600
  { 7,  1}, // #3224
3601
  { 8,  1}, // #3225
3602
  { 9,  2}, // #3226
3603
  {11,  3}, // #3227
3604
  {12,  3}, // #3228
3605
  {10,  1}, // #3229
3606
  {11, 17}, // #3230
3607
  {12, 18}, // #3231
3608
  {11, 18}, // #3232
3609
  {12, 18}, // #3233
3610
  {10,  1}, // #3234
3611
  {11,  7}, // #3235
3612
  {12,  8}, // #3236
3613
  {11,  8}, // #3237
3614
  {12,  8}, // #3238
3615
  { 3,  3}, // #3239
3616
  { 7,  3}, // #3240
3617
  { 8,  3}, // #3241
3618
  {10,  1}, // #3242
3619
  {11,  3}, // #3243
3620
  {12,  4}, // #3244
3621
  { 3,  3}, // #3245
3622
  { 7,  3}, // #3246
3623
  { 8,  3}, // #3247
3624
  {11,  3}, // #3248
3625
  {12,  3}, // #3249
3626
  { 3,  1}, // #3250
3627
  { 7,  1}, // #3251
3628
  { 8,  1}, // #3252
3629
  { 9,  1}, // #3253
3630
  {10,  1}, // #3254
3631
  {11,  2}, // #3255
3632
  {12,  3}, // #3256
3633
  { 3,  1}, // #3257
3634
  { 6,  1}, // #3258
3635
  { 7,  1}, // #3259
3636
  { 8,  2}, // #3260
3637
  { 9,  1}, // #3261
3638
  {10,  1}, // #3262
3639
  {11,  2}, // #3263
3640
  {12,  3}, // #3264
3641
  { 5,  1}, // #3265
3642
  { 8,  1}, // #3266
3643
  {10,  2}, // #3267
3644
  {11,  1}, // #3268
3645
  {12,  4}, // #3269
3646
  { 5,  1}, // #3270
3647
  { 8,  1}, // #3271
3648
  {10,  1}, // #3272
3649
  {11,  1}, // #3273
3650
  {12,  3}, // #3274
3651
  { 5,  1}, // #3275
3652
  { 8,  3}, // #3276
3653
  {10,  2}, // #3277
3654
  {11,  4}, // #3278
3655
  {12,  7}, // #3279
3656
  { 5,  1}, // #3280
3657
  { 8,  1}, // #3281
3658
  {10,  2}, // #3282
3659
  {11,  2}, // #3283
3660
  {12,  5}, // #3284
3661
  { 2, 21}, // #3285
3662
  { 3,  1}, // #3286
3663
  { 7,  1}, // #3287
3664
  { 8,  1}, // #3288
3665
  {10,  1}, // #3289
3666
  {11,  1}, // #3290
3667
  {12,  2}, // #3291
3668
  { 2, 21}, // #3292
3669
  { 3,  1}, // #3293
3670
  { 7,  1}, // #3294
3671
  { 8,  1}, // #3295
3672
  {11,  1}, // #3296
3673
  {12,  1}, // #3297
3674
  { 2, 24}, // #3298
3675
  { 3,  1}, // #3299
3676
  { 7,  1}, // #3300
3677
  { 8,  1}, // #3301
3678
  {11,  1}, // #3302
3679
  {12,  1}, // #3303
3680
  { 7,  1}, // #3304
3681
  {10,  1}, // #3305
3682
  {11,  1}, // #3306
3683
  {12,  2}, // #3307
3684
  { 4,  1}, // #3308
3685
  { 5,  1}, // #3309
3686
  { 7,  1}, // #3310
3687
  { 9,  1}, // #3311
3688
  {10,  1}, // #3312
3689
  {11,  1}, // #3313
3690
  {12,  3}, // #3314
3691
  { 2, 44}, // #3315
3692
  { 3,  2}, // #3316
3693
  { 7,  2}, // #3317
3694
  { 8,  3}, // #3318
3695
  {10,  1}, // #3319
3696
  {11,  3}, // #3320
3697
  {12,  4}, // #3321
3698
  { 2, 44}, // #3322
3699
  { 3,  2}, // #3323
3700
  { 7,  2}, // #3324
3701
  { 8,  3}, // #3325
3702
  {11,  3}, // #3326
3703
  {12,  3}, // #3327
3704
  { 2, 28}, // #3328
3705
  { 3,  2}, // #3329
3706
  { 7,  2}, // #3330
3707
  { 8,  3}, // #3331
3708
  {10,  1}, // #3332
3709
  {11,  3}, // #3333
3710
  {12,  4}, // #3334
3711
  { 2, 28}, // #3335
3712
  { 3,  2}, // #3336
3713
  { 7,  2}, // #3337
3714
  { 8,  3}, // #3338
3715
  {11,  3}, // #3339
3716
  {12,  3}, // #3340
3717
  { 5,  1}, // #3341
3718
  { 7,  1}, // #3342
3719
  {10,  1}, // #3343
3720
  {11,  1}, // #3344
3721
  {12,  3}, // #3345
3722
  { 4,  1}, // #3346
3723
  { 7,  1}, // #3347
3724
  { 8,  1}, // #3348
3725
  { 9,  1}, // #3349
3726
  {10,  1}, // #3350
3727
  {11,  4}, // #3351
3728
  {12,  5}, // #3352
3729
  { 4,  1}, // #3353
3730
  { 7,  1}, // #3354
3731
  { 8,  1}, // #3355
3732
  { 9,  1}, // #3356
3733
  {11,  3}, // #3357
3734
  {12,  3}, // #3358
3735
  { 5,  1}, // #3359
3736
  {10,  2}, // #3360
3737
  {12,  3}, // #3361
3738
  { 5,  1}, // #3362
3739
  {10,  2}, // #3363
3740
  {11,  2}, // #3364
3741
  {12,  5}, // #3365
3742
  { 6,  1}, // #3366
3743
  { 7,  1}, // #3367
3744
  { 8,  1}, // #3368
3745
  { 9,  1}, // #3369
3746
  {10,  1}, // #3370
3747
  {11,  2}, // #3371
3748
  {12,  3}, // #3372
3749
  { 5,  1}, // #3373
3750
  { 6,  2}, // #3374
3751
  { 8,  2}, // #3375
3752
  { 9,  2}, // #3376
3753
  {10,  2}, // #3377
3754
  {11,  2}, // #3378
3755
  {12,  5}, // #3379
3756
  { 4,  1}, // #3380
3757
  { 5,  1}, // #3381
3758
  { 7,  1}, // #3382
3759
  { 9,  1}, // #3383
3760
  {10,  2}, // #3384
3761
  {11,  1}, // #3385
3762
  {12,  4}, // #3386
3763
  { 5,  1}, // #3387
3764
  { 6,  1}, // #3388
3765
  { 8,  1}, // #3389
3766
  { 9,  1}, // #3390
3767
  {10,  2}, // #3391
3768
  {11,  1}, // #3392
3769
  {12,  4}, // #3393
3770
  { 5,  1}, // #3394
3771
  { 6,  1}, // #3395
3772
  { 8,  2}, // #3396
3773
  { 9,  1}, // #3397
3774
  {10,  2}, // #3398
3775
  {11,  3}, // #3399
3776
  {12,  6}, // #3400
3777
  { 6,  1}, // #3401
3778
  { 8,  1}, // #3402
3779
  { 9,  1}, // #3403
3780
  {11,  4}, // #3404
3781
  {12,  4}, // #3405
3782
  { 5,  1}, // #3406
3783
  { 6,  2}, // #3407
3784
  { 7,  1}, // #3408
3785
  { 8,  2}, // #3409
3786
  { 9,  2}, // #3410
3787
  {10,  1}, // #3411
3788
  {11,  3}, // #3412
3789
  {12,  5}, // #3413
3790
  { 3,  1}, // #3414
3791
  { 7,  1}, // #3415
3792
  { 8,  1}, // #3416
3793
  {11,  2}, // #3417
3794
  {12,  2}, // #3418
3795
  { 4,  1}, // #3419
3796
  { 7,  1}, // #3420
3797
  { 9,  1}, // #3421
3798
  {11,  2}, // #3422
3799
  {12,  2}, // #3423
3800
  { 4,  1}, // #3424
3801
  { 7,  1}, // #3425
3802
  { 8,  1}, // #3426
3803
  { 9,  1}, // #3427
3804
  {11,  4}, // #3428
3805
  {12,  4}, // #3429
3806
  { 5,  1}, // #3430
3807
  { 6,  1}, // #3431
3808
  { 8,  1}, // #3432
3809
  { 9,  1}, // #3433
3810
  {10,  1}, // #3434
3811
  {11,  1}, // #3435
3812
  {12,  3}, // #3436
3813
  { 5,  1}, // #3437
3814
  {10,  1}, // #3438
3815
  {11,  1}, // #3439
3816
  {12,  3}, // #3440
3817
  { 5,  1}, // #3441
3818
  { 8,  2}, // #3442
3819
  {10,  1}, // #3443
3820
  {11,  2}, // #3444
3821
  {12,  4}, // #3445
3822
  { 3,  1}, // #3446
3823
  { 5,  1}, // #3447
3824
  { 7,  1}, // #3448
3825
  { 8,  1}, // #3449
3826
  { 9,  1}, // #3450
3827
  {10,  1}, // #3451
3828
  {11,  2}, // #3452
3829
  {12,  4}, // #3453
3830
  { 5,  1}, // #3454
3831
  { 6,  1}, // #3455
3832
  { 7,  1}, // #3456
3833
  { 8,  1}, // #3457
3834
  { 9,  1}, // #3458
3835
  {10,  1}, // #3459
3836
  {11,  2}, // #3460
3837
  {12,  4}, // #3461
3838
  { 3,  1}, // #3462
3839
  { 5,  1}, // #3463
3840
  { 7,  1}, // #3464
3841
  { 8,  1}, // #3465
3842
  {10,  2}, // #3466
3843
  {11,  1}, // #3467
3844
  {12,  4}, // #3468
3845
  { 4,  1}, // #3469
3846
  { 6,  2}, // #3470
3847
  { 7,  1}, // #3471
3848
  { 8,  2}, // #3472
3849
  { 9,  3}, // #3473
3850
  {11,  4}, // #3474
3851
  {12,  4}, // #3475
3852
  {10,  2}, // #3476
3853
  {11,  3}, // #3477
3854
  {12,  5}, // #3478
3855
  { 5,  1}, // #3479
3856
  { 8,  2}, // #3480
3857
  {10,  2}, // #3481
3858
  {11,  2}, // #3482
3859
  {12,  5}, // #3483
3860
  { 5,  1}, // #3484
3861
  { 6,  1}, // #3485
3862
  { 7,  1}, // #3486
3863
  { 8,  1}, // #3487
3864
  { 9,  1}, // #3488
3865
  {10,  2}, // #3489
3866
  {11,  2}, // #3490
3867
  {12,  5}, // #3491
3868
  { 4,  1}, // #3492
3869
  { 7,  1}, // #3493
3870
  { 8,  1}, // #3494
3871
  { 9,  1}, // #3495
3872
  {10,  1}, // #3496
3873
  {11,  3}, // #3497
3874
  {12,  4}, // #3498
3875
  { 4,  1}, // #3499
3876
  { 7,  1}, // #3500
3877
  { 9,  1}, // #3501
3878
  {10,  1}, // #3502
3879
  {11,  2}, // #3503
3880
  {12,  3}, // #3504
3881
  { 5,  1}, // #3505
3882
  { 8,  3}, // #3506
3883
  {10,  2}, // #3507
3884
  {11,  3}, // #3508
3885
  {12,  6}, // #3509
3886
  { 5,  1}, // #3510
3887
  { 8,  2}, // #3511
3888
  {10,  2}, // #3512
3889
  {11,  3}, // #3513
3890
  {12,  6}, // #3514
3891
  { 4,  2}, // #3515
3892
  { 7,  2}, // #3516
3893
  { 9,  2}, // #3517
3894
  {10,  1}, // #3518
3895
  {11,  2}, // #3519
3896
  {12,  3}, // #3520
3897
  {14,  1}, // #3521
3898
  {17,  1}, // #3522
3899
  {20,  1}, // #3523
3900
  {21,  1}, // #3524
3901
  {22,  3}, // #3525
3902
  {23,  4}, // #3526
3903
  { 2, 17}, // #3527
3904
  { 3,  1}, // #3528
3905
  {11,  1}, // #3529
3906
  {12,  1}, // #3530
3907
  {13,  1}, // #3531
3908
  {14,  1}, // #3532
3909
  {19,  1}, // #3533
3910
  {20,  1}, // #3534
3911
  {22,  1}, // #3535
3912
  {23,  1}, // #3536
3913
  { 4,  1}, // #3537
3914
  { 7,  1}, // #3538
3915
  { 8,  1}, // #3539
3916
  {11,  1}, // #3540
3917
  {12,  1}, // #3541
3918
  {13,  1}, // #3542
3919
  {15,  2}, // #3543
3920
  {16,  1}, // #3544
3921
  {18,  1}, // #3545
3922
  {19,  2}, // #3546
3923
  {20,  1}, // #3547
3924
  {21,  1}, // #3548
3925
  {22,  2}, // #3549
3926
  {23,  4}, // #3550
3927
  { 2, 28}, // #3551
3928
  { 3,  2}, // #3552
3929
  {11,  2}, // #3553
3930
  {12,  2}, // #3554
3931
  {13,  2}, // #3555
3932
  {14,  2}, // #3556
3933
  {15,  1}, // #3557
3934
  {17,  1}, // #3558
3935
  {19,  3}, // #3559
3936
  {20,  2}, // #3560
3937
  {21,  1}, // #3561
3938
  {22,  3}, // #3562
3939
  {23,  4}, // #3563
3940
  { 2, 28}, // #3564
3941
  { 3,  2}, // #3565
3942
  {11,  2}, // #3566
3943
  {12,  2}, // #3567
3944
  {13,  2}, // #3568
3945
  {14,  2}, // #3569
3946
  {15,  1}, // #3570
3947
  {19,  3}, // #3571
3948
  {20,  2}, // #3572
3949
  {22,  3}, // #3573
3950
  {23,  3}, // #3574
3951
  { 2, 14}, // #3575
3952
  { 3,  2}, // #3576
3953
  {11,  2}, // #3577
3954
  {12,  2}, // #3578
3955
  {13,  2}, // #3579
3956
  {14,  2}, // #3580
3957
  {15,  1}, // #3581
3958
  {17,  1}, // #3582
3959
  {19,  3}, // #3583
3960
  {20,  2}, // #3584
3961
  {21,  1}, // #3585
3962
  {22,  3}, // #3586
3963
  {23,  4}, // #3587
3964
  { 2, 14}, // #3588
3965
  { 3,  2}, // #3589
3966
  {11,  2}, // #3590
3967
  {12,  2}, // #3591
3968
  {13,  2}, // #3592
3969
  {14,  2}, // #3593
3970
  {15,  1}, // #3594
3971
  {19,  3}, // #3595
3972
  {20,  2}, // #3596
3973
  {22,  3}, // #3597
3974
  {23,  3}, // #3598
3975
  { 4,  2}, // #3599
3976
  {11,  2}, // #3600
3977
  {15,  2}, // #3601
3978
  {16,  2}, // #3602
3979
  {19,  2}, // #3603
3980
  {22,  2}, // #3604
3981
  {23,  2}, // #3605
3982
  { 3,  2}, // #3606
3983
  { 4,  1}, // #3607
3984
  { 8,  2}, // #3608
3985
  { 9,  4}, // #3609
3986
  {11,  5}, // #3610
3987
  {12,  2}, // #3611
3988
  {13,  4}, // #3612
3989
  {14,  6}, // #3613
3990
  {15,  3}, // #3614
3991
  {16,  5}, // #3615
3992
  {18,  6}, // #3616
3993
  {19,  7}, // #3617
3994
  {20,  8}, // #3618
3995
  {22, 15}, // #3619
3996
  {23, 15}, // #3620
3997
  { 7,  1}, // #3621
3998
  {12,  1}, // #3622
3999
  {17,  2}, // #3623
4000
  {21,  2}, // #3624
4001
  {22,  2}, // #3625
4002
  {23,  5}, // #3626
4003
  {17,  1}, // #3627
4004
  {21,  1}, // #3628
4005
  {22, 14}, // #3629
4006
  {23, 15}, // #3630
4007
  { 4,  1}, // #3631
4008
  { 9,  1}, // #3632
4009
  {11,  1}, // #3633
4010
  {14,  1}, // #3634
4011
  {15,  1}, // #3635
4012
  {16,  2}, // #3636
4013
  {18,  1}, // #3637
4014
  {19,  1}, // #3638
4015
  {20,  1}, // #3639
4016
  {22,  2}, // #3640
4017
  {23,  2}, // #3641
4018
  {17,  2}, // #3642
4019
  {21,  2}, // #3643
4020
  {22,  3}, // #3644
4021
  {23,  5}, // #3645
4022
  { 4,  1}, // #3646
4023
  { 9,  1}, // #3647
4024
  {11,  1}, // #3648
4025
  {14,  1}, // #3649
4026
  {15,  1}, // #3650
4027
  {16,  2}, // #3651
4028
  {17,  1}, // #3652
4029
  {18,  1}, // #3653
4030
  {19,  1}, // #3654
4031
  {20,  1}, // #3655
4032
  {21,  1}, // #3656
4033
  {22,  2}, // #3657
4034
  {23,  3}, // #3658
4035
  { 3,  1}, // #3659
4036
  { 4,  1}, // #3660
4037
  { 8,  1}, // #3661
4038
  { 9,  1}, // #3662
4039
  {11,  2}, // #3663
4040
  {12,  1}, // #3664
4041
  {13,  2}, // #3665
4042
  {14,  2}, // #3666
4043
  {15,  2}, // #3667
4044
  {16,  2}, // #3668
4045
  {18,  2}, // #3669
4046
  {19,  3}, // #3670
4047
  {20,  3}, // #3671
4048
  {22,  4}, // #3672
4049
  {23,  4}, // #3673
4050
  { 9,  2}, // #3674
4051
  {14,  2}, // #3675
4052
  {16,  2}, // #3676
4053
  {17,  1}, // #3677
4054
  {18,  2}, // #3678
4055
  {19,  1}, // #3679
4056
  {20,  2}, // #3680
4057
  {21,  1}, // #3681
4058
  {22,  3}, // #3682
4059
  {23,  4}, // #3683
4060
  {17,  1}, // #3684
4061
  {19, 16}, // #3685
4062
  {21,  1}, // #3686
4063
  {22, 16}, // #3687
4064
  {23, 17}, // #3688
4065
  { 3,  2}, // #3689
4066
  { 8,  2}, // #3690
4067
  {11,  2}, // #3691
4068
  {12,  2}, // #3692
4069
  {13,  4}, // #3693
4070
  {14,  4}, // #3694
4071
  {15,  3}, // #3695
4072
  {17,  2}, // #3696
4073
  {18,  2}, // #3697
4074
  {19,  8}, // #3698
4075
  {20,  6}, // #3699
4076
  {21,  2}, // #3700
4077
  {22, 10}, // #3701
4078
  {23, 12}, // #3702
4079
  { 3,  5}, // #3703
4080
  { 8,  3}, // #3704
4081
  {11,  5}, // #3705
4082
  {12,  5}, // #3706
4083
  {13,  8}, // #3707
4084
  {14,  9}, // #3708
4085
  {15,  4}, // #3709
4086
  {17,  4}, // #3710
4087
  {18,  3}, // #3711
4088
  {19, 14}, // #3712
4089
  {20, 12}, // #3713
4090
  {21,  4}, // #3714
4091
  {22, 18}, // #3715
4092
  {23, 22}, // #3716
4093
  { 3,  3}, // #3717
4094
  { 8,  3}, // #3718
4095
  {11,  3}, // #3719
4096
  {12,  3}, // #3720
4097
  {13,  6}, // #3721
4098
  {14,  7}, // #3722
4099
  {15,  4}, // #3723
4100
  {17,  4}, // #3724
4101
  {18,  3}, // #3725
4102
  {19, 12}, // #3726
4103
  {20, 10}, // #3727
4104
  {21,  4}, // #3728
4105
  {22, 16}, // #3729
4106
  {23, 20}, // #3730
4107
  { 3,  5}, // #3731
4108
  { 8,  3}, // #3732
4109
  {11,  5}, // #3733
4110
  {12,  5}, // #3734
4111
  {13,  8}, // #3735
4112
  {14, 13}, // #3736
4113
  {15,  4}, // #3737
4114
  {17,  8}, // #3738
4115
  {18,  3}, // #3739
4116
  {19, 18}, // #3740
4117
  {20, 16}, // #3741
4118
  {21,  8}, // #3742
4119
  {22, 26}, // #3743
4120
  {23, 34}, // #3744
4121
  { 3,  3}, // #3745
4122
  { 8,  3}, // #3746
4123
  {11,  3}, // #3747
4124
  {12,  3}, // #3748
4125
  {13,  6}, // #3749
4126
  {14,  5}, // #3750
4127
  {15,  4}, // #3751
4128
  {17,  2}, // #3752
4129
  {18,  3}, // #3753
4130
  {19, 10}, // #3754
4131
  {20,  8}, // #3755
4132
  {21,  2}, // #3756
4133
  {22, 12}, // #3757
4134
  {23, 14}, // #3758
4135
  { 3,  3}, // #3759
4136
  { 8,  3}, // #3760
4137
  {11,  3}, // #3761
4138
  {12,  3}, // #3762
4139
  {13,  6}, // #3763
4140
  {14,  5}, // #3764
4141
  {15,  4}, // #3765
4142
  {17,  2}, // #3766
4143
  {18,  3}, // #3767
4144
  {19, 11}, // #3768
4145
  {20,  8}, // #3769
4146
  {21,  2}, // #3770
4147
  {22, 13}, // #3771
4148
  {23, 15}, // #3772
4149
  { 5,  1}, // #3773
4150
  { 6,  1}, // #3774
4151
  {10,  1}, // #3775
4152
  { 4,  5}, // #3776
4153
  { 6,  5}, // #3777
4154
  {10,  1}, // #3778
4155
  { 4,  1}, // #3779
4156
  { 6,  1}, // #3780
4157
  {10,  1}, // #3781
4158
  { 9, 20}, // #3782
4159
  {10,  1}, // #3783
4160
  { 1, 25}, // #3784
4161
  { 9,  1}, // #3785
4162
  {10,  1}, // #3786
4163
  { 2, 69}, // #3787
4164
  { 4,  1}, // #3788
4165
  { 6,  1}, // #3789
4166
  {10,  1}, // #3790
4167
  { 2, 39}, // #3791
4168
  { 4,  1}, // #3792
4169
  { 6,  1}, // #3793
4170
  {10,  1}, // #3794
4171
  { 2, 17}, // #3795
4172
  { 4,  1}, // #3796
4173
  { 6,  1}, // #3797
4174
  {10,  1}, // #3798
4175
  { 2, 32}, // #3799
4176
  { 4,  1}, // #3800
4177
  { 6,  1}, // #3801
4178
  {10,  1}, // #3802
4179
  { 4,  1}, // #3803
4180
  { 6,  1}, // #3804
4181
  {10,  2}, // #3805
4182
  { 6, 10}, // #3806
4183
  { 6,  2}, // #3807
4184
  {10,  1}, // #3808
4185
  { 3,  2}, // #3809
4186
  { 4,  1}, // #3810
4187
  { 6,  1}, // #3811
4188
  {10,  1}, // #3812
4189
  { 4,  1}, // #3813
4190
  { 6,  1}, // #3814
4191
  { 8,  1}, // #3815
4192
  { 9,  1}, // #3816
4193
  {10,  1}, // #3817
4194
  { 4, 10}, // #3818
4195
  { 6, 10}, // #3819
4196
  {10,  1}, // #3820
4197
  { 4, 21}, // #3821
4198
  { 6, 21}, // #3822
4199
  {10,  1}, // #3823
4200
  { 4, 17}, // #3824
4201
  { 6, 17}, // #3825
4202
  {10,  1}, // #3826
4203
  { 4, 13}, // #3827
4204
  { 6, 13}, // #3828
4205
  {10,  1}, // #3829
4206
  { 2, 70}, // #3830
4207
  { 4,  1}, // #3831
4208
  { 6,  1}, // #3832
4209
  {10,  1}, // #3833
4210
  { 2, 40}, // #3834
4211
  { 4,  1}, // #3835
4212
  { 6,  1}, // #3836
4213
  {10,  1}, // #3837
4214
  { 2, 35}, // #3838
4215
  { 4,  1}, // #3839
4216
  { 6,  1}, // #3840
4217
  {10,  1}, // #3841
4218
  { 2, 20}, // #3842
4219
  { 4,  1}, // #3843
4220
  { 6,  1}, // #3844
4221
  {10,  1}, // #3845
4222
  { 8,  1}, // #3846
4223
  {11,  2}, // #3847
4224
  {13,  1}, // #3848
4225
  {15,  1}, // #3849
4226
  {17,  1}, // #3850
4227
  {18,  1}, // #3851
4228
  {19,  3}, // #3852
4229
  {20,  1}, // #3853
4230
  {21,  1}, // #3854
4231
  {22,  3}, // #3855
4232
  {23,  4}, // #3856
4233
  { 8,  1}, // #3857
4234
  {11,  2}, // #3858
4235
  {13,  1}, // #3859
4236
  {15,  1}, // #3860
4237
  {18,  1}, // #3861
4238
  {19,  3}, // #3862
4239
  {20,  1}, // #3863
4240
  {22,  3}, // #3864
4241
  {23,  3}, // #3865
4242
  { 8,  1}, // #3866
4243
  {11,  3}, // #3867
4244
  {13,  1}, // #3868
4245
  {15,  1}, // #3869
4246
  {17,  1}, // #3870
4247
  {18,  1}, // #3871
4248
  {19,  4}, // #3872
4249
  {20,  1}, // #3873
4250
  {21,  1}, // #3874
4251
  {22,  4}, // #3875
4252
  {23,  5}, // #3876
4253
  { 8,  1}, // #3877
4254
  {11,  3}, // #3878
4255
  {13,  1}, // #3879
4256
  {15,  1}, // #3880
4257
  {18,  1}, // #3881
4258
  {19,  4}, // #3882
4259
  {20,  1}, // #3883
4260
  {22,  4}, // #3884
4261
  {23,  4}, // #3885
4262
  { 3,  1}, // #3886
4263
  { 8,  1}, // #3887
4264
  {11,  2}, // #3888
4265
  {12,  1}, // #3889
4266
  {13,  2}, // #3890
4267
  {14,  1}, // #3891
4268
  {15,  1}, // #3892
4269
  {18,  1}, // #3893
4270
  {19,  3}, // #3894
4271
  {20,  2}, // #3895
4272
  {22,  3}, // #3896
4273
  {23,  3}, // #3897
4274
  { 3,  1}, // #3898
4275
  { 8,  1}, // #3899
4276
  {11,  2}, // #3900
4277
  {12,  1}, // #3901
4278
  {13,  2}, // #3902
4279
  {14,  1}, // #3903
4280
  {15,  1}, // #3904
4281
  {17,  1}, // #3905
4282
  {18,  1}, // #3906
4283
  {19,  3}, // #3907
4284
  {20,  2}, // #3908
4285
  {21,  1}, // #3909
4286
  {22,  3}, // #3910
4287
  {23,  4}, // #3911
4288
  { 3,  1}, // #3912
4289
  {11,  2}, // #3913
4290
  {12,  1}, // #3914
4291
  {13,  1}, // #3915
4292
  {14,  1}, // #3916
4293
  {19,  2}, // #3917
4294
  {20,  1}, // #3918
4295
  {22,  2}, // #3919
4296
  {23,  2}, // #3920
4297
  { 7,  1}, // #3921
4298
  { 9, 11}, // #3922
4299
  {12,  1}, // #3923
4300
  {14, 11}, // #3924
4301
  {16, 11}, // #3925
4302
  {17,  1}, // #3926
4303
  {18, 11}, // #3927
4304
  {20, 11}, // #3928
4305
  {21,  2}, // #3929
4306
  {22, 41}, // #3930
4307
  {23, 44}, // #3931
4308
  { 1,  2}, // #3932
4309
  { 4,  1}, // #3933
4310
  { 1,  1}, // #3934
4311
  { 4,  1}, // #3935
4312
  {11,  1}, // #3936
4313
  {15,  1}, // #3937
4314
  {18,  1}, // #3938
4315
  {20,  1}, // #3939
4316
  {21,  1}, // #3940
4317
  {22,  1}, // #3941
4318
  { 1,  1}, // #3942
4319
  {11,  1}, // #3943
4320
  {12,  1}, // #3944
4321
  {16,  1}, // #3945
4322
  {17,  1}, // #3946
4323
  {18,  1}, // #3947
4324
  {22,  1}, // #3948
4325
  { 1,  1}, // #3949
4326
  {11,  1}, // #3950
4327
  {16,  1}, // #3951
4328
  {22,  1}, // #3952
4329
  { 4,  4}, // #3953
4330
  { 1,  1}, // #3954
4331
  {11,  1}, // #3955
4332
  {15,  1}, // #3956
4333
  {18,  1}, // #3957
4334
  {20,  1}, // #3958
4335
  {21,  1}, // #3959
4336
  {22,  1}, // #3960
4337
  { 1,  1}, // #3961
4338
  {11,  2}, // #3962
4339
  {18,  2}, // #3963
4340
  {22,  2}, // #3964
4341
  { 1,  1}, // #3965
4342
  {11,  2}, // #3966
4343
  {15,  2}, // #3967
4344
  {18,  2}, // #3968
4345
  {20,  2}, // #3969
4346
  {21,  2}, // #3970
4347
  {22,  2}, // #3971
4348
  { 1,  1}, // #3972
4349
  { 4,  1}, // #3973
4350
  { 7,  1}, // #3974
4351
  {10, 17}, // #3975
4352
  { 1,  1}, // #3976
4353
  { 4,  1}, // #3977
4354
  { 7,  1}, // #3978
4355
  {10, 25}, // #3979
4356
  { 1,  1}, // #3980
4357
  { 4,  1}, // #3981
4358
  { 7,  1}, // #3982
4359
  {10, 41}, // #3983
4360
  { 1,  1}, // #3984
4361
  { 4,  1}, // #3985
4362
  { 7,  1}, // #3986
4363
  {10, 15}, // #3987
4364
  { 1,  1}, // #3988
4365
  {11,  5}, // #3989
4366
  {14,  3}, // #3990
4367
  {17,  3}, // #3991
4368
  {19,  5}, // #3992
4369
  {21,  3}, // #3993
4370
  {11,  3}, // #3994
4371
  {14,  2}, // #3995
4372
  {17,  2}, // #3996
4373
  {19,  3}, // #3997
4374
  {21,  2}, // #3998
4375
  { 1,  1}, // #3999
4376
  { 4,  1}, // #4000
4377
  { 6,  1}, // #4001
4378
  {23,  1}, // #4002
4379
  { 1,  1}, // #4003
4380
  {11,  1}, // #4004
4381
  {19,  1}, // #4005
4382
  { 1,  1}, // #4006
4383
  {11,  1}, // #4007
4384
  {20,  1}, // #4008
4385
  {22,  1}, // #4009
4386
  {11,  1}, // #4010
4387
  {14,  1}, // #4011
4388
  {17,  1}, // #4012
4389
  {19,  1}, // #4013
4390
  {21,  1}, // #4014
4391
  { 1,  1}, // #4015
4392
  {11,  1}, // #4016
4393
  {14,  1}, // #4017
4394
  {17,  1}, // #4018
4395
  {19,  1}, // #4019
4396
  {21,  1}, // #4020
4397
  { 1,  1}, // #4021
4398
  { 4,  2}, // #4022
4399
  { 6,  2}, // #4023
4400
  {23,  2}, // #4024
4401
  { 1,  1}, // #4025
4402
  {11,  2}, // #4026
4403
  {19,  2}, // #4027
4404
  { 1,  1}, // #4028
4405
  {11,  2}, // #4029
4406
  {17,  2}, // #4030
4407
  { 1,  1}, // #4031
4408
  {11, 20}, // #4032
4409
  {15, 20}, // #4033
4410
  {18, 20}, // #4034
4411
  {20, 20}, // #4035
4412
  {21, 20}, // #4036
4413
  {22, 20}, // #4037
4414
  { 1,  1}, // #4038
4415
  {11,  1}, // #4039
4416
  {18,  1}, // #4040
4417
  {22,  1}, // #4041
4418
  { 1,  1}, // #4042
4419
  {11, 22}, // #4043
4420
  {15, 22}, // #4044
4421
  {18, 22}, // #4045
4422
  {20, 22}, // #4046
4423
  {21, 22}, // #4047
4424
  {22, 22}, // #4048
4425
  {11, 15}, // #4049
4426
  {15, 15}, // #4050
4427
  {18, 15}, // #4051
4428
  {20, 15}, // #4052
4429
  {21, 15}, // #4053
4430
  {22, 15}, // #4054
4431
  { 1,  1}, // #4055
4432
  {11, 19}, // #4056
4433
  {15, 19}, // #4057
4434
  {18, 19}, // #4058
4435
  {20, 19}, // #4059
4436
  {21, 19}, // #4060
4437
  {22, 19}, // #4061
4438
  {11, 12}, // #4062
4439
  {15, 12}, // #4063
4440
  {18, 12}, // #4064
4441
  {20, 12}, // #4065
4442
  {21, 12}, // #4066
4443
  {22, 12}, // #4067
4444
  { 1,  1}, // #4068
4445
  {11,  2}, // #4069
4446
  {16,  2}, // #4070
4447
  {22,  2}, // #4071
4448
  { 1,  1}, // #4072
4449
  {11,  3}, // #4073
4450
  {16,  3}, // #4074
4451
  {22,  3}, // #4075
4452
  {11,  2}, // #4076
4453
  {14,  2}, // #4077
4454
  {17,  2}, // #4078
4455
  {19,  2}, // #4079
4456
  {21,  2}, // #4080
4457
  { 1,  1}, // #4081
4458
  {11,  2}, // #4082
4459
  {12,  2}, // #4083
4460
  {16,  2}, // #4084
4461
  {17,  2}, // #4085
4462
  {18,  2}, // #4086
4463
  {22,  2}, // #4087
4464
  { 1,  1}, // #4088
4465
  {11, 40}, // #4089
4466
  {15, 40}, // #4090
4467
  {18, 40}, // #4091
4468
  {20, 40}, // #4092
4469
  {21, 40}, // #4093
4470
  {22, 40}, // #4094
4471
  { 1,  1}, // #4095
4472
  {11, 28}, // #4096
4473
  {15, 28}, // #4097
4474
  {18, 28}, // #4098
4475
  {20, 28}, // #4099
4476
  {21, 28}, // #4100
4477
  {22, 28}, // #4101
4478
  {11,  1}, // #4102
4479
  {21,  1}, // #4103
4480
  { 1,  1}, // #4104
4481
  {11,  1}, // #4105
4482
  {21,  1}, // #4106
4483
  {11,  2}, // #4107
4484
  {15,  1}, // #4108
4485
  {18,  1}, // #4109
4486
  {19,  1}, // #4110
4487
  {20,  1}, // #4111
4488
  {21,  1}, // #4112
4489
  {22,  1}, // #4113
4490
  { 1,  1}, // #4114
4491
  {11,  2}, // #4115
4492
  {15,  1}, // #4116
4493
  {18,  1}, // #4117
4494
  {19,  1}, // #4118
4495
  {20,  1}, // #4119
4496
  {21,  1}, // #4120
4497
  {22,  1}, // #4121
4498
  { 1,  1}, // #4122
4499
  {11,  1}, // #4123
4500
  {17,  1}, // #4124
4501
  { 1,  5}, // #4125
4502
  {11,  3}, // #4126
4503
  {14,  2}, // #4127
4504
  {17,  2}, // #4128
4505
  {19,  3}, // #4129
4506
  {21,  2}, // #4130
4507
  { 1,  1}, // #4131
4508
  {11,  2}, // #4132
4509
  {22,  2}, // #4133
4510
  { 1,  1}, // #4134
4511
  {11,  2}, // #4135
4512
  {14,  1}, // #4136
4513
  {15,  1}, // #4137
4514
  {17,  1}, // #4138
4515
  {18,  1}, // #4139
4516
  {19,  1}, // #4140
4517
  {20,  1}, // #4141
4518
  {21,  2}, // #4142
4519
  {22,  1}, // #4143
4520
  { 1,  1}, // #4144
4521
  {11,  3}, // #4145
4522
  {18,  3}, // #4146
4523
  {22,  3}, // #4147
4524
  {11,  2}, // #4148
4525
  {15,  1}, // #4149
4526
  {18,  1}, // #4150
4527
  {20,  1}, // #4151
4528
  {21,  1}, // #4152
4529
  {22,  2}, // #4153
4530
  { 1,  1}, // #4154
4531
  {11,  2}, // #4155
4532
  {13,  2}, // #4156
4533
  {16,  2}, // #4157
4534
  {19,  2}, // #4158
4535
  {20,  2}, // #4159
4536
  {22,  2}, // #4160
4537
  { 4,  1}, // #4161
4538
  { 6,  1}, // #4162
4539
  {23,  2}, // #4163
4540
  { 1,  1}, // #4164
4541
  { 4,  1}, // #4165
4542
  { 9,  1}, // #4166
4543
  {11,  1}, // #4167
4544
  {22,  1}, // #4168
4545
  { 1,  1}, // #4169
4546
  {11,  1}, // #4170
4547
  {22,  1}, // #4171
4548
  {11,  2}, // #4172
4549
  {14,  1}, // #4173
4550
  {17,  1}, // #4174
4551
  {19,  2}, // #4175
4552
  {21,  1}, // #4176
4553
  {11,  2}, // #4177
4554
  {13,  1}, // #4178
4555
  {16,  1}, // #4179
4556
  {18,  1}, // #4180
4557
  {19,  1}, // #4181
4558
  {20,  1}, // #4182
4559
  {22,  2}, // #4183
4560
  {11,  1}, // #4184
4561
  {13,  1}, // #4185
4562
  {16,  1}, // #4186
4563
  {19,  1}, // #4187
4564
  {20,  1}, // #4188
4565
  {22,  1}, // #4189
4566
  { 1,  1}, // #4190
4567
  {11,  1}, // #4191
4568
  {13,  1}, // #4192
4569
  {16,  1}, // #4193
4570
  {19,  1}, // #4194
4571
  {20,  1}, // #4195
4572
  {22,  1} // #4196
4573
}; // X86WriteProcResTable
4574
4575
// {Cycles, WriteResourceID}
4576
extern const llvm::MCWriteLatencyEntry X86WriteLatencyTable[] = {
4577
  { 0,  0}, // Invalid
4578
  { 1,  0}, // #1 WriteZero_WriteVecALU_WriteJumpLd_WriteALU_WriteMove_WriteFStoreX_WriteFLoadX_WriteFSign_WriteADC_AtomWrite0_1_WriteADCLd_WriteALULd_WriteFLogicLd_WriteBSWAP32_WriteBSWAP64_WriteBitTest_WriteLoad_WriteCMOV2Ld_WriteCMOVLd_WriteCMPXCHGRMW_WriteNop_WriteVecExtractSt_WriteVecALUX_WriteVecALUXLd_WriteFShuffleLd_WriteStore_WriteVecLogicX_WriteShuffle_WriteVecLoadX_WriteFLD0_WriteLEA_WriteFence_WriteVecStoreX_WriteVecMoveFromGpr_WriteVecMoveX_WriteVecStoreNT_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteVecInsertLd_WriteVarShuffleLd_WriteVecShiftImm_WriteFMoveX_WriteVecLoadNT_WriteStoreNT_WriteFStoreNTX_WriteShuffleXLd_WriteVecLogicXLd_WriteRMW_WriteVecShiftImmX_WriteVecTestLd_WriteShiftLd_WriteSETCC_WriteVecMaskedStore_WriteVecShiftImmXLd_WriteFTestLd_AtomWrite1_1_AtomWrite0_1_1_AtomWrite01_1_WriteFStoreY_WriteFBlend_WriteBLS_WriteBZHI_WriteFLDC_WriteLAHFSAHF_WriteFLD1_WriteVecMoveToGpr_WriteMMXMOVMSK_WriteBlend_WriteVarShuffleX_WriteShuffleY_WriteFLogicY_WriteFBlendY_WriteVecALUY_WriteFMoveY_WriteFShuffleY_WriteVecStoreY_WriteVecMoveY_WriteVecStoreNTY_WriteFStoreNTY_WriteVecLogicY_WriteBlendY_WriteFVarShuffleY_WriteVecShiftImmY_WriteVarShuffleY_WriteFTestY_BWWriteResGroup10_BWWriteResGroup2_BWWriteResGroup5_BWWriteResGroup6_BWWriteResGroup3_BWWriteResGroup4_BWWriteResGroup7_BWWriteResGroup8_BWWriteResGroup9_WriteBEXTR_WriteLZCNT_WritePHAdd_WritePHAddX_WritePOPCNT_WriteVecShiftX_WriteSETCCStore_WriteSTMXCSR_WriteFShuffle256_WriteXCHG_JWriteVecExtractF128_WriteShuffleZ_WriteFLogicZ_WriteVecALUZ_WriteFShuffleZ_WriteVecLogicZ_WriteFVarShuffleZ_WriteVecShiftImmZ_WriteVarVecShift_WriteVarVecShiftY_WriteVarVecShiftZ_WriteVarShuffleZ_SKXWriteResGroup9_SKXWriteResGroup10_SKXWriteResGroup11_SKXWriteResGroup3_SKXWriteResGroup6_SKXWriteResGroup7_SKXWriteResGroup4_SKXWriteResGroup8_WriteCvtSS2SD_WriteShuffle256_WriteVarShuffle256_WriteFVarShuffle256_SBWriteResGroup2_SBWriteResGroup1_SBWriteResGroup4_SBWriteResGroup5_HWWrite2P1_HWWriteP01_HWWrite2P01_HWWrite2P0156_P23_HWWriteResGroup10_HWWriteINTO_HWWritePushA_HWWriteBTmr_HWWritePopA_HWWriteP1_HWWriteBOUND_HWWriteBTRSCmr_HWWriteResGroup3_HWWriteResGroup6_HWWriteResGroup7_HWWrite3P01_HWWriteP0156_P23_HWWriteRETI_HWWriteRDPMC_HWWriteRDRAND_HWWriteFNSAVE_HWWriteFRSTOR_HWWriteResGroup2_HWWriteResGroup4_HWWriteResGroup5_HWWriteResGroup8_HWWriteResGroup9_WriteFVarBlend_WriteVarBlend_WriteSHDrrcl_WriteSHDrri_WriteFMaskedStoreY_WritePHAddY_WriteVecMaskedStoreY_WriteVecShiftY_WriteVecTestY_SKLWriteResGroup9_SKLWriteResGroup10_SKLWriteResGroup11_SKLWriteResGroup3_SKLWriteResGroup6_SKLWriteResGroup7_SKLWriteResGroup4_SKLWriteResGroup8_WriteFMOVMSK_WriteVecMOVMSK_WriteFVarBlendY_WriteVarBlendY_ZnWriteFPU3Lat1_ZnWriteFLDr_ZnWriteFPU0Lat1_ZnWriteFXCH_ZnWritePShift_ZnWriteJCXZ_ZnWriteLD_F80m_ZnWriteLOOPE_ZnWriteCMPXCHG8B_ZnWriteRET_ZnWritePCMPGTQr_ZnWriteFPU01Y_ZnWriteFPU12m_ZnWriteCALLr_ZnXADD_ZnWriteFPU12Y_ZnWriteFPU013_ZnWriteSHA1MSG2r_ZnWriteSHA1NEXTEr
4579
  { 1,  0}, // #2 WriteALULd_WriteRMW
4580
  { 1,  0}, // #3 WriteRMW
4581
  {100,  0}, // #4 WriteSystem_WriteMicrocoded_ZnWriteMicrocoded_WriteFShuffle256_WriteFVarShuffle256
4582
  { 7,  0}, // #5 WriteFAdd64XLd_WriteFCmp64XLd_WriteCvtI2PD_WriteCvtI2PSLd_WriteCvtPD2I_WriteCvtPD2PS_WriteCvtPS2ILd_WriteCvtPS2PD_WriteCvtSD2SSLd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteCvtSS2SDLd_WriteIMulLd_WritePHAddX_WritePHAddY_AtomWrite01_7_WriteStore_WriteAESDecEnc_WriteBEXTRLd_WriteFVarBlendLd_WriteCMOV2Ld_WriteLDMXCSR_WriteMPSAD_WriteVarBlendLd_WriteVecShiftXLd_WriteVecTestLd_WriteShuffleYLd_WriteFLogicYLd_WriteFBlendYLd_WriteCvtPS2PHYSt_WriteVecALUYLd_WriteFMaskedLoad_WriteFShuffleYLd_WriteMPSADY_WriteVecLogicYLd_WriteBlendYLd_WriteFVarShuffleYLd_WriteVecMaskedLoad_WriteVecShiftImmYLd_WriteVarShuffleYLd_WriteVecShiftYLd_WriteFTestYLd_BWWriteResGroup80_BWWriteResGroup82_BWWriteResGroup90_BWWriteResGroup84_BWWriteResGroup89_BWWriteResGroup87_BWWriteResGroup88_BWWriteResGroup73_BWWriteResGroup77_BWWriteResGroup79_BWWriteResGroup74_WriteAESIMCLd_WriteAESKeyGenLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteCvtPS2PDLd_WriteCvtSD2I_WriteCvtSS2I_WriteVecInsert_WriteVecIMulLd_WritePSADBWLd_WriteVarShuffleLd_WriteFMulXLd_WriteFMulLd_WriteCLMulLd_WritePCmpIStrI_WritePHMINPOSLd_WriteVecIMulXLd_WritePSADBWXLd_WriteVarShuffleXLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteFCmp64YLd_WriteFCmpYLd_WriteCvtPS2PDYLd_WriteFMulYLd_WriteFVarShuffleLd_WriteFRcpYLd_WriteFRsqrtYLd_WriteFLoadY_WriteFLogicLd_WriteFBlendLd_WriteFComLd_WriteVecALUXLd_WriteFShuffleLd_WriteShuffleXLd_WriteVecLogicXLd_WriteBlendLd_WriteCvtPH2PSY_WriteCvtPH2PSZ_WriteCvtPS2PHZ_WriteVecLoadY_WriteVecLoadNTY_WriteVecShiftImmXLd_WriteVarVecShiftLd_SKXWriteResGroup99_SKXWriteResGroup95_SKXWriteResGroup89_SKXWriteResGroup101_SKXWriteResGroup100_SKXWriteResGroup111_SKXWriteResGroup104_SKXWriteResGroup109_SKXWriteResGroup107_SKXWriteResGroup108_SKXWriteResGroup96_SKXWriteResGroup93_SKXWriteResGroup90_SKXWriteResGroup92_SKXWriteResGroup93z_SKXWriteResGroup97_SKXWriteResGroup103_SKXWriteResGroup106_SKXWriteResGroup110_SKXWriteResGroup112_SKXWriteResGroup113_SKXWriteResGroup114_WriteADCLd_WriteCMOVLd_WriteVecInsertLd_WriteCvtPS2PDZLd_WriteFRcpZ_WriteFRsqrtZ_WriteFTestLd_SBWriteResGroup25_1_SBWriteResGroup63_SBWriteResGroup69_SBWriteResGroup68_SBWriteResGroup54_SBWriteResGroup58_SBWriteResGroup59_SBWriteResGroup62_SBWriteResGroup64_SBWriteResGroup66_SBWriteResGroup67_WriteCvtPH2PSYLd_WriteCvtPH2PSZLd_WriteCvtPS2PHZSt_HWWriteResGroup37_HWWriteResGroup26_HWWriteResGroup25_HWWriteResGroup0_1_HWWriteResGroup39_HWWriteXLAT_HWWriteResGroup114_HWWriteResGroup41_HWWriteResGroup17_HWWriteResGroup11_1_HWWriteResGroup36_2_WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtSD2ILd_WriteCvtSS2ILd_WritePMULLDLd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtPS2IYLd_WritePSADBWYLd_WriteVecIMulYLd_WritePMULLDYLd_SKLWriteResGroup94_SKLWriteResGroup91_SKLWriteResGroup85_SKLWriteResGroup96_SKLWriteResGroup95_SKLWriteResGroup103_SKLWriteResGroup98_SKLWriteResGroup102_SKLWriteResGroup100_SKLWriteResGroup101_SKLWriteResGroup92_SKLWriteResGroup89_SKLWriteResGroup86_WriteBSFLd_WriteBSRLd
4583
  { 6,  0}, // #6 WriteFAdd64X_WriteFCmp64X_WriteCvtI2PS_WriteCvtPS2I_WriteCvtSD2SS_WriteCvtI2SD_WriteCvtI2SS_WriteCvtSS2SD_WriteFLD1_AtomWriteIMul32_AtomWrite01_6_WriteJumpLd_WriteFLoadY_WriteADCLd_WriteALULd_WriteFLogicLd_WriteFBlendLd_WriteBLSLd_WriteBZHILd_WriteCMOVLd_WriteVecALUXLd_WriteFShuffleLd_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteVecInsertLd_WriteVarShuffleLd_WriteVecShiftLd_WriteShuffleXLd_WriteVecLogicXLd_WriteBlendLd_WriteVarShuffleXLd_WriteShiftLd_WriteFRnd_WriteSHDrrcl_WriteCvtPH2PSYLd_WriteCvtPH2PSLd_WriteCvtPS2PHY_WriteFRndY_WriteVecLoadY_WriteVecLoadNTY_WriteFVarShuffleLd_WriteVecShiftImmXLd_WriteFTestLd_BWWriteResGroup66_BWWriteResGroup70_BWWriteResGroup69_BWWriteResGroup58_BWWriteResGroup71_BWWriteResGroup63_BWWriteResGroup65_BWWriteResGroup62_BWWriteResGroup68_BWWriteResGroup59_BWWriteResGroup64_BWWriteResGroup60_WriteCRC32Ld_WriteIMulLd_WriteIMul64_WritePHAddLd_WritePHAddXLd_WriteVecShiftXLd_WriteFLogicYLd_WriteFBlendYLd_WriteFShuffle256Ld_WriteCvtPD2IY_WriteCvtPD2PSY_WriteFMaskedStoreY_WriteFMaskedLoadY_WriteFShuffleYLd_WriteVecMaskedStoreY_WriteVecMaskedLoadY_JWriteVBROADCASTYLd_WriteFLoadX_WriteCvtSD2I_WriteCvtSS2I_WriteFHAdd_WriteVecLoadX_WriteCLMul_WriteCvtPS2PHSt_WriteFHAddY_SKXWriteResGroup72_SKXWriteResGroup81_SKXWriteResGroup87_SKXWriteResGroup86_SKXWriteResGroup88_SKXWriteResGroup71_SKXWriteResGroup78_SKXWriteResGroup76_SKXWriteResGroup84_SKXWriteResGroup92a_SKXWriteResGroup79_SKXWriteResGroup82_SKXWriteResGroup73_SKXWriteResGroup80_SBWriteResGroup48_SBWriteResGroup53_SBWriteResGroup81_SBWriteResGroup49_SBWriteResGroup50_SBWriteResGroup51_SBWriteResGroup52_WriteCvtPS2PHZ_WriteFRndZ_HWWriteResGroup18_HWWriteResGroup108_HWWriteResGroup0_HWWriteResGroup15_HWWriteResGroup14_HWWriteResGroup107_HWWriteResGroup11_HWWriteResGroup13_HWWriteResGroup16_HWWriteResGroup102_WriteFAdd64XLd_WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmp64XLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteDPPDLd_WriteDPPSLd_WriteFHAddLd_WriteIMul64Ld_WriteLZCNTLd_WritePOPCNTLd_WriteFRndLd_WriteTZCNTLd_WriteFAdd64YLd_WriteFAddYLd_WriteFCmp64YLd_WriteFCmpYLd_WriteDPPSYLd_WriteFRndYLd_WriteFHAddYLd_SKLWriteResGroup68_SKLWriteResGroup76_SKLWriteResGroup83_SKLWriteResGroup82_SKLWriteResGroup84_SKLWriteResGroup67_SKLWriteResGroup74_SKLWriteResGroup72_SKLWriteResGroup80_SKLWriteResGroup88_SKLWriteResGroup75_SKLWriteResGroup70_SKLWriteResGroup78_SKLWriteResGroup69_WriteStore_ZnWriteALULat2Ld_ZnWriteBTRSCm_ZnWriteSHA1RNDS4r
4584
  { 5,  0}, // #7 WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteEMMS_WriteLDMXCSR_WriteFMulXLd_WriteFMul64Ld_WriteVecIMulXLd_WritePSADBWXLd_WriteVarShuffleXLd_WriteFRndLd_AtomWrite0_5_AtomWrite1_5_AtomWrite0_1_5_AtomWrite01_5_WriteFLoadX_WriteLoad_WriteCMPXCHG_WriteFHAdd_WriteVecLoadX_WriteVecLoadNT_WriteCLMul_WritePHMINPOS_WriteFRcpX_WriteFRsqrtX_WriteCvtPS2PHSt_WritePSADBWY_WriteFMAY_WriteFMAX_WriteVecIMulY_WriteFHAddY_WriteFMaskedStoreY_WriteVecMaskedStoreY_BWWriteResGroup49_BWWriteResGroup54_BWWriteResGroup47_BWWriteResGroup57_BWWriteResGroup50_BWWriteResGroup51_BWWriteResGroup55_WriteFLoadY_WriteStore_WriteBLSLd_WriteBSF_WriteBSR_WriteTZCNTLd_WriteVecLoadY_WriteVecLoadNTY_WriteCvtPH2PS_SKXWriteResGroup61_SKXWriteResGroup58_SKXWriteResGroup69_SKXWriteResGroup63_SKXWriteResGroup67_SKXWriteResGroup62_SKXWriteResGroup65_SKXWriteResGroup66_WriteCvtSD2I_WriteCvtI2SS_WriteCvtSS2I_WriteVecExtractSt_WriteFMul64X_WritePMULLD_WriteSTMXCSR_WritePSADBWZ_WriteFMAZ_WriteVecIMulZ_WriteFMul64Y_WriteFMul64Z_WriteFMulY_WriteFMulZ_WritePMULLDY_WritePMULLDZ_SBWriteResGroup33_SBWriteResGroup31_SBWriteResGroup41_SBWriteResGroup47_SBWriteResGroup30_SBWriteResGroup35_SBWriteResGroup35_2_SBWriteResGroup36_SBWriteResGroup40_SBWriteResGroup45_SBWriteResGroup46_HWWriteResGroup0_2_HWWriteResGroup99_HWWriteResGroup89_HWWriteResGroup88_HWWriteResGroup93_HWWriteResGroup94_HWWriteResGroup100_WriteCMOV2Ld_WriteCMOVLd_WriteFRcpY_WriteFRsqrtY_SKLWriteResGroup60_SKLWriteResGroup58_SKLWriteResGroup65_SKLWriteResGroup59_SKLWriteResGroup61_SKLWriteResGroup63_WriteJumpLd_WriteADCLd_WriteALULd_WriteBEXTRLd_WriteBZHILd_WriteCvtI2PD_WriteCvtI2PS_WriteCvtPD2I_WriteCvtPS2I_WriteCvtI2SD_WritePOPCNTLd_WriteShiftLd_ZnWriteRSQRTSSr_WriteCvtI2PDY_WriteCvtI2PSY_WriteCvtPD2IY_ZnWriteCVTPD2PSYr_WriteCvtPS2IY_ZnWriteRSQRTPSYr_ZnWriteSTr_ZnWriteXCHGrm_ZnWriteST_FP80m_ZnWriteCVTPD2DQr_ZnWriteEXTRACTPSm_ZnWriteMOVBE_ZnWriteCVSTSI2SIr_ZnWriteCVTDQ2PDr_ZnWriteCVSTSI2SDr_ZnWritePop16r
4585
  {16,  0}, // #8 WriteBSFLd_WriteBSRLd_WriteFDivXLd_BWWriteResGroup150_WritePCmpIStrILd_WritePCmpIStrMLd_WriteFSqrt64X_WriteFSqrtXLd_WriteFSqrtLd_WritePMULLDYLd_BWWriteResGroup153_BWWriteResGroup154_WriteDPPSLd_WriteFDivLd_WritePMULLDLd_WriteFRsqrtZLd_SKXWriteResGroup199_SKXWriteResGroup200_HWWriteResGroup120_HWWriteResGroup145_SKLWriteResGroup177_SKLWriteResGroup178
4586
  { 9,  0}, // #9 WriteFCMOV_WriteCvtSD2ILd_WriteCvtSS2ILd_WriteFHAddLd_WriteFMul64X_WriteFRcpX_WriteFRsqrtX_WriteFHAddYLd_AtomWrite01_9_WriteCvtI2PDLd_WriteCvtI2PSLd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteDPPD_WriteSHDmri_WriteFAdd64YLd_WriteFAddYLd_WriteShuffle256Ld_WriteFShuffle256Ld_WriteFCmp64YLd_WriteFCmpYLd_WriteVarShuffle256Ld_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteFMul64YLd_WriteFMulYLd_WriteFVarShuffle256Ld_WritePHAddYLd_WriteVarVecShiftYLd_BWWriteResGroup91_16_2_BWWriteResGroup101_BWWriteResGroup105_BWWriteResGroup107_BWWriteResGroup121_BWWriteResGroup112_BWWriteResGroup106_BWWriteResGroup108_BWWriteResGroup113_WriteIMul64Ld_WriteFMul64XLd_WriteFMul64Ld_WritePMULLDLd_WriteSHDmrcl_WriteVecTestYLd_WriteFTestYLd_WriteFAdd64Ld_WriteFAddLd_WriteFCmp64Ld_WriteFCmpLd_WriteVecIMulLd_WriteFMulLd_WritePHAddXLd_WritePSADBWXLd_WriteVecTestLd_WriteFRcpLd_WriteFRsqrtLd_WriteFMALd_WriteFVarBlendYLd_WriteFVarBlendZLd_WriteCvtI2PDZLd_WriteCvtI2PSZLd_WriteCvtPH2PSLd_WriteFRsqrtZ_SKXWriteResGroup118_16_2_SKXWriteResGroup135_SKXWriteResGroup137_SKXWriteResGroup142_SKXWriteResGroup156_SKXWriteResGroup136_SKXWriteResGroup146_SKXWriteResGroup143_SBWriteResGroup98_WriteFAdd64XLd_WriteFAddXLd_WriteFCmp64XLd_WriteFCmpXLd_WriteCvtPS2ILd_WritePOPCNTLd_WriteFRndLd_WriteFMaskedLoadY_WriteVarBlendYLd_WriteVarBlendZLd_WriteVecMaskedLoadY_SBWriteResGroup93_3_SBWriteResGroup95_SBWriteResGroup97_SBWriteResGroup100_SBWriteResGroup93_1_SBWriteResGroup93_2_SBWriteResGroup97_2_SBWriteResGroup99_HWWriteResGroup69_WriteCMPXCHGRMW_WriteVarVecShiftLd_HWWriteResGroup12_2_HWWriteResGroup68_HWWriteResGroup76_HWWriteResGroup79_HWWriteResGroup98_HWWriteResGroup52_HWWriteResGroup53_1_HWWriteResGroup66_HWWriteResGroup67_HWWriteResGroup78_1_HWWriteResGroup80_HWWriteResGroup87_SKLWriteResGroup107_16_2_SKLWriteResGroup120_SKLWriteResGroup123_SKLWriteResGroup127_SKLWriteResGroup142_SKLWriteResGroup121_SKLWriteResGroup131_SKLWriteResGroup128_WriteVecShiftYLd_ZnWriteFPU02_ZnWriteVINSERT128Ld_ZnWriteMul64Ld_ZnWriteFPU01Op2Y_ZnWriteFPU013LdY_ZnWriteSHA1MSG1Ld
4587
  {15,  0}, // #10 WriteCMPXCHG_WriteSTMXCSR_WritePMULLDLd_BWWriteResGroup149_BWWriteResGroup147_WriteDiv8Ld_WriteIDiv8Ld_WriteDPPDLd_WriteFRndYLd_WriteFRndZLd_SKXWriteResGroup195_SKXWriteResGroup191_SKXWriteResGroup194_SBWriteResGroup119_HWWriteResGroup115_HWWriteFXTRACT_SKLWriteResGroup174_SKLWriteResGroup171_WriteFDiv64X_WriteFDivX_ZnWriteVDIVPDY
4588
  { 8,  0}, // #11 WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtPS2PDLd_WriteCvtSD2I_WriteCvtSS2I_WriteFHAdd_WritePHAddXLd_WriteFHAddY_WritePHAddYLd_AtomWriteIMul16Ld_AtomWrite01_8_BWWriteResGroup100_WriteFAdd64XLd_WriteFAddXLd_WriteFAdd64Ld_WriteFAddLd_WriteBSFLd_WriteBSRLd_WriteFCmp64XLd_WriteFCmpXLd_WriteFCmp64Ld_WriteFCmpLd_WriteCMPXCHGRMW_WriteFComLd_WriteCRC32Ld_WriteCvtPS2ILd_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtSS2SDLd_WriteCvtSS2ILd_WriteIMulLd_WriteIMul64Ld_WriteLZCNTLd_WritePHAddLd_WriteFMul64XLd_WriteFMulXLd_WriteFMul64Ld_WriteFMulLd_WritePOPCNTLd_WriteTZCNTLd_WriteFVarBlendYLd_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtPS2IYLd_WriteCvtPS2PDYLd_WriteFMaskedLoadY_WriteVarBlendYLd_WriteVecMaskedLoadY_WriteVarVecShiftLd_BWWriteResGroup91_BWWriteResGroup99_BWWriteResGroup91_16_BWWriteResGroup92_BWWriteResGroup97_BWWriteResGroup98_WriteAESDecEncLd_WriteCvtI2PSLd_WriteFHAddLd_WriteVecMoveFromGpr_WriteMPSADLd_WritePCmpIStrM_WriteVecTestLd_WriteFRndLd_WriteFAdd64YLd_WriteFAddYLd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPH2PSYLd_WriteCvtPH2PSLd_WriteFRndYLd_WriteFHAddYLd_WriteFVarShuffleYLd_WriteFTestLd_SKXWriteResGroup130_WriteAESIMC_WriteFVarBlendLd_WritePSADBWLd_WriteVarBlendLd_WriteShuffleYLd_WriteShuffleZLd_WriteFLogicYLd_WriteFLogicZLd_WriteFBlendYLd_WriteCvtPD2IZLd_WriteCvtPD2PSZLd_WriteCvtPS2IZLd_WriteCvtPS2PDZLd_WriteCvtPS2PHYSt_WriteCvtPS2PHZSt_WriteFRndZ_WriteVecALUYLd_WriteVecALUZLd_WriteFShuffleYLd_WriteFShuffleZLd_WriteVecLogicYLd_WriteVecLogicZLd_WriteBlendYLd_WriteVarBlendZLd_WriteFVarShuffleZLd_WriteVecShiftImmYLd_WriteVecShiftImmZLd_WriteVarVecShiftYLd_WriteVarVecShiftZLd_WriteVarShuffleYLd_WriteVarShuffleZLd_WriteVecShiftYLd_WriteVecShiftZLd_SKXWriteResGroup118_16_1_SKXWriteResGroup128_SKXWriteResGroup119_SKXWriteResGroup121_SKXWriteResGroup127_SKXWriteResGroup126_SKXWriteResGroup123_SKXWriteResGroup131_SKXWriteResGroup132_SKXWriteResGroup133_SKXWriteResGroup134_WriteAESKeyGenLd_WriteCMOV2Ld_WriteVecALULd_WriteVecShiftXLd_WriteSHDmri_WriteShuffle256Ld_WriteFShuffle256Ld_WriteVarShuffle256Ld_WriteCvtPH2PSZLd_WriteFVarShuffle256Ld_WriteFTestYLd_SBWriteResGroup86_SBWriteResGroup84_SBWriteResGroup77_SBWriteResGroup83_SBWriteResGroup85_SBWriteResGroup87_SBWriteResGroup93_4_HWWriteResGroup12_HWWriteResGroup48_HWWriteResGroup46_HWWriteResGroup47_HWWriteResGroup12_1_HWWriteResGroup11_2_HWWriteResGroup13_1_HWWriteResGroup17_2_WriteAESIMCLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteFMul64YLd_WriteFMulYLd_WriteFRcpYLd_WriteFRsqrtYLd_SKLWriteResGroup119_SKLWriteResGroup107_16_SKLWriteResGroup117_SKLWriteResGroup108_SKLWriteResGroup110_SKLWriteResGroup116_SKLWriteResGroup115_SKLWriteResGroup112_WriteFLoadX_WriteFLoadY_WriteFLogicLd_WriteFBlendLd_WriteLoad_WriteVecALUXLd_WriteFShuffleLd_WriteVecLoadX_ZnWriteFPU13_WriteShuffleLd_WriteVecLogicLd_WriteVecInsertLd_WriteVarShuffleLd_WriteVecShiftLd_WriteVecLoadNT_WriteFStoreNT_WriteShuffleXLd_WriteVecLogicXLd_WriteBlendLd_WriteVarShuffleXLd_WriteVecLoadY_WriteVecLoadNTY_WriteFVarShuffleLd_WriteVecShiftImmXLd_WriteVecTestYLd_ZnWriteMul16Ld_ZnWriteLEAVE_ZnWritePushA_ZnWriteMul32Ld_ZnWritePCMPGTQm_ZnWriteBROADCAST_ZnWriteFPU12Ym_ZnWriteFPU01Op2_ZnWriteMulX64Ld_ZnWriteVPBROADCAST256Ld_ZnWritePCMPGTQYm_ZnWriteMulX32Ld_ZnWriteFPU0Lat1Ld_ZnWriteFPU013Ld_ZnWriteVPBROADCAST128Ld_ZnWriteFPU013m_ZnWriteSHA1MSG2Ld_ZnWriteSHA1NEXTELd
4589
  {50,  0}, // #12 WriteDiv16Ld_WriteDiv32Ld_WriteDiv8
4590
  {130,  0}, // #13 WriteDiv64Ld_WriteIDiv64Ld_AtomWrite01_130
4591
  {68,  0}, // #14 WriteDiv8Ld_AtomWrite01_68
4592
  {125,  0}, // #15 WriteFDiv64XLd_WriteFSqrt64XLd
4593
  {70,  0}, // #16 WriteFDivXLd_WriteFSqrtXLd
4594
  {34,  0}, // #17 WriteFDivLd_WriteFSqrtLd_BWWriteResGroup191_BWWriteResGroup190_SBWriteResGroup131_WriteAESKeyGenLd_HWWriteResGroup166_WriteFDiv64
4595
  {62,  0}, // #18 WriteFDiv64Ld_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv8Ld_WriteFSqrt64Ld_SKXWriteResGroup258_SKLWriteResGroup217
4596
  {10,  0}, // #19 AtomWrite01_10_WriteFMul64XLd_WriteFRcpXLd_WriteFRsqrtXLd_WriteFHAddLd_WriteVecIMulLd_WritePSADBWLd_WriteCLMulLd_WritePHMINPOSLd_WriteVecIMulXLd_WritePMULLD_WritePSADBWXLd_WriteFRcpLd_WriteFRsqrtLd_WriteFMALd_WriteFMAXLd_WritePMULLDY_WriteVecTestYLd_BWWriteResGroup120_BWWriteResGroup115_BWWriteResGroup117_WriteFAdd64XLd_WriteFAddXLd_WriteAESDecEncLd_WriteFCmp64XLd_WriteFCmpXLd_WriteEMMS_WriteMPSADLd_WriteFMulXLd_WritePCmpIStrI_WritePCmpIStrM_WriteShuffle256Ld_WriteFShuffle256Ld_WriteVarShuffle256Ld_WriteCvtPH2PSYLd_WriteCvtPH2PSZLd_WritePSADBWYLd_WritePSADBWZLd_WriteFVarShuffle256Ld_WritePHAddYLd_WritePMULLDZ_SKXWriteResGroup148_SKXWriteResGroup157_SKXWriteResGroup149_SKXWriteResGroup153_SKXWriteResGroup154_SKXWriteResGroup151_WriteCvtI2PDLd_WriteCvtPD2ILd_WriteCvtPD2PSLd_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtI2SSLd_WriteCvtSS2ILd_WriteSHDmrcl_WriteFMAZLd_WriteFAdd64YLd_WriteFAdd64ZLd_WriteFAddYLd_WriteFAddZLd_WriteFCmp64YLd_WriteFCmpYLd_WriteFCmpZLd_WriteCvtI2PDYLd_WriteCvtI2PDZLd_WriteCvtI2PSYLd_WriteCvtI2PSZLd_WriteCvtPS2IYLd_WriteCvtPS2IZLd_WriteFMAYLd_WriteFRndYLd_WriteFRndZLd_WriteFCmp64ZLd_SBWriteResGroup101_WriteFMul64Ld_WriteFMulLd_WriteSHDmri_WriteVarVecShiftYLd_WriteVarVecShiftZLd_HWWriteResGroup52_1_HWWriteResGroup97_HWWriteResGroup77_HWWriteResGroup78_WriteBSF_WriteBSR_WriteMPSADYLd_SKLWriteResGroup133_SKLWriteResGroup143_SKLWriteResGroup134_SKLWriteResGroup138_SKLWriteResGroup139_SKLWriteResGroup140_WriteFAdd64Ld_WriteFAddLd_WriteFCmp64Ld_WriteFCmpLd_WriteFComLd_WriteCRC32Ld_ZnWriteCVTPS2PDLd
4597
  {12,  0}, // #20 WriteIMul64Ld_WriteAESDecEncLd_WriteMPSADLd_WriteFRndYLd_BWWriteResGroup135_WriteCvtSD2ILd_WriteCvtSD2SSLd_WriteCvtSS2SDLd_WriteCvtSS2ILd_WriteDiv8_WriteIDiv8_WritePCmpIStrILd_WriteDPPSY_WriteFHAddLd_WriteCLMulLd_WriteFSqrtX_WriteFSqrtY_SKXWriteResGroup179_SKXWriteResGroup174_SKXWriteResGroup174z_SKXWriteResGroup175_SKXWriteResGroup176_SKXWriteResGroup177_WriteAESIMC_WritePSADBWYLd_WritePSADBWZLd_WriteVecIMulYLd_WriteVecIMulZLd_WriteFHAddYLd_WriteFMul64YLd_WriteFMul64ZLd_WriteFMulYLd_WriteFMulZLd_WritePMULLDYLd_WritePMULLDZLd_SBWriteResGroup111_WriteFRndLd_WriteSHDmrcl_WriteFMAZLd_WriteFMAYLd_HWWriteResGroup91_3_HWWriteResGroup104_SKLWriteResGroup160_WriteCvtI2PDLd_WriteCvtI2PSLd_WriteCvtPD2ILd_WriteCvtPS2ILd_WriteCvtI2SDLd_WriteCvtI2SSLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_ZnWriteRSQRTSSLd_WriteFMALd_WriteCvtI2PDYLd_WriteCvtI2PSYLd_WriteCvtPD2IYLd_WriteCvtPS2IYLd_ZnWriteVDIVPSYr_WriteFMAXLd_WriteFRcpYLd_ZnWriteRSQRTPSYLd_ZnWriteFIST_ZnWriteCVTPD2DQLd_ZnWriteCVSTSI2SILd_ZnWriteFPU03
4598
  { 2,  0}, // #21 WriteLAHFSAHF_WriteVecShift_WriteVecShiftX_WriteSETCCStore_WriteSHDrrcl_WriteSHDrri_WriteXCHG_AtomWrite01_2_WriteBEXTR_WriteFVarBlend_WriteBSWAP64_WriteCMOV2_WriteVecExtractSt_WriteVecInsert_WriteVarBlend_WriteVecTest_WriteSTMXCSR_WriteFVarBlendY_WriteCvtPH2PSY_WriteVarBlendY_BWWriteResGroup14_BWWriteResGroup20_BWWriteResGroup22_BWWriteResGroup12_BWWriteResGroup13_BWWriteResGroup17_BWWriteResGroup25_BWWriteResGroup16_BWWriteResGroup18_BWWriteResGroup24_BWWriteResGroup15_WriteFSign_WriteAESIMC_WriteAESKeyGen_WriteBLS_WriteFCmp64X_WriteFCmpX_WriteCvtPS2PD_WriteEMMS_WriteVecStore_WriteVecStoreNT_WriteVecIMul_WritePSADBW_WriteVarShuffle_WriteFStore_WriteFMulX_WriteCLMul_WritePHMINPOS_WriteVecIMulX_WritePSADBWX_WriteVarShuffleX_WriteFRcpX_WriteFRsqrtX_WriteTZCNT_WriteFCmp64Y_WriteFCmpY_WriteCvtPS2PDY_WriteVecStoreNTY_WriteFMulY_WriteFVarShuffle_WriteFRcpY_WriteFRsqrtY_JWriteINSERTQ_JWrite3OpsLEA_WriteFCom_WriteVecMoveToGpr_WriteMMXMOVMSK_WriteFMOVMSK_WriteVecMOVMSK_WriteFVarBlendZ_WriteFMaskedStoreY_WriteVarBlendZ_WriteVecMaskedStoreY_WriteVecMOVMSKY_WriteFTestY_SKXWriteResGroup17_SKXWriteResGroup23_SKXWriteResGroup25_SKXWriteResGroup14_SKXWriteResGroup15_SKXWriteResGroup28_SKXWriteResGroup20_SKXWriteResGroup13_SKXWriteResGroup21_SKXWriteResGroup27_SKXWriteResGroup29_WriteADC_WriteCvtPS2PDZ_WriteVecTestY_SBWriteResGroup18_SBWriteResGroup9_SBWriteResGroup11_SBWriteResGroup12_SBWriteResGroup15_WriteCvtPH2PSZ_HWWriteResGroup30_HWWriteResGroup35_HWWriteResGroup21_HWWriteResGroup28_HWWriteResGroup29_HWWriteResGroup33_HWWriteResGroup24_HWWriteResGroup32_HWWriteResGroup19_HWWriteResGroup23_HWWriteResGroup23_16_HWWriteResGroup31_SKLWriteResGroup17_SKLWriteResGroup23_SKLWriteResGroup25_SKLWriteResGroup14_SKLWriteResGroup15_SKLWriteResGroup28_SKLWriteResGroup20_SKLWriteResGroup13_SKLWriteResGroup21_SKLWriteResGroup27_ZnWriteALULat2_WriteLZCNT_WriteShuffle256_WriteVarShuffle256_WriteVecMoveY_WriteVecShiftY_ZnWriteEXTRACTPSr_ZnWriteBTRSC_ZnWriteFPU013Y_ZnWritePShiftY_ZnWriteVINSERT128r_ZnWriteEXTRQ_ZnWriteSHA1MSG1r
4599
  { 3,  0}, // #22 WriteVecMoveToGpr_WritePHAdd_WriteMMXMOVMSK_WriteVecShiftLd_WriteFMOVMSK_WriteVecMOVMSK_WriteVecShiftXLd_AtomWrite01_3_WriteFAdd64X_WriteFAddX_WriteBSF_WriteBSR_WriteFCMOV_WriteFCmp64X_WriteFCmpX_WriteFCom_WriteCRC32_WriteCvtPD2I_WriteCvtPD2PS_WriteCvtPS2I_WriteCvtPS2PD_WriteCvtSD2I_WriteCvtSD2SS_WriteCvtSS2SD_WriteCvtSS2I_WriteIMul_WriteIMul64_WriteLZCNT_WriteFMul64X_WriteFMulX_WritePHAddX_WritePOPCNT_WriteSHDrri_WriteTZCNT_WriteFAdd64Y_WriteFAddY_WriteShuffle256_WriteFShuffle256_WriteFCmp64Y_WriteFCmpY_WriteVarShuffle256_WriteCvtPD2IY_WriteCvtPD2PSY_WriteCvtPS2IY_WriteCvtPS2PDY_WriteFMul64Y_WriteFMulY_WriteFVarShuffle256_WritePHAddY_WriteVecMOVMSKY_WriteVarVecShift_WriteVarVecShiftY_BWWriteResGroup27_BWWriteResGroup34_BWWriteResGroup36_BWWriteResGroup38_BWWriteResGroup37_BWWriteResGroup28_BWWriteResGroup33_BWWriteResGroup35_WriteAESDecEnc_WriteCvtI2PD_WriteCvtI2PS_WriteVecExtractSt_WriteFLDC_WriteFHAdd_WriteFLD0_WriteFLD1_WriteFStoreNTX_WriteMPSAD_WriteVecTest_WriteFRnd_WriteFVarBlendY_WriteCvtI2PDY_WriteCvtI2PSY_WriteCvtPH2PSY_WriteCvtPS2PH_WriteFRndY_WriteFHAddY_WriteFStoreNTY_WriteFVarShuffleY_WriteFTest_JSlowLEA16r_WritePSADBW_WritePSADBWX_WriteCvtPD2IZ_WriteCvtPD2PSZ_WriteCvtPS2IZ_WriteCvtPS2PDZ_WritePSADBWY_WritePSADBWZ_WriteVecTestY_SKXWriteResGroup42_SKXWriteResGroup34_SKXWriteResGroup35_SKXWriteResGroup32_SKXWriteResGroup48_SKXWriteResGroup47_SKXWriteResGroup46_SKXWriteResGroup45_SKXWriteResGroup43_SKXWriteResGroup31_SKXWriteResGroup41_SKXWriteResGroup44_SKXWriteResGroup37_SKXWriteResGroup38_SKXWriteResGroup30_WriteVecALU_WriteCMOV2_WriteFAdd64Z_WriteFAddZ_WriteFCmpZ_WriteCvtI2PSZ_WriteCvtPH2PSZ_WriteCvtPS2PHY_WriteCvtPS2PHZ_WriteFRndZ_WriteFCmp64Z_SBWriteResGroup21_SBWriteResGroup22_SBWriteResGroup23_2_SBWriteResGroup26_2_SBWriteResGroup43_WriteVarVecShiftZ_HWWriteResGroup50_HWWriteResGroup58_HWWriteResGroup60_HWWriteResGroup45_HWWriteResGroup44_HWWriteResGroup51_HWWriteResGroup57_HWWriteResGroup59_WriteFLoadX_WriteFLoadY_WriteLoad_WriteDPPD_WriteDPPS_WriteVecLoadX_WriteLDMXCSR_WriteVecLoadNT_WriteDPPSY_WriteVecLoadY_WriteFMaskedLoadY_WriteVecLoadNTY_WriteVecMaskedLoadY_SKLWriteResGroup40_SKLWriteResGroup32_SKLWriteResGroup33_SKLWriteResGroup30_SKLWriteResGroup46_SKLWriteResGroup45_SKLWriteResGroup44_SKLWriteResGroup43_SKLWriteResGroup41_SKLWriteResGroup29_SKLWriteResGroup39_SKLWriteResGroup42_SKLWriteResGroup35_SKLWriteResGroup36_ZnWriteCVTPS2PDr_WriteVecMoveFromGpr_ZnWriteVCVTPS2PDY_ZnWriteMul32_ZnWriteMul16_ZnWriteMulX64_ZnWriteMulX32
4600
  { 4,  0}, // #23 WritePHAddLd_WriteVecIMulLd_WritePSADBWLd_WriteFMulLd_WriteVarShuffleX_WriteFRcpLd_WriteFRsqrtLd_WriteSHDmrcl_WriteSHDmri_AtomWrite01_4_WriteCvtI2PD_WriteCvtI2PS_WriteCvtI2SD_WriteCvtI2SS_WriteCvtI2PDY_WriteCvtI2PSY_WriteCvtPS2PH_WriteVecShiftY_WriteVecTestY_BWWriteResGroup52_BWWriteResGroup42_BWWriteResGroup44_BWWriteResGroup39_BWWriteResGroup45_BWWriteResGroup41_BWWriteResGroup27_16_BWWriteResGroup42_16_BWWriteResGroup43_BWWriteResGroup40_BWWriteResGroup46_WriteJumpLd_WriteADCLd_WriteALULd_WriteBEXTRLd_WriteCMOV2Ld_WriteCMOVLd_WriteCMPXCHGRMW_WriteLZCNTLd_WriteVecMoveToGpr_WriteVecInsertLd_WriteFMul64X_WritePMULLD_WritePOPCNTLd_WriteShiftLd_WriteSHDrrcl_WriteCvtPS2PHSt_WriteFMul64Y_WriteFTestY_WriteFAdd64X_WriteFAddX_WriteAESDecEnc_WriteFCmp64X_WriteFCmpX_WriteMPSAD_WriteFMulX_WritePHMINPOS_WriteVecIMulX_WriteFRcpX_WriteFRsqrtX_WriteFAdd64Y_WriteFAdd64Z_WriteFAddY_WriteFAddZ_WriteFCmp64Y_WriteFCmpY_WriteFCmpZ_WriteCvtI2PDZ_WriteCvtI2PSZ_WriteFMAY_WriteFMAX_WriteFMAZ_WriteVecIMulY_WriteVecIMulZ_WriteFCmp64Z_WriteMPSADY_WriteFMul64Z_WriteFMulY_WriteFMulZ_WriteVecShiftZ_WriteFRcpY_WriteFRcpZ_WriteFRsqrtY_SKXWriteResGroup64_SKXWriteResGroup54_SKXWriteResGroup55_SKXWriteResGroup31_16i_SKXWriteResGroup52_SKXWriteResGroup52_16_SKXWriteResGroup50_SKXWriteResGroup56_SKXWriteResGroup57_SKXWriteResGroup49_SKXWriteResGroup50z_SKXWriteResGroup51_WriteCvtPD2I_WriteCvtPD2PS_WriteCvtSD2SS_WritePCmpEStrILd_WriteCvtPD2IY_WriteCvtPD2IZ_WriteCvtPD2PSY_WriteCvtPD2PSZ_WriteCvtPS2PHYSt_WriteCvtPS2PHZSt_SBWriteResGroup27_1_SBWriteResGroup29_2_SBWriteResGroup21_16i_SBWriteResGroup27_2_HWWriteResGroup95_HWWriteResGroup73_HWWriteMOVS_HWWriteResGroup62_HWWriteResGroup70_HWWriteResGroup81_HWWriteResGroup72_HWWriteResGroup50_16i_HWWriteResGroup74_HWWriteResGroup74_16_HWWriteResGroup61_HWWriteCMPS_HWWriteResGroup71_HWWriteResGroup82_HWWriteResGroup83_WriteFLogicLd_WriteFBlendLd_WriteFVarBlendLd_WriteCvtPS2I_WriteCvtPS2PD_WriteCvtSD2I_WriteCvtSS2SD_WriteCvtSS2I_WriteVecExtractSt_WriteVecALUXLd_WriteFShuffleLd_WriteVecALULd_WriteShuffleLd_WriteVecLogicLd_WriteMMXMOVMSK_WriteVarShuffleLd_WriteVecShiftLd_WriteFMOVMSK_WriteShuffleXLd_WriteVecLogicXLd_WriteVarBlendLd_WriteBlendLd_WritePHAddXLd_WriteVecMOVMSK_WritePSADBWX_WriteVarShuffleXLd_WriteVecShiftXLd_WriteVecTestLd_WriteShuffleYLd_WriteFLogicYLd_WriteCvtPS2IY_WriteCvtPS2PDY_WritePSADBWY_WriteVecALUYLd_WriteFShuffleYLd_WriteVecLogicYLd_WriteBlendYLd_WriteFVarShuffleYLd_WriteFVarShuffleLd_WritePHAddYLd_WriteVecMOVMSKY_WritePMULLDY_WriteVecShiftImmXLd_WriteVecShiftImmYLd_WriteVarVecShiftLd_WriteVarShuffleYLd_WriteVecShiftYLd_WriteVecTestYLd_WriteFTestYLd_WriteFTestLd_SKLWriteResGroup62_SKLWriteResGroup53_SKLWriteResGroup55_SKLWriteResGroup54_SKLWriteResGroup29_16i_SKLWriteResGroup51_SKLWriteResGroup51_16_SKLWriteResGroup48_SKLWriteResGroup56_SKLWriteResGroup57_SKLWriteResGroup47_WriteAESIMC_WriteAESKeyGen_ZnWriteCVTPD2PSr_ZnWriteCVTSS2SDr_WriteIMul_WriteIMul64_WriteFRnd_WriteFRndY_WriteFMaskedStore_WriteVecMaskedStore_ZnWriteMul64_ZnWriteCVTPS2PIr_ZnWritePUSH_ZnWriteINSERTQ_ZnWriteSHA256RNDS2r
4601
  {71,  0}, // #24 WriteFSqrt80_AtomWrite01_71_WriteFSqrt64X_WriteFSqrt64Y
4602
  {14,  0}, // #25 AtomWriteIMul64I_AtomWrite01_14_WriteAESIMC_WriteFDiv64X_BWWriteResGroup139_1_WriteDPPDLd_WriteDPPS_WriteDPPSY_BWWriteResGroup146_BWWriteResGroup141_BWWriteResGroup144_BWWriteResGroup145_WriteCvtI2SDLd_WriteCvtI2SSLd_WritePCmpEStrI_WritePCmpEStrM_WriteAESIMCLd_SKXWriteResGroup184_WriteFRndLd_SKXWriteResGroup184_1_SKXWriteResGroup187_SKXWriteResGroup190_SKXWriteResGroup188_SKXWriteResGroup189_WriteFDivX_WriteCLMulLd_WriteFSqrtX_WriteMPSADYLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_WriteFRsqrtZLd_HWWriteResGroup142_SKLWriteResGroup166_SKLWriteResGroup166_1_SKLWriteResGroup169_SKLWriteResGroup170
4603
  {11,  0}, // #26 AtomWrite01_11_WriteFDivX_BWWriteResGroup122_1_WritePCmpIStrI_WritePCmpIStrM_WriteFRndLd_WriteSHDmrcl_WriteFSqrtX_WritePSADBWYLd_WriteFMAYLd_WriteVecIMulYLd_WriteFHAddYLd_WriteFRcpY_WriteFRsqrtY_BWWriteResGroup133_BWWriteResGroup123_BWWriteResGroup128_BWWriteResGroup131_BWWriteResGroup132_WriteDPPS_WriteCvtPD2IYLd_WriteCvtPD2PSYLd_WriteCvtSD2ILd_WriteCvtSS2ILd_SKXWriteResGroup159_WriteFMAZLd_WriteFAdd64YLd_WriteFAdd64ZLd_WriteFAddYLd_WriteFAddZLd_WriteFCmp64YLd_WriteFCmpYLd_WriteFCmpZLd_WriteFDivY_WriteVecIMulZLd_WriteFCmp64ZLd_WriteMPSADYLd_WriteFMul64YLd_WriteFMul64ZLd_WriteFMulYLd_WriteFMulZLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_SKXWriteResGroup171_SKXWriteResGroup162_SKXWriteResGroup160_SKXWriteResGroup161_SKXWriteResGroup166_SKXWriteResGroup164_SKXWriteResGroup169_SKXWriteResGroup170_SKXWriteResGroup163_SKXWriteResGroup167_WriteFHAddLd_WriteFMul64XLd_WriteFMulXLd_WriteFMul64Ld_WriteFMulLd_WritePCmpEStrMLd_WritePHMINPOSLd_WriteVecIMulXLd_WritePMULLDLd_WritePSADBWXLd_WriteFRcpXLd_WriteFRcpLd_WriteFRsqrtXLd_WriteFRsqrtLd_WriteCvtPD2IZLd_WriteCvtPD2PSZLd_WriteVecShiftYLd_WriteVecShiftZLd_SBWriteResGroup104_SBWriteResGroup106_WriteCLMul_WriteFMAXLd_WriteVecTestYLd_WriteFRsqrtZ_HWWriteResGroup131_HWWriteFRNDINT_HWWriteResGroup91_2_HWWriteResGroup75_HWWriteResGroup129_HWWriteResGroup130_SKLWriteResGroup145_SKLWriteResGroup156_SKLWriteResGroup151_SKLWriteResGroup149_SKLWriteResGroup146_SKLWriteResGroup147_SKLWriteResGroup152_SKLWriteResGroup150_SKLWriteResGroup154_SKLWriteResGroup155_WriteAESDecEncLd_WriteAESIMCLd_WriteAESKeyGenLd_ZnWriteCVTPD2PSLd_ZnWriteCVTSS2SDLd_ZnWriteFPU3_WriteVecIMulLd_ZnWriteCVTPD2PSYLd_WriteFRndYLd_ZnWriteFILD_ZnWriteSHA256RNDS2Ld
4604
  {13,  0}, // #27 AtomWrite01_13_WriteMPSADYLd_WritePCmpIStrMLd_WriteDPPS_WriteDPPSY_WriteFHAddYLd_SKXWriteResGroup180_SKXWriteResGroup181_SKXWriteResGroup183_WriteAESDecEncLd_WriteMPSADLd_SBWriteResGroup114_WriteFDivX_WriteFRndYLd_WriteFRndZLd_HWWriteResGroup103_WriteBSFLd_WriteBSRLd_SKLWriteResGroup162_SKLWriteResGroup163_ZnWriteSHA1RNDS4Ld
4605
  {17,  0}, // #28 AtomWrite01_17_WriteFDivY_WriteFRcpYLd_WriteFRsqrtYLd_WriteDiv16_WriteIDiv16_WriteDPPSYLd_SKXWriteResGroup201_WriteFSqrtLd_WritePMULLDYLd_WritePMULLDZLd_SKXWriteResGroup202_WritePCmpIStrILd_WritePCmpIStrMLd_WriteCLMulLd_WriteFSqrtXLd_HWWriteResGroup147_HWWriteResGroup132_WritePCmpEStrMLd_SKLWriteResGroup179_SKLWriteResGroup180
4606
  {18,  0}, // #29 AtomWrite01_18_WritePCmpEStrI_BWWriteResGroup160_BWWriteResGroup159_WriteFSqrt64X_WriteFSqrtXLd_WriteFDivYLd_WriteFDivZ_WriteFSqrt64Y_SKXWriteResGroup208_SKXWriteResGroup207_SKXWriteResGroup205_WriteAESIMCLd_WriteDPPSLd_WriteFDivLd_WriteFRcpYLd_WriteFRcpZLd_WriteFRsqrtYLd_WriteFRsqrtZLd_HWWriteResGroup149_SKLWriteResGroup185_SKLWriteResGroup184
4607
  {20,  0}, // #30 AtomWrite01_20_WriteDPPSYLd_BWWriteResGroup167_BWWriteResGroup165_WriteDiv16Ld_WriteIDiv16Ld_WriteAESKeyGen_SKXWriteResGroup216_WriteFSqrtZ_SKXWriteResGroup220_SKXWriteResGroup219_SKXWriteResGroup215_SKXWriteResGroup214_SKXWriteResGroup218_WriteFDivXLd_WriteFDivLd_WriteFSqrtXLd_WriteFSqrtLd_WriteAESIMCLd_WriteFDiv64X_WriteDPPSLd_HWWriteResGroup156_HWWriteResGroup154_SKLWriteResGroup190_SKLWriteResGroup193_SKLWriteResGroup192_SKLWriteResGroup189_WriteFSqrt64X_WriteFSqrt80
4608
  {21,  0}, // #31 AtomWrite01_21_WriteFSqrt64XLd_WriteFSqrt64Ld_WriteFSqrtY_BWWriteResGroup171_BWWriteResGroup169_WriteFSqrtX_WriteFSqrt80_SKXWriteResGroup222_WriteFDivY_WriteFDivZ_WriteDPPSYLd_WriteFSqrtZ_HWWriteResGroup144_WritePCmpEStrILd_SKLWriteResGroup195_WriteDiv16Ld_WriteIDiv16Ld
4609
  {22,  0}, // #32 AtomWrite01_22_BWWriteResGroup172_BWWriteResGroup183_1_SKXWriteResGroup223_SKXWriteResGroup224_2_SKXWriteResGroup225_WriteFDiv64X_WriteFSqrt64XLd_HWWriteResGroup146_HWWriteDiv8_WriteFDivLd_SKLWriteResGroup196_SKLWriteResGroup196_1_WriteFDiv64XLd_WriteFDivXLd_WriteFDiv64Ld_ZnWriteVDIVPDYLd
4610
  {23,  0}, // #33 AtomWrite01_23_WritePCmpEStrILd_WriteFSqrt80_WriteFDiv64Y_WriteFDivYLd_BWWriteResGroup176_BWWriteResGroup183_2_WriteFSqrt64Ld_WriteFDiv64Z_SKXWriteResGroup228_HWWriteIDiv8_HWWriteResGroup151_HWWriteResGroup190_WriteFSqrtLd_SKLWriteResGroup198
4611
  {25,  0}, // #34 AtomWrite01_25_WriteDiv16_WriteDiv32_WriteDiv64_WriteDiv8_WriteIDiv16_WriteIDiv32_WriteIDiv64_WriteIDiv8_BWWriteResGroup183_4_WriteAESKeyGenLd_WritePCmpEStrMLd_WriteFDivZLd_WriteFSqrt64YLd_SKXWriteResGroup233_SKXWriteResGroup224_3_SKXWriteResGroup234_WriteFDiv64Ld_HWWriteResGroup187_HWWriteResGroup192_SKLWriteResGroup202_SKLWriteResGroup196_2
4612
  {26,  0}, // #35 AtomWrite01_26_BWWriteResGroup180_BWWriteResGroup183_5_BWWriteResGroup183_6_WriteFSqrtXLd_WriteFSqrtLd_SKXWriteResGroup238_WriteFDiv64XLd_HWWriteResGroup184
4613
  {29,  0}, // #36 AtomWrite01_29_WriteAESKeyGen_WriteFDiv64YLd_WriteFSqrt64Y_BWWriteResGroup182_BWWriteResGroup185_WriteDiv16Ld_WriteDiv32Ld_WriteDiv64Ld_WriteDiv8Ld_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv64Ld_WriteIDiv8Ld_SKXWriteResGroup242_WriteFDivY_WriteFDivZ_WriteFSqrtY_WriteFSqrtZ
4614
  {30,  0}, // #37 AtomWrite01_30_WriteDiv16Ld_WriteDiv32Ld_WriteDiv64Ld_WriteDiv8Ld_WriteIDiv16Ld_WriteIDiv32Ld_WriteIDiv64Ld_WriteIDiv8Ld_BWWriteResGroup186_WriteFDiv64ZLd_SKXWriteResGroup243_SKXWriteResGroup245_HWWriteResGroup161_HWWriteResGroup164_SKLWriteResGroup208
4615
  {32,  0}, // #38 AtomWrite01_32_WriteFSqrt64XLd_WriteFSqrt64Ld_WriteFSqrt64Z
4616
  {45,  0}, // #39 AtomWrite01_45_WriteFDiv64Y_WriteFDiv64Z_WriteFSqrt64Y_WriteFSqrt64Z_WriteDiv64Ld_WriteIDiv64Ld
4617
  {46,  0}, // #40 AtomWrite01_46_JWriteJVZEROUPPER_SKLWriteResGroup216
4618
  {48,  0}, // #41 AtomWrite01_48
4619
  {55,  0}, // #42 AtomWrite01_55
4620
  {59,  0}, // #43 AtomWrite01_59_WriteFSqrt64YLd
4621
  {63,  0}, // #44 AtomWrite01_63_BWWriteResGroup199_BWWriteResGroup198_SKXWriteResGroup260_SKXWriteResGroup259_SKLWriteResGroup219_SKLWriteResGroup218
4622
  {72,  0}, // #45 AtomWrite01_72_WriteFDiv64XLd_WriteFDiv64YLd
4623
  {74,  0}, // #46 AtomWrite01_74_SKXWriteResGroup262_WriteFSqrt64XLd_WriteFSqrt64YLd
4624
  {77,  0}, // #47 AtomWrite01_77
4625
  {78,  0}, // #48 AtomWrite01_78
4626
  {79,  0}, // #49 AtomWrite01_79
4627
  {92,  0}, // #50 AtomWrite01_92
4628
  {94,  0}, // #51 AtomWrite01_94
4629
  {99,  0}, // #52 AtomWrite01_99
4630
  {121,  0}, // #53 AtomWrite01_121
4631
  {127,  0}, // #54 AtomWrite01_127
4632
  {140,  0}, // #55 AtomWrite01_140_SKXWriteResGroup267
4633
  {141,  0}, // #56 AtomWrite01_141
4634
  {146,  0}, // #57 AtomWrite01_146
4635
  {147,  0}, // #58 AtomWrite01_147
4636
  {168,  0}, // #59 AtomWrite01_168
4637
  {174,  0}, // #60 AtomWrite01_174
4638
  {183,  0}, // #61 AtomWrite01_183
4639
  {202,  0}, // #62 AtomWrite01_202
4640
  { 6,  0}, // #63 WriteALULd_WriteShiftLd_WriteIMulLd_WriteIMul64Ld
4641
  { 1,  0}, // #64 WriteRMW_WriteIMulH
4642
  {19,  0}, // #65 WriteAESIMCLd_WriteFDiv64XLd_BWWriteResGroup161_WriteDPPSLd_WritePCmpEStrM_WriteFDivX_WritePCmpEStrILd_WritePCmpEStrMLd_SKXWriteResGroup209_WriteFSqrtYLd_SKXWriteResGroup211_WriteDPPSYLd_WriteFDivXLd_HWWriteResGroup135_HWWriteResGroup143_HWWriteFPREM_SKLWriteResGroup186_WriteDiv8Ld_WriteIDiv8Ld_ZnWriteVDIVPSYLd
4643
  {33,  0}, // #66 WriteAESKeyGenLd
4644
  {31,  0}, // #67 WriteEMMS_SBWriteResGroup130_HWWriteResGroup163_HWWriteResGroup165
4645
  { 8,  0}, // #68 WriteIMulLd_WriteIMul64Ld
4646
  { 3,  0}, // #69 WriteIMulH_WriteIMul64
4647
  { 3,  0}, // #70 WriteIMul_WriteIMulH
4648
  { 3,  0}, // #71 WriteIMulH
4649
  {24,  0}, // #72 WritePCmpEStrMLd_BWWriteResGroup177_BWWriteResGroup183_3_WriteFDiv64XLd_WriteFDivXLd_WriteFDivLd_WriteFDiv64Ld_WritePCmpEStrILd_WriteFSqrt64XLd_WriteFSqrt80_HWWriteResGroup162_HWWriteResGroup185
4650
  {35,  0}, // #73 WriteFSqrt64YLd_BWWriteResGroup194_BWWriteResGroup193_WriteFSqrt80_SKXWriteResGroup248_SKXWriteResGroup247_WriteFDiv64Y_WriteFDiv64Z_WriteFSqrt64Z_HWWriteResGroup170_SKLWriteResGroup210_SKLWriteResGroup209_WriteFSqrtYLd
4651
  {27,  0}, // #74 WriteFSqrtYLd_BWWriteResGroup183_7_WriteFSqrt64X_WriteFSqrtZLd_SKXWriteResGroup239_SKXWriteResGroup240_WriteFSqrt64XLd_WriteFSqrt64Ld_HWWriteFPREM1_HWWriteResGroup155_HWWriteResGroup188_HWWriteResGroup189_SKLWriteResGroup206_WriteFSqrtXLd_WriteFSqrtLd
4652
  {42,  0}, // #75 BWWriteResGroup196_WriteFSqrtY_SKXWriteResGroup254_SKXWriteResGroup255_WriteFDiv64YLd_WriteFDiv64ZLd_WriteFSqrt64YLd_WriteFSqrt64ZLd_HWWriteResGroup176_WriteFDivXLd_WriteFDivYLd_SKLWriteResGroup214_SKLWriteResGroup215
4653
  {75,  0}, // #76 BWWriteResGroup200_SKXWriteResGroup263_HWWriteResGroup180_HWWriteFSCALE_SKLWriteResGroup220
4654
  {60,  0}, // #77 BWWriteResGroup197
4655
  {80,  0}, // #78 BWWriteResGroup201
4656
  {115,  0}, // #79 BWWriteResGroup202_HWWriteResGroup183
4657
  { 4,  0}, // #80 WriteALULd_WriteShiftLd
4658
  { 1,  0}, // #81 WriteRMW
4659
  {28,  0}, // #82 WriteDiv32Ld_WriteIDiv32Ld_SKXWriteResGroup241_WriteFDiv64XLd_WriteFDiv64Ld_WriteFDivYLd_WriteFDivZLd_WriteFSqrtYLd_WriteFSqrtZLd_HWWriteResGroup186_HWWriteResGroup191_SKLWriteResGroup207
4660
  {44,  0}, // #83 WriteDiv64Ld_WriteIDiv64Ld_SKXWriteResGroup256_WriteFSqrtXLd_WriteFSqrtYLd
4661
  {41,  0}, // #84 WriteDiv64_WriteIDiv64_SKXWriteResGroup253_HWWriteResGroup175_WriteFSqrtX_WriteFSqrtY_SKLWriteResGroup213
4662
  { 6,  0}, // #85 WriteIMulLd_WriteIMul64
4663
  { 6,  0}, // #86 WriteIMulH
4664
  { 3,  0}, // #87 WriteIMul
4665
  { 6,  0}, // #88 WriteIMulH
4666
  { 9,  0}, // #89 WriteIMul64Ld
4667
  { 6,  0}, // #90 WriteIMulH
4668
  {43,  0}, // #91 WriteFDiv64YLd_WriteFDivYLd
4669
  {38,  0}, // #92 WriteFDiv64Y_WriteFDivY_WriteFSqrt64Ld
4670
  {54,  0}, // #93 WriteFSqrt64Y
4671
  {47,  0}, // #94 WriteFSqrtYLd_HWWriteFBLD_WriteFSqrt64YLd
4672
  {90,  0}, // #95 JWriteJVZEROALL
4673
  {39,  0}, // #96 WriteFSqrt64ZLd_WriteFDivX_WriteFDivY
4674
  {37,  0}, // #97 SKXWriteResGroup250_SKXWriteResGroup249_WriteFDiv64Ld_SKLWriteResGroup211
4675
  {40,  0}, // #98 SKXWriteResGroup252_WriteFSqrt80_SKLWriteResGroup212_WriteFSqrt64Y
4676
  {76,  0}, // #99 SKXWriteResGroup264_SKLWriteResGroup221
4677
  {102,  0}, // #100 SKXWriteResGroup265_SKLWriteResGroup222
4678
  {106,  0}, // #101 SKXWriteResGroup266_SKLWriteResGroup223
4679
  {67,  0}, // #102 SKXWriteResGroup261
4680
  {52,  0}, // #103 WriteFDiv64YLd_WriteFDiv64ZLd_WriteFSqrt64YLd_WriteFSqrt64ZLd
4681
  {36,  0}, // #104 WriteFDivYLd_WriteFDivZLd_WriteFSqrtYLd_WriteFSqrtZLd_HWWriteResGroup171
4682
  {64,  0}, // #105 HWWriteResGroup179_HWWriteResGroup178
4683
  {61,  0}, // #106 HWWriteResGroup177
4684
  {98,  0}, // #107 HWWriteResGroup181
4685
  {112,  0}, // #108 HWWriteResGroup182
4686
  {69,  0}, // #109 WriteFDiv64X_WriteFDiv64Y
4687
  { 3,  0}, // #110 WriteIMul_WriteIMul64
4688
  { 1,  0}, // #111 WriteIMulH
4689
  { 5,  0}, // #112 WriteALULd_WriteShiftLd
4690
  { 1,  0}, // #113 WriteRMW
4691
  { 8,  0}, // #114 WriteIMulLd_WriteIMul64Ld
4692
  { 4,  0}, // #115 WriteIMulH_WriteIMul64
4693
  { 4,  0}, // #116 WriteIMul_WriteIMulH
4694
  { 4,  0}, // #117 WriteIMulH
4695
  {107,  0} // #118 WriteFShuffle256Ld_WriteFVarShuffle256Ld
4696
}; // X86WriteLatencyTable
4697
4698
// {UseIdx, WriteResourceID, Cycles}
4699
extern const llvm::MCReadAdvanceEntry X86ReadAdvanceTable[] = {
4700
  {0,  0,  0}, // Invalid
4701
  {0,  0,  3}, // #1
4702
  {5,  0,  3}, // #2
4703
  {5,  0,  3}, // #3
4704
  {6,  0,  3}, // #4
4705
  {0,  0,  3}, // #5
4706
  {6,  0,  3}, // #6
4707
  {0,  0,  3}, // #7
4708
  {1,  0,  3}, // #8
4709
  {0,  0,  5}, // #9
4710
  {5,  0,  5}, // #10
4711
  {5,  0,  5}, // #11
4712
  {6,  0,  5}, // #12
4713
  {0,  0,  5}, // #13
4714
  {6,  0,  5}, // #14
4715
  {0,  0,  5}, // #15
4716
  {1,  0,  5}, // #16
4717
  {0,  0,  4}, // #17
4718
  {5,  0,  4}, // #18
4719
  {5,  0,  4}, // #19
4720
  {6,  0,  4}, // #20
4721
  {0,  0,  4}, // #21
4722
  {6,  0,  4}, // #22
4723
  {0,  0,  4}, // #23
4724
  {1,  0,  4} // #24
4725
}; // X86ReadAdvanceTable
4726
4727
// {Name, NumMicroOps, BeginGroup, EndGroup, WriteProcResIdx,#, WriteLatencyIdx,#, ReadAdvanceIdx,#}
4728
static const llvm::MCSchedClassDesc AtomModelSchedClasses[] = {
4729
  {DBGFIELD("InvalidSchedClass")  16383, false, false,  0, 0,  0, 0,  0, 0},
4730
  {DBGFIELD("WriteZero")          1, false, false,  0, 0,  1, 1,  0, 0}, // #1
4731
  {DBGFIELD("WriteVecALU")        1, false, false,  1, 1,  1, 1,  0, 0}, // #2
4732
  {DBGFIELD("WriteALULd_WriteRMW") 2, false, false,  2, 2,  2, 2,  0, 0}, // #3
4733
  {DBGFIELD("WriteJumpLd")        1, false, false,  4, 2,  1, 1,  0, 0}, // #4
4734
  {DBGFIELD("WriteALU")           1, false, false,  1, 1,  1, 1,  0, 0}, // #5
4735
  {DBGFIELD("WriteMove")          1, false, false,  1, 1,  1, 1,  0, 0}, // #6
4736
  {DBGFIELD("WriteJump")          1, false, false,  4, 2,  1, 1,  0, 0}, // #7
4737
  {DBGFIELD("WriteSystem")        1, false, false,  1, 1,  4, 1,  0, 0}, // #8
4738
  {DBGFIELD("WriteFStoreX")       1, false, false,  6, 2,  1, 1,  0, 0}, // #9
4739
  {DBGFIELD("WriteFLoadX")        1, false, false,  6, 2,  1, 1,  0, 0}, // #10
4740
  {DBGFIELD("WriteFStoreY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #11
4741
  {DBGFIELD("WriteFLoadY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #12
4742
  {DBGFIELD("WriteMicrocoded")    1, false, false,  1, 1,  4, 1,  0, 0}, // #13
4743
  {DBGFIELD("WriteFSign")         1, false, false,  4, 2,  1, 1,  0, 0}, // #14
4744
  {DBGFIELD("WriteADC")           1, false, false,  1, 1,  1, 1,  0, 0}, // #15
4745
  {DBGFIELD("WriteADCRMW")        1, false, false,  6, 2,  1, 1,  0, 0}, // #16
4746
  {DBGFIELD("WriteADCLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #17
4747
  {DBGFIELD("WriteALURMW")        1, false, false,  6, 2,  1, 1,  0, 0}, // #18
4748
  {DBGFIELD("WriteALULd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #19
4749
  {DBGFIELD("WriteFAdd64XLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #20
4750
  {DBGFIELD("WriteFAdd64X")       1, false, false,  9, 1,  6, 1,  0, 0}, // #21
4751
  {DBGFIELD("WriteFAddXLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #22
4752
  {DBGFIELD("WriteFAddX")         1, false, false, 10, 2,  7, 1,  0, 0}, // #23
4753
  {DBGFIELD("WriteFAdd64Ld_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #24
4754
  {DBGFIELD("WriteFAdd64")        1, false, false, 10, 2,  7, 1,  0, 0}, // #25
4755
  {DBGFIELD("WriteFAddLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #26
4756
  {DBGFIELD("WriteFAdd")          1, false, false, 10, 2,  7, 1,  0, 0}, // #27
4757
  {DBGFIELD("WriteFAddLd")        1, false, false, 10, 2,  7, 1,  0, 0}, // #28
4758
  {DBGFIELD("WriteAESDecEncLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #29
4759
  {DBGFIELD("WriteAESDecEnc")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #30
4760
  {DBGFIELD("WriteAESIMCLd")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #31
4761
  {DBGFIELD("WriteAESIMC")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #32
4762
  {DBGFIELD("WriteAESKeyGenLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #33
4763
  {DBGFIELD("WriteAESKeyGen")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #34
4764
  {DBGFIELD("WriteFLogicLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #35
4765
  {DBGFIELD("WriteFLogic")        1, false, false,  1, 1,  1, 1,  0, 0}, // #36
4766
  {DBGFIELD("WriteBEXTRLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #37
4767
  {DBGFIELD("WriteBEXTR")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #38
4768
  {DBGFIELD("WriteBEXTRLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #39
4769
  {DBGFIELD("WriteALULd")         1, false, false,  6, 2,  1, 1,  0, 0}, // #40
4770
  {DBGFIELD("WriteFBlendLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #41
4771
  {DBGFIELD("WriteFBlend")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #42
4772
  {DBGFIELD("WriteFVarBlendLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #43
4773
  {DBGFIELD("WriteFVarBlend")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #44
4774
  {DBGFIELD("WriteBLSLd")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #45
4775
  {DBGFIELD("WriteBLS")           16383, false, false,  0, 0,  0, 0,  0, 0}, // #46
4776
  {DBGFIELD("WriteBSFLd")         1, false, false, 12, 1,  8, 1,  0, 0}, // #47
4777
  {DBGFIELD("WriteBSF")           1, false, false, 12, 1,  8, 1,  0, 0}, // #48
4778
  {DBGFIELD("WriteBSRLd")         1, false, false, 12, 1,  8, 1,  0, 0}, // #49
4779
  {DBGFIELD("WriteBSR")           1, false, false, 12, 1,  8, 1,  0, 0}, // #50
4780
  {DBGFIELD("WriteBSWAP32")       1, false, false,  6, 2,  1, 1,  0, 0}, // #51
4781
  {DBGFIELD("WriteBSWAP64")       1, false, false,  6, 2,  1, 1,  0, 0}, // #52
4782
  {DBGFIELD("WriteBitTest")       1, false, false,  1, 1,  1, 1,  0, 0}, // #53
4783
  {DBGFIELD("WriteBZHILd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #54
4784
  {DBGFIELD("WriteBZHI")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #55
4785
  {DBGFIELD("WriteLoad")          1, false, false,  6, 2,  1, 1,  0, 0}, // #56
4786
  {DBGFIELD("WriteCMOV2Ld_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #57
4787
  {DBGFIELD("WriteCMOV2")         1, false, false,  1, 1,  1, 1,  0, 0}, // #58
4788
  {DBGFIELD("WriteCMOVLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #59
4789
  {DBGFIELD("WriteCMOV")          1, false, false,  1, 1,  1, 1,  0, 0}, // #60
4790
  {DBGFIELD("WriteFCMOV")         1, false, false, 13, 1,  9, 1,  0, 0}, // #61
4791
  {DBGFIELD("WriteALULd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  2, 1}, // #62
4792
  {DBGFIELD("WriteFCmp64XLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #63
4793
  {DBGFIELD("WriteFCmp64X")       1, false, false,  9, 1,  6, 1,  0, 0}, // #64
4794
  {DBGFIELD("WriteFCmpXLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #65
4795
  {DBGFIELD("WriteFCmpX")         1, false, false, 10, 2,  7, 1,  0, 0}, // #66
4796
  {DBGFIELD("WriteFCmp64Ld_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #67
4797
  {DBGFIELD("WriteFCmp64")        1, false, false, 10, 2,  7, 1,  0, 0}, // #68
4798
  {DBGFIELD("WriteFCmpLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #69
4799
  {DBGFIELD("WriteFCmp")          1, false, false, 10, 2,  7, 1,  0, 0}, // #70
4800
  {DBGFIELD("WriteCMPXCHGRMW")    1, false, false, 14, 2,  1, 1,  0, 0}, // #71
4801
  {DBGFIELD("WriteCMPXCHG")       1, false, false, 16, 1, 10, 1,  0, 0}, // #72
4802
  {DBGFIELD("WriteFComLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #73
4803
  {DBGFIELD("WriteFCom")          1, false, false, 10, 2,  7, 1,  0, 0}, // #74
4804
  {DBGFIELD("WriteCRC32Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #75
4805
  {DBGFIELD("WriteCRC32")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #76
4806
  {DBGFIELD("WriteNop")           1, false, false,  1, 1,  1, 1,  0, 0}, // #77
4807
  {DBGFIELD("WriteCvtI2PDLd")     1, false, false, 17, 1, 11, 1,  0, 0}, // #78
4808
  {DBGFIELD("WriteCvtI2PD")       1, false, false,  8, 1,  5, 1,  0, 0}, // #79
4809
  {DBGFIELD("WriteCvtI2PSLd")     1, false, false,  8, 1,  5, 1,  0, 0}, // #80
4810
  {DBGFIELD("WriteCvtI2PS")       1, false, false,  9, 1,  6, 1,  0, 0}, // #81
4811
  {DBGFIELD("WriteCvtPD2ILd")     1, false, false, 17, 1, 11, 1,  0, 0}, // #82
4812
  {DBGFIELD("WriteCvtPD2I")       1, false, false,  8, 1,  5, 1,  0, 0}, // #83
4813
  {DBGFIELD("WriteCvtPD2PSLd")    1, false, false, 17, 1, 11, 1,  0, 0}, // #84
4814
  {DBGFIELD("WriteCvtPD2PS")      1, false, false,  8, 1,  5, 1,  0, 0}, // #85
4815
  {DBGFIELD("WriteCvtPS2ILd")     1, false, false,  8, 1,  5, 1,  0, 0}, // #86
4816
  {DBGFIELD("WriteCvtPS2I")       1, false, false,  9, 1,  6, 1,  0, 0}, // #87
4817
  {DBGFIELD("WriteCvtPS2PDLd")    1, false, false, 17, 1, 11, 1,  0, 0}, // #88
4818
  {DBGFIELD("WriteCvtPS2PD")      1, false, false,  8, 1,  5, 1,  0, 0}, // #89
4819
  {DBGFIELD("WriteCvtSD2ILd")     1, false, false, 13, 1,  9, 1,  0, 0}, // #90
4820
  {DBGFIELD("WriteCvtSD2I")       1, false, false, 17, 1, 11, 1,  0, 0}, // #91
4821
  {DBGFIELD("WriteCvtSD2SSLd")    1, false, false,  8, 1,  5, 1,  0, 0}, // #92
4822
  {DBGFIELD("WriteCvtSD2SSLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #93
4823
  {DBGFIELD("WriteCvtSD2SS")      1, false, false,  9, 1,  6, 1,  0, 0}, // #94
4824
  {DBGFIELD("WriteCvtI2SDLd")     1, false, false,  8, 1,  5, 1,  0, 0}, // #95
4825
  {DBGFIELD("WriteCvtI2SDLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #96
4826
  {DBGFIELD("WriteCvtI2SD")       1, false, false,  9, 1,  6, 1,  0, 0}, // #97
4827
  {DBGFIELD("WriteCvtI2SSLd")     1, false, false,  8, 1,  5, 1,  0, 0}, // #98
4828
  {DBGFIELD("WriteCvtI2SSLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #99
4829
  {DBGFIELD("WriteCvtI2SS")       1, false, false,  9, 1,  6, 1,  0, 0}, // #100
4830
  {DBGFIELD("WriteCvtSS2SDLd")    1, false, false,  8, 1,  5, 1,  0, 0}, // #101
4831
  {DBGFIELD("WriteCvtSS2SDLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #102
4832
  {DBGFIELD("WriteCvtSS2SD")      1, false, false,  9, 1,  6, 1,  0, 0}, // #103
4833
  {DBGFIELD("WriteCvtSS2ILd")     1, false, false, 13, 1,  9, 1,  0, 0}, // #104
4834
  {DBGFIELD("WriteCvtSS2I")       1, false, false, 17, 1, 11, 1,  0, 0}, // #105
4835
  {DBGFIELD("WriteDiv16Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 18, 1, 12, 1,  3, 2}, // #106
4836
  {DBGFIELD("WriteDiv16")         1, false, false, 18, 1, 12, 1,  0, 0}, // #107
4837
  {DBGFIELD("WriteDiv32Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 18, 1, 12, 1,  3, 2}, // #108
4838
  {DBGFIELD("WriteDiv32")         1, false, false, 18, 1, 12, 1,  0, 0}, // #109
4839
  {DBGFIELD("WriteDiv64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 19, 1, 13, 1,  3, 2}, // #110
4840
  {DBGFIELD("WriteDiv64")         1, false, false, 19, 1, 13, 1,  0, 0}, // #111
4841
  {DBGFIELD("WriteDiv8Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 20, 1, 14, 1,  3, 2}, // #112
4842
  {DBGFIELD("WriteDiv8")          1, false, false, 18, 1, 12, 1,  0, 0}, // #113
4843
  {DBGFIELD("WriteFDiv64XLd_ReadAfterLd") 1, false, false, 21, 1, 15, 1,  1, 1}, // #114
4844
  {DBGFIELD("WriteFDiv64X")       1, false, false, 21, 1, 15, 1,  0, 0}, // #115
4845
  {DBGFIELD("WriteFDivXLd_ReadAfterLd") 1, false, false, 22, 1, 16, 1,  1, 1}, // #116
4846
  {DBGFIELD("WriteFDivX")         1, false, false, 22, 1, 16, 1,  0, 0}, // #117
4847
  {DBGFIELD("WriteFDivLd")        1, false, false, 23, 1, 17, 1,  0, 0}, // #118
4848
  {DBGFIELD("WriteFDiv")          1, false, false, 23, 1, 17, 1,  0, 0}, // #119
4849
  {DBGFIELD("WriteFDiv64Ld_ReadAfterLd") 1, false, false, 24, 1, 18, 1,  1, 1}, // #120
4850
  {DBGFIELD("WriteFDiv64")        1, false, false, 24, 1, 18, 1,  0, 0}, // #121
4851
  {DBGFIELD("WriteFDivLd_ReadAfterLd") 1, false, false, 23, 1, 17, 1,  1, 1}, // #122
4852
  {DBGFIELD("WriteDPPDLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #123
4853
  {DBGFIELD("WriteDPPD")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #124
4854
  {DBGFIELD("WriteDPPSLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #125
4855
  {DBGFIELD("WriteDPPS")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #126
4856
  {DBGFIELD("WriteVecExtractSt")  1, false, false,  6, 2,  1, 1,  0, 0}, // #127
4857
  {DBGFIELD("WriteVecExtract")    1, false, false,  6, 2,  1, 1,  0, 0}, // #128
4858
  {DBGFIELD("WriteVecALUX")       1, false, false,  1, 1,  1, 1,  0, 0}, // #129
4859
  {DBGFIELD("WriteFComLd")        1, false, false, 10, 2,  7, 1,  0, 0}, // #130
4860
  {DBGFIELD("WriteEMMS")          1, false, false, 11, 1,  7, 1,  0, 0}, // #131
4861
  {DBGFIELD("WriteFLDC")          1, false, false, 25, 1, 19, 1,  0, 0}, // #132
4862
  {DBGFIELD("WriteVecALUXLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #133
4863
  {DBGFIELD("WriteFHAddLd_ReadAfterLd") 1, false, false, 13, 1,  9, 1,  1, 1}, // #134
4864
  {DBGFIELD("WriteFHAdd")         1, false, false, 17, 1, 11, 1,  0, 0}, // #135
4865
  {DBGFIELD("WriteIDiv16Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 24, 1, 18, 1,  3, 2}, // #136
4866
  {DBGFIELD("WriteIDiv16")        1, false, false, 24, 1, 18, 1,  0, 0}, // #137
4867
  {DBGFIELD("WriteIDiv32Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 24, 1, 18, 1,  3, 2}, // #138
4868
  {DBGFIELD("WriteIDiv32")        1, false, false, 24, 1, 18, 1,  0, 0}, // #139
4869
  {DBGFIELD("WriteIDiv64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 19, 1, 13, 1,  3, 2}, // #140
4870
  {DBGFIELD("WriteIDiv64")        1, false, false, 19, 1, 13, 1,  0, 0}, // #141
4871
  {DBGFIELD("WriteIDiv8Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 24, 1, 18, 1,  3, 2}, // #142
4872
  {DBGFIELD("WriteIDiv8")         1, false, false, 24, 1, 18, 1,  0, 0}, // #143
4873
  {DBGFIELD("WriteIMulLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  3, 2}, // #144
4874
  {DBGFIELD("WriteIMul")          1, false, false,  8, 1,  5, 1,  0, 0}, // #145
4875
  {DBGFIELD("WriteIMulLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #146
4876
  {DBGFIELD("WriteIMulLd")        1, false, false,  8, 1,  5, 1,  0, 0}, // #147
4877
  {DBGFIELD("WriteIMul64Ld_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd_ReadAfterLd") 1, false, false, 26, 1, 20, 1,  3, 2}, // #148
4878
  {DBGFIELD("WriteIMul64")        1, false, false, 26, 1, 20, 1,  0, 0}, // #149
4879
  {DBGFIELD("WriteIMul64Ld_ReadAfterLd") 1, false, false, 26, 1, 20, 1,  1, 1}, // #150
4880
  {DBGFIELD("WriteIMul64Ld")      1, false, false, 26, 1, 20, 1,  0, 0}, // #151
4881
  {DBGFIELD("WriteFShuffleLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #152
4882
  {DBGFIELD("WriteFShuffle")      1, false, false,  6, 2,  1, 1,  0, 0}, // #153
4883
  {DBGFIELD("WriteStore")         1, false, false,  6, 2,  1, 1,  0, 0}, // #154
4884
  {DBGFIELD("WriteVecLogicX")     1, false, false,  1, 1,  1, 1,  0, 0}, // #155
4885
  {DBGFIELD("WriteShuffle")       1, false, false,  6, 2,  1, 1,  0, 0}, // #156
4886
  {DBGFIELD("WriteLAHFSAHF")      1, false, false,  3, 1, 21, 1,  0, 0}, // #157
4887
  {DBGFIELD("WriteVecLoadX")      1, false, false,  6, 2,  1, 1,  0, 0}, // #158
4888
  {DBGFIELD("WriteLDMXCSR")       1, false, false, 11, 1,  7, 1,  0, 0}, // #159
4889
  {DBGFIELD("WriteFLD0")          1, false, false,  1, 1,  1, 1,  0, 0}, // #160
4890
  {DBGFIELD("WriteFLD1")          1, false, false,  9, 1,  6, 1,  0, 0}, // #161
4891
  {DBGFIELD("WriteLEA")           1, false, false,  4, 2,  1, 1,  0, 0}, // #162
4892
  {DBGFIELD("WriteFence")         1, false, false,  6, 2,  1, 1,  0, 0}, // #163
4893
  {DBGFIELD("WriteLZCNTLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #164
4894
  {DBGFIELD("WriteLZCNT")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #165
4895
  {DBGFIELD("WriteVecStoreX")     1, false, false,  6, 2,  1, 1,  0, 0}, // #166
4896
  {DBGFIELD("WriteVecStore")      1, false, false,  6, 2,  1, 1,  0, 0}, // #167
4897
  {DBGFIELD("WriteVecMoveToGpr")  1, false, false, 27, 2, 22, 1,  0, 0}, // #168
4898
  {DBGFIELD("WriteVecLoad")       1, false, false,  6, 2,  1, 1,  0, 0}, // #169
4899
  {DBGFIELD("WriteVecMoveFromGpr") 1, false, false,  6, 2,  1, 1,  0, 0}, // #170
4900
  {DBGFIELD("WriteVecMoveX")      1, false, false,  1, 1,  1, 1,  0, 0}, // #171
4901
  {DBGFIELD("WriteVecStoreNT")    1, false, false,  6, 2,  1, 1,  0, 0}, // #172
4902
  {DBGFIELD("WriteVecMove")       1, false, false,  6, 2,  1, 1,  0, 0}, // #173
4903
  {DBGFIELD("WriteVecALULd")      1, false, false,  6, 2,  1, 1,  0, 0}, // #174
4904
  {DBGFIELD("WriteShuffleLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #175
4905
  {DBGFIELD("WriteVecALULd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #176
4906
  {DBGFIELD("WriteVecLogicLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #177
4907
  {DBGFIELD("WriteVecLogic")      1, false, false,  1, 1,  1, 1,  0, 0}, // #178
4908
  {DBGFIELD("WritePHAddLd_ReadAfterLd") 1, false, false, 29, 1, 23, 1,  1, 1}, // #179
4909
  {DBGFIELD("WritePHAdd")         1, false, false, 28, 1, 22, 1,  0, 0}, // #180
4910
  {DBGFIELD("WriteVecInsertLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #181
4911
  {DBGFIELD("WriteVecInsert")     1, false, false,  6, 2,  1, 1,  0, 0}, // #182
4912
  {DBGFIELD("WriteVecIMulLd_ReadAfterLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #183
4913
  {DBGFIELD("WriteVecIMul")       1, false, false, 30, 2, 23, 1,  0, 0}, // #184
4914
  {DBGFIELD("WriteMMXMOVMSK")     1, false, false, 27, 2, 22, 1,  0, 0}, // #185
4915
  {DBGFIELD("WritePSADBWLd_ReadAfterLd") 1, false, false, 29, 1, 23, 1,  1, 1}, // #186
4916
  {DBGFIELD("WritePSADBW")        1, false, false, 29, 1, 23, 1,  0, 0}, // #187
4917
  {DBGFIELD("WriteVarShuffleLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #188
4918
  {DBGFIELD("WriteVarShuffle")    1, false, false,  6, 2,  1, 1,  0, 0}, // #189
4919
  {DBGFIELD("WriteShuffleLd")     1, false, false,  6, 2,  1, 1,  0, 0}, // #190
4920
  {DBGFIELD("WriteVecShiftImm")   1, false, false,  1, 1,  1, 1,  0, 0}, // #191
4921
  {DBGFIELD("WriteVecShiftLd_ReadAfterLd") 1, false, false, 28, 1, 22, 1,  1, 1}, // #192
4922
  {DBGFIELD("WriteVecShift")      1, false, false,  3, 1, 21, 1,  0, 0}, // #193
4923
  {DBGFIELD("WriteFMoveX")        1, false, false,  1, 1,  1, 1,  0, 0}, // #194
4924
  {DBGFIELD("WriteFShuffleLd")    1, false, false,  6, 2,  1, 1,  0, 0}, // #195
4925
  {DBGFIELD("WriteFStore")        1, false, false,  6, 2,  1, 1,  0, 0}, // #196
4926
  {DBGFIELD("WriteFMOVMSK")       1, false, false, 27, 2, 22, 1,  0, 0}, // #197
4927
  {DBGFIELD("WriteVecLoadNT")     1, false, false,  6, 2,  1, 1,  0, 0}, // #198
4928
  {DBGFIELD("WriteStoreNT")       1, false, false,  6, 2,  1, 1,  0, 0}, // #199
4929
  {DBGFIELD("WriteFStoreNTX")     1, false, false,  6, 2,  1, 1,  0, 0}, // #200
4930
  {DBGFIELD("WriteFStoreNT")      1, false, false,  6, 2,  1, 1,  0, 0}, // #201
4931
  {DBGFIELD("WriteFLoad")         1, false, false,  6, 2,  1, 1,  0, 0}, // #202
4932
  {DBGFIELD("WriteMPSADLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #203
4933
  {DBGFIELD("WriteMPSAD")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #204
4934
  {DBGFIELD("WriteFMul64XLd_ReadAfterLd") 1, false, false, 25, 1, 19, 1,  1, 1}, // #205
4935
  {DBGFIELD("WriteFMul64X")       1, false, false, 13, 1,  9, 1,  0, 0}, // #206
4936
  {DBGFIELD("WriteFMulXLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #207
4937
  {DBGFIELD("WriteFMulX")         1, false, false, 10, 2,  7, 1,  0, 0}, // #208
4938
  {DBGFIELD("WriteFMul64Ld_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #209
4939
  {DBGFIELD("WriteFMul64")        1, false, false, 10, 2,  7, 1,  0, 0}, // #210
4940
  {DBGFIELD("WriteFMulLd_ReadAfterLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #211
4941
  {DBGFIELD("WriteFMul")          1, false, false, 30, 2, 23, 1,  0, 0}, // #212
4942
  {DBGFIELD("WriteIMulLd_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #213
4943
  {DBGFIELD("WriteIMul_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #214
4944
  {DBGFIELD("WriteIMul64Ld_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #215
4945
  {DBGFIELD("WriteIMul64_WriteIMulH") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #216
4946
  {DBGFIELD("WriteFMulLd")        1, false, false, 30, 2, 23, 1,  0, 0}, // #217
4947
  {DBGFIELD("WriteVecALUXLd")     1, false, false,  6, 2,  1, 1,  0, 0}, // #218
4948
  {DBGFIELD("WriteShuffleXLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #219
4949
  {DBGFIELD("WriteShuffleX")      1, false, false,  6, 2,  1, 1,  0, 0}, // #220
4950
  {DBGFIELD("WriteVecLogicXLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #221
4951
  {DBGFIELD("WriteVarBlendLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #222
4952
  {DBGFIELD("WriteVarBlend")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #223
4953
  {DBGFIELD("WriteBlendLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #224
4954
  {DBGFIELD("WriteBlend")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #225
4955
  {DBGFIELD("WriteCLMulLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #226
4956
  {DBGFIELD("WriteCLMul")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #227
4957
  {DBGFIELD("WritePCmpEStrILd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #228
4958
  {DBGFIELD("WritePCmpEStrI")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #229
4959
  {DBGFIELD("WritePCmpEStrMLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #230
4960
  {DBGFIELD("WritePCmpEStrM")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #231
4961
  {DBGFIELD("WritePCmpIStrILd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #232
4962
  {DBGFIELD("WritePCmpIStrI")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #233
4963
  {DBGFIELD("WritePCmpIStrMLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #234
4964
  {DBGFIELD("WritePCmpIStrM")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #235
4965
  {DBGFIELD("WriteCvtPS2ILd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #236
4966
  {DBGFIELD("WritePHAddXLd_ReadAfterLd") 1, false, false, 17, 1, 11, 1,  1, 1}, // #237
4967
  {DBGFIELD("WritePHAddX")        1, false, false,  8, 1,  5, 1,  0, 0}, // #238
4968
  {DBGFIELD("WritePHMINPOSLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #239
4969
  {DBGFIELD("WritePHMINPOS")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #240
4970
  {DBGFIELD("WriteCvtI2PSLd_ReadAfterLd") 1, false, false,  8, 1,  5, 1,  1, 1}, // #241
4971
  {DBGFIELD("WriteVecIMulXLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #242
4972
  {DBGFIELD("WriteVecIMulX")      1, false, false, 10, 2,  7, 1,  0, 0}, // #243
4973
  {DBGFIELD("WriteVecMOVMSK")     1, false, false, 27, 2, 22, 1,  0, 0}, // #244
4974
  {DBGFIELD("WriteShuffleXLd")    1, false, false,  6, 2,  1, 1,  0, 0}, // #245
4975
  {DBGFIELD("WritePMULLDLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #246
4976
  {DBGFIELD("WritePMULLD")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #247
4977
  {DBGFIELD("WriteRMW")           1, false, false,  6, 2,  1, 1,  0, 0}, // #248
4978
  {DBGFIELD("WritePOPCNTLd")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #249
4979
  {DBGFIELD("WritePOPCNT")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #250
4980
  {DBGFIELD("WritePSADBWXLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #251
4981
  {DBGFIELD("WritePSADBWX")       1, false, false, 10, 2,  7, 1,  0, 0}, // #252
4982
  {DBGFIELD("WriteVarShuffleXLd_ReadAfterLd") 1, false, false, 11, 1,  7, 1,  1, 1}, // #253
4983
  {DBGFIELD("WriteVarShuffleX")   1, false, false, 29, 1, 23, 1,  0, 0}, // #254
4984
  {DBGFIELD("WriteVecShiftImmX")  1, false, false,  1, 1,  1, 1,  0, 0}, // #255
4985
  {DBGFIELD("WriteVecShiftXLd_ReadAfterLd") 1, false, false, 28, 1, 22, 1,  1, 1}, // #256
4986
  {DBGFIELD("WriteVecShiftX")     1, false, false,  3, 1, 21, 1,  0, 0}, // #257
4987
  {DBGFIELD("WriteVecTestLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #258
4988
  {DBGFIELD("WriteVecTest")       1, false, false,  1, 1,  1, 1,  0, 0}, // #259
4989
  {DBGFIELD("WriteShiftLd_WriteRMW") 2, false, false,  2, 2,  1, 2,  0, 0}, // #260
4990
  {DBGFIELD("WriteShift")         1, false, false,  6, 2,  1, 1,  0, 0}, // #261
4991
  {DBGFIELD("WriteFRcpXLd")       1, false, false, 25, 1, 19, 1,  0, 0}, // #262
4992
  {DBGFIELD("WriteFRcpX")         1, false, false, 13, 1,  9, 1,  0, 0}, // #263
4993
  {DBGFIELD("WriteFRcpLd")        1, false, false, 30, 2, 23, 1,  0, 0}, // #264
4994
  {DBGFIELD("WriteFRcpLd_ReadAfterLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #265
4995
  {DBGFIELD("WriteFRcp")          1, false, false, 30, 2, 23, 1,  0, 0}, // #266
4996
  {DBGFIELD("WriteShiftLd")       1, false, false,  6, 2,  1, 1,  0, 0}, // #267
4997
  {DBGFIELD("WriteFRndLd")        1, false, false, 10, 2,  7, 1,  0, 0}, // #268
4998
  {DBGFIELD("WriteFRnd")          1, false, false, 10, 2,  7, 1,  0, 0}, // #269
4999
  {DBGFIELD("WriteFRndLd_ReadAfterLd") 1, false, false, 10, 2,  7, 1,  1, 1}, // #270
5000
  {DBGFIELD("WriteFRsqrtXLd")     1, false, false, 25, 1, 19, 1,  0, 0}, // #271
5001
  {DBGFIELD("WriteFRsqrtX")       1, false, false, 13, 1,  9, 1,  0, 0}, // #272
5002
  {DBGFIELD("WriteFRsqrtLd")      1, false, false, 30, 2, 23, 1,  0, 0}, // #273
5003
  {DBGFIELD("WriteFRsqrtLd_ReadAfterLd") 1, false, false, 30, 2, 23, 1,  1, 1}, // #274
5004
  {DBGFIELD("WriteFRsqrt")        1, false, false, 30, 2, 23, 1,  0, 0}, // #275
5005
  {DBGFIELD("WriteShiftLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  2, 1}, // #276
5006
  {DBGFIELD("WriteSETCCStore")    1, false, false,  3, 1, 21, 1,  0, 0}, // #277
5007
  {DBGFIELD("WriteSETCC")         1, false, false,  1, 1,  1, 1,  0, 0}, // #278
5008
  {DBGFIELD("WriteSHDmrcl")       1, false, false, 29, 1, 23, 1,  0, 0}, // #279
5009
  {DBGFIELD("WriteSHDmri")        1, false, false, 29, 1, 23, 1,  0, 0}, // #280
5010
  {DBGFIELD("WriteSHDrrcl")       1, false, false,  3, 1, 21, 1,  0, 0}, // #281
5011
  {DBGFIELD("WriteSHDrri")        1, false, false,  3, 1, 21, 1,  0, 0}, // #282
5012
  {DBGFIELD("WriteFSqrt64XLd")    1, false, false, 21, 1, 15, 1,  0, 0}, // #283
5013
  {DBGFIELD("WriteFSqrt64X")      1, false, false, 21, 1, 15, 1,  0, 0}, // #284
5014
  {DBGFIELD("WriteFSqrtXLd")      1, false, false, 22, 1, 16, 1,  0, 0}, // #285
5015
  {DBGFIELD("WriteFSqrtX")        1, false, false, 22, 1, 16, 1,  0, 0}, // #286
5016
  {DBGFIELD("WriteFSqrt64Ld")     1, false, false, 24, 1, 18, 1,  0, 0}, // #287
5017
  {DBGFIELD("WriteFSqrt64Ld_ReadAfterLd") 1, false, false, 24, 1, 18, 1,  1, 1}, // #288
5018
  {DBGFIELD("WriteFSqrt64")       1, false, false, 24, 1, 18, 1,  0, 0}, // #289
5019
  {DBGFIELD("WriteFSqrtLd")       1, false, false, 23, 1, 17, 1,  0, 0}, // #290
5020
  {DBGFIELD("WriteFSqrtLd_ReadAfterLd") 1, false, false, 23, 1, 17, 1,  1, 1}, // #291
5021
  {DBGFIELD("WriteFSqrt")         1, false, false, 23, 1, 17, 1,  0, 0}, // #292
5022
  {DBGFIELD("WriteFSqrt80")       1, false, false, 32, 1, 24, 1,  0, 0}, // #293
5023
  {DBGFIELD("WriteSTMXCSR")       1, false, false, 16, 1, 10, 1,  0, 0}, // #294
5024
  {DBGFIELD("WriteTZCNTLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #295
5025
  {DBGFIELD("WriteTZCNT")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #296
5026
  {DBGFIELD("WriteFMAZLd")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #297
5027
  {DBGFIELD("WriteFMALd")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #298
5028
  {DBGFIELD("WriteFAdd64YLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #299
5029
  {DBGFIELD("WriteFAdd64Y")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #300
5030
  {DBGFIELD("WriteFAdd64ZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #301
5031
  {DBGFIELD("WriteFAdd64Z")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #302
5032
  {DBGFIELD("WriteFAddYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #303
5033
  {DBGFIELD("WriteFAddY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #304
5034
  {DBGFIELD("WriteFAddZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #305
5035
  {DBGFIELD("WriteFAddZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #306
5036
  {DBGFIELD("WriteShuffleYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #307
5037
  {DBGFIELD("WriteShuffleY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #308
5038
  {DBGFIELD("WriteShuffleZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #309
5039
  {DBGFIELD("WriteShuffleZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #310
5040
  {DBGFIELD("WriteFLogicYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #311
5041
  {DBGFIELD("WriteFLogicY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #312
5042
  {DBGFIELD("WriteFLogicZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #313
5043
  {DBGFIELD("WriteFLogicZ")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #314
5044
  {DBGFIELD("WriteFVarBlendYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #315
5045
  {DBGFIELD("WriteFVarBlendY")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #316
5046
  {DBGFIELD("WriteFVarBlendZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #317
5047
  {DBGFIELD("WriteFVarBlendZ")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #318
5048
  {DBGFIELD("WriteFBlendYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #319
5049
  {DBGFIELD("WriteFBlendY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #320
5050
  {DBGFIELD("WriteFVarBlendYLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #321
5051
  {DBGFIELD("WriteFVarBlendLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #322
5052
  {DBGFIELD("WriteShuffle256Ld")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #323
5053
  {DBGFIELD("WriteShuffle256")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #324
5054
  {DBGFIELD("WriteShuffleYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #325
5055
  {DBGFIELD("WriteFShuffle256")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #326
5056
  {DBGFIELD("WriteFShuffle256Ld") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #327
5057
  {DBGFIELD("WriteFCmp64YLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #328
5058
  {DBGFIELD("WriteFCmp64Y")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #329
5059
  {DBGFIELD("WriteFCmpYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #330
5060
  {DBGFIELD("WriteFCmpY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #331
5061
  {DBGFIELD("WriteFCmpZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #332
5062
  {DBGFIELD("WriteFCmpZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #333
5063
  {DBGFIELD("WriteVarShuffle256Ld") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #334
5064
  {DBGFIELD("WriteVarShuffle256") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #335
5065
  {DBGFIELD("WriteCvtI2PDYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #336
5066
  {DBGFIELD("WriteCvtI2PDY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #337
5067
  {DBGFIELD("WriteCvtI2PDZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #338
5068
  {DBGFIELD("WriteCvtI2PDZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #339
5069
  {DBGFIELD("WriteCvtI2PSYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #340
5070
  {DBGFIELD("WriteCvtI2PSY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #341
5071
  {DBGFIELD("WriteCvtI2PSZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #342
5072
  {DBGFIELD("WriteCvtI2PSZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #343
5073
  {DBGFIELD("WriteCvtPD2IYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #344
5074
  {DBGFIELD("WriteCvtPD2IY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #345
5075
  {DBGFIELD("WriteCvtPD2IZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #346
5076
  {DBGFIELD("WriteCvtPD2IZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #347
5077
  {DBGFIELD("WriteCvtPD2PSYLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #348
5078
  {DBGFIELD("WriteCvtPD2PSY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #349
5079
  {DBGFIELD("WriteCvtPD2PSZLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #350
5080
  {DBGFIELD("WriteCvtPD2PSZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #351
5081
  {DBGFIELD("WriteCvtPH2PSYLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #352
5082
  {DBGFIELD("WriteCvtPH2PSY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #353
5083
  {DBGFIELD("WriteCvtPH2PSLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #354
5084
  {DBGFIELD("WriteCvtPH2PS")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #355
5085
  {DBGFIELD("WriteCvtPH2PSZLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #356
5086
  {DBGFIELD("WriteCvtPH2PSZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #357
5087
  {DBGFIELD("WriteCvtPS2IYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #358
5088
  {DBGFIELD("WriteCvtPS2IY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #359
5089
  {DBGFIELD("WriteCvtPS2IZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #360
5090
  {DBGFIELD("WriteCvtPS2IZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #361
5091
  {DBGFIELD("WriteCvtPS2PDYLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #362
5092
  {DBGFIELD("WriteCvtPS2PDY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #363
5093
  {DBGFIELD("WriteCvtPS2PDZLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #364
5094
  {DBGFIELD("WriteCvtPS2PDZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #365
5095
  {DBGFIELD("WriteCvtPS2PHYSt")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #366
5096
  {DBGFIELD("WriteCvtPS2PHY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #367
5097
  {DBGFIELD("WriteCvtPS2PHSt")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #368
5098
  {DBGFIELD("WriteCvtPS2PH")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #369
5099
  {DBGFIELD("WriteCvtPS2PHZSt")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #370
5100
  {DBGFIELD("WriteCvtPS2PHZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #371
5101
  {DBGFIELD("WriteCvtSD2ILd_ReadAfterLd") 1, false, false, 13, 1,  9, 1,  1, 1}, // #372
5102
  {DBGFIELD("WriteCvtSS2ILd_ReadAfterLd") 1, false, false, 13, 1,  9, 1,  1, 1}, // #373
5103
  {DBGFIELD("WritePSADBWYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #374
5104
  {DBGFIELD("WritePSADBWY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #375
5105
  {DBGFIELD("WritePSADBWZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #376
5106
  {DBGFIELD("WritePSADBWZ")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #377
5107
  {DBGFIELD("WriteFDiv64YLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #378
5108
  {DBGFIELD("WriteFDiv64Y")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #379
5109
  {DBGFIELD("WriteFDiv64ZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #380
5110
  {DBGFIELD("WriteFDiv64Z")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #381
5111
  {DBGFIELD("WriteFDivYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #382
5112
  {DBGFIELD("WriteFDivY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #383
5113
  {DBGFIELD("WriteFDivZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #384
5114
  {DBGFIELD("WriteFDivZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #385
5115
  {DBGFIELD("WriteDPPSYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #386
5116
  {DBGFIELD("WriteDPPSY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #387
5117
  {DBGFIELD("WriteVarShuffle256Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #388
5118
  {DBGFIELD("WriteFMAYLd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #389
5119
  {DBGFIELD("WriteFMAY")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #390
5120
  {DBGFIELD("WriteFMAXLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #391
5121
  {DBGFIELD("WriteFMAX")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #392
5122
  {DBGFIELD("WriteFMAYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #393
5123
  {DBGFIELD("WriteFMAZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #394
5124
  {DBGFIELD("WriteFMAZ")          16383, false, false,  0, 0,  0, 0,  0, 0}, // #395
5125
  {DBGFIELD("WriteFMAXLd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #396
5126
  {DBGFIELD("WriteFMALd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #397
5127
  {DBGFIELD("WriteFMA")           16383, false, false,  0, 0,  0, 0,  0, 0}, // #398
5128
  {DBGFIELD("WriteFMALd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #399
5129
  {DBGFIELD("WriteFMAYLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #400
5130
  {DBGFIELD("WriteFMAXLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #401
5131
  {DBGFIELD("WriteFMALd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #402
5132
  {DBGFIELD("WriteFRndYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #403
5133
  {DBGFIELD("WriteFRndY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #404
5134
  {DBGFIELD("WriteFRndZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #405
5135
  {DBGFIELD("WriteFRndZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #406
5136
  {DBGFIELD("WriteVecIMulYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #407
5137
  {DBGFIELD("WriteVecIMulY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #408
5138
  {DBGFIELD("WriteVecIMulZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #409
5139
  {DBGFIELD("WriteVecIMulZ")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #410
5140
  {DBGFIELD("WriteVecALUYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #411
5141
  {DBGFIELD("WriteVecALUY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #412
5142
  {DBGFIELD("WriteVecALUZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #413
5143
  {DBGFIELD("WriteVecALUZ")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #414
5144
  {DBGFIELD("WriteFHAddYLd_ReadAfterLd") 1, false, false, 13, 1,  9, 1,  1, 1}, // #415
5145
  {DBGFIELD("WriteFHAddY")        1, false, false, 17, 1, 11, 1,  0, 0}, // #416
5146
  {DBGFIELD("WriteFShuffle256Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #417
5147
  {DBGFIELD("WriteShuffle256Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #418
5148
  {DBGFIELD("WriteVecLoadY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #419
5149
  {DBGFIELD("WriteFMaskedStoreY") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #420
5150
  {DBGFIELD("WriteFMaskedLoadY")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #421
5151
  {DBGFIELD("WriteFMaskedStore")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #422
5152
  {DBGFIELD("WriteFMaskedLoad")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #423
5153
  {DBGFIELD("WriteFCmp64ZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #424
5154
  {DBGFIELD("WriteFCmp64Z")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #425
5155
  {DBGFIELD("WriteFMoveY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #426
5156
  {DBGFIELD("WriteFShuffleYLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #427
5157
  {DBGFIELD("WriteFShuffleY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #428
5158
  {DBGFIELD("WriteFShuffleZLd")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #429
5159
  {DBGFIELD("WriteFShuffleZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #430
5160
  {DBGFIELD("WriteVecStoreY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #431
5161
  {DBGFIELD("WriteVecMoveY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #432
5162
  {DBGFIELD("WriteVecLoadNTY")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #433
5163
  {DBGFIELD("WriteVecStoreNTY")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #434
5164
  {DBGFIELD("WriteFStoreNTY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #435
5165
  {DBGFIELD("WriteMPSADYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #436
5166
  {DBGFIELD("WriteMPSADY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #437
5167
  {DBGFIELD("WriteFMul64YLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #438
5168
  {DBGFIELD("WriteFMul64Y")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #439
5169
  {DBGFIELD("WriteFMul64ZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #440
5170
  {DBGFIELD("WriteFMul64Z")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #441
5171
  {DBGFIELD("WriteFMulYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #442
5172
  {DBGFIELD("WriteFMulY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #443
5173
  {DBGFIELD("WriteFMulZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #444
5174
  {DBGFIELD("WriteFMulZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #445
5175
  {DBGFIELD("WriteVecALUYLd")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #446
5176
  {DBGFIELD("WriteVecALUZLd")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #447
5177
  {DBGFIELD("WriteVecLogicYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #448
5178
  {DBGFIELD("WriteVecLogicY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #449
5179
  {DBGFIELD("WriteVecLogicZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #450
5180
  {DBGFIELD("WriteVecLogicZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #451
5181
  {DBGFIELD("WriteBlendYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #452
5182
  {DBGFIELD("WriteBlendY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #453
5183
  {DBGFIELD("WriteVarBlendYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #454
5184
  {DBGFIELD("WriteVarBlendY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #455
5185
  {DBGFIELD("WriteVarBlendZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #456
5186
  {DBGFIELD("WriteVarBlendZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #457
5187
  {DBGFIELD("WriteVarBlendYLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #458
5188
  {DBGFIELD("WriteVarBlendLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #459
5189
  {DBGFIELD("WriteShuffleYLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #460
5190
  {DBGFIELD("WriteShuffleYLd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #461
5191
  {DBGFIELD("WriteShuffleXLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  5, 2}, // #462
5192
  {DBGFIELD("WriteShuffleXLd_ReadAfterLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  7, 2}, // #463
5193
  {DBGFIELD("WriteFVarShuffle256Ld_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #464
5194
  {DBGFIELD("WriteFVarShuffle256") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #465
5195
  {DBGFIELD("WriteFVarShuffleYLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #466
5196
  {DBGFIELD("WriteFVarShuffleYLd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #467
5197
  {DBGFIELD("WriteFVarShuffleY")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #468
5198
  {DBGFIELD("WriteFVarShuffleLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #469
5199
  {DBGFIELD("WriteFVarShuffleLd_ReadAfterLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #470
5200
  {DBGFIELD("WriteFVarShuffle")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #471
5201
  {DBGFIELD("WriteFVarShuffleYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #472
5202
  {DBGFIELD("WriteFVarShuffleLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #473
5203
  {DBGFIELD("WriteFVarShuffleZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #474
5204
  {DBGFIELD("WriteFVarShuffleZ")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #475
5205
  {DBGFIELD("WritePHAddYLd_ReadAfterLd") 1, false, false, 17, 1, 11, 1,  1, 1}, // #476
5206
  {DBGFIELD("WritePHAddY")        1, false, false,  8, 1,  5, 1,  0, 0}, // #477
5207
  {DBGFIELD("WriteVecIMulXLd")    1, false, false, 10, 2,  7, 1,  0, 0}, // #478
5208
  {DBGFIELD("WriteVecIMulYLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #479
5209
  {DBGFIELD("WriteVecIMulZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #480
5210
  {DBGFIELD("WriteVecMaskedStoreY") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #481
5211
  {DBGFIELD("WriteVecMaskedLoadY") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #482
5212
  {DBGFIELD("WriteVecMaskedStore") 1, false, false,  6, 2,  1, 1,  0, 0}, // #483
5213
  {DBGFIELD("WriteVecMaskedLoad") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #484
5214
  {DBGFIELD("WriteVecMOVMSKY")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #485
5215
  {DBGFIELD("WritePMULLDYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #486
5216
  {DBGFIELD("WritePMULLDY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #487
5217
  {DBGFIELD("WritePMULLDZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #488
5218
  {DBGFIELD("WritePMULLDZ")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #489
5219
  {DBGFIELD("WriteVarShuffleXLd_ReadAfterLd_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadDefault_ReadAfterLd") 1, false, false, 11, 1,  7, 1,  5, 2}, // #490
5220
  {DBGFIELD("WriteVarShuffleXLd_ReadAfterLd_ReadAfterLd") 1, false, false, 11, 1,  7, 1,  7, 2}, // #491
5221
  {DBGFIELD("WriteVecShiftImmXLd") 1, false, false,  1, 1,  1, 1,  0, 0}, // #492
5222
  {DBGFIELD("WriteVecShiftImmYLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #493
5223
  {DBGFIELD("WriteVecShiftImmY")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #494
5224
  {DBGFIELD("WriteVecShiftImmZLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #495
5225
  {DBGFIELD("WriteVecShiftImmZ")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #496
5226
  {DBGFIELD("WriteVarVecShiftLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #497
5227
  {DBGFIELD("WriteVarVecShift")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #498
5228
  {DBGFIELD("WriteVarVecShiftYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #499
5229
  {DBGFIELD("WriteVarVecShiftY")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #500
5230
  {DBGFIELD("WriteVarVecShiftZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #501
5231
  {DBGFIELD("WriteVarVecShiftZ")  16383, false, false,  0, 0,  0, 0,  0, 0}, // #502
5232
  {DBGFIELD("WriteVecShiftImmXLd_ReadAfterLd") 1, false, false,  1, 1,  1, 1,  1, 1}, // #503
5233
  {DBGFIELD("WriteVarShuffleYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #504
5234
  {DBGFIELD("WriteVarShuffleY")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #505
5235
  {DBGFIELD("WriteVarShuffleZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #506
5236
  {DBGFIELD("WriteVarShuffleZ")   16383, false, false,  0, 0,  0, 0,  0, 0}, // #507
5237
  {DBGFIELD("WriteShuffleZLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #508
5238
  {DBGFIELD("WriteVecShiftYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #509
5239
  {DBGFIELD("WriteVecShiftY")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #510
5240
  {DBGFIELD("WriteVecShiftZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #511
5241
  {DBGFIELD("WriteVecShiftZ")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #512
5242
  {DBGFIELD("WriteVecTestYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #513
5243
  {DBGFIELD("WriteVecTestY")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #514
5244
  {DBGFIELD("WriteFRcpXLd_ReadAfterLd") 1, false, false, 25, 1, 19, 1,  1, 1}, // #515
5245
  {DBGFIELD("WriteFRcpYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #516
5246
  {DBGFIELD("WriteFRcpY")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #517
5247
  {DBGFIELD("WriteFRcpZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #518
5248
  {DBGFIELD("WriteFRcpZ")         16383, false, false,  0, 0,  0, 0,  0, 0}, // #519
5249
  {DBGFIELD("WriteFRcpYLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #520
5250
  {DBGFIELD("WriteFRndYLd")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #521
5251
  {DBGFIELD("WriteFRsqrtXLd_ReadAfterLd") 1, false, false, 25, 1, 19, 1,  1, 1}, // #522
5252
  {DBGFIELD("WriteFRsqrtYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #523
5253
  {DBGFIELD("WriteFRsqrtY")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #524
5254
  {DBGFIELD("WriteFRsqrtZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #525
5255
  {DBGFIELD("WriteFRsqrtZ")       16383, false, false,  0, 0,  0, 0,  0, 0}, // #526
5256
  {DBGFIELD("WriteFRsqrtYLd")     16383, false, false,  0, 0,  0, 0,  0, 0}, // #527
5257
  {DBGFIELD("WriteFShuffleYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #528
5258
  {DBGFIELD("WriteFShuffleZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #529
5259
  {DBGFIELD("WriteFSqrt64YLd")    16383, false, false,  0, 0,  0, 0,  0, 0}, // #530
5260
  {DBGFIELD("WriteFSqrt64Y")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #531
5261
  {DBGFIELD("WriteFSqrt64XLd_ReadAfterLd") 1, false, false, 21, 1, 15, 1,  1, 1}, // #532
5262
  {DBGFIELD("WriteFSqrt64YLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #533
5263
  {DBGFIELD("WriteFSqrt64ZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #534
5264
  {DBGFIELD("WriteFSqrt64Z")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #535
5265
  {DBGFIELD("WriteFSqrtYLd")      16383, false, false,  0, 0,  0, 0,  0, 0}, // #536
5266
  {DBGFIELD("WriteFSqrtY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #537
5267
  {DBGFIELD("WriteFSqrtXLd_ReadAfterLd") 1, false, false, 22, 1, 16, 1,  1, 1}, // #538
5268
  {DBGFIELD("WriteFSqrtYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #539
5269
  {DBGFIELD("WriteFSqrtZLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #540
5270
  {DBGFIELD("WriteFSqrtZ")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #541
5271
  {DBGFIELD("WriteFTestYLd_ReadAfterLd") 16383, false, false,  0, 0,  0, 0,  0, 0}, // #542
5272
  {DBGFIELD("WriteFTestY")        16383, false, false,  0, 0,  0, 0,  0, 0}, // #543
5273
  {DBGFIELD("WriteFTestLd_ReadAfterLd") 1, false, false,  6, 2,  1, 1,  1, 1}, // #544
5274
  {DBGFIELD("WriteFTest")         1, false, false,  1, 1,  1, 1,  0, 0}, // #545
5275
  {DBGFIELD("WriteXCHG")          1, false, false,  3, 1, 21, 1,  0, 0}, // #546
5276
  {DBGFIELD("MUL16m_IMUL16m")     1, false, false, 17, 1, 11, 1,  0, 0}, // #547
5277
  {DBGFIELD("MUL32r_IMUL32r")     1, false, false,  9, 1,  6, 1,  0, 0}, // #548
5278
  {DBGFIELD("IMUL64rri8_IMUL64rri32") 1, false, false, 33, 1, 25, 1,  0, 0}, // #549
5279
  {DBGFIELD("IMUL64rmi8_IMUL64rmi32") 1, false, false, 33, 1, 25, 1,  0, 0}, // #550
5280
  {DBGFIELD("COPY")               1, false, false,  1, 1,  1, 1,  0, 0}, // #551
5281
  {DBGFIELD("FXAM")               1, false, false,  6, 2,  1, 1,  0, 0}, // #552
5282
  {DBGFIELD("LD_Frr")             1, false, false,  6, 2,  1, 1,  0, 0}, // #553
5283
  {DBGFIELD("MOVSX64rr32")        1, false, false,  6, 2,  1, 1,  0, 0}, // #554
5284
  {DBGFIELD("RCL16m1_RCL16mCL_RCL16mi_RCL32m1_RCL32mCL_RCL32mi_RCL64m1_RCL64mCL_RCL64mi_RCL8m1_RCL8mCL_RCL8mi_RCR16m1_RCR16mCL_RCR16mi_RCR32m1_RCR32mCL_RCR32mi_RCR64m1_RCR64mCL_RCR64mi_RCR8m1_RCR8mCL_RCR8mi_ROL16m1_ROL16mCL_ROL16mi_ROL32m1_ROL32mCL_ROL32mi_ROL64m1_ROL64mCL_ROL64mi_ROL8m1_ROL8mCL_ROL8mi_ROR16m1_ROR16mCL_ROR16mi_ROR32m1_ROR32mCL_ROR32mi_ROR64m1_ROR64mCL_ROR64mi_ROR8m1_ROR8mCL_ROR8mi_SAR16m1_SAR16mCL_SAR16mi_SAR32m1_SAR32mCL_SAR32mi_SAR64m1_SAR64mCL_SAR64mi_SAR8m1_SAR8mCL_SAR8mi_SHL16m1_SHL16mCL_SHL16mi_SHL32m1_SHL32mCL_SHL32mi_SHL64m1_SHL64mCL_SHL64mi_SHL8m1_SHL8mCL_SHL8mi_SHR16m1_SHR16mCL_SHR16mi_SHR32m1_SHR32mCL_SHR32mi_SHR64m1_SHR64mCL_SHR64mi_SHR8m1_SHR8mCL_SHR8mi") 1, false, false,  6, 2,  1, 1,  0, 0}, // #555
5285
  {DBGFIELD("MOVSX32rr16_MOVSX32rr8_MOVSX32rr8_NOREX_MOVSX64rr16_MOVSX64rr8_MOVZX32rr16_MOVZX32rr8_MOVZX32rr8_NOREX_MOVZX64rr16_MOVZX64rr8") 1, false, false,  6, 2,  1, 1,  0, 0}, // #556
5286
  {DBGFIELD("IMUL32rm")           1, false, false, 10, 2,  7, 1,  0, 0}, // #557
5287
  {DBGFIELD("IMUL32rmi_IMUL32rmi8") 1, false, false, 10, 2,  7, 1,  0, 0}, // #558
5288
  {DBGFIELD("IMUL32rr_IMUL32rri_IMUL32rri8") 1, false, false, 10, 2,  7, 1,  0, 0}, // #559
5289
  {DBGFIELD("FCOMPP")             1, false, false,  4, 2,  1, 1,  0, 0}, // #560
5290
  {DBGFIELD("UCOM_FPPr_UCOM_FPr_UCOM_Fr") 1, false, false,  4, 2,  1, 1,  0, 0}, // #561
5291
  {DBGFIELD("BT16ri8_BT16rr_BT32ri8_BT32rr_BT64ri8_BT64rr_BTC16ri8_BTC16rr_BTC32ri8_BTC32rr_BTC64ri8_BTC64rr_BTR16ri8_BTR16rr_BTR32ri8_BTR32rr_BTR64ri8_BTR64rr_BTS16ri8_BTS16rr_BTS32ri8_BTS32rr_BTS64ri8_BTS64rr") 1, false, false,  4, 2,  1, 1,  0, 0}, // #562
5292
  {DBGFIELD("MMX_CVTPI2PSirr")    1, false, false, 34, 2,  7, 1,  0, 0}, // #563
5293
  {DBGFIELD("MMX_CVTPI2PSirm")    1, false, false, 34, 2,  7, 1,  0, 0}, // #564
5294
  {DBGFIELD("MMX_CVTPS2PIirr_MMX_CVTTPS2PIirr") 1, false, false, 34, 2,  7, 1,  0, 0}, // #565
5295
  {DBGFIELD("POP32r_POP64r_POP16rmr_POP32rmr_POP64rmr") 1, false, false, 36, 3,  1, 1,  0, 0}, // #566
5296
  {DBGFIELD("PUSH16r_PUSH32r_PUSH64r_PUSHi16_PUSHi32_PUSH16rmr_PUSH32rmr_PUSH64rmr_PUSH16i8_PUSH32i8_PUSH64i8_PUSH64i32") 1, false, false, 36, 3,  1, 1,  0, 0}, // #567
5297
  {DBGFIELD("XCH_F")              1, false, false, 36, 3,  1, 1,  0, 0}, // #568
5298
  {DBGFIELD("RETIL_RETIQ_RETIW_IRET_IRET16_IRET32_IRET64") 1, false, false, 36, 3,  1, 1,  0, 0}, // #569
5299
  {DBGFIELD("MMX_CVTPS2PIirm_MMX_CVTTPS2PIirm") 1, false, false, 39, 3,  7, 1,  0, 0}, // #570
5300
  {DBGFIELD("ILD_F16m_ILD_F32m_ILD_F64m") 1, false, false, 39, 3,  7, 1,  0, 0}, // #571
5301
  {DBGFIELD("FDECSTP_FFREE_FFREEP_FINCSTP_WAIT_STOSB_STOSL_STOSQ_STOSW") 1, false, false,  1, 1,  1, 1,  0, 0}, // #572
5302
  {DBGFIELD("LFENCE")             1, false, false,  1, 1,  1, 1,  0, 0}, // #573
5303
  {DBGFIELD("MOVSSrr_MOVSSrr_REV") 1, false, false,  1, 1,  1, 1,  0, 0}, // #574
5304
  {DBGFIELD("PSLLDQri_PSRLDQri")  1, false, false,  1, 1,  1, 1,  0, 0}, // #575
5305
  {DBGFIELD("MMX_PACKSSDWirr_MMX_PACKSSWBirr_MMX_PACKUSWBirr_MMX_PUNPCKHBWirr_MMX_PUNPCKHDQirr_MMX_PUNPCKHWDirr") 1, false, false,  1, 1,  1, 1,  0, 0}, // #576
5306
  {DBGFIELD("LEAVE_LEAVE64")      1, false, false,  3, 1, 21, 1,  0, 0}, // #577
5307
  {DBGFIELD("POP16r")             1, false, false,  3, 1, 21, 1,  0, 0}, // #578
5308
  {DBGFIELD("PUSH16rmm_PUSH32rmm_PUSH64rmm") 1, false, false,  3, 1, 21, 1,  0, 0}, // #579
5309
  {DBGFIELD("LODSB_LODSL_LODSQ_LODSW_SCASB_SCASL_SCASQ_SCASW") 1, false, false,  3, 1, 21, 1,  0, 0}, // #580
5310
  {DBGFIELD("BTC16mi8_BTC32mi8_BTC64mi8_BTR16mi8_BTR32mi8_BTR64mi8_BTS16mi8_BTS32mi8_BTS64mi8") 1, false, false,  3, 1, 21, 1,  0, 0}, // #581
5311
  {DBGFIELD("PUSHCS16_PUSHCS32_PUSHDS16_PUSHDS32_PUSHES16_PUSHES32_PUSHFS16_PUSHFS32_PUSHFS64_PUSHGS16_PUSHGS32_PUSHGS64_PUSHSS16_PUSHSS32") 1, false, false,  3, 1, 21, 1,  0, 0}, // #582
5312
  {DBGFIELD("ISTT_FP16m_ISTT_FP32m_ISTT_FP64m_ST_F32m_ST_F64m_ST_FP32m_ST_FP64m") 1, false, false,  3, 1, 21, 1,  0, 0}, // #583
5313
  {DBGFIELD("ST_FPrr_ST_Frr")     1, false, false,  3, 1, 21, 1,  0, 0}, // #584
5314
  {DBGFIELD("MMX_PADDQirr_MMX_PSUBQirr") 1, false, false,  3, 1, 21, 1,  0, 0}, // #585
5315
  {DBGFIELD("MOVSX16rr8_MOVZX16rr8") 1, false, false,  3, 1, 21, 1,  0, 0}, // #586
5316
  {DBGFIELD("MOVDQUmr_MASKMOVDQU_MASKMOVDQU64") 1, false, false,  3, 1, 21, 1,  0, 0}, // #587
5317
  {DBGFIELD("MOVUPDmr_MOVUPSmr")  1, false, false,  3, 1, 21, 1,  0, 0}, // #588
5318
  {DBGFIELD("PADDQrr_PSUBQrr")    1, false, false,  3, 1, 21, 1,  0, 0}, // #589
5319
  {DBGFIELD("CLD")                1, false, false, 28, 1, 22, 1,  0, 0}, // #590
5320
  {DBGFIELD("LDDQUrm")            1, false, false, 28, 1, 22, 1,  0, 0}, // #591
5321
  {DBGFIELD("CMPSB_CMPSL_CMPSQ_CMPSW_MOVSB_MOVSL_MOVSQ_MOVSW") 1, false, false, 28, 1, 22, 1,  0, 0}, // #592
5322
  {DBGFIELD("POP16rmm_POP32rmm_POP64rmm") 1, false, false, 28, 1, 22, 1,  0, 0}, // #593
5323
  {DBGFIELD("XADD16rm_XADD32rm_XADD64rm_XADD8rm_XCHG16rm_XCHG32rm_XCHG64rm_XCHG8rm") 1, false, false, 28, 1, 22, 1,  0, 0}, // #594
5324
  {DBGFIELD("PHADDDrr_PHSUBDrr")  1, false, false, 28, 1, 22, 1,  0, 0}, // #595
5325
  {DBGFIELD("MOVSX16rm8_MOVZX16rm8") 1, false, false, 28, 1, 22, 1,  0, 0}, // #596
5326
  {DBGFIELD("MMX_PADDQirm_MMX_PSUBQirm") 1, false, false, 28, 1, 22, 1,  0, 0}, // #597
5327
  {DBGFIELD("MOVDQUrm")           1, false, false, 28, 1, 22, 1,  0, 0}, // #598
5328
  {DBGFIELD("MOVUPDrm_MOVUPSrm")  1, false, false, 28, 1, 22, 1,  0, 0}, // #599
5329
  {DBGFIELD("PADDQrm_PSUBQrm")    1, false, false, 28, 1, 22, 1,  0, 0}, // #600
5330
  {DBGFIELD("CBW_CWD_CWDE_CDQ_CDQE_CQO") 1, false, false, 29, 1, 23, 1,  0, 0}, // #601
5331
  {DBGFIELD("JCXZ_JECXZ_JRCXZ")   1, false, false, 29, 1, 23, 1,  0, 0}, // #602
5332
  {DBGFIELD("LD_F80m")            1, false, false, 29, 1, 23, 1,  0, 0}, // #603
5333
  {DBGFIELD("PHADDDrm_PHSUBDrm")  1, false, false, 29, 1, 23, 1,  0, 0}, // #604
5334
  {DBGFIELD("MMX_PEXTRWrr_PEXTRWrr_PEXTRWrr_REV") 1, false, false, 29, 1, 23, 1,  0, 0}, // #605
5335
  {DBGFIELD("FLDCW16m")           1, false, false, 11, 1,  7, 1,  0, 0}, // #606
5336
  {DBGFIELD("ST_FP80m")           1, false, false, 11, 1,  7, 1,  0, 0}, // #607
5337
  {DBGFIELD("MMX_PHADDSWrr_MMX_PHADDWrr_MMX_PHSUBSWrr_MMX_PHSUBWrr") 1, false, false, 11, 1,  7, 1,  0, 0}, // #608
5338
  {DBGFIELD("CMPXCHG8rm")         1, false, false,  9, 1,  6, 1,  0, 0}, // #609
5339
  {DBGFIELD("INTO")               1, false, false,  9, 1,  6, 1,  0, 0}, // #610
5340
  {DBGFIELD("XLAT")               1, false, false,  9, 1,  6, 1,  0, 0}, // #611
5341
  {DBGFIELD("SHLD16rrCL_SHRD16rrCL") 1, false, false,  9, 1,  6, 1,  0, 0}, // #612
5342
  {DBGFIELD("SHLD16rri8_SHRD16rri8") 1, false, false,  9, 1,  6, 1,  0, 0}, // #613
5343
  {DBGFIELD("SHLD16mrCL_SHRD16mrCL") 1, false, false,  9, 1,  6, 1,  0, 0}, // #614
5344
  {DBGFIELD("SHLD16mri8_SHRD16mri8") 1, false, false,  9, 1,  6, 1,  0, 0}, // #615
5345
  {DBGFIELD("IMUL16rr_IMUL16rri_IMUL16rri8") 1, false, false,  9, 1,  6, 1,  0, 0}, // #616
5346
  {DBGFIELD("IST_F16m_IST_F32m_IST_FP16m_IST_FP32m_IST_FP64m") 1, false, false,  9, 1,  6, 1,  0, 0}, // #617
5347
  {DBGFIELD("MMX_PHADDSWrm_MMX_PHADDWrm_MMX_PHSUBSWrm_MMX_PHSUBWrm") 1, false, false,  9, 1,  6, 1,  0, 0}, // #618
5348
  {DBGFIELD("AAD8i8")             1, false, false,  8, 1,  5, 1,  0, 0}, // #619
5349
  {DBGFIELD("LOOPE")              1, false, false, 17, 1, 11, 1,  0, 0}, // #620
5350
  {DBGFIELD("PUSHA16_PUSHA32")    1, false, false, 17, 1, 11, 1,  0, 0}, // #621
5351
  {DBGFIELD("SHLD64rrCL_SHRD64rrCL") 1, false, false, 17, 1, 11, 1,  0, 0}, // #622
5352
  {DBGFIELD("FNSTCW16m")          1, false, false, 17, 1, 11, 1,  0, 0}, // #623
5353
  {DBGFIELD("BT16mr_BT32mr_BT64mr") 1, false, false, 13, 1,  9, 1,  0, 0}, // #624
5354
  {DBGFIELD("POPA16_POPA32")      1, false, false, 13, 1,  9, 1,  0, 0}, // #625
5355
  {DBGFIELD("PUSHF16_PUSHF32_PUSHF64") 1, false, false, 13, 1,  9, 1,  0, 0}, // #626
5356
  {DBGFIELD("SHLD64mrCL_SHRD64mrCL") 1, false, false, 13, 1,  9, 1,  0, 0}, // #627
5357
  {DBGFIELD("SHLD64mri8_SHRD64mri8") 1, false, false, 13, 1,  9, 1,  0, 0}, // #628
5358
  {DBGFIELD("SHLD64rri8_SHRD64rri8") 1, false, false, 13, 1,  9, 1,  0, 0}, // #629
5359
  {DBGFIELD("CMPXCHG8rr")         1, false, false, 13, 1,  9, 1,  0, 0}, // #630
5360
  {DBGFIELD("COM_FIPr_COM_FIr_UCOM_FIPr_UCOM_FIr_TST_F_TST_Fp32_TST_Fp64_TST_Fp80_COMISDrr_COMISDrr_Int_COMISSrr_COMISSrr_Int_UCOMISDrr_UCOMISDrr_Int_UCOMISSrr_UCOMISSrr_Int") 1, false, false, 13, 1,  9, 1,  0, 0}, // #631
5361
  {DBGFIELD("CVTSS2SI64rr_Int_CVTTSS2SI64rr_CVTTSS2SI64rr_Int") 1, false, false, 13, 1,  9, 1,  0, 0}, // #632
5362
  {DBGFIELD("COMISDrm_COMISDrm_Int_COMISSrm_COMISSrm_Int_UCOMISDrm_UCOMISDrm_Int_UCOMISSrm_UCOMISSrm_Int") 1, false, false, 25, 1, 19, 1,  0, 0}, // #633
5363
  {DBGFIELD("CVTSS2SI64rm_Int_CVTTSS2SI64rm_CVTTSS2SI64rm_Int") 1, false, false, 25, 1, 19, 1,  0, 0}, // #634