From 6acd6a048ddacb82a5028fa5086d28df6bb46686 Mon Sep 17 00:00:00 2001 From: Michael McLoughlin Date: Sat, 30 Oct 2021 18:22:24 -0700 Subject: [PATCH] tests: test functions with random signatures (#216) Adds a test for function signature memory layout by generating functions with random signatures. This confirms that the size and offsets computed by `gotypes` agree with `asmdecl`. Updates #191 #195 --- tests/signature/asm.go | 78 ++ tests/signature/gen.go | 4 + tests/signature/signature.s | 1534 +++++++++++++++++++++++++++++++++++ tests/signature/stub.go | 515 ++++++++++++ 4 files changed, 2131 insertions(+) create mode 100644 tests/signature/asm.go create mode 100644 tests/signature/gen.go create mode 100644 tests/signature/signature.s create mode 100644 tests/signature/stub.go diff --git a/tests/signature/asm.go b/tests/signature/asm.go new file mode 100644 index 00000000..996d4112 --- /dev/null +++ b/tests/signature/asm.go @@ -0,0 +1,78 @@ +//go:build ignore +// +build ignore + +package main + +import ( + "flag" + "fmt" + "go/token" + "go/types" + "math/rand" + + . "github.com/mmcloughlin/avo/build" + . "github.com/mmcloughlin/avo/gotypes" + . "github.com/mmcloughlin/avo/reg" +) + +var ( + seed = flag.Int64("seed", 0, "random seed") + num = flag.Int("num", 32, "number of test functions to generate") +) + +func main() { + flag.Parse() + + rand.Seed(*seed) + + for i := 0; i < *num; i++ { + name := fmt.Sprintf("Signature%d", i) + sig := RandomSignature() + SignatureFunction(name, sig) + } + + Generate() +} + +func SignatureFunction(name string, sig *types.Signature) { + // Declare the function. + TEXT(name, 0, sig.String()) + + // Write to the results. Otherwise, asmdecl would warn us. + regsize := map[int64]Virtual{1: GP8(), 2: GP16(), 4: GP32(), 8: GP64()} + rs := sig.Results() + for i := 0; i < rs.Len(); i++ { + r := rs.At(i) + size := Sizes.Sizeof(r.Type()) + Store(regsize[size], ReturnIndex(i)) + } + + RET() +} + +func RandomSignature() *types.Signature { + p := RandomTuple() + r := RandomTuple() + return types.NewSignature(nil, p, r, false) +} + +func RandomTuple() *types.Tuple { + n := rand.Intn(5) + vs := make([]*types.Var, n) + for i := 0; i < n; i++ { + t := RandomType() + vs[i] = types.NewVar(token.NoPos, nil, "", t) + } + return types.NewTuple(vs...) +} + +func RandomType() types.Type { + accept := types.IsInteger | types.IsUnsigned + for { + t := types.Typ[rand.Intn(len(types.Typ))] + info := t.Info() + if info != 0 && (info&^accept) == 0 { + return t + } + } +} diff --git a/tests/signature/gen.go b/tests/signature/gen.go new file mode 100644 index 00000000..f023c6a4 --- /dev/null +++ b/tests/signature/gen.go @@ -0,0 +1,4 @@ +// Package signature tests handling of random function signatures. +package signature + +//go:generate go run asm.go -out signature.s -stubs stub.go -seed 42 -num 256 diff --git a/tests/signature/signature.s b/tests/signature/signature.s new file mode 100644 index 00000000..66cd2ab3 --- /dev/null +++ b/tests/signature/signature.s @@ -0,0 +1,1534 @@ +// Code generated by command: go run asm.go -out signature.s -stubs stub.go -seed 42 -num 256. DO NOT EDIT. + +// func Signature0() (uint32, int16) +TEXT ·Signature0(SB), $0-6 + MOVL AX, ret+0(FP) + MOVW AX, ret1+4(FP) + RET + +// func Signature1(int16, uint, uint32) (int64, int8, uint64, int64) +TEXT ·Signature1(SB), $0-56 + MOVQ AX, ret+24(FP) + MOVB AL, ret1+32(FP) + MOVQ AX, ret2+40(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature2(uint, int16) (uint32, uintptr, int16, uint16) +TEXT ·Signature2(SB), $0-36 + MOVL AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVW AX, ret2+32(FP) + MOVW AX, ret3+34(FP) + RET + +// func Signature3(uintptr, uint32) uint32 +TEXT ·Signature3(SB), $0-20 + MOVL AX, ret+16(FP) + RET + +// func Signature4(int64, uint32) (uint16, int64, uint32, int8) +TEXT ·Signature4(SB), $0-37 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + MOVB AL, ret3+36(FP) + RET + +// func Signature5(int8) +TEXT ·Signature5(SB), $0-1 + RET + +// func Signature6(int64) +TEXT ·Signature6(SB), $0-8 + RET + +// func Signature7(uint) (int8, int, uintptr, uintptr) +TEXT ·Signature7(SB), $0-40 + MOVB AL, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVQ AX, ret3+32(FP) + RET + +// func Signature8(uint16) int +TEXT ·Signature8(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature9(uint32, uint16, uint16) (uintptr, uint16, int8, uint8) +TEXT ·Signature9(SB), $0-20 + MOVQ AX, ret+8(FP) + MOVW AX, ret1+16(FP) + MOVB AL, ret2+18(FP) + MOVB AL, ret3+19(FP) + RET + +// func Signature10(uint, uint, int64) (int8, uintptr, uint, int32) +TEXT ·Signature10(SB), $0-52 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + MOVL AX, ret3+48(FP) + RET + +// func Signature11() (uint64, int16, uint64, uint) +TEXT ·Signature11(SB), $0-32 + MOVQ AX, ret+0(FP) + MOVW AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature12(uintptr) (uint8, uint8) +TEXT ·Signature12(SB), $0-10 + MOVB AL, ret+8(FP) + MOVB AL, ret1+9(FP) + RET + +// func Signature13() uint8 +TEXT ·Signature13(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature14(int8, uint64, uintptr) int32 +TEXT ·Signature14(SB), $0-28 + MOVL AX, ret+24(FP) + RET + +// func Signature15(uint32, uint32, int16) (uint64, int) +TEXT ·Signature15(SB), $0-32 + MOVQ AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature16(uint32) uint16 +TEXT ·Signature16(SB), $0-10 + MOVW AX, ret+8(FP) + RET + +// func Signature17(int16) (int32, uint, int8, uint8) +TEXT ·Signature17(SB), $0-26 + MOVL AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVB AL, ret2+24(FP) + MOVB AL, ret3+25(FP) + RET + +// func Signature18(uintptr, uintptr) (uint8, uint32) +TEXT ·Signature18(SB), $0-24 + MOVB AL, ret+16(FP) + MOVL AX, ret1+20(FP) + RET + +// func Signature19(int, uint64, int) (int32, uintptr) +TEXT ·Signature19(SB), $0-40 + MOVL AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + RET + +// func Signature20(uint32) +TEXT ·Signature20(SB), $0-4 + RET + +// func Signature21(uint8, int8, uint64) (uint16, uint32) +TEXT ·Signature21(SB), $0-24 + MOVW AX, ret+16(FP) + MOVL AX, ret1+20(FP) + RET + +// func Signature22(int, uint16, uint8, int8) (int8, uint32) +TEXT ·Signature22(SB), $0-24 + MOVB AL, ret+16(FP) + MOVL AX, ret1+20(FP) + RET + +// func Signature23(int32, uint32) (uint8, int16) +TEXT ·Signature23(SB), $0-12 + MOVB AL, ret+8(FP) + MOVW AX, ret1+10(FP) + RET + +// func Signature24(int16, uintptr) +TEXT ·Signature24(SB), $0-16 + RET + +// func Signature25(int8, int32, uint16, uint) +TEXT ·Signature25(SB), $0-24 + RET + +// func Signature26() (uint16, uint64, int) +TEXT ·Signature26(SB), $0-24 + MOVW AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + RET + +// func Signature27(uint32) (uint64, uint8) +TEXT ·Signature27(SB), $0-17 + MOVQ AX, ret+8(FP) + MOVB AL, ret1+16(FP) + RET + +// func Signature28(uint64, int16, uint8, uintptr) (uint16, uintptr) +TEXT ·Signature28(SB), $0-40 + MOVW AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + RET + +// func Signature29(int8, int32, uint64, int64) uint16 +TEXT ·Signature29(SB), $0-26 + MOVW AX, ret+24(FP) + RET + +// func Signature30(int8, uint16, int32, uint64) uint8 +TEXT ·Signature30(SB), $0-17 + MOVB AL, ret+16(FP) + RET + +// func Signature31(uint64, uint8, uint32) (int16, uintptr) +TEXT ·Signature31(SB), $0-32 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature32(int16, int) (int64, uint64, uintptr, uint16) +TEXT ·Signature32(SB), $0-42 + MOVQ AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + MOVW AX, ret3+40(FP) + RET + +// func Signature33(int16, int8, int8) +TEXT ·Signature33(SB), $0-4 + RET + +// func Signature34(uint16, int64) +TEXT ·Signature34(SB), $0-16 + RET + +// func Signature35(int8, uint, uint, int8) uint64 +TEXT ·Signature35(SB), $0-40 + MOVQ AX, ret+32(FP) + RET + +// func Signature36() (uint8, int, uintptr, uintptr) +TEXT ·Signature36(SB), $0-32 + MOVB AL, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature37() (uint16, uint16, uint32, uint16) +TEXT ·Signature37(SB), $0-10 + MOVW AX, ret+0(FP) + MOVW AX, ret1+2(FP) + MOVL AX, ret2+4(FP) + MOVW AX, ret3+8(FP) + RET + +// func Signature38(uint8, uint, uint32) +TEXT ·Signature38(SB), $0-20 + RET + +// func Signature39(uint8, int32, int) int16 +TEXT ·Signature39(SB), $0-18 + MOVW AX, ret+16(FP) + RET + +// func Signature40(int16, int, int16) (int8, uint64) +TEXT ·Signature40(SB), $0-40 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + RET + +// func Signature41() (uint, uintptr, uint32) +TEXT ·Signature41(SB), $0-20 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVL AX, ret2+16(FP) + RET + +// func Signature42(uint8, uint8) +TEXT ·Signature42(SB), $0-2 + RET + +// func Signature43() uint8 +TEXT ·Signature43(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature44(int32, int16) uint32 +TEXT ·Signature44(SB), $0-12 + MOVL AX, ret+8(FP) + RET + +// func Signature45() (uintptr, uintptr, uint8) +TEXT ·Signature45(SB), $0-17 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVB AL, ret2+16(FP) + RET + +// func Signature46(int8) (uint8, uint8, uint, int32) +TEXT ·Signature46(SB), $0-28 + MOVB AL, ret+8(FP) + MOVB AL, ret1+9(FP) + MOVQ AX, ret2+16(FP) + MOVL AX, ret3+24(FP) + RET + +// func Signature47(uint8) uint +TEXT ·Signature47(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature48(int32, uint, uintptr, int32) uint8 +TEXT ·Signature48(SB), $0-33 + MOVB AL, ret+32(FP) + RET + +// func Signature49(uint16, int16) +TEXT ·Signature49(SB), $0-4 + RET + +// func Signature50(int64, int16, uint64, uintptr) (int8, uint, int32) +TEXT ·Signature50(SB), $0-52 + MOVB AL, ret+32(FP) + MOVQ AX, ret1+40(FP) + MOVL AX, ret2+48(FP) + RET + +// func Signature51(int64, uint32, int8) +TEXT ·Signature51(SB), $0-13 + RET + +// func Signature52() (uint8, int32, int64) +TEXT ·Signature52(SB), $0-16 + MOVB AL, ret+0(FP) + MOVL AX, ret1+4(FP) + MOVQ AX, ret2+8(FP) + RET + +// func Signature53() (uint8, uint16) +TEXT ·Signature53(SB), $0-4 + MOVB AL, ret+0(FP) + MOVW AX, ret1+2(FP) + RET + +// func Signature54(uint64, int16, uint64) (int16, int16) +TEXT ·Signature54(SB), $0-28 + MOVW AX, ret+24(FP) + MOVW AX, ret1+26(FP) + RET + +// func Signature55(uint64) (uint, int, uint32, uintptr) +TEXT ·Signature55(SB), $0-40 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVL AX, ret2+24(FP) + MOVQ AX, ret3+32(FP) + RET + +// func Signature56() (int16, uintptr) +TEXT ·Signature56(SB), $0-16 + MOVW AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature57(uint32, uint8, uint) +TEXT ·Signature57(SB), $0-16 + RET + +// func Signature58(int, int64) +TEXT ·Signature58(SB), $0-16 + RET + +// func Signature59() uint8 +TEXT ·Signature59(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature60(uintptr, int8, uint8, uint) +TEXT ·Signature60(SB), $0-24 + RET + +// func Signature61(int8, uint16, int8) +TEXT ·Signature61(SB), $0-5 + RET + +// func Signature62() uint8 +TEXT ·Signature62(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature63(int32, int, int64) (int64, uintptr, int32, uint64) +TEXT ·Signature63(SB), $0-56 + MOVQ AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVL AX, ret2+40(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature64(uint32, uint16, uint8) (int16, int32) +TEXT ·Signature64(SB), $0-16 + MOVW AX, ret+8(FP) + MOVL AX, ret1+12(FP) + RET + +// func Signature65(int32, uint8) +TEXT ·Signature65(SB), $0-5 + RET + +// func Signature66() (int16, uintptr, uint32, uint) +TEXT ·Signature66(SB), $0-32 + MOVW AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVL AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature67(uint32, uint) +TEXT ·Signature67(SB), $0-16 + RET + +// func Signature68(int32, uint64, uint16) int32 +TEXT ·Signature68(SB), $0-28 + MOVL AX, ret+24(FP) + RET + +// func Signature69(int) uint +TEXT ·Signature69(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature70() int64 +TEXT ·Signature70(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature71(int, int8, uint16, uint16) (uint16, uint64) +TEXT ·Signature71(SB), $0-32 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature72(uint32, uintptr, uint8) (uint16, int8, int16, uint16) +TEXT ·Signature72(SB), $0-32 + MOVW AX, ret+24(FP) + MOVB AL, ret1+26(FP) + MOVW AX, ret2+28(FP) + MOVW AX, ret3+30(FP) + RET + +// func Signature73(int8, uint32, int8, uint) (uint64, int64) +TEXT ·Signature73(SB), $0-40 + MOVQ AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + RET + +// func Signature74() (int64, uint64, uint16, int64) +TEXT ·Signature74(SB), $0-32 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVW AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature75(uint16, int) (uintptr, uint, uint32) +TEXT ·Signature75(SB), $0-36 + MOVQ AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + RET + +// func Signature76() int8 +TEXT ·Signature76(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature77(uint32, uint32) +TEXT ·Signature77(SB), $0-8 + RET + +// func Signature78(int) (uint, int32) +TEXT ·Signature78(SB), $0-20 + MOVQ AX, ret+8(FP) + MOVL AX, ret1+16(FP) + RET + +// func Signature79(int16, int64, int32) (int64, uint8) +TEXT ·Signature79(SB), $0-33 + MOVQ AX, ret+24(FP) + MOVB AL, ret1+32(FP) + RET + +// func Signature80() (int64, int8, int8) +TEXT ·Signature80(SB), $0-10 + MOVQ AX, ret+0(FP) + MOVB AL, ret1+8(FP) + MOVB AL, ret2+9(FP) + RET + +// func Signature81(uint8, uintptr) +TEXT ·Signature81(SB), $0-16 + RET + +// func Signature82(uint, int32, int64) (uint8, uintptr, uint, uint32) +TEXT ·Signature82(SB), $0-52 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + MOVL AX, ret3+48(FP) + RET + +// func Signature83(uint64, uint) (int8, int, uintptr) +TEXT ·Signature83(SB), $0-40 + MOVB AL, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature84() (uint64, int16) +TEXT ·Signature84(SB), $0-10 + MOVQ AX, ret+0(FP) + MOVW AX, ret1+8(FP) + RET + +// func Signature85(uint32, uint64, uint64) (int16, int8, uint64) +TEXT ·Signature85(SB), $0-40 + MOVW AX, ret+24(FP) + MOVB AL, ret1+26(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature86(int16, uint64, int64, uint64) (uint64, uint32, uintptr) +TEXT ·Signature86(SB), $0-56 + MOVQ AX, ret+32(FP) + MOVL AX, ret1+40(FP) + MOVQ AX, ret2+48(FP) + RET + +// func Signature87(int32, uint8, int32, int8) uintptr +TEXT ·Signature87(SB), $0-24 + MOVQ AX, ret+16(FP) + RET + +// func Signature88(int, int8, uintptr, int64) (uint8, uint8, int64, int8) +TEXT ·Signature88(SB), $0-49 + MOVB AL, ret+32(FP) + MOVB AL, ret1+33(FP) + MOVQ AX, ret2+40(FP) + MOVB AL, ret3+48(FP) + RET + +// func Signature89(int64, uint16) (uint8, int, int32) +TEXT ·Signature89(SB), $0-36 + MOVB AL, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + RET + +// func Signature90(uint64) (uint64, uint64, int64) +TEXT ·Signature90(SB), $0-32 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + RET + +// func Signature91(uint16, uintptr, int, int64) (int8, uint8, int, int) +TEXT ·Signature91(SB), $0-56 + MOVB AL, ret+32(FP) + MOVB AL, ret1+33(FP) + MOVQ AX, ret2+40(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature92(uint32, uint64, uint32, uint) (int8, uint8, uint) +TEXT ·Signature92(SB), $0-48 + MOVB AL, ret+32(FP) + MOVB AL, ret1+33(FP) + MOVQ AX, ret2+40(FP) + RET + +// func Signature93(uint32, uint, int64, int) +TEXT ·Signature93(SB), $0-32 + RET + +// func Signature94(uint64) +TEXT ·Signature94(SB), $0-8 + RET + +// func Signature95() (uint, uintptr, int, uintptr) +TEXT ·Signature95(SB), $0-32 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature96(uint8, int16, int32) uint64 +TEXT ·Signature96(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature97(uint, uint, uint) (int8, int, int64) +TEXT ·Signature97(SB), $0-48 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + RET + +// func Signature98(int8, int) (int16, int16) +TEXT ·Signature98(SB), $0-20 + MOVW AX, ret+16(FP) + MOVW AX, ret1+18(FP) + RET + +// func Signature99(uint64) (uintptr, int16, uintptr) +TEXT ·Signature99(SB), $0-32 + MOVQ AX, ret+8(FP) + MOVW AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + RET + +// func Signature100(int32) (int, int16, int64, uint32) +TEXT ·Signature100(SB), $0-36 + MOVQ AX, ret+8(FP) + MOVW AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVL AX, ret3+32(FP) + RET + +// func Signature101() (uint64, uint64, int64, uint8) +TEXT ·Signature101(SB), $0-25 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + MOVB AL, ret3+24(FP) + RET + +// func Signature102(uint32, uint) +TEXT ·Signature102(SB), $0-16 + RET + +// func Signature103() uint16 +TEXT ·Signature103(SB), $0-2 + MOVW AX, ret+0(FP) + RET + +// func Signature104() (int, uint) +TEXT ·Signature104(SB), $0-16 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature105(uint16, int64, int8) uint64 +TEXT ·Signature105(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature106(uint32, int64, uint32, uint8) +TEXT ·Signature106(SB), $0-21 + RET + +// func Signature107(uint64, uintptr) int32 +TEXT ·Signature107(SB), $0-20 + MOVL AX, ret+16(FP) + RET + +// func Signature108(uint8, int64, uint8, uint32) int64 +TEXT ·Signature108(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature109(uint, uint, uint8, uint32) int +TEXT ·Signature109(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature110() uint8 +TEXT ·Signature110(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature111(uint32, uint) (int16, uint64, uint32, uint32) +TEXT ·Signature111(SB), $0-40 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + MOVL AX, ret3+36(FP) + RET + +// func Signature112(uint, uintptr, uint16, uint16) (uint32, int16, int64, uint) +TEXT ·Signature112(SB), $0-48 + MOVL AX, ret+24(FP) + MOVW AX, ret1+28(FP) + MOVQ AX, ret2+32(FP) + MOVQ AX, ret3+40(FP) + RET + +// func Signature113(uintptr, int64, uintptr, int32) (int16, int64) +TEXT ·Signature113(SB), $0-48 + MOVW AX, ret+32(FP) + MOVQ AX, ret1+40(FP) + RET + +// func Signature114(int32, int64, uint, uint32) +TEXT ·Signature114(SB), $0-28 + RET + +// func Signature115() uint64 +TEXT ·Signature115(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature116() (int64, uint16) +TEXT ·Signature116(SB), $0-10 + MOVQ AX, ret+0(FP) + MOVW AX, ret1+8(FP) + RET + +// func Signature117(uintptr, int64, int32, uintptr) +TEXT ·Signature117(SB), $0-32 + RET + +// func Signature118(int32, uint) +TEXT ·Signature118(SB), $0-16 + RET + +// func Signature119(int32, int16) (int16, int64) +TEXT ·Signature119(SB), $0-24 + MOVW AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + RET + +// func Signature120(int, uintptr) (uint8, uint16, int) +TEXT ·Signature120(SB), $0-32 + MOVB AL, ret+16(FP) + MOVW AX, ret1+18(FP) + MOVQ AX, ret2+24(FP) + RET + +// func Signature121(uint32, int32) +TEXT ·Signature121(SB), $0-8 + RET + +// func Signature122() int32 +TEXT ·Signature122(SB), $0-4 + MOVL AX, ret+0(FP) + RET + +// func Signature123() (uint, uint, int32) +TEXT ·Signature123(SB), $0-20 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVL AX, ret2+16(FP) + RET + +// func Signature124(uint64, int32, uint32) (uint32, uint32, uint8) +TEXT ·Signature124(SB), $0-25 + MOVL AX, ret+16(FP) + MOVL AX, ret1+20(FP) + MOVB AL, ret2+24(FP) + RET + +// func Signature125(uint32, uint64) +TEXT ·Signature125(SB), $0-16 + RET + +// func Signature126(uint, uint8, uint64) int8 +TEXT ·Signature126(SB), $0-25 + MOVB AL, ret+24(FP) + RET + +// func Signature127(uint64, uint8) (uintptr, uint32) +TEXT ·Signature127(SB), $0-28 + MOVQ AX, ret+16(FP) + MOVL AX, ret1+24(FP) + RET + +// func Signature128(uint64) +TEXT ·Signature128(SB), $0-8 + RET + +// func Signature129() (uint64, uint8, int8) +TEXT ·Signature129(SB), $0-10 + MOVQ AX, ret+0(FP) + MOVB AL, ret1+8(FP) + MOVB AL, ret2+9(FP) + RET + +// func Signature130(uint, uint8, uint, int64) (uint64, uint8) +TEXT ·Signature130(SB), $0-41 + MOVQ AX, ret+32(FP) + MOVB AL, ret1+40(FP) + RET + +// func Signature131() (uint8, uint32, uint16) +TEXT ·Signature131(SB), $0-10 + MOVB AL, ret+0(FP) + MOVL AX, ret1+4(FP) + MOVW AX, ret2+8(FP) + RET + +// func Signature132() (int64, int64, int, uint64) +TEXT ·Signature132(SB), $0-32 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature133(uint64, uint8, int64, uint32) (uint32, uint8, int32) +TEXT ·Signature133(SB), $0-44 + MOVL AX, ret+32(FP) + MOVB AL, ret1+36(FP) + MOVL AX, ret2+40(FP) + RET + +// func Signature134(int32) uintptr +TEXT ·Signature134(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature135(uint16) (uintptr, int32, int, uint8) +TEXT ·Signature135(SB), $0-33 + MOVQ AX, ret+8(FP) + MOVL AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVB AL, ret3+32(FP) + RET + +// func Signature136(int64) +TEXT ·Signature136(SB), $0-8 + RET + +// func Signature137(uint8, uint16, int, int8) int64 +TEXT ·Signature137(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature138() +TEXT ·Signature138(SB), $0 + RET + +// func Signature139() (int, uint8, uint32) +TEXT ·Signature139(SB), $0-16 + MOVQ AX, ret+0(FP) + MOVB AL, ret1+8(FP) + MOVL AX, ret2+12(FP) + RET + +// func Signature140(uint32, int16) int8 +TEXT ·Signature140(SB), $0-9 + MOVB AL, ret+8(FP) + RET + +// func Signature141(uint16) (uintptr, uint32, uint64) +TEXT ·Signature141(SB), $0-32 + MOVQ AX, ret+8(FP) + MOVL AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + RET + +// func Signature142(int, int64) (uint64, int8) +TEXT ·Signature142(SB), $0-25 + MOVQ AX, ret+16(FP) + MOVB AL, ret1+24(FP) + RET + +// func Signature143(int) (int64, int, int, int32) +TEXT ·Signature143(SB), $0-36 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVL AX, ret3+32(FP) + RET + +// func Signature144(uint64, int16, int8, int16) (int16, uint64, int32) +TEXT ·Signature144(SB), $0-36 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + RET + +// func Signature145() (int, int64) +TEXT ·Signature145(SB), $0-16 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature146() (uint, int64, int8, uint32) +TEXT ·Signature146(SB), $0-24 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVB AL, ret2+16(FP) + MOVL AX, ret3+20(FP) + RET + +// func Signature147(int16) +TEXT ·Signature147(SB), $0-2 + RET + +// func Signature148(uint, uint32) (uint8, int32, uint16, uint) +TEXT ·Signature148(SB), $0-40 + MOVB AL, ret+16(FP) + MOVL AX, ret1+20(FP) + MOVW AX, ret2+24(FP) + MOVQ AX, ret3+32(FP) + RET + +// func Signature149(uint64, uint64, int, int8) (uintptr, int, uint64) +TEXT ·Signature149(SB), $0-56 + MOVQ AX, ret+32(FP) + MOVQ AX, ret1+40(FP) + MOVQ AX, ret2+48(FP) + RET + +// func Signature150(uint32, int32) (int16, uintptr, uint16) +TEXT ·Signature150(SB), $0-26 + MOVW AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVW AX, ret2+24(FP) + RET + +// func Signature151(uint32, int16) (int, uint, uint) +TEXT ·Signature151(SB), $0-32 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + RET + +// func Signature152() (uint, int32, int64) +TEXT ·Signature152(SB), $0-24 + MOVQ AX, ret+0(FP) + MOVL AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + RET + +// func Signature153(uint8, uint16, uint64, uint) int +TEXT ·Signature153(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature154(uint, int, int32, int64) (uint, int8, int16, uintptr) +TEXT ·Signature154(SB), $0-56 + MOVQ AX, ret+32(FP) + MOVB AL, ret1+40(FP) + MOVW AX, ret2+42(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature155(int16, uint16) (uint, int16, uint, int16) +TEXT ·Signature155(SB), $0-34 + MOVQ AX, ret+8(FP) + MOVW AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVW AX, ret3+32(FP) + RET + +// func Signature156(int64) +TEXT ·Signature156(SB), $0-8 + RET + +// func Signature157(int64, uint16, uint16) (uint, int64) +TEXT ·Signature157(SB), $0-32 + MOVQ AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature158() (int32, uint64, int64) +TEXT ·Signature158(SB), $0-24 + MOVL AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + RET + +// func Signature159(int, uint) +TEXT ·Signature159(SB), $0-16 + RET + +// func Signature160() int +TEXT ·Signature160(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature161(uint, int32, uint64, int16) (uint32, int32, uint, uintptr) +TEXT ·Signature161(SB), $0-56 + MOVL AX, ret+32(FP) + MOVL AX, ret1+36(FP) + MOVQ AX, ret2+40(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature162(uintptr, int, int) (int16, int8) +TEXT ·Signature162(SB), $0-27 + MOVW AX, ret+24(FP) + MOVB AL, ret1+26(FP) + RET + +// func Signature163(int32) uintptr +TEXT ·Signature163(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature164(uintptr) (int64, uint, uint8, uint64) +TEXT ·Signature164(SB), $0-40 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVB AL, ret2+24(FP) + MOVQ AX, ret3+32(FP) + RET + +// func Signature165(int16, uintptr) (int8, int, int16) +TEXT ·Signature165(SB), $0-34 + MOVB AL, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVW AX, ret2+32(FP) + RET + +// func Signature166(int16) uint16 +TEXT ·Signature166(SB), $0-10 + MOVW AX, ret+8(FP) + RET + +// func Signature167(uint32, int, int64) (int, uint16, int8, uintptr) +TEXT ·Signature167(SB), $0-48 + MOVQ AX, ret+24(FP) + MOVW AX, ret1+32(FP) + MOVB AL, ret2+34(FP) + MOVQ AX, ret3+40(FP) + RET + +// func Signature168(int32, uint16) (uint16, uint16, uint16) +TEXT ·Signature168(SB), $0-14 + MOVW AX, ret+8(FP) + MOVW AX, ret1+10(FP) + MOVW AX, ret2+12(FP) + RET + +// func Signature169(uint32, uint8, int64) +TEXT ·Signature169(SB), $0-16 + RET + +// func Signature170(uint16, uintptr, uintptr, uintptr) (int, uint8, uint64) +TEXT ·Signature170(SB), $0-56 + MOVQ AX, ret+32(FP) + MOVB AL, ret1+40(FP) + MOVQ AX, ret2+48(FP) + RET + +// func Signature171() +TEXT ·Signature171(SB), $0 + RET + +// func Signature172(int32, uint32) (int8, int64) +TEXT ·Signature172(SB), $0-24 + MOVB AL, ret+8(FP) + MOVQ AX, ret1+16(FP) + RET + +// func Signature173(uint8, uint64) +TEXT ·Signature173(SB), $0-16 + RET + +// func Signature174() uint8 +TEXT ·Signature174(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature175(uint) (uint32, uint32, uint8, int8) +TEXT ·Signature175(SB), $0-18 + MOVL AX, ret+8(FP) + MOVL AX, ret1+12(FP) + MOVB AL, ret2+16(FP) + MOVB AL, ret3+17(FP) + RET + +// func Signature176(uintptr, uintptr, int, uint8) +TEXT ·Signature176(SB), $0-25 + RET + +// func Signature177(uint, uint) (int16, uintptr) +TEXT ·Signature177(SB), $0-32 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature178() int8 +TEXT ·Signature178(SB), $0-1 + MOVB AL, ret+0(FP) + RET + +// func Signature179(int32, int32, int8) (int8, uintptr) +TEXT ·Signature179(SB), $0-32 + MOVB AL, ret+16(FP) + MOVQ AX, ret1+24(FP) + RET + +// func Signature180(uintptr, uint16) (int64, uint8, uintptr, int64) +TEXT ·Signature180(SB), $0-48 + MOVQ AX, ret+16(FP) + MOVB AL, ret1+24(FP) + MOVQ AX, ret2+32(FP) + MOVQ AX, ret3+40(FP) + RET + +// func Signature181() (int8, uintptr) +TEXT ·Signature181(SB), $0-16 + MOVB AL, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature182(int32, uint32) (uintptr, int, uint, uint) +TEXT ·Signature182(SB), $0-40 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVQ AX, ret2+24(FP) + MOVQ AX, ret3+32(FP) + RET + +// func Signature183() int +TEXT ·Signature183(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature184(int) +TEXT ·Signature184(SB), $0-8 + RET + +// func Signature185(int16, uint8, int16) uint64 +TEXT ·Signature185(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature186(int, int32) (int64, int16, uint8) +TEXT ·Signature186(SB), $0-27 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + MOVB AL, ret2+26(FP) + RET + +// func Signature187(uint64) (uint32, int) +TEXT ·Signature187(SB), $0-24 + MOVL AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + RET + +// func Signature188() (int8, uint) +TEXT ·Signature188(SB), $0-16 + MOVB AL, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature189(int8, uint) +TEXT ·Signature189(SB), $0-16 + RET + +// func Signature190() int64 +TEXT ·Signature190(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature191(uint16, uint) uint16 +TEXT ·Signature191(SB), $0-18 + MOVW AX, ret+16(FP) + RET + +// func Signature192() (uint16, int32, int) +TEXT ·Signature192(SB), $0-16 + MOVW AX, ret+0(FP) + MOVL AX, ret1+4(FP) + MOVQ AX, ret2+8(FP) + RET + +// func Signature193(uint8, int, int32) (int8, uintptr, uint64, int) +TEXT ·Signature193(SB), $0-56 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + MOVQ AX, ret3+48(FP) + RET + +// func Signature194(uint16, uint64, uint8) (int, int8, uint) +TEXT ·Signature194(SB), $0-48 + MOVQ AX, ret+24(FP) + MOVB AL, ret1+32(FP) + MOVQ AX, ret2+40(FP) + RET + +// func Signature195(int, uint) (int32, int, int8) +TEXT ·Signature195(SB), $0-33 + MOVL AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVB AL, ret2+32(FP) + RET + +// func Signature196(uint16) (uintptr, uint32) +TEXT ·Signature196(SB), $0-20 + MOVQ AX, ret+8(FP) + MOVL AX, ret1+16(FP) + RET + +// func Signature197(uintptr, int32) (int64, int16) +TEXT ·Signature197(SB), $0-26 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + RET + +// func Signature198(uint8) (uint8, int16, uint32) +TEXT ·Signature198(SB), $0-16 + MOVB AL, ret+8(FP) + MOVW AX, ret1+10(FP) + MOVL AX, ret2+12(FP) + RET + +// func Signature199(uint) +TEXT ·Signature199(SB), $0-8 + RET + +// func Signature200(uintptr) uintptr +TEXT ·Signature200(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature201(uint64, int8) (uint8, int8, int16, uintptr) +TEXT ·Signature201(SB), $0-32 + MOVB AL, ret+16(FP) + MOVB AL, ret1+17(FP) + MOVW AX, ret2+18(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature202(uint16, uint64, int8, uint) (uint, uint64, uintptr, int16) +TEXT ·Signature202(SB), $0-58 + MOVQ AX, ret+32(FP) + MOVQ AX, ret1+40(FP) + MOVQ AX, ret2+48(FP) + MOVW AX, ret3+56(FP) + RET + +// func Signature203(int16, int8, uint, int8) +TEXT ·Signature203(SB), $0-17 + RET + +// func Signature204(int16, int32, uint) (uint8, int64, uintptr) +TEXT ·Signature204(SB), $0-40 + MOVB AL, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature205(int, int8, int16, int16) (uintptr, uint64, uint64, uintptr) +TEXT ·Signature205(SB), $0-48 + MOVQ AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + MOVQ AX, ret3+40(FP) + RET + +// func Signature206() (int8, int, uint32) +TEXT ·Signature206(SB), $0-20 + MOVB AL, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVL AX, ret2+16(FP) + RET + +// func Signature207(uint16) (int32, uint16) +TEXT ·Signature207(SB), $0-14 + MOVL AX, ret+8(FP) + MOVW AX, ret1+12(FP) + RET + +// func Signature208(int32, uintptr, int8, int32) (uint8, uint, int16) +TEXT ·Signature208(SB), $0-42 + MOVB AL, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVW AX, ret2+40(FP) + RET + +// func Signature209(int8, int16) +TEXT ·Signature209(SB), $0-4 + RET + +// func Signature210(int) (uint64, uint64, int8) +TEXT ·Signature210(SB), $0-25 + MOVQ AX, ret+8(FP) + MOVQ AX, ret1+16(FP) + MOVB AL, ret2+24(FP) + RET + +// func Signature211(uint32, uint, uintptr) (uint32, uint64, uint8) +TEXT ·Signature211(SB), $0-41 + MOVL AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVB AL, ret2+40(FP) + RET + +// func Signature212(uint8, int8, int) uint8 +TEXT ·Signature212(SB), $0-17 + MOVB AL, ret+16(FP) + RET + +// func Signature213(uint16, uintptr) (uint64, uint16, int) +TEXT ·Signature213(SB), $0-40 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature214(uint16, uintptr, int8) (int16, int64, int) +TEXT ·Signature214(SB), $0-48 + MOVW AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + RET + +// func Signature215(int16, int8) uintptr +TEXT ·Signature215(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature216() (int16, uint16) +TEXT ·Signature216(SB), $0-4 + MOVW AX, ret+0(FP) + MOVW AX, ret1+2(FP) + RET + +// func Signature217(int32, uint, int) (uint32, int64, uint) +TEXT ·Signature217(SB), $0-48 + MOVL AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVQ AX, ret2+40(FP) + RET + +// func Signature218() (int16, uint16, int16, uint32) +TEXT ·Signature218(SB), $0-12 + MOVW AX, ret+0(FP) + MOVW AX, ret1+2(FP) + MOVW AX, ret2+4(FP) + MOVL AX, ret3+8(FP) + RET + +// func Signature219(int32, int32) (uint16, uint8) +TEXT ·Signature219(SB), $0-11 + MOVW AX, ret+8(FP) + MOVB AL, ret1+10(FP) + RET + +// func Signature220(uint8, int64) (uint64, int32) +TEXT ·Signature220(SB), $0-28 + MOVQ AX, ret+16(FP) + MOVL AX, ret1+24(FP) + RET + +// func Signature221(uintptr, int, int8) uint64 +TEXT ·Signature221(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature222() uintptr +TEXT ·Signature222(SB), $0-8 + MOVQ AX, ret+0(FP) + RET + +// func Signature223(uint16, uint8, uint16, uint8) (uint32, int32) +TEXT ·Signature223(SB), $0-16 + MOVL AX, ret+8(FP) + MOVL AX, ret1+12(FP) + RET + +// func Signature224(int16, int8, int8, uint32) +TEXT ·Signature224(SB), $0-8 + RET + +// func Signature225(uintptr, int64) (int32, int, uintptr) +TEXT ·Signature225(SB), $0-40 + MOVL AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature226(uint64) int64 +TEXT ·Signature226(SB), $0-16 + MOVQ AX, ret+8(FP) + RET + +// func Signature227() (int64, int32, uintptr) +TEXT ·Signature227(SB), $0-24 + MOVQ AX, ret+0(FP) + MOVL AX, ret1+8(FP) + MOVQ AX, ret2+16(FP) + RET + +// func Signature228(int16, int64, int16, int64) +TEXT ·Signature228(SB), $0-32 + RET + +// func Signature229(int32, int, uint64, int64) (int, uint, uintptr, uint16) +TEXT ·Signature229(SB), $0-58 + MOVQ AX, ret+32(FP) + MOVQ AX, ret1+40(FP) + MOVQ AX, ret2+48(FP) + MOVW AX, ret3+56(FP) + RET + +// func Signature230() (uintptr, uint64) +TEXT ·Signature230(SB), $0-16 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + RET + +// func Signature231() (int8, uint32, int, int16) +TEXT ·Signature231(SB), $0-18 + MOVB AL, ret+0(FP) + MOVL AX, ret1+4(FP) + MOVQ AX, ret2+8(FP) + MOVW AX, ret3+16(FP) + RET + +// func Signature232() +TEXT ·Signature232(SB), $0 + RET + +// func Signature233(uint16, uint8, int16) (uint8, int16, uint64, int64) +TEXT ·Signature233(SB), $0-32 + MOVB AL, ret+8(FP) + MOVW AX, ret1+10(FP) + MOVQ AX, ret2+16(FP) + MOVQ AX, ret3+24(FP) + RET + +// func Signature234(int8, uint8, int8) (uint8, uint8, uintptr) +TEXT ·Signature234(SB), $0-24 + MOVB AL, ret+8(FP) + MOVB AL, ret1+9(FP) + MOVQ AX, ret2+16(FP) + RET + +// func Signature235(int16, uint) (int64, uint16, uint32) +TEXT ·Signature235(SB), $0-32 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + MOVL AX, ret2+28(FP) + RET + +// func Signature236(uint64, uint, int32, int8) +TEXT ·Signature236(SB), $0-21 + RET + +// func Signature237(uint32, int32, int, uintptr) (int16, int64, int32) +TEXT ·Signature237(SB), $0-44 + MOVW AX, ret+24(FP) + MOVQ AX, ret1+32(FP) + MOVL AX, ret2+40(FP) + RET + +// func Signature238(int8, uint16) +TEXT ·Signature238(SB), $0-4 + RET + +// func Signature239() (uint64, int8) +TEXT ·Signature239(SB), $0-9 + MOVQ AX, ret+0(FP) + MOVB AL, ret1+8(FP) + RET + +// func Signature240(uint, int32, uint64) uint64 +TEXT ·Signature240(SB), $0-32 + MOVQ AX, ret+24(FP) + RET + +// func Signature241(int64, uint, uint8) +TEXT ·Signature241(SB), $0-17 + RET + +// func Signature242(int64, int8, uint32) (int32, uint, uint32, uint64) +TEXT ·Signature242(SB), $0-48 + MOVL AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVL AX, ret2+32(FP) + MOVQ AX, ret3+40(FP) + RET + +// func Signature243(uint, uint16) uint16 +TEXT ·Signature243(SB), $0-18 + MOVW AX, ret+16(FP) + RET + +// func Signature244() (uintptr, int, uint8) +TEXT ·Signature244(SB), $0-17 + MOVQ AX, ret+0(FP) + MOVQ AX, ret1+8(FP) + MOVB AL, ret2+16(FP) + RET + +// func Signature245(int64, int16) +TEXT ·Signature245(SB), $0-10 + RET + +// func Signature246(int64, uint16, uint8) (uint16, uint, uint) +TEXT ·Signature246(SB), $0-40 + MOVW AX, ret+16(FP) + MOVQ AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature247(uint32, uintptr) (int32, int32) +TEXT ·Signature247(SB), $0-24 + MOVL AX, ret+16(FP) + MOVL AX, ret1+20(FP) + RET + +// func Signature248(int16, int16) (uint, int32) +TEXT ·Signature248(SB), $0-20 + MOVQ AX, ret+8(FP) + MOVL AX, ret1+16(FP) + RET + +// func Signature249() (uint32, uint16, uint) +TEXT ·Signature249(SB), $0-16 + MOVL AX, ret+0(FP) + MOVW AX, ret1+4(FP) + MOVQ AX, ret2+8(FP) + RET + +// func Signature250(int64, uintptr) (uint64, uint16) +TEXT ·Signature250(SB), $0-26 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + RET + +// func Signature251(int64, int32, int, int64) uintptr +TEXT ·Signature251(SB), $0-40 + MOVQ AX, ret+32(FP) + RET + +// func Signature252(int) uint16 +TEXT ·Signature252(SB), $0-10 + MOVW AX, ret+8(FP) + RET + +// func Signature253(int8, uint) (int, uint16, int64) +TEXT ·Signature253(SB), $0-40 + MOVQ AX, ret+16(FP) + MOVW AX, ret1+24(FP) + MOVQ AX, ret2+32(FP) + RET + +// func Signature254(uint32) (int8, int32) +TEXT ·Signature254(SB), $0-16 + MOVB AL, ret+8(FP) + MOVL AX, ret1+12(FP) + RET + +// func Signature255(uint8, uint64, int8, int8) (int16, uint16, uint32, int16) +TEXT ·Signature255(SB), $0-34 + MOVW AX, ret+24(FP) + MOVW AX, ret1+26(FP) + MOVL AX, ret2+28(FP) + MOVW AX, ret3+32(FP) + RET diff --git a/tests/signature/stub.go b/tests/signature/stub.go new file mode 100644 index 00000000..496da90e --- /dev/null +++ b/tests/signature/stub.go @@ -0,0 +1,515 @@ +// Code generated by command: go run asm.go -out signature.s -stubs stub.go -seed 42 -num 256. DO NOT EDIT. + +package signature + +func Signature0() (uint32, int16) + +func Signature1(int16, uint, uint32) (int64, int8, uint64, int64) + +func Signature2(uint, int16) (uint32, uintptr, int16, uint16) + +func Signature3(uintptr, uint32) uint32 + +func Signature4(int64, uint32) (uint16, int64, uint32, int8) + +func Signature5(int8) + +func Signature6(int64) + +func Signature7(uint) (int8, int, uintptr, uintptr) + +func Signature8(uint16) int + +func Signature9(uint32, uint16, uint16) (uintptr, uint16, int8, uint8) + +func Signature10(uint, uint, int64) (int8, uintptr, uint, int32) + +func Signature11() (uint64, int16, uint64, uint) + +func Signature12(uintptr) (uint8, uint8) + +func Signature13() uint8 + +func Signature14(int8, uint64, uintptr) int32 + +func Signature15(uint32, uint32, int16) (uint64, int) + +func Signature16(uint32) uint16 + +func Signature17(int16) (int32, uint, int8, uint8) + +func Signature18(uintptr, uintptr) (uint8, uint32) + +func Signature19(int, uint64, int) (int32, uintptr) + +func Signature20(uint32) + +func Signature21(uint8, int8, uint64) (uint16, uint32) + +func Signature22(int, uint16, uint8, int8) (int8, uint32) + +func Signature23(int32, uint32) (uint8, int16) + +func Signature24(int16, uintptr) + +func Signature25(int8, int32, uint16, uint) + +func Signature26() (uint16, uint64, int) + +func Signature27(uint32) (uint64, uint8) + +func Signature28(uint64, int16, uint8, uintptr) (uint16, uintptr) + +func Signature29(int8, int32, uint64, int64) uint16 + +func Signature30(int8, uint16, int32, uint64) uint8 + +func Signature31(uint64, uint8, uint32) (int16, uintptr) + +func Signature32(int16, int) (int64, uint64, uintptr, uint16) + +func Signature33(int16, int8, int8) + +func Signature34(uint16, int64) + +func Signature35(int8, uint, uint, int8) uint64 + +func Signature36() (uint8, int, uintptr, uintptr) + +func Signature37() (uint16, uint16, uint32, uint16) + +func Signature38(uint8, uint, uint32) + +func Signature39(uint8, int32, int) int16 + +func Signature40(int16, int, int16) (int8, uint64) + +func Signature41() (uint, uintptr, uint32) + +func Signature42(uint8, uint8) + +func Signature43() uint8 + +func Signature44(int32, int16) uint32 + +func Signature45() (uintptr, uintptr, uint8) + +func Signature46(int8) (uint8, uint8, uint, int32) + +func Signature47(uint8) uint + +func Signature48(int32, uint, uintptr, int32) uint8 + +func Signature49(uint16, int16) + +func Signature50(int64, int16, uint64, uintptr) (int8, uint, int32) + +func Signature51(int64, uint32, int8) + +func Signature52() (uint8, int32, int64) + +func Signature53() (uint8, uint16) + +func Signature54(uint64, int16, uint64) (int16, int16) + +func Signature55(uint64) (uint, int, uint32, uintptr) + +func Signature56() (int16, uintptr) + +func Signature57(uint32, uint8, uint) + +func Signature58(int, int64) + +func Signature59() uint8 + +func Signature60(uintptr, int8, uint8, uint) + +func Signature61(int8, uint16, int8) + +func Signature62() uint8 + +func Signature63(int32, int, int64) (int64, uintptr, int32, uint64) + +func Signature64(uint32, uint16, uint8) (int16, int32) + +func Signature65(int32, uint8) + +func Signature66() (int16, uintptr, uint32, uint) + +func Signature67(uint32, uint) + +func Signature68(int32, uint64, uint16) int32 + +func Signature69(int) uint + +func Signature70() int64 + +func Signature71(int, int8, uint16, uint16) (uint16, uint64) + +func Signature72(uint32, uintptr, uint8) (uint16, int8, int16, uint16) + +func Signature73(int8, uint32, int8, uint) (uint64, int64) + +func Signature74() (int64, uint64, uint16, int64) + +func Signature75(uint16, int) (uintptr, uint, uint32) + +func Signature76() int8 + +func Signature77(uint32, uint32) + +func Signature78(int) (uint, int32) + +func Signature79(int16, int64, int32) (int64, uint8) + +func Signature80() (int64, int8, int8) + +func Signature81(uint8, uintptr) + +func Signature82(uint, int32, int64) (uint8, uintptr, uint, uint32) + +func Signature83(uint64, uint) (int8, int, uintptr) + +func Signature84() (uint64, int16) + +func Signature85(uint32, uint64, uint64) (int16, int8, uint64) + +func Signature86(int16, uint64, int64, uint64) (uint64, uint32, uintptr) + +func Signature87(int32, uint8, int32, int8) uintptr + +func Signature88(int, int8, uintptr, int64) (uint8, uint8, int64, int8) + +func Signature89(int64, uint16) (uint8, int, int32) + +func Signature90(uint64) (uint64, uint64, int64) + +func Signature91(uint16, uintptr, int, int64) (int8, uint8, int, int) + +func Signature92(uint32, uint64, uint32, uint) (int8, uint8, uint) + +func Signature93(uint32, uint, int64, int) + +func Signature94(uint64) + +func Signature95() (uint, uintptr, int, uintptr) + +func Signature96(uint8, int16, int32) uint64 + +func Signature97(uint, uint, uint) (int8, int, int64) + +func Signature98(int8, int) (int16, int16) + +func Signature99(uint64) (uintptr, int16, uintptr) + +func Signature100(int32) (int, int16, int64, uint32) + +func Signature101() (uint64, uint64, int64, uint8) + +func Signature102(uint32, uint) + +func Signature103() uint16 + +func Signature104() (int, uint) + +func Signature105(uint16, int64, int8) uint64 + +func Signature106(uint32, int64, uint32, uint8) + +func Signature107(uint64, uintptr) int32 + +func Signature108(uint8, int64, uint8, uint32) int64 + +func Signature109(uint, uint, uint8, uint32) int + +func Signature110() uint8 + +func Signature111(uint32, uint) (int16, uint64, uint32, uint32) + +func Signature112(uint, uintptr, uint16, uint16) (uint32, int16, int64, uint) + +func Signature113(uintptr, int64, uintptr, int32) (int16, int64) + +func Signature114(int32, int64, uint, uint32) + +func Signature115() uint64 + +func Signature116() (int64, uint16) + +func Signature117(uintptr, int64, int32, uintptr) + +func Signature118(int32, uint) + +func Signature119(int32, int16) (int16, int64) + +func Signature120(int, uintptr) (uint8, uint16, int) + +func Signature121(uint32, int32) + +func Signature122() int32 + +func Signature123() (uint, uint, int32) + +func Signature124(uint64, int32, uint32) (uint32, uint32, uint8) + +func Signature125(uint32, uint64) + +func Signature126(uint, uint8, uint64) int8 + +func Signature127(uint64, uint8) (uintptr, uint32) + +func Signature128(uint64) + +func Signature129() (uint64, uint8, int8) + +func Signature130(uint, uint8, uint, int64) (uint64, uint8) + +func Signature131() (uint8, uint32, uint16) + +func Signature132() (int64, int64, int, uint64) + +func Signature133(uint64, uint8, int64, uint32) (uint32, uint8, int32) + +func Signature134(int32) uintptr + +func Signature135(uint16) (uintptr, int32, int, uint8) + +func Signature136(int64) + +func Signature137(uint8, uint16, int, int8) int64 + +func Signature138() + +func Signature139() (int, uint8, uint32) + +func Signature140(uint32, int16) int8 + +func Signature141(uint16) (uintptr, uint32, uint64) + +func Signature142(int, int64) (uint64, int8) + +func Signature143(int) (int64, int, int, int32) + +func Signature144(uint64, int16, int8, int16) (int16, uint64, int32) + +func Signature145() (int, int64) + +func Signature146() (uint, int64, int8, uint32) + +func Signature147(int16) + +func Signature148(uint, uint32) (uint8, int32, uint16, uint) + +func Signature149(uint64, uint64, int, int8) (uintptr, int, uint64) + +func Signature150(uint32, int32) (int16, uintptr, uint16) + +func Signature151(uint32, int16) (int, uint, uint) + +func Signature152() (uint, int32, int64) + +func Signature153(uint8, uint16, uint64, uint) int + +func Signature154(uint, int, int32, int64) (uint, int8, int16, uintptr) + +func Signature155(int16, uint16) (uint, int16, uint, int16) + +func Signature156(int64) + +func Signature157(int64, uint16, uint16) (uint, int64) + +func Signature158() (int32, uint64, int64) + +func Signature159(int, uint) + +func Signature160() int + +func Signature161(uint, int32, uint64, int16) (uint32, int32, uint, uintptr) + +func Signature162(uintptr, int, int) (int16, int8) + +func Signature163(int32) uintptr + +func Signature164(uintptr) (int64, uint, uint8, uint64) + +func Signature165(int16, uintptr) (int8, int, int16) + +func Signature166(int16) uint16 + +func Signature167(uint32, int, int64) (int, uint16, int8, uintptr) + +func Signature168(int32, uint16) (uint16, uint16, uint16) + +func Signature169(uint32, uint8, int64) + +func Signature170(uint16, uintptr, uintptr, uintptr) (int, uint8, uint64) + +func Signature171() + +func Signature172(int32, uint32) (int8, int64) + +func Signature173(uint8, uint64) + +func Signature174() uint8 + +func Signature175(uint) (uint32, uint32, uint8, int8) + +func Signature176(uintptr, uintptr, int, uint8) + +func Signature177(uint, uint) (int16, uintptr) + +func Signature178() int8 + +func Signature179(int32, int32, int8) (int8, uintptr) + +func Signature180(uintptr, uint16) (int64, uint8, uintptr, int64) + +func Signature181() (int8, uintptr) + +func Signature182(int32, uint32) (uintptr, int, uint, uint) + +func Signature183() int + +func Signature184(int) + +func Signature185(int16, uint8, int16) uint64 + +func Signature186(int, int32) (int64, int16, uint8) + +func Signature187(uint64) (uint32, int) + +func Signature188() (int8, uint) + +func Signature189(int8, uint) + +func Signature190() int64 + +func Signature191(uint16, uint) uint16 + +func Signature192() (uint16, int32, int) + +func Signature193(uint8, int, int32) (int8, uintptr, uint64, int) + +func Signature194(uint16, uint64, uint8) (int, int8, uint) + +func Signature195(int, uint) (int32, int, int8) + +func Signature196(uint16) (uintptr, uint32) + +func Signature197(uintptr, int32) (int64, int16) + +func Signature198(uint8) (uint8, int16, uint32) + +func Signature199(uint) + +func Signature200(uintptr) uintptr + +func Signature201(uint64, int8) (uint8, int8, int16, uintptr) + +func Signature202(uint16, uint64, int8, uint) (uint, uint64, uintptr, int16) + +func Signature203(int16, int8, uint, int8) + +func Signature204(int16, int32, uint) (uint8, int64, uintptr) + +func Signature205(int, int8, int16, int16) (uintptr, uint64, uint64, uintptr) + +func Signature206() (int8, int, uint32) + +func Signature207(uint16) (int32, uint16) + +func Signature208(int32, uintptr, int8, int32) (uint8, uint, int16) + +func Signature209(int8, int16) + +func Signature210(int) (uint64, uint64, int8) + +func Signature211(uint32, uint, uintptr) (uint32, uint64, uint8) + +func Signature212(uint8, int8, int) uint8 + +func Signature213(uint16, uintptr) (uint64, uint16, int) + +func Signature214(uint16, uintptr, int8) (int16, int64, int) + +func Signature215(int16, int8) uintptr + +func Signature216() (int16, uint16) + +func Signature217(int32, uint, int) (uint32, int64, uint) + +func Signature218() (int16, uint16, int16, uint32) + +func Signature219(int32, int32) (uint16, uint8) + +func Signature220(uint8, int64) (uint64, int32) + +func Signature221(uintptr, int, int8) uint64 + +func Signature222() uintptr + +func Signature223(uint16, uint8, uint16, uint8) (uint32, int32) + +func Signature224(int16, int8, int8, uint32) + +func Signature225(uintptr, int64) (int32, int, uintptr) + +func Signature226(uint64) int64 + +func Signature227() (int64, int32, uintptr) + +func Signature228(int16, int64, int16, int64) + +func Signature229(int32, int, uint64, int64) (int, uint, uintptr, uint16) + +func Signature230() (uintptr, uint64) + +func Signature231() (int8, uint32, int, int16) + +func Signature232() + +func Signature233(uint16, uint8, int16) (uint8, int16, uint64, int64) + +func Signature234(int8, uint8, int8) (uint8, uint8, uintptr) + +func Signature235(int16, uint) (int64, uint16, uint32) + +func Signature236(uint64, uint, int32, int8) + +func Signature237(uint32, int32, int, uintptr) (int16, int64, int32) + +func Signature238(int8, uint16) + +func Signature239() (uint64, int8) + +func Signature240(uint, int32, uint64) uint64 + +func Signature241(int64, uint, uint8) + +func Signature242(int64, int8, uint32) (int32, uint, uint32, uint64) + +func Signature243(uint, uint16) uint16 + +func Signature244() (uintptr, int, uint8) + +func Signature245(int64, int16) + +func Signature246(int64, uint16, uint8) (uint16, uint, uint) + +func Signature247(uint32, uintptr) (int32, int32) + +func Signature248(int16, int16) (uint, int32) + +func Signature249() (uint32, uint16, uint) + +func Signature250(int64, uintptr) (uint64, uint16) + +func Signature251(int64, int32, int, int64) uintptr + +func Signature252(int) uint16 + +func Signature253(int8, uint) (int, uint16, int64) + +func Signature254(uint32) (int8, int32) + +func Signature255(uint8, uint64, int8, int8) (int16, uint16, uint32, int16)