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