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 )