go/test/abi/fibish.go
David Chase 9d88a9e2bf cmd/compile: implement simple register results
at least for ints and strings

includes simple test

For #40724.

Change-Id: Ib8484e5b957b08f961574a67cfd93d3d26551558
Reviewed-on: https://go-review.googlesource.com/c/go/+/295309
Trust: David Chase <drchase@google.com>
Run-TryBot: David Chase <drchase@google.com>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
2021-03-04 19:45:11 +00:00

34 lines
526 B
Go

// run
//go:build !wasm
// +build !wasm
// Copyright 2021 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 main
import "fmt"
// Test that register results are correctly returned (and passed)
//go:registerparams
//go:noinline
func f(x int) (int, int) {
if x < 3 {
return 0, x
}
a, b := f(x - 2)
c, d := f(x - 1)
return a + d, b + c
}
func main() {
x := 40
a, b := f(x)
fmt.Printf("f(%d)=%d,%d\n", x, a, b)
}