sync/atomic: fix check64
sync/atomic: fix check64

The LDREXD and STREXD instructions require
aligned addresses, and the ARM stack is not
guaranteed to be aligned during the check.
This may cause other problems later (on the ARM
not all 64-bit pointers may be 64-bit aligned)
but at least the check is correct now.

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/4564053

tav/go,tav/go,tav/go,tav/go,tav/go,tav/go,tav/go