diff options
Diffstat (limited to 'vendor/github.com/templexxx/cpu/cpu_x86.s')
-rw-r--r-- | vendor/github.com/templexxx/cpu/cpu_x86.s | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/templexxx/cpu/cpu_x86.s b/vendor/github.com/templexxx/cpu/cpu_x86.s new file mode 100644 index 0000000..228fbcf --- /dev/null +++ b/vendor/github.com/templexxx/cpu/cpu_x86.s @@ -0,0 +1,32 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build 386 amd64 amd64p32 + +#include "textflag.h" + +// func cpuid(eaxArg, ecxArg uint32) (eax, ebx, ecx, edx uint32) +TEXT ·cpuid(SB), NOSPLIT, $0-24 + MOVL eaxArg+0(FP), AX + MOVL ecxArg+4(FP), CX + CPUID + MOVL AX, eax+8(FP) + MOVL BX, ebx+12(FP) + MOVL CX, ecx+16(FP) + MOVL DX, edx+20(FP) + RET + +// func xgetbv() (eax, edx uint32) +TEXT ·xgetbv(SB),NOSPLIT,$0-8 +#ifdef GOOS_nacl + // nacl does not support XGETBV. + MOVL $0, eax+0(FP) + MOVL $0, edx+4(FP) +#else + MOVL $0, CX + XGETBV + MOVL AX, eax+0(FP) + MOVL DX, edx+4(FP) +#endif + RET |