cpu.mx raw

   1  // Copyright 2024 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  import (
   8  	"internal/cpu"
   9  	"internal/goarch"
  10  )
  11  
  12  const (
  13  	BigEndian = goarch.BigEndian
  14  	AMD64     = goarch.IsAmd64 == 1
  15  	ARM64     = goarch.IsArm64 == 1
  16  	PPC64     = goarch.IsPpc64 == 1
  17  	PPC64le   = goarch.IsPpc64le == 1
  18  )
  19  
  20  var (
  21  	ARM64HasAES    = cpu.ARM64.HasAES
  22  	ARM64HasPMULL  = cpu.ARM64.HasPMULL
  23  	ARM64HasSHA2   = cpu.ARM64.HasSHA2
  24  	ARM64HasSHA512 = cpu.ARM64.HasSHA512
  25  	ARM64HasSHA3   = cpu.ARM64.HasSHA3
  26  
  27  	LOONG64HasLSX  = cpu.Loong64.HasLSX
  28  	LOONG64HasLASX = cpu.Loong64.HasLASX
  29  
  30  	S390XHasAES    = cpu.S390X.HasAES
  31  	S390XHasAESCBC = cpu.S390X.HasAESCBC
  32  	S390XHasAESCTR = cpu.S390X.HasAESCTR
  33  	S390XHasAESGCM = cpu.S390X.HasAESGCM
  34  	S390XHasECDSA  = cpu.S390X.HasECDSA
  35  	S390XHasGHASH  = cpu.S390X.HasGHASH
  36  	S390XHasSHA256 = cpu.S390X.HasSHA256
  37  	S390XHasSHA3   = cpu.S390X.HasSHA3
  38  	S390XHasSHA512 = cpu.S390X.HasSHA512
  39  
  40  	X86HasAES       = cpu.X86.HasAES
  41  	X86HasADX       = cpu.X86.HasADX
  42  	X86HasAVX       = cpu.X86.HasAVX
  43  	X86HasAVX2      = cpu.X86.HasAVX2
  44  	X86HasBMI2      = cpu.X86.HasBMI2
  45  	X86HasPCLMULQDQ = cpu.X86.HasPCLMULQDQ
  46  	X86HasSHA       = cpu.X86.HasSHA
  47  	X86HasSSE41     = cpu.X86.HasSSE41
  48  	X86HasSSSE3     = cpu.X86.HasSSSE3
  49  )
  50