intrinsics

command module
v0.0.0-...-3878f85 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2017 License: MIT Imports: 11 Imported by: 0

README

intrinsics

Experiment with Go intrinsics (NOT USABLE)

I have hacked together to programs that generate function signatures for all existing Intel x86 intrinsics, as well as ARM NEON intrinsics. When used they will not do anything, but they can be used to test the concept & compilation.

To get the generated code, use:

go get github.com/klauspost/intrinsics

Discussion

All intrinsics are separated into packages based on the CPUID features they require. This has the advantage that you can see your cpu requirements in your imports, and it gives reasonably sized packages.

All instruction that receives a pointer are skipped. Grep sources for '// Skipped:' to find these.

Instructions that have an immediate parameter, or returns a value in a parameter pointer are marked with a "FIXME:".

I generate a rather crude stub assembler for each function that loads each parameter from the stack and writes a return value, but no "operation" code is executed. However for basic instructions it will actually work if you uncomment the "proposed" instruction.

GoDoc

Copyright 2015 Klaus Post.

Released under MIT license. See LICENCE for more information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
arm
neon
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
x86
adx
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
aes
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx2
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512bw
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512cd
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512dq
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512er
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512f
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512ifma52
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512pf
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512vbmi
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
avx512vl
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
bmi1
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
bmi2
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
clflushopt
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
fma
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
fp16c
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
fsgsbase
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
fxsr
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
invpcid
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
kncni
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
lzcnt
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
misc
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
mmx
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
monitor
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
mpx
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
pclmulqdq
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
popcnt
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
prefetchwt1
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
rdrand
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
rdseed
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
rdtscp
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
rtm
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
sha
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
sse
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
sse2
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
sse3
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
sse4
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
ssse3
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
tsc
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
xsave
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
xsavec
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
xsaveopt
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
xss
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics
THESE PACKAGES ARE FOR DEMONSTRATION PURPOSES ONLY! THEY DO NOT NOT CONTAIN WORKING INTRINSICS! See https://github.com/klauspost/intrinsics

Jump to

Keyboard shortcuts

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