work arounds for osx's dinosaur as
- switch to .p2align instead of .align as it has consistent behavior
- backward jumps with .intel_syntax are broken (see https://discussions.apple.com/thread/2149747?start=0&tstart=0), use aj() for jumps and wrap them in .att_syntax
- it expects movd instead of movq for reg64->xmm moves. other versions of as appear to compile either to the same, so use movd
- just give up on using .size/.type asm notations