// asmcheck // Copyright 2026 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 //go:noinline func use16(b []byte, x uint64) { b[0] = byte(x) } //go:noinline func resultSlotArray(x uint64) [16]byte { var ret [16]byte // amd64:-`.*\.ret\+` use16(ret[:8], x) // amd64:-`.*\.ret\+` use16(ret[8:], x) // amd64:-`.*\.ret\+` -`.*MOVUPS.*~r0` return ret } //go:noinline func resultSlotArrayMultipleReturns(x uint64, c bool) [16]byte { var ret [16]byte // amd64:-`.*\.ret\+` use16(ret[:8], x) if c { // amd64:-`.*\.ret\+` -`.*MOVUPS.*~r0` return ret } // amd64:-`.*\.ret\+` use16(ret[8:], x) // amd64:-`.*\.ret\+` -`.*MOVUPS.*~r0` return ret } //go:noinline func resultSlotPartialReturn(x uint64, c bool) [16]byte { var ret [16]byte // amd64:-`.*\.ret\+` use16(ret[:8], x) if c { // amd64:-`.*\.ret\+` -`.*MOVUPS.*~r0` return ret } return [16]byte{1} } //go:noinline func resultSlotPartialReturnLocal(x uint64, c bool) [16]byte { var ret [16]byte // amd64:-`.*\.ret\+` use16(ret[:8], x) if c { // amd64:-`.*\.ret\+` -`.*MOVUPS.*~r0` return ret } other := [16]byte{1} return other }