github.com/primecitizens/pcz/std@v0.2.1/core/abi/abi_generic.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  //
     4  // Copyright 2020 The Go Authors. All rights reserved.
     5  // Use of this source code is governed by a BSD-style
     6  // license that can be found in the LICENSE file.
     7  
     8  //go:build !amd64 && !arm64 && !ppc64 && !ppc64le && !riscv64
     9  
    10  package abi
    11  
    12  const (
    13  	// ABI-related constants.
    14  	//
    15  	// In the generic case, these are all zero
    16  	// which lets them gracefully degrade to ABI0.
    17  
    18  	// IntArgRegs is the number of registers dedicated
    19  	// to passing integer argument values. Result registers are identical
    20  	// to argument registers, so this number is used for those too.
    21  	IntArgRegs = 0
    22  
    23  	// FloatArgRegs is the number of registers dedicated
    24  	// to passing floating-point argument values. Result registers are
    25  	// identical to argument registers, so this number is used for
    26  	// those too.
    27  	FloatArgRegs = 0
    28  
    29  	// EffectiveFloatRegSize describes the width of floating point
    30  	// registers on the current platform from the ABI's perspective.
    31  	//
    32  	// Since Go only supports 32-bit and 64-bit floating point primitives,
    33  	// this number should be either 0, 4, or 8. 0 indicates no floating
    34  	// point registers for the ABI or that floating point values will be
    35  	// passed via the softfloat ABI.
    36  	//
    37  	// For platforms that support larger floating point register widths,
    38  	// such as x87's 80-bit "registers" (not that we support x87 currently),
    39  	// use 8.
    40  	EffectiveFloatRegSize = 0
    41  )