From 5300f3d30597c70e92fcb231cff026257c42ecc0 Mon Sep 17 00:00:00 2001 From: Konstantin Bogomolov Date: Tue, 13 Feb 2024 12:34:58 -0800 Subject: [PATCH] Don't use xgetbv on CPUs that don't support it. Fixes #9996. PiperOrigin-RevId: 606711566 --- pkg/cpuid/cpuid_amd64.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/cpuid/cpuid_amd64.go b/pkg/cpuid/cpuid_amd64.go index f5fd4ae34..8118077bd 100644 --- a/pkg/cpuid/cpuid_amd64.go +++ b/pkg/cpuid/cpuid_amd64.go @@ -401,9 +401,11 @@ func (fs FeatureSet) ExtendedStateSize() (size, align uint) { // AMXExtendedStateSize returns the number of bytes within the "extended state" // area that is used for AMX. func (fs FeatureSet) AMXExtendedStateSize() uint { - xcr0 := xgetbv(0) - if (xcr0 & XCR0AMXMask) != 0 { - return uint(amxTileCfgSize + amxTileDataSize) + if fs.UseXsave() { + xcr0 := xgetbv(0) + if (xcr0 & XCR0AMXMask) != 0 { + return uint(amxTileCfgSize + amxTileDataSize) + } } return 0 }