1
0
mirror of https://github.com/fumiama/blake2b-simd.git synced 2026-06-06 02:30:28 +08:00
Files
blake2b-simd/cpuid_386.s
frankw f41b7a312a asm: Add new defines
- Add UNDIAGONALIZE define
- Add DIAGONALIZE define
- Add G1 define
- Add G2 define
- Add LOAD_SHUFFLE define

Additionally check for AVX support.
2016-06-28 09:28:38 -07:00

23 lines
548 B
ArmAsm

// Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file.
// +build 386,!gccgo
// func cpuid(op uint32) (eax, ebx, ecx, edx uint32)
TEXT ·cpuid(SB), 7, $0
XORL CX, CX
MOVL op+0(FP), AX
CPUID
MOVL AX, eax+4(FP)
MOVL BX, ebx+8(FP)
MOVL CX, ecx+12(FP)
MOVL DX, edx+16(FP)
RET
// func xgetbv(index uint32) (eax, edx uint32)
TEXT ·xgetbv(SB), 7, $0
MOVL index+0(FP), CX
BYTE $0x0f; BYTE $0x01; BYTE $0xd0 // XGETBV
MOVL AX, eax+4(FP)
MOVL DX, edx+8(FP)
RET