// AUTO-GENERATED by mkbuiltin.go; DO NOT EDIT

package gc

var runtimeDecls = [...]struct {
	name string
	tag  int
	typ  int
}{
	{"newobject", funcTag, 4},
	{"panicindex", funcTag, 5},
	{"panicslice", funcTag, 5},
	{"panicdivide", funcTag, 5},
	{"throwinit", funcTag, 5},
	{"panicwrap", funcTag, 5},
	{"gopanic", funcTag, 7},
	{"gorecover", funcTag, 10},
	{"goschedguarded", funcTag, 5},
	{"printbool", funcTag, 12},
	{"printfloat", funcTag, 14},
	{"printint", funcTag, 16},
	{"printhex", funcTag, 18},
	{"printuint", funcTag, 18},
	{"printcomplex", funcTag, 20},
	{"printstring", funcTag, 22},
	{"printpointer", funcTag, 23},
	{"printiface", funcTag, 23},
	{"printeface", funcTag, 23},
	{"printslice", funcTag, 23},
	{"printnl", funcTag, 5},
	{"printsp", funcTag, 5},
	{"printlock", funcTag, 5},
	{"printunlock", funcTag, 5},
	{"concatstring2", funcTag, 26},
	{"concatstring3", funcTag, 27},
	{"concatstring4", funcTag, 28},
	{"concatstring5", funcTag, 29},
	{"concatstrings", funcTag, 31},
	{"cmpstring", funcTag, 33},
	{"eqstring", funcTag, 34},
	{"intstring", funcTag, 37},
	{"slicebytetostring", funcTag, 39},
	{"slicebytetostringtmp", funcTag, 40},
	{"slicerunetostring", funcTag, 43},
	{"stringtoslicebyte", funcTag, 44},
	{"stringtoslicerune", funcTag, 47},
	{"decoderune", funcTag, 48},
	{"slicecopy", funcTag, 50},
	{"slicestringcopy", funcTag, 51},
	{"convI2I", funcTag, 52},
	{"convT2E", funcTag, 53},
	{"convT2E16", funcTag, 53},
	{"convT2E32", funcTag, 53},
	{"convT2E64", funcTag, 53},
	{"convT2Estring", funcTag, 53},
	{"convT2Eslice", funcTag, 53},
	{"convT2Enoptr", funcTag, 53},
	{"convT2I", funcTag, 53},
	{"convT2I16", funcTag, 53},
	{"convT2I32", funcTag, 53},
	{"convT2I64", funcTag, 53},
	{"convT2Istring", funcTag, 53},
	{"convT2Islice", funcTag, 53},
	{"convT2Inoptr", funcTag, 53},
	{"assertE2I", funcTag, 52},
	{"assertE2I2", funcTag, 54},
	{"assertI2I", funcTag, 52},
	{"assertI2I2", funcTag, 54},
	{"panicdottypeE", funcTag, 55},
	{"panicdottypeI", funcTag, 55},
	{"panicnildottype", funcTag, 56},
	{"ifaceeq", funcTag, 57},
	{"efaceeq", funcTag, 57},
	{"makemap", funcTag, 59},
	{"mapaccess1", funcTag, 60},
	{"mapaccess1_fast32", funcTag, 61},
	{"mapaccess1_fast64", funcTag, 61},
	{"mapaccess1_faststr", funcTag, 61},
	{"mapaccess1_fat", funcTag, 62},
	{"mapaccess2", funcTag, 63},
	{"mapaccess2_fast32", funcTag, 64},
	{"mapaccess2_fast64", funcTag, 64},
	{"mapaccess2_faststr", funcTag, 64},
	{"mapaccess2_fat", funcTag, 65},
	{"mapassign", funcTag, 60},
	{"mapassign_fast32", funcTag, 61},
	{"mapassign_fast64", funcTag, 61},
	{"mapassign_faststr", funcTag, 61},
	{"mapiterinit", funcTag, 66},
	{"mapdelete", funcTag, 66},
	{"mapdelete_fast32", funcTag, 67},
	{"mapdelete_fast64", funcTag, 67},
	{"mapdelete_faststr", funcTag, 67},
	{"mapiternext", funcTag, 68},
	{"makechan", funcTag, 70},
	{"chanrecv1", funcTag, 72},
	{"chanrecv2", funcTag, 73},
	{"chansend1", funcTag, 75},
	{"closechan", funcTag, 23},
	{"writeBarrier", varTag, 77},
	{"writebarrierptr", funcTag, 78},
	{"typedmemmove", funcTag, 79},
	{"typedmemclr", funcTag, 80},
	{"typedslicecopy", funcTag, 81},
	{"selectnbsend", funcTag, 82},
	{"selectnbrecv", funcTag, 83},
	{"selectnbrecv2", funcTag, 85},
	{"newselect", funcTag, 86},
	{"selectsend", funcTag, 87},
	{"selectrecv", funcTag, 88},
	{"selectdefault", funcTag, 56},
	{"selectgo", funcTag, 89},
	{"block", funcTag, 5},
	{"makeslice", funcTag, 91},
	{"makeslice64", funcTag, 92},
	{"growslice", funcTag, 93},
	{"memmove", funcTag, 94},
	{"memclrNoHeapPointers", funcTag, 96},
	{"memclrHasPointers", funcTag, 96},
	{"memequal", funcTag, 97},
	{"memequal8", funcTag, 98},
	{"memequal16", funcTag, 98},
	{"memequal32", funcTag, 98},
	{"memequal64", funcTag, 98},
	{"memequal128", funcTag, 98},
	{"int64div", funcTag, 99},
	{"uint64div", funcTag, 100},
	{"int64mod", funcTag, 99},
	{"uint64mod", funcTag, 100},
	{"float64toint64", funcTag, 101},
	{"float64touint64", funcTag, 102},
	{"float64touint32", funcTag, 104},
	{"int64tofloat64", funcTag, 105},
	{"uint64tofloat64", funcTag, 106},
	{"uint32tofloat64", funcTag, 107},
	{"complex128div", funcTag, 108},
	{"racefuncenter", funcTag, 109},
	{"racefuncexit", funcTag, 5},
	{"raceread", funcTag, 109},
	{"racewrite", funcTag, 109},
	{"racereadrange", funcTag, 110},
	{"racewriterange", funcTag, 110},
	{"msanread", funcTag, 110},
	{"msanwrite", funcTag, 110},
}

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