Add function builder
Fix builder register count
Add variant class and change to clang
Add asm code example