From a75e16740e1a185d523153d86badf9b2c2bcc12e Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Mon, 23 Mar 2026 05:10:40 +0000 Subject: Vendor a minimal internal/cpu for AMD64 only --- internal/cpu/cpu_amd64.s | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 internal/cpu/cpu_amd64.s (limited to 'internal/cpu/cpu_amd64.s') diff --git a/internal/cpu/cpu_amd64.s b/internal/cpu/cpu_amd64.s new file mode 100644 index 00000000..250a34e2 --- /dev/null +++ b/internal/cpu/cpu_amd64.s @@ -0,0 +1,22 @@ +//go:build amd64 && !purego + +#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 + MOVL $0, CX + XGETBV + MOVL AX, eax+0(FP) + MOVL DX, edx+4(FP) + RET -- cgit v1.3.1-10-gc9f91