Source file src/crypto/internal/fips140deps/cpu/cpu.go

     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  
    26  	S390XHasAES    = cpu.S390X.HasAES
    27  	S390XHasAESCBC = cpu.S390X.HasAESCBC
    28  	S390XHasAESCTR = cpu.S390X.HasAESCTR
    29  	S390XHasAESGCM = cpu.S390X.HasAESGCM
    30  	S390XHasECDSA  = cpu.S390X.HasECDSA
    31  	S390XHasGHASH  = cpu.S390X.HasGHASH
    32  	S390XHasSHA256 = cpu.S390X.HasSHA256
    33  	S390XHasSHA3   = cpu.S390X.HasSHA3
    34  	S390XHasSHA512 = cpu.S390X.HasSHA512
    35  
    36  	X86HasAES       = cpu.X86.HasAES
    37  	X86HasADX       = cpu.X86.HasADX
    38  	X86HasAVX       = cpu.X86.HasAVX
    39  	X86HasAVX2      = cpu.X86.HasAVX2
    40  	X86HasBMI2      = cpu.X86.HasBMI2
    41  	X86HasPCLMULQDQ = cpu.X86.HasPCLMULQDQ
    42  	X86HasSHA       = cpu.X86.HasSHA
    43  	X86HasSSE41     = cpu.X86.HasSSE41
    44  	X86HasSSSE3     = cpu.X86.HasSSSE3
    45  )
    46  

View as plain text