mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-26 12:16:20 +08:00
zuc: eia, ppc64x optimization #253
This commit is contained in:
parent
c33880ebe3
commit
50f5d29e49
@ -4,3 +4,4 @@ import "golang.org/x/sys/cpu"
|
||||
|
||||
var HasAES = cpu.X86.HasAES
|
||||
var HasGFMUL = cpu.X86.HasPCLMULQDQ
|
||||
var HasVPMSUMD = false
|
||||
|
@ -6,3 +6,4 @@ import "golang.org/x/sys/cpu"
|
||||
|
||||
var HasAES = cpu.ARM64.HasAES
|
||||
var HasGFMUL = cpu.ARM64.HasPMULL
|
||||
var HasVPMSUMD = false
|
||||
|
@ -8,3 +8,4 @@ package cpuid
|
||||
// to all Go programs running on darwin/arm64.
|
||||
var HasAES = true
|
||||
var HasGFMUL = true
|
||||
var HasVPMSUMD = false
|
@ -4,3 +4,4 @@ package cpuid
|
||||
|
||||
var HasAES = true
|
||||
var HasGFMUL = false
|
||||
var HasVPMSUMD = true
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
var supportsAES = cpuid.HasAES
|
||||
var supportsGFMUL = cpuid.HasGFMUL
|
||||
var supportsGFMUL = cpuid.HasGFMUL || cpuid.HasVPMSUMD
|
||||
var useAVX = cpu.X86.HasAVX
|
||||
|
||||
//go:noescape
|
||||
|
@ -93,9 +93,15 @@ TEXT ·eia3Round16B(SB),NOSPLIT,$0
|
||||
VXOR XTMP3, XTMP4, XTMP3
|
||||
VSPLTW $2, XTMP3, XDIGEST
|
||||
|
||||
// Update tag
|
||||
MFVSRWZ XDIGEST, PTR
|
||||
MOVWZ (R3), R6
|
||||
XOR R6, PTR, R6
|
||||
MOVW R6, (R3)
|
||||
|
||||
// Copy last 16 bytes of KS to the front
|
||||
MOVD $16, PTR
|
||||
LXVD2X (PTR)(R4), XTMP1
|
||||
STXVD2X XTMP1, (R4)(R0)
|
||||
|
||||
RET
|
||||
|
Loading…
x
Reference in New Issue
Block a user