Oops, XMM0 might be taken by temps. Also, s/GC_ALIGN16/MEMORY_ALIGN16