.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / sys@v0.0.0-20210124154548-22da62e12c0c / cpu / cpu_linux_s390x.go
1 // Copyright 2019 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 cpu
6
7 const (
8         // bit mask values from /usr/include/bits/hwcap.h
9         hwcap_ZARCH  = 2
10         hwcap_STFLE  = 4
11         hwcap_MSA    = 8
12         hwcap_LDISP  = 16
13         hwcap_EIMM   = 32
14         hwcap_DFP    = 64
15         hwcap_ETF3EH = 256
16         hwcap_VX     = 2048
17         hwcap_VXE    = 8192
18 )
19
20 func initS390Xbase() {
21         // test HWCAP bit vector
22         has := func(featureMask uint) bool {
23                 return hwCap&featureMask == featureMask
24         }
25
26         // mandatory
27         S390X.HasZARCH = has(hwcap_ZARCH)
28
29         // optional
30         S390X.HasSTFLE = has(hwcap_STFLE)
31         S390X.HasLDISP = has(hwcap_LDISP)
32         S390X.HasEIMM = has(hwcap_EIMM)
33         S390X.HasETF3EH = has(hwcap_ETF3EH)
34         S390X.HasDFP = has(hwcap_DFP)
35         S390X.HasMSA = has(hwcap_MSA)
36         S390X.HasVX = has(hwcap_VX)
37         if S390X.HasVX {
38                 S390X.HasVXE = has(hwcap_VXE)
39         }
40 }