blob: 4f981b1c8a6e03564b95950cca305e49bc1ffc4a [file]
// Copyright 2026 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.
//go:build netbsd && amd64 && gc
package cpu
func doinit() {
// NetBSD corrupts avx registers when receiving signals.
// See issue 80285.
// TODO: when NetBSD fixes the bug, add a version
// check and skip here.
X86.HasAVX = false
X86.HasAVX2 = false
// Set these also, just to be safe
X86.HasAVXVNNI = false
X86.HasAVX512 = false
X86.HasAVX512F = false
X86.HasAVX512CD = false
X86.HasAVX512CD = false
X86.HasAVX512ER = false
X86.HasAVX512PF = false
X86.HasAVX512VL = false
X86.HasAVX512BW = false
X86.HasAVX512DQ = false
X86.HasAVX512IFMA = false
X86.HasAVX512VBMI = false
X86.HasAVX5124VNNIW = false
X86.HasAVX5124FMAPS = false
X86.HasAVX512VPOPCNTDQ = false
X86.HasAVX512VPCLMULQDQ = false
X86.HasAVX512VNNI = false
X86.HasAVX512GFNI = false
X86.HasAVX512VAES = false
X86.HasAVX512VBMI2 = false
X86.HasAVX512BITALG = false
X86.HasAVX512BF16 = false
X86.HasAVXIFMA = false
X86.HasAVXVNNI = false
X86.HasAVXVNNIInt8 = false
}
func darwinSupportsAVX512() bool {
panic("only implemented for gc && amd64 && darwin")
}