| // 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") |
| } |