x86: explain why the codegen routine is so long