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
7package cpu
8
9//extern gccgoGetCpuidCount
10func gccgoGetCpuidCount(eaxArg, ecxArg uint32, eax, ebx, ecx, edx *uint32)
11
12func 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
19func gccgoXgetbv(eax, edx *uint32)
20
21func xgetbv() (eax, edx uint32) {
22 var a, d uint32
23 gccgoXgetbv(&a, &d)
24 return a, d
25}