// asmcheck

// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package codegen

type I interface {
	foo000()
	foo001()
	foo002()
	foo003()
	foo004()
	foo005()
	foo006()
	foo007()
	foo008()
	foo009()
	foo010()
	foo011()
	foo012()
	foo013()
	foo014()
	foo015()
	foo016()
	foo017()
	foo018()
	foo019()
	foo020()
	foo021()
	foo022()
	foo023()
	foo024()
	foo025()
	foo026()
	foo027()
	foo028()
	foo029()
	foo030()
	foo031()
	foo032()
	foo033()
	foo034()
	foo035()
	foo036()
	foo037()
	foo038()
	foo039()
	foo040()
	foo041()
	foo042()
	foo043()
	foo044()
	foo045()
	foo046()
	foo047()
	foo048()
	foo049()
	foo050()
	foo051()
	foo052()
	foo053()
	foo054()
	foo055()
	foo056()
	foo057()
	foo058()
	foo059()
	foo060()
	foo061()
	foo062()
	foo063()
	foo064()
	foo065()
	foo066()
	foo067()
	foo068()
	foo069()
	foo070()
	foo071()
	foo072()
	foo073()
	foo074()
	foo075()
	foo076()
	foo077()
	foo078()
	foo079()
	foo080()
	foo081()
	foo082()
	foo083()
	foo084()
	foo085()
	foo086()
	foo087()
	foo088()
	foo089()
	foo090()
	foo091()
	foo092()
	foo093()
	foo094()
	foo095()
	foo096()
	foo097()
	foo098()
	foo099()
	foo100()
	foo101()
	foo102()
	foo103()
	foo104()
	foo105()
	foo106()
	foo107()
	foo108()
	foo109()
	foo110()
	foo111()
	foo112()
	foo113()
	foo114()
	foo115()
	foo116()
	foo117()
	foo118()
	foo119()
	foo120()
	foo121()
	foo122()
	foo123()
	foo124()
	foo125()
	foo126()
	foo127()
	foo128()
	foo129()
	foo130()
	foo131()
	foo132()
	foo133()
	foo134()
	foo135()
	foo136()
	foo137()
	foo138()
	foo139()
	foo140()
	foo141()
	foo142()
	foo143()
	foo144()
	foo145()
	foo146()
	foo147()
	foo148()
	foo149()
	foo150()
	foo151()
	foo152()
	foo153()
	foo154()
	foo155()
	foo156()
	foo157()
	foo158()
	foo159()
	foo160()
	foo161()
	foo162()
	foo163()
	foo164()
	foo165()
	foo166()
	foo167()
	foo168()
	foo169()
	foo170()
	foo171()
	foo172()
	foo173()
	foo174()
	foo175()
	foo176()
	foo177()
	foo178()
	foo179()
	foo180()
	foo181()
	foo182()
	foo183()
	foo184()
	foo185()
	foo186()
	foo187()
	foo188()
	foo189()
	foo190()
	foo191()
	foo192()
	foo193()
	foo194()
	foo195()
	foo196()
	foo197()
	foo198()
	foo199()
	foo200()
	foo201()
	foo202()
	foo203()
	foo204()
	foo205()
	foo206()
	foo207()
	foo208()
	foo209()
	foo210()
	foo211()
	foo212()
	foo213()
	foo214()
	foo215()
	foo216()
	foo217()
	foo218()
	foo219()
	foo220()
	foo221()
	foo222()
	foo223()
	foo224()
	foo225()
	foo226()
	foo227()
	foo228()
	foo229()
	foo230()
	foo231()
	foo232()
	foo233()
	foo234()
	foo235()
	foo236()
	foo237()
	foo238()
	foo239()
	foo240()
	foo241()
	foo242()
	foo243()
	foo244()
	foo245()
	foo246()
	foo247()
	foo248()
	foo249()
	foo250()
	foo251()
	foo252()
	foo253()
	foo254()
	foo255()
	foo256()
	foo257()
	foo258()
	foo259()
	foo260()
	foo261()
	foo262()
	foo263()
	foo264()
	foo265()
	foo266()
	foo267()
	foo268()
	foo269()
	foo270()
	foo271()
	foo272()
	foo273()
	foo274()
	foo275()
	foo276()
	foo277()
	foo278()
	foo279()
	foo280()
	foo281()
	foo282()
	foo283()
	foo284()
	foo285()
	foo286()
	foo287()
	foo288()
	foo289()
	foo290()
	foo291()
	foo292()
	foo293()
	foo294()
	foo295()
	foo296()
	foo297()
	foo298()
	foo299()
	foo300()
	foo301()
	foo302()
	foo303()
	foo304()
	foo305()
	foo306()
	foo307()
	foo308()
	foo309()
	foo310()
	foo311()
	foo312()
	foo313()
	foo314()
	foo315()
	foo316()
	foo317()
	foo318()
	foo319()
	foo320()
	foo321()
	foo322()
	foo323()
	foo324()
	foo325()
	foo326()
	foo327()
	foo328()
	foo329()
	foo330()
	foo331()
	foo332()
	foo333()
	foo334()
	foo335()
	foo336()
	foo337()
	foo338()
	foo339()
	foo340()
	foo341()
	foo342()
	foo343()
	foo344()
	foo345()
	foo346()
	foo347()
	foo348()
	foo349()
	foo350()
	foo351()
	foo352()
	foo353()
	foo354()
	foo355()
	foo356()
	foo357()
	foo358()
	foo359()
	foo360()
	foo361()
	foo362()
	foo363()
	foo364()
	foo365()
	foo366()
	foo367()
	foo368()
	foo369()
	foo370()
	foo371()
	foo372()
	foo373()
	foo374()
	foo375()
	foo376()
	foo377()
	foo378()
	foo379()
	foo380()
	foo381()
	foo382()
	foo383()
	foo384()
	foo385()
	foo386()
	foo387()
	foo388()
	foo389()
	foo390()
	foo391()
	foo392()
	foo393()
	foo394()
	foo395()
	foo396()
	foo397()
	foo398()
	foo399()
	foo400()
	foo401()
	foo402()
	foo403()
	foo404()
	foo405()
	foo406()
	foo407()
	foo408()
	foo409()
	foo410()
	foo411()
	foo412()
	foo413()
	foo414()
	foo415()
	foo416()
	foo417()
	foo418()
	foo419()
	foo420()
	foo421()
	foo422()
	foo423()
	foo424()
	foo425()
	foo426()
	foo427()
	foo428()
	foo429()
	foo430()
	foo431()
	foo432()
	foo433()
	foo434()
	foo435()
	foo436()
	foo437()
	foo438()
	foo439()
	foo440()
	foo441()
	foo442()
	foo443()
	foo444()
	foo445()
	foo446()
	foo447()
	foo448()
	foo449()
	foo450()
	foo451()
	foo452()
	foo453()
	foo454()
	foo455()
	foo456()
	foo457()
	foo458()
	foo459()
	foo460()
	foo461()
	foo462()
	foo463()
	foo464()
	foo465()
	foo466()
	foo467()
	foo468()
	foo469()
	foo470()
	foo471()
	foo472()
	foo473()
	foo474()
	foo475()
	foo476()
	foo477()
	foo478()
	foo479()
	foo480()
	foo481()
	foo482()
	foo483()
	foo484()
	foo485()
	foo486()
	foo487()
	foo488()
	foo489()
	foo490()
	foo491()
	foo492()
	foo493()
	foo494()
	foo495()
	foo496()
	foo497()
	foo498()
	foo499()
	foo500()
	foo501()
	foo502()
	foo503()
	foo504()
	foo505()
	foo506()
	foo507()
	foo508()
	foo509()
	foo510()
	foo511()
}

// Nil checks before calling interface methods.
// We need it only when the offset is large.

func callMethodSmallOffset(i I) {
	// amd64:-"TESTB"
	i.foo001()
}

func callMethodLargeOffset(i I) {
	// amd64:"TESTB"
	i.foo511()
}
