github.com/mdaxf/iac@v0.0.0-20240519030858-58a061660378/vendor_skip/golang.org/x/sys/cpu/cpu_gccgo_x86.go (about)

     1  // Copyright 2018 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 (386 || amd64 || amd64p32) && gccgo
     6  
     7  package cpu
     8  
     9  //extern gccgoGetCpuidCount
    10  func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32)
    11  
    12  func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) {
    13  	var a, b, c, d uint32
    14  	gccgoGetCpuidCount(eaxArg, ecxArg, &a, &b, &c, &d)
    15  	return a, b, c, d
    16  }
    17  
    18  //extern gccgoXgetbv
    19  func gccgoXgetbv(eax, edx *uint32)
    20  
    21  func xgetbv() (eax, edx uint32) {
    22  	var a, d uint32
    23  	gccgoXgetbv(&a, &d)
    24  	return a, d
    25  }
    26  
    27  // gccgo doesn't build on Darwin, per:
    28  // https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gcc.rb#L76
    29  func darwinSupportsAVX512() bool {
    30  	return false
    31  }