Coverage Report

Created: 2018-11-16 02:38

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