aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/gc/builtin.go
blob: da7b107bfe7c8b8352457a42e98e52d8d44426b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
// Code generated by mkbuiltin.go. DO NOT EDIT.

package gc

import "cmd/compile/internal/types"

var runtimeDecls = [...]struct {
	name string
	tag  int
	typ  int
}{
	{"newobject", funcTag, 4},
	{"mallocgc", funcTag, 8},
	{"panicdivide", funcTag, 9},
	{"panicshift", funcTag, 9},
	{"panicmakeslicelen", funcTag, 9},
	{"panicmakeslicecap", funcTag, 9},
	{"throwinit", funcTag, 9},
	{"panicwrap", funcTag, 9},
	{"gopanic", funcTag, 11},
	{"gorecover", funcTag, 14},
	{"goschedguarded", funcTag, 9},
	{"goPanicIndex", funcTag, 16},
	{"goPanicIndexU", funcTag, 18},
	{"goPanicSliceAlen", funcTag, 16},
	{"goPanicSliceAlenU", funcTag, 18},
	{"goPanicSliceAcap", funcTag, 16},
	{"goPanicSliceAcapU", funcTag, 18},
	{"goPanicSliceB", funcTag, 16},
	{"goPanicSliceBU", funcTag, 18},
	{"goPanicSlice3Alen", funcTag, 16},
	{"goPanicSlice3AlenU", funcTag, 18},
	{"goPanicSlice3Acap", funcTag, 16},
	{"goPanicSlice3AcapU", funcTag, 18},
	{"goPanicSlice3B", funcTag, 16},
	{"goPanicSlice3BU", funcTag, 18},
	{"goPanicSlice3C", funcTag, 16},
	{"goPanicSlice3CU", funcTag, 18},
	{"printbool", funcTag, 19},
	{"printfloat", funcTag, 21},
	{"printint", funcTag, 23},
	{"printhex", funcTag, 25},
	{"printuint", funcTag, 25},
	{"printcomplex", funcTag, 27},
	{"printstring", funcTag, 29},
	{"printpointer", funcTag, 30},
	{"printiface", funcTag, 30},
	{"printeface", funcTag, 30},
	{"printslice", funcTag, 30},
	{"printnl", funcTag, 9},
	{"printsp", funcTag, 9},
	{"printlock", funcTag, 9},
	{"printunlock", funcTag, 9},
	{"concatstring2", funcTag, 33},
	{"concatstring3", funcTag, 34},
	{"concatstring4", funcTag, 35},
	{"concatstring5", funcTag, 36},
	{"concatstrings", funcTag, 38},
	{"cmpstring", funcTag, 39},
	{"intstring", funcTag, 42},
	{"slicebytetostring", funcTag, 43},
	{"slicebytetostringtmp", funcTag, 44},
	{"slicerunetostring", funcTag, 47},
	{"stringtoslicebyte", funcTag, 49},
	{"stringtoslicerune", funcTag, 52},
	{"slicecopy", funcTag, 53},
	{"decoderune", funcTag, 54},
	{"countrunes", funcTag, 55},
	{"convI2I", funcTag, 56},
	{"convT16", funcTag, 57},
	{"convT32", funcTag, 57},
	{"convT64", funcTag, 57},
	{"convTstring", funcTag, 57},
	{"convTslice", funcTag, 57},
	{"convT2E", funcTag, 58},
	{"convT2Enoptr", funcTag, 58},
	{"convT2I", funcTag, 58},
	{"convT2Inoptr", funcTag, 58},
	{"assertE2I", funcTag, 56},
	{"assertE2I2", funcTag, 59},
	{"assertI2I", funcTag, 56},
	{"assertI2I2", funcTag, 59},
	{"panicdottypeE", funcTag, 60},
	{"panicdottypeI", funcTag, 60},
	{"panicnildottype", funcTag, 61},
	{"ifaceeq", funcTag, 63},
	{"efaceeq", funcTag, 63},
	{"fastrand", funcTag, 65},
	{"makemap64", funcTag, 67},
	{"makemap", funcTag, 68},
	{"makemap_small", funcTag, 69},
	{"mapaccess1", funcTag, 70},
	{"mapaccess1_fast32", funcTag, 71},
	{"mapaccess1_fast64", funcTag, 71},
	{"mapaccess1_faststr", funcTag, 71},
	{"mapaccess1_fat", funcTag, 72},
	{"mapaccess2", funcTag, 73},
	{"mapaccess2_fast32", funcTag, 74},
	{"mapaccess2_fast64", funcTag, 74},
	{"mapaccess2_faststr", funcTag, 74},
	{"mapaccess2_fat", funcTag, 75},
	{"mapassign", funcTag, 70},
	{"mapassign_fast32", funcTag, 71},
	{"mapassign_fast32ptr", funcTag, 71},
	{"mapassign_fast64", funcTag, 71},
	{"mapassign_fast64ptr", funcTag, 71},
	{"mapassign_faststr", funcTag, 71},
	{"mapiterinit", funcTag, 76},
	{"mapdelete", funcTag, 76},
	{"mapdelete_fast32", funcTag, 77},
	{"mapdelete_fast64", funcTag, 77},
	{"mapdelete_faststr", funcTag, 77},
	{"mapiternext", funcTag, 78},
	{"mapclear", funcTag, 79},
	{"makechan64", funcTag, 81},
	{"makechan", funcTag, 82},
	{"chanrecv1", funcTag, 84},
	{"chanrecv2", funcTag, 85},
	{"chansend1", funcTag, 87},
	{"closechan", funcTag, 30},
	{"writeBarrier", varTag, 89},
	{"typedmemmove", funcTag, 90},
	{"typedmemclr", funcTag, 91},
	{"typedslicecopy", funcTag, 92},
	{"selectnbsend", funcTag, 93},
	{"selectnbrecv", funcTag, 94},
	{"selectnbrecv2", funcTag, 96},
	{"selectsetpc", funcTag, 97},
	{"selectgo", funcTag, 98},
	{"block", funcTag, 9},
	{"makeslice", funcTag, 99},
	{"makeslice64", funcTag, 100},
	{"makeslicecopy", funcTag, 101},
	{"growslice", funcTag, 103},
	{"memmove", funcTag, 104},
	{"memclrNoHeapPointers", funcTag, 105},
	{"memclrHasPointers", funcTag, 105},
	{"memequal", funcTag, 106},
	{"memequal0", funcTag, 107},
	{"memequal8", funcTag, 107},
	{"memequal16", funcTag, 107},
	{"memequal32", funcTag, 107},
	{"memequal64", funcTag, 107},
	{"memequal128", funcTag, 107},
	{"f32equal", funcTag, 108},
	{"f64equal", funcTag, 108},
	{"c64equal", funcTag, 108},
	{"c128equal", funcTag, 108},
	{"strequal", funcTag, 108},
	{"interequal", funcTag, 108},
	{"nilinterequal", funcTag, 108},
	{"memhash", funcTag, 109},
	{"memhash0", funcTag, 110},
	{"memhash8", funcTag, 110},
	{"memhash16", funcTag, 110},
	{"memhash32", funcTag, 110},
	{"memhash64", funcTag, 110},
	{"memhash128", funcTag, 110},
	{"f32hash", funcTag, 110},
	{"f64hash", funcTag, 110},
	{"c64hash", funcTag, 110},
	{"c128hash", funcTag, 110},
	{"strhash", funcTag, 110},
	{"interhash", funcTag, 110},
	{"nilinterhash", funcTag, 110},
	{"int64div", funcTag, 111},
	{"uint64div", funcTag, 112},
	{"int64mod", funcTag, 111},
	{"uint64mod", funcTag, 112},
	{"float64toint64", funcTag, 113},
	{"float64touint64", funcTag, 114},
	{"float64touint32", funcTag, 115},
	{"int64tofloat64", funcTag, 116},
	{"uint64tofloat64", funcTag, 117},
	{"uint32tofloat64", funcTag, 118},
	{"complex128div", funcTag, 119},
	{"racefuncenter", funcTag, 120},
	{"racefuncenterfp", funcTag, 9},
	{"racefuncexit", funcTag, 9},
	{"raceread", funcTag, 120},
	{"racewrite", funcTag, 120},
	{"racereadrange", funcTag, 121},
	{"racewriterange", funcTag, 121},
	{"msanread", funcTag, 121},
	{"msanwrite", funcTag, 121},
	{"checkptrAlignment", funcTag, 122},
	{"checkptrArithmetic", funcTag, 124},
	{"libfuzzerTraceCmp1", funcTag, 126},
	{"libfuzzerTraceCmp2", funcTag, 128},
	{"libfuzzerTraceCmp4", funcTag, 129},
	{"libfuzzerTraceCmp8", funcTag, 130},
	{"libfuzzerTraceConstCmp1", funcTag, 126},
	{"libfuzzerTraceConstCmp2", funcTag, 128},
	{"libfuzzerTraceConstCmp4", funcTag, 129},
	{"libfuzzerTraceConstCmp8", funcTag, 130},
	{"x86HasPOPCNT", varTag, 6},
	{"x86HasSSE41", varTag, 6},
	{"x86HasFMA", varTag, 6},
	{"armHasVFPv4", varTag, 6},
	{"arm64HasATOMICS", varTag, 6},
}

func runtimeTypes() []*types.Type {
	var typs [131]*types.Type
	typs[0] = types.Bytetype
	typs[1] = types.NewPtr(typs[0])
	typs[2] = types.Types[TANY]
	typs[3] = types.NewPtr(typs[2])
	typs[4] = functype(nil, []*Node{anonfield(typs[1])}, []*Node{anonfield(typs[3])})
	typs[5] = types.Types[TUINTPTR]
	typs[6] = types.Types[TBOOL]
	typs[7] = types.Types[TUNSAFEPTR]
	typs[8] = functype(nil, []*Node{anonfield(typs[5]), anonfield(typs[1]), anonfield(typs[6])}, []*Node{anonfield(typs[7])})
	typs[9] = functype(nil, nil, nil)
	typs[10] = types.Types[TINTER]
	typs[11] = functype(nil, []*Node{anonfield(typs[10])}, nil)
	typs[12] = types.Types[TINT32]
	typs[13] = types.NewPtr(typs[12])
	typs[14] = functype(nil, []*Node{anonfield(typs[13])}, []*Node{anonfield(typs[10])})
	typs[15] = types.Types[TINT]
	typs[16] = functype(nil, []*Node{anonfield(typs[15]), anonfield(typs[15])}, nil)
	typs[17] = types.Types[TUINT]
	typs[18] = functype(nil, []*Node{anonfield(typs[17]), anonfield(typs[15])}, nil)
	typs[19] = functype(nil, []*Node{anonfield(typs[6])}, nil)
	typs[20] = types.Types[TFLOAT64]
	typs[21] = functype(nil, []*Node{anonfield(typs[20])}, nil)
	typs[22] = types.Types[TINT64]
	typs[23] = functype(nil, []*Node{anonfield(typs[22])}, nil)
	typs[24] = types.Types[TUINT64]
	typs[25] = functype(nil, []*Node{anonfield(typs[24])}, nil)
	typs[26] = types.Types[TCOMPLEX128]
	typs[27] = functype(nil, []*Node{anonfield(typs[26])}, nil)
	typs[28] = types.Types[TSTRING]
	typs[29] = functype(nil, []*Node{anonfield(typs[28])}, nil)
	typs[30] = functype(nil, []*Node{anonfield(typs[2])}, nil)
	typs[31] = types.NewArray(typs[0], 32)
	typs[32] = types.NewPtr(typs[31])
	typs[33] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[28]), anonfield(typs[28])}, []*Node{anonfield(typs[28])})
	typs[34] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28])}, []*Node{anonfield(typs[28])})
	typs[35] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28])}, []*Node{anonfield(typs[28])})
	typs[36] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28]), anonfield(typs[28])}, []*Node{anonfield(typs[28])})
	typs[37] = types.NewSlice(typs[28])
	typs[38] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[37])}, []*Node{anonfield(typs[28])})
	typs[39] = functype(nil, []*Node{anonfield(typs[28]), anonfield(typs[28])}, []*Node{anonfield(typs[15])})
	typs[40] = types.NewArray(typs[0], 4)
	typs[41] = types.NewPtr(typs[40])
	typs[42] = functype(nil, []*Node{anonfield(typs[41]), anonfield(typs[22])}, []*Node{anonfield(typs[28])})
	typs[43] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[28])})
	typs[44] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[28])})
	typs[45] = types.Runetype
	typs[46] = types.NewSlice(typs[45])
	typs[47] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[46])}, []*Node{anonfield(typs[28])})
	typs[48] = types.NewSlice(typs[0])
	typs[49] = functype(nil, []*Node{anonfield(typs[32]), anonfield(typs[28])}, []*Node{anonfield(typs[48])})
	typs[50] = types.NewArray(typs[45], 32)
	typs[51] = types.NewPtr(typs[50])
	typs[52] = functype(nil, []*Node{anonfield(typs[51]), anonfield(typs[28])}, []*Node{anonfield(typs[46])})
	typs[53] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[15]), anonfield(typs[3]), anonfield(typs[15]), anonfield(typs[5])}, []*Node{anonfield(typs[15])})
	typs[54] = functype(nil, []*Node{anonfield(typs[28]), anonfield(typs[15])}, []*Node{anonfield(typs[45]), anonfield(typs[15])})
	typs[55] = functype(nil, []*Node{anonfield(typs[28])}, []*Node{anonfield(typs[15])})
	typs[56] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2])})
	typs[57] = functype(nil, []*Node{anonfield(typs[2])}, []*Node{anonfield(typs[7])})
	typs[58] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, []*Node{anonfield(typs[2])})
	typs[59] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[2])}, []*Node{anonfield(typs[2]), anonfield(typs[6])})
	typs[60] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[1])}, nil)
	typs[61] = functype(nil, []*Node{anonfield(typs[1])}, nil)
	typs[62] = types.NewPtr(typs[5])
	typs[63] = functype(nil, []*Node{anonfield(typs[62]), anonfield(typs[7]), anonfield(typs[7])}, []*Node{anonfield(typs[6])})
	typs[64] = types.Types[TUINT32]
	typs[65] = functype(nil, nil, []*Node{anonfield(typs[64])})
	typs[66] = types.NewMap(typs[2], typs[2])
	typs[67] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[22]), anonfield(typs[3])}, []*Node{anonfield(typs[66])})
	typs[68] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[3])}, []*Node{anonfield(typs[66])})
	typs[69] = functype(nil, nil, []*Node{anonfield(typs[66])})
	typs[70] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, []*Node{anonfield(typs[3])})
	typs[71] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, []*Node{anonfield(typs[3])})
	typs[72] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3])})
	typs[73] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, []*Node{anonfield(typs[3]), anonfield(typs[6])})
	typs[74] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, []*Node{anonfield(typs[3]), anonfield(typs[6])})
	typs[75] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3]), anonfield(typs[1])}, []*Node{anonfield(typs[3]), anonfield(typs[6])})
	typs[76] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[3])}, nil)
	typs[77] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66]), anonfield(typs[2])}, nil)
	typs[78] = functype(nil, []*Node{anonfield(typs[3])}, nil)
	typs[79] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[66])}, nil)
	typs[80] = types.NewChan(typs[2], types.Cboth)
	typs[81] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[22])}, []*Node{anonfield(typs[80])})
	typs[82] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15])}, []*Node{anonfield(typs[80])})
	typs[83] = types.NewChan(typs[2], types.Crecv)
	typs[84] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, nil)
	typs[85] = functype(nil, []*Node{anonfield(typs[83]), anonfield(typs[3])}, []*Node{anonfield(typs[6])})
	typs[86] = types.NewChan(typs[2], types.Csend)
	typs[87] = functype(nil, []*Node{anonfield(typs[86]), anonfield(typs[3])}, nil)
	typs[88] = types.NewArray(typs[0], 3)
	typs[89] = tostruct([]*Node{namedfield("enabled", typs[6]), namedfield("pad", typs[88]), namedfield("needed", typs[6]), namedfield("cgo", typs[6]), namedfield("alignme", typs[24])})
	typs[90] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[3])}, nil)
	typs[91] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3])}, nil)
	typs[92] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[3]), anonfield(typs[15]), anonfield(typs[3]), anonfield(typs[15])}, []*Node{anonfield(typs[15])})
	typs[93] = functype(nil, []*Node{anonfield(typs[86]), anonfield(typs[3])}, []*Node{anonfield(typs[6])})
	typs[94] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[83])}, []*Node{anonfield(typs[6])})
	typs[95] = types.NewPtr(typs[6])
	typs[96] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[95]), anonfield(typs[83])}, []*Node{anonfield(typs[6])})
	typs[97] = functype(nil, []*Node{anonfield(typs[62])}, nil)
	typs[98] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[1]), anonfield(typs[62]), anonfield(typs[15]), anonfield(typs[15]), anonfield(typs[6])}, []*Node{anonfield(typs[15]), anonfield(typs[6])})
	typs[99] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[15])}, []*Node{anonfield(typs[7])})
	typs[100] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[22]), anonfield(typs[22])}, []*Node{anonfield(typs[7])})
	typs[101] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[15]), anonfield(typs[15]), anonfield(typs[7])}, []*Node{anonfield(typs[7])})
	typs[102] = types.NewSlice(typs[2])
	typs[103] = functype(nil, []*Node{anonfield(typs[1]), anonfield(typs[102]), anonfield(typs[15])}, []*Node{anonfield(typs[102])})
	typs[104] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[5])}, nil)
	typs[105] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[5])}, nil)
	typs[106] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3]), anonfield(typs[5])}, []*Node{anonfield(typs[6])})
	typs[107] = functype(nil, []*Node{anonfield(typs[3]), anonfield(typs[3])}, []*Node{anonfield(typs[6])})
	typs[108] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[7])}, []*Node{anonfield(typs[6])})
	typs[109] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[5]), anonfield(typs[5])}, []*Node{anonfield(typs[5])})
	typs[110] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[5])}, []*Node{anonfield(typs[5])})
	typs[111] = functype(nil, []*Node{anonfield(typs[22]), anonfield(typs[22])}, []*Node{anonfield(typs[22])})
	typs[112] = functype(nil, []*Node{anonfield(typs[24]), anonfield(typs[24])}, []*Node{anonfield(typs[24])})
	typs[113] = functype(nil, []*Node{anonfield(typs[20])}, []*Node{anonfield(typs[22])})
	typs[114] = functype(nil, []*Node{anonfield(typs[20])}, []*Node{anonfield(typs[24])})
	typs[115] = functype(nil, []*Node{anonfield(typs[20])}, []*Node{anonfield(typs[64])})
	typs[116] = functype(nil, []*Node{anonfield(typs[22])}, []*Node{anonfield(typs[20])})
	typs[117] = functype(nil, []*Node{anonfield(typs[24])}, []*Node{anonfield(typs[20])})
	typs[118] = functype(nil, []*Node{anonfield(typs[64])}, []*Node{anonfield(typs[20])})
	typs[119] = functype(nil, []*Node{anonfield(typs[26]), anonfield(typs[26])}, []*Node{anonfield(typs[26])})
	typs[120] = functype(nil, []*Node{anonfield(typs[5])}, nil)
	typs[121] = functype(nil, []*Node{anonfield(typs[5]), anonfield(typs[5])}, nil)
	typs[122] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[1]), anonfield(typs[5])}, nil)
	typs[123] = types.NewSlice(typs[7])
	typs[124] = functype(nil, []*Node{anonfield(typs[7]), anonfield(typs[123])}, nil)
	typs[125] = types.Types[TUINT8]
	typs[126] = functype(nil, []*Node{anonfield(typs[125]), anonfield(typs[125])}, nil)
	typs[127] = types.Types[TUINT16]
	typs[128] = functype(nil, []*Node{anonfield(typs[127]), anonfield(typs[127])}, nil)
	typs[129] = functype(nil, []*Node{anonfield(typs[64]), anonfield(typs[64])}, nil)
	typs[130] = functype(nil, []*Node{anonfield(typs[24]), anonfield(typs[24])}, nil)
	return typs[:]
}