[Assembly]Libraries & Frameworks & Tools Collections
Keywords: Assembly & Compiling, Compiler, Libraries & Frameworks & Tools Collections
Assembly Related (Source)
Frameworks
MIPP is a portable wrapper for SIMD instructions written in C++11. It supports NEON, SSE, AVX and AVX-512.
https://github.com/aff3ct/MIPP
C++ Library for Portable SIMD Vectorization
https://github.com/root-project/veccore
a JIT assembler for x86(IA-32)/x64(AMD64, x86-64) MMX/SSE/SSE2/SSE3/SSSE3/SSE4/FPU/AVX/AVX2/AVX-512 by C++ heade
https://github.com/herumi/xbyak
Performance-portable, length-agnostic SIMD with runtime dispatch
https://github.com/google/highway
Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community.
https://github.com/capstone-engine/capstone
AVX Series
Fundamental C++ SIMD types for Intel CPUs (sse, avx, avx2, avx512)
https://github.com/ospray/tsimd
Optimized CppSPMD test project: macro control flow, SSE4.1/AVX1/AVX2/AVX2 FMA support
https://github.com/richgel999/CppSPMD_Fast
SSE Series
Implementations of SIMD instruction sets for systems which don’t natively support them.
https://github.com/nemequ/simde
LZ77/LZSS designed for SSE based decompression
https://github.com/ConorStokes/LZSSE
The FastPFOR C++ library: Fast integer compression
https://github.com/lemire/FastPFor
Math library using hlsl syntax with SSE/NEON support
https://github.com/redorav/hlslpp
ISPC Series
Intel SPMD Program Compiler, ispc is a compiler for a variant of the C programming language, with extensions for single program, multiple data programming. Under the SPMD model, the programmer writes a program that generally appears to be a regular serial program, though the execution model is actually that a number of program instances execute in parallel on the hardware.
https://github.com/ispc/ispc/
Neon Intrinsics (Arm/Aarch64) Series
A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation.
https://github.com/DLTcollab/sse2neon
Optimized implementations of various library functions for ARM architecture processors
https://github.com/ARM-software/optimized-routines
Channel Coding
A fast simulator and a library dedicated to the channel coding.
https://github.com/aff3ct/aff3ct
Compiling Related (Source)
C Compiler
A C compiler written in Zig.
https://github.com/Vexu/arocc
WebAssembly Compiler
A TypeScript-like language for WebAssembly.
https://github.com/AssemblyScript/assemblyscript
Compiler infrastructure and toolchain library for WebAssembly
https://github.com/WebAssembly/binaryen
TypeScript Compiler
🚀 TypeScript compiler on top of TypeScript as frontend and LLVM as backend
https://github.com/ovr/StaticScript
TypeScript Compiler (by LLVM)
https://github.com/ASDAlexander77/TypeScriptCompiler
Binary Diff
a C++ library and command-line tools for Zip(Jar,Apk) file Diff & Patch; create minimal delta/differential; support Jar sign(apk v1 sign) & apk v2,v3 sign .
https://github.com/sisong/ApkDiffPatch
DWARF (debugging with attributed record formats)
converter of DMD CodeView/DWARF debug information to PDB files
https://github.com/rainers/cv2pdb
How to add code at the entry of every function
Is there a compiler feature to inject custom function entry and exit code?
https://stackoverflow.com/questions/1472769/is-there-a-compiler-feature-to-inject-custom-function-entry-and-exit-code
How to add code at the entry of every function?
https://stackoverflow.com/questions/5081123/how-to-add-code-at-the-entry-of-every-function
Documents
Comprehensive Documents
What scientists must know about hardware to write fast code
https://github.com/jakobnissen/hardware_introduction
Fragments Documents
Germano Andersson Artur Scheibler Pedro Morales INF01047
https://github.com/germanoa/compiladores
Books
Compiler
Engineering: A Compiler 2nd Edition (February 21, 2011)
https://www.amazon.com/Engineering-Compiler-Keith-Cooper/dp/012088478X/
Compilers: Principles, Techniques, and Tools 2nd Edition (August 31, 2006)
https://www.amazon.com/Compilers-Principles-Techniques-Tools-2nd/dp/0321486811
Concepts, Techniques, and Models of Computer Programming (The MIT Press) 1st Edition (February 20, 2004)
https://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695
TypeScript compiler on top of TypeScript as frontend and LLVM as backend
https://github.com/ovr/StaticScript
Most men die at twenty or thirty; thereafter they are only reflections of themselves: for the rest of their lives they are aping themselves, repeating from day to day more and more mechanically and affectedly what they said and did and thought and loved when they were alive. ― Romain Rolland