"Fossies" - the Fresh Open Source Software Archive

Member "go/src/internal/abi/abi_generic.go" (26 Apr 2023, 1388 Bytes) of package /linux/misc/go1.20.4.src.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Go source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "abi_generic.go": 1.19.3_vs_1.20rc1.

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