simd

package
v0.0.0-...-86e9f11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package simd provides selected intrinsics for the AVX512 SIMD extension emulation

Index

Constants

This section is empty.

Variables

View Source
var AESSBox [256]byte = [256]byte{}/* 256 elements not displayed */

AESSBox defines FIPS-197 Figure 7. S-box substitution values in hexadecimal format.

Functions

func Addq

func Addq(a, r *Gpr, flags *Flags)

func AddqImm

func AddqImm(imm uint64, r *Gpr, flags *Flags)

func Decl

func Decl(r *Gpr, flags *Flags)

func Incl

func Incl(r *Gpr, flags *Flags)

func Kandnw

func Kandnw(a, b, r *Mask)

func KmovqMem

func KmovqMem(ptr []byte, r *Mask)

func Kmovw

func Kmovw(a, r *Mask)

func KmovwMem

func KmovwMem(ptr []byte, r *Mask)

func Korw

func Korw(a, b, r *Mask)

func Ktestw

func Ktestw(a, b *Mask, flags *Flags)

func Kxorw

func Kxorw(a, b, r *Mask)

func Mask2Uint16

func Mask2Uint16(K *Mask) (result uint16)

func Movl

func Movl(a, r *Gpr)

func MovlMem

func MovlMem(ptr []byte, r *Gpr)

func Movq

func Movq(a, r *Gpr)

func Testl

func Testl(a, b *Gpr, flags *Flags)

func VAESENC

func VAESENC(a, b, r *Vec64x8)

func Vmovdqa32

func Vmovdqa32(a, r *Vec8x64)

func Vmovdqa32K

func Vmovdqa32K(a *Vec8x64, K *Mask, r *Vec8x64)

func Vmovdqa64

func Vmovdqa64(a, r *Vec64x8)

func Vmovdqu32Mem

func Vmovdqu32Mem(ptr []byte, r *Vec8x64)

func Vmovdqu32X

func Vmovdqu32X(values [16]uint32, r *Vec8x64)

func Vmovdqu8K

func Vmovdqu8K(a *Vec8x64, K *Mask, r *Vec8x64)

func Vpaddd

func Vpaddd(a, b, r *Vec8x64)

func VpadddK

func VpadddK(a, b *Vec8x64, K *Mask, r *Vec8x64)

func Vpandd

func Vpandd(a, b, r *Vec8x64)

func VpanddZ

func VpanddZ(a, b *Vec8x64, K *Mask, r *Vec8x64)

func VpbroadcastdImm

func VpbroadcastdImm(imm uint32, r *Vec8x64)

func VpbroadcastdMem

func VpbroadcastdMem(ptr []byte, r *Vec8x64)

func VpbroadcastdMemK

func VpbroadcastdMemK(ptr []byte, K *Mask, r *Vec8x64)

func Vpcmpd

func Vpcmpd(imm uint8, a, b *Vec8x64, r *Mask)

func VpcmpdK

func VpcmpdK(imm uint8, a, b *Vec8x64, K, r *Mask)

func VpcmpudK

func VpcmpudK(imm uint8, a, b *Vec8x64, K, r *Mask)

func VpcmpudKBcst

func VpcmpudKBcst(imm uint8, ptr []byte, a *Vec8x64, K, r *Mask)

func Vpermb

func Vpermb(a, b, r *Vec8x64)

func Vpermd

func Vpermd(a, b, r *Vec8x64)

func Vpermi2B

func Vpermi2B(a, b, r *Vec8x64)

func Vpgatherdd

func Vpgatherdd(base *Gpr, offsets *Vec8x64, K *Mask, r *Vec8x64)

func Vpmovb2M

func Vpmovb2M(a *Vec8x64, r *Mask)

func Vpmovd2M

func Vpmovd2M(a *Vec8x64, r *Mask)

func Vpmovm2B

func Vpmovm2B(K *Mask, r *Vec8x64)

func Vpord

func Vpord(a, b, r *Vec8x64)

func Vpshufb

func Vpshufb(idx, b, r *Vec8x64)

func VpslldImm

func VpslldImm(imm uint8, a, r *Vec8x64)

func VpslldImmZ

func VpslldImmZ(imm uint8, a *Vec8x64, K *Mask, r *Vec8x64)

func VpsrldImm

func VpsrldImm(imm uint8, a, r *Vec8x64)

func Vpsrlvd

func Vpsrlvd(a, b, r *Vec8x64)

func Vpsubd

func Vpsubd(a, b, r *Vec8x64)

func VpsubdK

func VpsubdK(a, b *Vec8x64, K *Mask, r *Vec8x64)

func Vpternlogq

func Vpternlogq(imm uint8, a, b, r *Vec64x8)

func VptestnmdK

func VptestnmdK(a, b *Vec8x64, K, r *Mask)

func Vpxord

func Vpxord(a, b, r *Vec8x64)

func Vpxorq

func Vpxorq(a, b, r *Vec64x8)

func Vshufi64X2

func Vshufi64X2(imm uint8, a, b, r *Vec64x8)

Types

type Flags

type Flags struct {
	Zero bool
}

type Gpr

type Gpr struct {
	Value uint64
	// contains filtered or unexported fields
}

func (*Gpr) MakePtr

func (g *Gpr) MakePtr(mem []byte)

func (*Gpr) Ptr

func (g *Gpr) Ptr(offset int) []byte

type Mask

type Mask [64]bool

func Uint162Mask16

func Uint162Mask16(data uint16) (result Mask)

type Vec32x16

type Vec32x16 [16]uint32

func (Vec32x16) String

func (v Vec32x16) String() string

func (Vec32x16) ToVec64x8

func (v Vec32x16) ToVec64x8() Vec64x8

type Vec32x4

type Vec32x4 [4]uint32

func (Vec32x4) String

func (v Vec32x4) String() string

type Vec64x2

type Vec64x2 [2]uint64

func (Vec64x2) String

func (v Vec64x2) String() string

func (Vec64x2) ToVec8x16

func (v Vec64x2) ToVec8x16() Vec8x16

type Vec64x8

type Vec64x8 [8]uint64

func (Vec64x8) String

func (v Vec64x8) String() string

type Vec8x16

type Vec8x16 [16]uint8

func (Vec8x16) String

func (v Vec8x16) String() string

func (Vec8x16) ToVec32x4

func (v Vec8x16) ToVec32x4() Vec32x4

func (Vec8x16) ToVec64x2

func (v Vec8x16) ToVec64x2() Vec64x2

type Vec8x64

type Vec8x64 [64]uint8

func Vmovdqu8

func Vmovdqu8(p *uint8, offs int64) Vec8x64

func Vmovdqu8Z

func Vmovdqu8Z(p *uint8, offs int64, k uint64) Vec8x64

func (Vec8x64) String

func (v Vec8x64) String() string

func (Vec8x64) ToVec32x16

func (v Vec8x64) ToVec32x16() Vec32x16

func (Vec8x64) ToVec64x8

func (v Vec8x64) ToVec64x8() Vec64x8

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL