liblink: shorter encoding for zeroing register
liblink: shorter encoding for zeroing register

Encode MOV $0, %ax as XOR %eax, %eax instead of
XOR %rax, %rax. If an operand register does not
need REX.w bit (i.e. not one of R8-R15), it is
encoded in 2 bytes instead of 3 bytes.

LGTM=rsc
R=golang-codereviews, gobot, rsc
CC=golang-codereviews
https://codereview.appspot.com/115580044

sanjosh/sanjos100-tipc,bryanxu/go-zh,d0f/go-zh,bryanxu/go-zh,d0f/go-zh,webfd/go-zh,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,bryanxu/go-zh,webfd/go-zh,webfd/go-zh,d0f/go-zh,d0f/go-zh,bryanxu/go-zh,d0f/go-zh,webfd/go-zh,bryanxu/go-zh,webfd/go-zh,d0f/go-zh,bryanxu/go-zh,webfd/go-zh,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,sanjosh/sanjos100-tipc,bryanxu/go-zh,webfd/go-zh,bryanxu/go-zh,webfd/go-zh,d0f/go-zh,d0f/go-zh,sanjosh/sanjos100-tipc