// Copyright 2016 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. package runtime import "internal/cpu" const ( // bit masks taken from bits/hwcap.h _HWCAP_S390_ZARCH = 2 _HWCAP_S390_STFLE = 4 _HWCAP_S390_MSA = 8 _HWCAP_S390_LDISP = 16 _HWCAP_S390_EIMM = 32 _HWCAP_S390_DFP = 64 _HWCAP_S390_ETF3EH = 256 _HWCAP_S390_VX = 2048 // vector facility ) func archauxv(tag, val uintptr) { switch tag { case _AT_HWCAP: // CPU capability bit flags cpu.S390X.HasZArch = val&_HWCAP_S390_ZARCH != 0 cpu.S390X.HasSTFLE = val&_HWCAP_S390_STFLE != 0 cpu.S390X.HasMSA = val&_HWCAP_S390_MSA != 0 cpu.S390X.HasLDisp = val&_HWCAP_S390_LDISP != 0 cpu.S390X.HasEImm = val&_HWCAP_S390_EIMM != 0 cpu.S390X.HasDFP = val&_HWCAP_S390_DFP != 0 cpu.S390X.HasETF3Enhanced = val&_HWCAP_S390_ETF3EH != 0 cpu.S390X.HasVX = val&_HWCAP_S390_VX != 0 } }