I really enjoyed your post. I actually know x86 better than ARM & I'd love to read a similar patterns post targeted at x86_64. Do you have a reference for the "lowering" term? I did a quick search & couldn't find anything--but it's a hard term to search for. Thanks!
Edit: Finally found a few references for "lowering" in the context of compilers. Here's a SO reference: http://stackoverflow.com/questions/20252876/wanted-good-defi...