]> Cypherpunks.ru repositories - gostls13.git/blob - src/runtime/cpuflags.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / src / runtime / cpuflags.go
1 // Copyright 2018 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package runtime
6
7 import (
8         "internal/cpu"
9         "unsafe"
10 )
11
12 // Offsets into internal/cpu records for use in assembly.
13 const (
14         offsetX86HasAVX    = unsafe.Offsetof(cpu.X86.HasAVX)
15         offsetX86HasAVX2   = unsafe.Offsetof(cpu.X86.HasAVX2)
16         offsetX86HasERMS   = unsafe.Offsetof(cpu.X86.HasERMS)
17         offsetX86HasRDTSCP = unsafe.Offsetof(cpu.X86.HasRDTSCP)
18
19         offsetARMHasIDIVA = unsafe.Offsetof(cpu.ARM.HasIDIVA)
20
21         offsetMIPS64XHasMSA = unsafe.Offsetof(cpu.MIPS64X.HasMSA)
22 )
23
24 var (
25         // Set in runtime.cpuinit.
26         // TODO: deprecate these; use internal/cpu directly.
27         x86HasPOPCNT bool
28         x86HasSSE41  bool
29         x86HasFMA    bool
30
31         armHasVFPv4 bool
32
33         arm64HasATOMICS bool
34 )