Fix #include <cstring> for std::memcpy
Use clang over gcc to compile.
Add interfaces for registers and operators.