build: update assembly variable names for vet

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/7834046
diff --git a/src/pkg/bytes/asm_386.s b/src/pkg/bytes/asm_386.s
index c444b55..997738f 100644
--- a/src/pkg/bytes/asm_386.s
+++ b/src/pkg/bytes/asm_386.s
@@ -4,21 +4,21 @@
 
 TEXT ·IndexByte(SB),7,$0
 	MOVL	s+0(FP), SI
-	MOVL	s+4(FP), CX
+	MOVL	s_len+4(FP), CX
 	MOVB	c+12(FP), AL
 	MOVL	SI, DI
 	CLD; REPN; SCASB
 	JZ 3(PC)
-	MOVL	$-1, r+16(FP)
+	MOVL	$-1, ret+16(FP)
 	RET
 	SUBL	SI, DI
 	SUBL	$1, DI
-	MOVL	DI, r+16(FP)
+	MOVL	DI, ret+16(FP)
 	RET
 
 TEXT ·Equal(SB),7,$0
-	MOVL	a+4(FP), BX
-	MOVL	b+16(FP), CX
+	MOVL	a_len+4(FP), BX
+	MOVL	b_len+16(FP), CX
 	MOVL	$0, AX
 	CMPL	BX, CX
 	JNE	eqret
@@ -29,5 +29,5 @@
 	JNE eqret
 	MOVL	$1, AX
 eqret:
-	MOVB	AX, r+24(FP)
+	MOVB	AX, ret+24(FP)
 	RET
diff --git a/src/pkg/bytes/asm_amd64.s b/src/pkg/bytes/asm_amd64.s
index 4824226..b8f9f1b 100644
--- a/src/pkg/bytes/asm_amd64.s
+++ b/src/pkg/bytes/asm_amd64.s
@@ -4,7 +4,7 @@
 
 TEXT ·IndexByte(SB),7,$0
 	MOVQ s+0(FP), SI
-	MOVQ s+8(FP), BX
+	MOVQ s_len+8(FP), BX
 	MOVB c+24(FP), AL
 	MOVQ SI, DI
 
@@ -63,7 +63,7 @@
 	JZ success
 
 failure:
-	MOVQ $-1, r+32(FP)
+	MOVQ $-1, ret+32(FP)
 	RET
 
 // handle for lengths < 16
@@ -71,7 +71,7 @@
 	MOVQ BX, CX
 	REPN; SCASB
 	JZ success
-	MOVQ $-1, r+32(FP)
+	MOVQ $-1, ret+32(FP)
 	RET
 
 // we've found the chunk containing the byte
@@ -81,18 +81,18 @@
 	BSFW DX, DX
 	SUBQ SI, DI
 	ADDQ DI, DX
-	MOVQ DX, r+32(FP)
+	MOVQ DX, ret+32(FP)
 	RET
 
 success:
 	SUBQ SI, DI
 	SUBL $1, DI
-	MOVQ DI, r+32(FP)
+	MOVQ DI, ret+32(FP)
 	RET
 
 TEXT ·Equal(SB),7,$0
-	MOVQ	a+8(FP), BX
-	MOVQ	b+32(FP), CX
+	MOVQ	a_len+8(FP), BX
+	MOVQ	b_len+32(FP), CX
 	MOVL	$0, AX
 	CMPQ	BX, CX
 	JNE	eqret
@@ -103,6 +103,6 @@
 	MOVL	$1, DX
 	CMOVLEQ	DX, AX
 eqret:
-	MOVB	AX, r+48(FP)
+	MOVB	AX, ret+48(FP)
 	RET
 
diff --git a/src/pkg/bytes/asm_arm.s b/src/pkg/bytes/asm_arm.s
index c7685f0..2e9f805 100644
--- a/src/pkg/bytes/asm_arm.s
+++ b/src/pkg/bytes/asm_arm.s
@@ -4,7 +4,7 @@
 
 TEXT ·IndexByte(SB),7,$0
 	MOVW	s+0(FP), R0
-	MOVW	s+4(FP), R1
+	MOVW	s_len+4(FP), R1
 	MOVBU	c+12(FP), R2	// byte to find
 	MOVW	R0, R4		// store base for later
 	ADD	R0, R1		// end 
@@ -18,17 +18,17 @@
 
 	SUB	$1, R0		// R0 will be one beyond the position we want
 	SUB	R4, R0		// remove base
-	MOVW    R0, r+16(FP) 
+	MOVW    R0, ret+16(FP) 
 	RET
 
 _notfound:
 	MOVW	$-1, R0
-	MOVW	R0, r+16(FP)
+	MOVW	R0, ret+16(FP)
 	RET
 
 TEXT ·Equal(SB),7,$0
-	MOVW	a+4(FP), R1
-	MOVW	b+16(FP), R3
+	MOVW	a_len+4(FP), R1
+	MOVW	b_len+16(FP), R3
 	
 	CMP	R1, R3		// unequal lengths are not equal
 	B.NE	_notequal
@@ -47,10 +47,10 @@
 
 _notequal:
 	MOVW	$0, R0
-	MOVBU	R0, r+24(FP)
+	MOVBU	R0, ret+24(FP)
 	RET
 
 _equal:
 	MOVW	$1, R0
-	MOVBU	R0, r+24(FP)
+	MOVBU	R0, ret+24(FP)
 	RET
diff --git a/src/pkg/crypto/md5/md5block_386.s b/src/pkg/crypto/md5/md5block_386.s
index 1083d83..3ce15e3 100644
--- a/src/pkg/crypto/md5/md5block_386.s
+++ b/src/pkg/crypto/md5/md5block_386.s
@@ -60,7 +60,7 @@
 TEXT	·block(SB),7,$24-16
 	MOVL	dig+0(FP),	BP
 	MOVL	p+4(FP),	SI
-	MOVL	n+8(FP), DX
+	MOVL	p_len+8(FP), DX
 	SHRL	$6,		DX
 	SHLL	$6,		DX
 
diff --git a/src/pkg/crypto/md5/md5block_amd64.s b/src/pkg/crypto/md5/md5block_amd64.s
index 74a361e..e6420a2 100644
--- a/src/pkg/crypto/md5/md5block_amd64.s
+++ b/src/pkg/crypto/md5/md5block_amd64.s
@@ -14,7 +14,7 @@
 TEXT	·block(SB),7,$0-32
 	MOVQ	dig+0(FP),	BP
 	MOVQ	p+8(FP),	SI
-	MOVQ	n+16(FP), DX
+	MOVQ	p_len+16(FP), DX
 	SHRQ	$6,		DX
 	SHLQ	$6,		DX
 
diff --git a/src/pkg/crypto/rc4/rc4_386.s b/src/pkg/crypto/rc4/rc4_386.s
index 6e12c20..c80ef2a 100644
--- a/src/pkg/crypto/rc4/rc4_386.s
+++ b/src/pkg/crypto/rc4/rc4_386.s
@@ -8,9 +8,9 @@
 	MOVL src+4(FP), SI
 	MOVL state+12(FP), BP
 
-	MOVL xPtr+16(FP), AX
+	MOVL i+16(FP), AX
 	MOVBLZX (AX), AX
-	MOVL yPtr+20(FP), BX
+	MOVL j+20(FP), BX
 	MOVBLZX (BX), BX
 	CMPL n+8(FP), $0
 	JEQ done
@@ -43,9 +43,9 @@
 	JNE loop
 
 done:
-	MOVL xPtr+16(FP), CX
+	MOVL i+16(FP), CX
 	MOVB AX, (CX)
-	MOVL yPtr+20(FP), CX
+	MOVL j+20(FP), CX
 	MOVB BX, (CX)
 
 	RET
diff --git a/src/pkg/crypto/rc4/rc4_amd64.s b/src/pkg/crypto/rc4/rc4_amd64.s
index f0962a4..353fe37 100644
--- a/src/pkg/crypto/rc4/rc4_amd64.s
+++ b/src/pkg/crypto/rc4/rc4_amd64.s
@@ -37,13 +37,13 @@
 */
 
 TEXT ·xorKeyStream(SB),7,$0
-	MOVQ	len+16(FP),	BX		// rbx = ARG(len)
-	MOVQ	in+8(FP),	SI		// in = ARG(in)
-	MOVQ	out+0(FP),	DI		// out = ARG(out)
-	MOVQ	d+24(FP),	BP		// d = ARG(data)
-	MOVQ	xp+32(FP),	AX
+	MOVQ	n+16(FP),	BX		// rbx = ARG(len)
+	MOVQ	src+8(FP),	SI		// in = ARG(in)
+	MOVQ	dst+0(FP),	DI		// out = ARG(out)
+	MOVQ	state+24(FP),	BP		// d = ARG(data)
+	MOVQ	i+32(FP),	AX
 	MOVBQZX	0(AX),		CX		// x = *xp
-	MOVQ	yp+40(FP),	AX
+	MOVQ	j+40(FP),	AX
 	MOVBQZX	0(AX),		DX		// y = *yp
 
 	LEAQ	(SI)(BX*1),	R9		// limit = in+len
@@ -170,8 +170,8 @@
 	JMP l2
 
 finished:
-	MOVQ	yp+40(FP),	BX
+	MOVQ	j+40(FP),	BX
 	MOVB	DX, 0(BX)
-	MOVQ	xp+32(FP),	AX
+	MOVQ	i+32(FP),	AX
 	MOVB	CX, 0(AX)
 	RET
diff --git a/src/pkg/crypto/sha1/sha1block_386.s b/src/pkg/crypto/sha1/sha1block_386.s
index fbf237b..e60a7b9 100644
--- a/src/pkg/crypto/sha1/sha1block_386.s
+++ b/src/pkg/crypto/sha1/sha1block_386.s
@@ -102,7 +102,7 @@
 TEXT ·block(SB),7,$92-16
 	MOVL	dig+0(FP),	BP
 	MOVL	p+4(FP),	SI
-	MOVL	n+8(FP),	DX
+	MOVL	p_len+8(FP),	DX
 	SHRL	$6,		DX
 	SHLL	$6,		DX
 	
diff --git a/src/pkg/crypto/sha1/sha1block_amd64.s b/src/pkg/crypto/sha1/sha1block_amd64.s
index e2b286a..452578a 100644
--- a/src/pkg/crypto/sha1/sha1block_amd64.s
+++ b/src/pkg/crypto/sha1/sha1block_amd64.s
@@ -89,8 +89,8 @@
 
 TEXT ·block(SB),7,$64-32
 	MOVQ	dig+0(FP),	BP
-	MOVQ	p+8(FP),	SI
-	MOVQ	n+16(FP),	DX
+	MOVQ	p_base+8(FP),	SI
+	MOVQ	p_len+16(FP),	DX
 	SHRQ	$6,		DX
 	SHLQ	$6,		DX
 	
diff --git a/src/pkg/crypto/sha1/sha1block_decl.go b/src/pkg/crypto/sha1/sha1block_decl.go
index 348a6aa..3512a58 100644
--- a/src/pkg/crypto/sha1/sha1block_decl.go
+++ b/src/pkg/crypto/sha1/sha1block_decl.go
@@ -6,4 +6,4 @@
 
 package sha1
 
-func block(*digest, []byte)
+func block(dig *digest, p []byte)
diff --git a/src/pkg/hash/crc32/crc32_amd64.s b/src/pkg/hash/crc32/crc32_amd64.s
index 6e6a364..826306a 100644
--- a/src/pkg/hash/crc32/crc32_amd64.s
+++ b/src/pkg/hash/crc32/crc32_amd64.s
@@ -6,7 +6,7 @@
 TEXT ·castagnoliSSE42(SB),7,$0
 	MOVL crc+0(FP), AX  // CRC value
 	MOVQ p+8(FP), SI  // data pointer
-	MOVQ p+16(FP), CX  // len(p)
+	MOVQ p_len+16(FP), CX  // len(p)
 
 	NOTL AX
 
@@ -47,7 +47,7 @@
 
 done:
 	NOTL AX
-	MOVL AX, r+32(FP)
+	MOVL AX, ret+32(FP)
 	RET
 
 // func haveSSE42() bool
@@ -57,6 +57,6 @@
 	CPUID
 	SHRQ $20, CX
 	ANDQ $1, CX
-	MOVB CX, r+0(FP)
+	MOVB CX, ret+0(FP)
 	RET
 
diff --git a/src/pkg/math/abs_386.s b/src/pkg/math/abs_386.s
index 889e801..5746764 100644
--- a/src/pkg/math/abs_386.s
+++ b/src/pkg/math/abs_386.s
@@ -6,5 +6,5 @@
 TEXT ·Abs(SB),7,$0
 	FMOVD   x+0(FP), F0  // F0=x
 	FABS                 // F0=|x|
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/abs_amd64.s b/src/pkg/math/abs_amd64.s
index 32b7853..1193460 100644
--- a/src/pkg/math/abs_amd64.s
+++ b/src/pkg/math/abs_amd64.s
@@ -8,5 +8,5 @@
 	MOVQ   BX, X0 // movsd $(-0.0), x0
 	MOVSD  x+0(FP), X1
 	ANDNPD X1, X0
-	MOVSD  X0, r+8(FP)
+	MOVSD  X0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/abs_arm.s b/src/pkg/math/abs_arm.s
index 37a1459..929e1ce 100644
--- a/src/pkg/math/abs_arm.s
+++ b/src/pkg/math/abs_arm.s
@@ -3,9 +3,9 @@
 // license that can be found in the LICENSE file.
 
 TEXT ·Abs(SB),7,$0
-	MOVW	x+0(FP), R0
-	MOVW	x+4(FP), R1
+	MOVW	x_lo+0(FP), R0
+	MOVW	x_hi+4(FP), R1
 	AND 	$((1<<31)-1), R1
-	MOVW	R0, r+8(FP)
-	MOVW	R1, r+12(FP)
+	MOVW	R0, ret_lo+8(FP)
+	MOVW	R1, ret_hi+12(FP)
 	RET
diff --git a/src/pkg/math/asin_386.s b/src/pkg/math/asin_386.s
index 93df552..cd3f9cd 100644
--- a/src/pkg/math/asin_386.s
+++ b/src/pkg/math/asin_386.s
@@ -11,7 +11,7 @@
 	FSUBRDP F0, F1       // F0=1-sin(x)*sin(x) (=cos(x)*cos(x)), F1=sin(x)
 	FSQRT                // F0=cos(x), F1=sin(x)
 	FPATAN               // F0=arcsin(sin(x))=x
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 
 // func Acos(x float64) float64
@@ -24,5 +24,5 @@
 	FSQRT                // F0=sin(x), F1=cos(x)
 	FXCHD   F0, F1       // F0=cos(x), F1=sin(x)
 	FPATAN               // F0=arccos(cos(x))=x
-	FMOVDP	F0, r+8(FP)
+	FMOVDP	F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/atan2_386.s b/src/pkg/math/atan2_386.s
index 9a66492..1bf301c 100644
--- a/src/pkg/math/atan2_386.s
+++ b/src/pkg/math/atan2_386.s
@@ -7,5 +7,5 @@
 	FMOVD   y+0(FP), F0  // F0=y
 	FMOVD   x+8(FP), F0  // F0=x, F1=y
 	FPATAN               // F0=atan(F1/F0)
-	FMOVDP  F0, r+16(FP)
+	FMOVDP  F0, ret+16(FP)
 	RET
diff --git a/src/pkg/math/atan_386.s b/src/pkg/math/atan_386.s
index 245437a..c988705 100644
--- a/src/pkg/math/atan_386.s
+++ b/src/pkg/math/atan_386.s
@@ -7,5 +7,5 @@
 	FMOVD   x+0(FP), F0  // F0=x
 	FLD1                 // F0=1, F1=x
 	FPATAN               // F0=atan(F1/F0)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/big/arith_386.s b/src/pkg/math/big/arith_386.s
index c624833..f0118ec 100644
--- a/src/pkg/math/big/arith_386.s
+++ b/src/pkg/math/big/arith_386.s
@@ -29,7 +29,7 @@
 	MOVL z+0(FP), DI
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), CX
-	MOVL z+4(FP), BP
+	MOVL z_len+4(FP), BP
 	MOVL $0, BX		// i = 0
 	MOVL $0, DX		// c = 0
 	JMP E1
@@ -54,7 +54,7 @@
 	MOVL z+0(FP), DI
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), CX
-	MOVL z+4(FP), BP
+	MOVL z_len+4(FP), BP
 	MOVL $0, BX		// i = 0
 	MOVL $0, DX		// c = 0
 	JMP E2
@@ -78,7 +78,7 @@
 	MOVL z+0(FP), DI
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), AX	// c = y
-	MOVL z+4(FP), BP
+	MOVL z_len+4(FP), BP
 	MOVL $0, BX		// i = 0
 	JMP E3
 
@@ -100,7 +100,7 @@
 	MOVL z+0(FP), DI
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), AX	// c = y
-	MOVL z+4(FP), BP
+	MOVL z_len+4(FP), BP
 	MOVL $0, BX		// i = 0
 	JMP E4
 
@@ -120,7 +120,7 @@
 
 // func shlVU(z, x []Word, s uint) (c Word)
 TEXT ·shlVU(SB),7,$0
-	MOVL z+4(FP), BX	// i = z
+	MOVL z_len+4(FP), BX	// i = z
 	SUBL $1, BX		// i--
 	JL X8b			// i < 0	(n <= 0)
 
@@ -155,7 +155,7 @@
 
 // func shrVU(z, x []Word, s uint) (c Word)
 TEXT ·shrVU(SB),7,$0
-	MOVL z+4(FP), BP
+	MOVL z_len+4(FP), BP
 	SUBL $1, BP		// n--
 	JL X9b			// n < 0	(n <= 0)
 
@@ -196,7 +196,7 @@
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), BP
 	MOVL r+28(FP), CX	// c = r
-	MOVL z+4(FP), BX
+	MOVL z_len+4(FP), BX
 	LEAL (DI)(BX*4), DI
 	LEAL (SI)(BX*4), SI
 	NEGL BX			// i = -n
@@ -222,7 +222,7 @@
 	MOVL z+0(FP), DI
 	MOVL x+12(FP), SI
 	MOVL y+24(FP), BP
-	MOVL z+4(FP), BX
+	MOVL z_len+4(FP), BX
 	LEAL (DI)(BX*4), DI
 	LEAL (SI)(BX*4), SI
 	NEGL BX			// i = -n
@@ -251,7 +251,7 @@
 	MOVL xn+12(FP), DX	// r = xn
 	MOVL x+16(FP), SI
 	MOVL y+28(FP), CX
-	MOVL z+4(FP), BX	// i = z
+	MOVL z_len+4(FP), BX	// i = z
 	JMP E7
 
 L7:	MOVL (SI)(BX*4), AX
diff --git a/src/pkg/math/big/arith_amd64.s b/src/pkg/math/big/arith_amd64.s
index d859645..62da650 100644
--- a/src/pkg/math/big/arith_amd64.s
+++ b/src/pkg/math/big/arith_amd64.s
@@ -36,7 +36,7 @@
 
 // func addVV(z, x, y []Word) (c Word)
 TEXT ·addVV(SB),7,$0
-	MOVQ z+8(FP), DI
+	MOVQ z_len+8(FP), DI
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), R9
 	MOVQ z+0(FP), R10
@@ -90,7 +90,7 @@
 // func subVV(z, x, y []Word) (c Word)
 // (same as addVV except for SBBQ instead of ADCQ and label names)
 TEXT ·subVV(SB),7,$0
-	MOVQ z+8(FP), DI
+	MOVQ z_len+8(FP), DI
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), R9
 	MOVQ z+0(FP), R10
@@ -143,7 +143,7 @@
 
 // func addVW(z, x []Word, y Word) (c Word)
 TEXT ·addVW(SB),7,$0
-	MOVQ z+8(FP), DI
+	MOVQ z_len+8(FP), DI
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), CX	// c = y
 	MOVQ z+0(FP), R10
@@ -195,7 +195,7 @@
 // func subVW(z, x []Word, y Word) (c Word)
 // (same as addVW except for SUBQ/SBBQ instead of ADDQ/ADCQ and label names)
 TEXT ·subVW(SB),7,$0
-	MOVQ z+8(FP), DI
+	MOVQ z_len+8(FP), DI
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), CX	// c = y
 	MOVQ z+0(FP), R10
@@ -247,7 +247,7 @@
 
 // func shlVU(z, x []Word, s uint) (c Word)
 TEXT ·shlVU(SB),7,$0
-	MOVQ z+8(FP), BX	// i = z
+	MOVQ z_len+8(FP), BX	// i = z
 	SUBQ $1, BX		// i--
 	JL X8b			// i < 0	(n <= 0)
 
@@ -282,7 +282,7 @@
 
 // func shrVU(z, x []Word, s uint) (c Word)
 TEXT ·shrVU(SB),7,$0
-	MOVQ z+8(FP), R11
+	MOVQ z_len+8(FP), R11
 	SUBQ $1, R11		// n--
 	JL X9b			// n < 0	(n <= 0)
 
@@ -323,7 +323,7 @@
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), R9
 	MOVQ r+56(FP), CX	// c = r
-	MOVQ z+8(FP), R11
+	MOVQ z_len+8(FP), R11
 	MOVQ $0, BX		// i = 0
 	JMP E5
 
@@ -347,7 +347,7 @@
 	MOVQ z+0(FP), R10
 	MOVQ x+24(FP), R8
 	MOVQ y+48(FP), R9
-	MOVQ z+8(FP), R11
+	MOVQ z_len+8(FP), R11
 	MOVQ $0, BX		// i = 0
 	MOVQ $0, CX		// c = 0
 	JMP E6
@@ -374,7 +374,7 @@
 	MOVQ xn+24(FP), DX	// r = xn
 	MOVQ x+32(FP), R8
 	MOVQ y+56(FP), R9
-	MOVQ z+8(FP), BX	// i = z
+	MOVQ z_len+8(FP), BX	// i = z
 	JMP E7
 
 L7:	MOVQ (R8)(BX*8), AX
diff --git a/src/pkg/math/big/arith_arm.s b/src/pkg/math/big/arith_arm.s
index 64610f9..6e2d23d 100644
--- a/src/pkg/math/big/arith_arm.s
+++ b/src/pkg/math/big/arith_arm.s
@@ -13,7 +13,7 @@
 	MOVW	z+0(FP), R1
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
-	MOVW	z+4(FP), R4
+	MOVW	z_len+4(FP), R4
 	MOVW	R4<<2, R4
 	ADD	R1, R4
 	B E1
@@ -41,7 +41,7 @@
 	MOVW	z+0(FP), R1
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
-	MOVW	z+4(FP), R4
+	MOVW	z_len+4(FP), R4
 	MOVW	R4<<2, R4
 	ADD	R1, R4
 	B E2
@@ -68,7 +68,7 @@
 	MOVW	z+0(FP), R1
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
-	MOVW	z+4(FP), R4
+	MOVW	z_len+4(FP), R4
 	MOVW	R4<<2, R4
 	ADD	R1, R4
 	CMP	R1, R4
@@ -102,7 +102,7 @@
 	MOVW	z+0(FP), R1
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
-	MOVW	z+4(FP), R4
+	MOVW	z_len+4(FP), R4
 	MOVW	R4<<2, R4
 	ADD	R1, R4
 	CMP	R1, R4
@@ -134,7 +134,7 @@
 
 // func shlVU(z, x []Word, s uint) (c Word)
 TEXT ·shlVU(SB),7,$0
-	MOVW	z+4(FP), R5
+	MOVW	z_len+4(FP), R5
 	CMP	$0, R5
 	BEQ	X7
 	
@@ -183,7 +183,7 @@
 
 // func shrVU(z, x []Word, s uint) (c Word)
 TEXT ·shrVU(SB),7,$0
-	MOVW	z+4(FP), R5
+	MOVW	z_len+4(FP), R5
 	CMP	$0, R5
 	BEQ	X6
 
@@ -238,7 +238,7 @@
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
 	MOVW	r+28(FP), R4
-	MOVW	z+4(FP), R5
+	MOVW	z_len+4(FP), R5
 	MOVW	R5<<2, R5
 	ADD	R1, R5
 	B E8
@@ -265,7 +265,7 @@
 	MOVW	z+0(FP), R1
 	MOVW	x+12(FP), R2
 	MOVW	y+24(FP), R3
-	MOVW	z+4(FP), R5
+	MOVW	z_len+4(FP), R5
 	MOVW	R5<<2, R5
 	ADD	R1, R5
 	MOVW	$0, R4
diff --git a/src/pkg/math/dim_amd64.s b/src/pkg/math/dim_amd64.s
index a1505ce..0ae8ad1 100644
--- a/src/pkg/math/dim_amd64.s
+++ b/src/pkg/math/dim_amd64.s
@@ -36,12 +36,12 @@
 	SUBSD y+8(FP), X0
 	MOVSD $(0.0), X1
 	MAXSD X1, X0
-	MOVSD X0, r+16(FP)
+	MOVSD X0, ret+16(FP)
 	RET
 bothInf: // Dim(-Inf, -Inf) or Dim(+Inf, +Inf)
 	MOVQ    $NaN, AX
 isDimNaN:
-	MOVQ    AX, r+16(FP)
+	MOVQ    AX, ret+16(FP)
 	RET
 
 // func ·Max(x, y float64) float64
@@ -72,28 +72,28 @@
 	MOVQ    R8, X0
 	MOVQ    R9, X1
 	MAXSD   X1, X0
-	MOVSD   X0, r+16(FP)
+	MOVSD   X0, ret+16(FP)
 	RET
 isMaxNaN: // return NaN
 isPosInf: // return +Inf
-	MOVQ    AX, r+16(FP)
+	MOVQ    AX, ret+16(FP)
 	RET
 isMaxZero:
 	MOVQ    $(1<<63), AX // -0.0
 	CMPQ    AX, R8
 	JEQ     +3(PC)
-	MOVQ    R8, r+16(FP) // return 0
+	MOVQ    R8, ret+16(FP) // return 0
 	RET
-	MOVQ    R9, r+16(FP) // return other 0
+	MOVQ    R9, ret+16(FP) // return other 0
 	RET
 
 /*
 	MOVQ    $0, AX
 	CMPQ    AX, R8
 	JNE     +3(PC)
-	MOVQ    R8, r+16(FP) // return 0
+	MOVQ    R8, ret+16(FP) // return 0
 	RET
-	MOVQ    R9, r+16(FP) // return other 0
+	MOVQ    R9, ret+16(FP) // return other 0
 	RET
 */
 
@@ -125,18 +125,18 @@
 	MOVQ    R8, X0
 	MOVQ    R9, X1
 	MINSD   X1, X0
-	MOVSD X0, r+16(FP)
+	MOVSD X0, ret+16(FP)
 	RET
 isMinNaN: // return NaN
 isNegInf: // return -Inf
-	MOVQ    AX, r+16(FP)
+	MOVQ    AX, ret+16(FP)
 	RET
 isMinZero:
 	MOVQ    $(1<<63), AX // -0.0
 	CMPQ    AX, R8
 	JEQ     +3(PC)
-	MOVQ    R9, r+16(FP) // return other 0
+	MOVQ    R9, ret+16(FP) // return other 0
 	RET
-	MOVQ    R8, r+16(FP) // return -0
+	MOVQ    R8, ret+16(FP) // return -0
 	RET
 
diff --git a/src/pkg/math/exp2_386.s b/src/pkg/math/exp2_386.s
index ed82a4d..1537626 100644
--- a/src/pkg/math/exp2_386.s
+++ b/src/pkg/math/exp2_386.s
@@ -5,7 +5,7 @@
 // func Exp2(x float64) float64
 TEXT ·Exp2(SB),7,$0
 // test bits for not-finite
-	MOVL    x+4(FP), AX
+	MOVL    x_hi+4(FP), AX
 	ANDL    $0x7ff00000, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     not_finite
@@ -19,20 +19,20 @@
 	FADDDP  F0, F1        // F0=2**(x-int(x)), F1=int(x)
 	FSCALE                // F0=2**x, F1=int(x)
 	FMOVDP  F0, F1        // F0=2**x
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 not_finite:
 // test bits for -Inf
-	MOVL    x+4(FP), BX
-	MOVL    x+0(FP), CX
+	MOVL    x_hi+4(FP), BX
+	MOVL    x_lo+0(FP), CX
 	CMPL    BX, $0xfff00000
 	JNE     not_neginf
 	CMPL    CX, $0
 	JNE     not_neginf
-	MOVL    $0, r+8(FP)
-	MOVL    $0, r+12(FP)
+	MOVL    $0, ret_lo+8(FP)
+	MOVL    $0, ret_hi+12(FP)
 	RET
 not_neginf:
-	MOVL    CX, r+8(FP)
-	MOVL    BX, r+12(FP)
+	MOVL    CX, ret_lo+8(FP)
+	MOVL    BX, ret_hi+12(FP)
 	RET
diff --git a/src/pkg/math/exp_386.s b/src/pkg/math/exp_386.s
index e0743e7..aeceb3c 100644
--- a/src/pkg/math/exp_386.s
+++ b/src/pkg/math/exp_386.s
@@ -5,7 +5,7 @@
 // func Exp(x float64) float64
 TEXT ·Exp(SB),7,$0
 // test bits for not-finite
-	MOVL    x+4(FP), AX
+	MOVL    x_hi+4(FP), AX
 	ANDL    $0x7ff00000, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     not_finite
@@ -20,20 +20,20 @@
 	FADDDP  F0, F1        // F0=2**(x*log2(e)-int(x*log2(e))), F1=int(x*log2(e))
 	FSCALE                // F0=e**x, F1=int(x*log2(e))
 	FMOVDP  F0, F1        // F0=e**x
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 not_finite:
 // test bits for -Inf
-	MOVL    x+4(FP), BX
-	MOVL    x+0(FP), CX
+	MOVL    x_hi+4(FP), BX
+	MOVL    x_lo+0(FP), CX
 	CMPL    BX, $0xfff00000
 	JNE     not_neginf
 	CMPL    CX, $0
 	JNE     not_neginf
 	FLDZ                  // F0=0
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 not_neginf:
-	MOVL    CX, r+8(FP)
-	MOVL    BX, r+12(FP)
+	MOVL    CX, ret_lo+8(FP)
+	MOVL    BX, ret_hi+12(FP)
 	RET
diff --git a/src/pkg/math/exp_amd64.s b/src/pkg/math/exp_amd64.s
index 74c9c87..eb6fb04 100644
--- a/src/pkg/math/exp_amd64.s
+++ b/src/pkg/math/exp_amd64.s
@@ -93,7 +93,7 @@
 	SHLQ    CX, BX
 	MOVQ    BX, X1
 	MULSD   X1, X0
-	MOVSD   X0, r+8(FP)
+	MOVSD   X0, ret+8(FP)
 	RET
 notFinite:
 	// test bits for -Inf
@@ -103,10 +103,10 @@
 	// -Inf, return 0
 underflow: // return 0
 	MOVQ    $0, AX
-	MOVQ    AX, r+8(FP)
+	MOVQ    AX, ret+8(FP)
 	RET
 overflow: // return +Inf
 	MOVQ    $PosInf, BX
 notNegInf: // NaN or +Inf, return x
-	MOVQ    BX, r+8(FP)
+	MOVQ    BX, ret+8(FP)
 	RET
diff --git a/src/pkg/math/expm1_386.s b/src/pkg/math/expm1_386.s
index 8185f49..0ff9c4a 100644
--- a/src/pkg/math/expm1_386.s
+++ b/src/pkg/math/expm1_386.s
@@ -14,11 +14,11 @@
 	FLDL2E                // F0=log2(e)
 	FMULD   x+0(FP), F0   // F0=x*log2(e) (-1<F0<1)
 	F2XM1                 // F0=e**x-1 = 2**(x*log2(e))-1
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 use_exp:
 // test bits for not-finite
-	MOVL    x+4(FP), AX
+	MOVL    x_hi+4(FP), AX
 	ANDL    $0x7ff00000, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     not_finite
@@ -35,21 +35,21 @@
 	FMOVDP  F0, F1        // F0=e**x
 	FLD1                  // F0=1, F1=e**x
 	FSUBDP  F0, F1        // F0=e**x-1 
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 not_finite:
 // test bits for -Inf
-	MOVL    x+4(FP), BX
-	MOVL    x+0(FP), CX
+	MOVL    x_hi+4(FP), BX
+	MOVL    x_lo+0(FP), CX
 	CMPL    BX, $0xfff00000
 	JNE     not_neginf
 	CMPL    CX, $0
 	JNE     not_neginf
 	FLD1                 // F0=1
 	FCHS                 // F0=-1
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 not_neginf:
-	MOVL    CX, r+8(FP)
-	MOVL    BX, r+12(FP)
+	MOVL    CX, ret_lo+8(FP)
+	MOVL    BX, ret_hi+12(FP)
 	RET
diff --git a/src/pkg/math/floor_386.s b/src/pkg/math/floor_386.s
index a4ae9d2..9aa71c0 100644
--- a/src/pkg/math/floor_386.s
+++ b/src/pkg/math/floor_386.s
@@ -13,7 +13,7 @@
 	FLDCW   -4(SP)       // load new Control Word
 	FRNDINT              // F0=Ceil(x)
 	FLDCW   -2(SP)       // load old Control Word
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 
 // func Floor(x float64) float64
@@ -27,7 +27,7 @@
 	FLDCW   -4(SP)       // load new Control Word
 	FRNDINT              // F0=Floor(x)
 	FLDCW   -2(SP)       // load old Control Word
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 
 // func Trunc(x float64) float64
@@ -40,5 +40,5 @@
 	FLDCW   -4(SP)       // load new Control Word
 	FRNDINT              // F0=Trunc(x)
 	FLDCW   -2(SP)       // load old Control Word
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/floor_amd64.s b/src/pkg/math/floor_amd64.s
index e72cc3c..bb1a2fd 100644
--- a/src/pkg/math/floor_amd64.s
+++ b/src/pkg/math/floor_amd64.s
@@ -20,10 +20,10 @@
 	MOVSD	$(-1.0), X2
 	ANDPD	X2, X0 // if x < float(int(x)) {X0 = -1} else {X0 = 0}
 	ADDSD	X1, X0
-	MOVSD	X0, r+8(FP)
+	MOVSD	X0, ret+8(FP)
 	RET
 isBig_floor:
-	MOVQ    AX, r+8(FP) // return x
+	MOVQ    AX, ret+8(FP) // return x
 	RET
 
 // func Ceil(x float64) float64
@@ -46,10 +46,10 @@
 	ANDNPD	X3, X0
 	ORPD	X2, X0 // if float(int(x)) <= x {X0 = 1} else {X0 = -0}
 	ADDSD	X1, X0
-	MOVSD	X0, r+8(FP)
+	MOVSD	X0, ret+8(FP)
 	RET
 isBig_ceil:
-	MOVQ	AX, r+8(FP)
+	MOVQ	AX, ret+8(FP)
 	RET
 
 // func Trunc(x float64) float64
@@ -67,8 +67,8 @@
 	ANDNPD	X0, X2 // X2 = sign
 	CVTSQ2SD	AX, X0 // X0 = float(int(x))
 	ORPD	X2, X0 // if X0 = 0.0, incorporate sign
-	MOVSD	X0, r+8(FP)
+	MOVSD	X0, ret+8(FP)
 	RET
 isBig_trunc:
-	MOVQ    AX, r+8(FP) // return x
+	MOVQ    AX, ret+8(FP) // return x
 	RET
diff --git a/src/pkg/math/hypot_386.s b/src/pkg/math/hypot_386.s
index 51cd904..8edfe06 100644
--- a/src/pkg/math/hypot_386.s
+++ b/src/pkg/math/hypot_386.s
@@ -5,11 +5,11 @@
 // func Hypot(p, q float64) float64
 TEXT ·Hypot(SB),7,$0
 // test bits for not-finite
-	MOVL    p+4(FP), AX   // high word p
+	MOVL    p_hi+4(FP), AX   // high word p
 	ANDL    $0x7ff00000, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     not_finite
-	MOVL    q+12(FP), AX   // high word q
+	MOVL    q_hi+12(FP), AX   // high word q
 	ANDL    $0x7ff00000, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     not_finite
@@ -31,27 +31,27 @@
 	FADDDP  F0, F1       // F0=1+q*q, F1=p
 	FSQRT                // F0=sqrt(1+q*q), F1=p
 	FMULDP  F0, F1       // F0=p*sqrt(1+q*q)
-	FMOVDP  F0, r+16(FP)
+	FMOVDP  F0, ret+16(FP)
 	RET
 	FMOVDP  F0, F1       // F0=0
-	FMOVDP  F0, r+16(FP)
+	FMOVDP  F0, ret+16(FP)
 	RET
 not_finite:
 // test bits for -Inf or +Inf
-	MOVL    p+4(FP), AX  // high word p
-	ORL     p+0(FP), AX  // low word p
+	MOVL    p_hi+4(FP), AX  // high word p
+	ORL     p_lo+0(FP), AX  // low word p
 	ANDL    $0x7fffffff, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     is_inf
-	MOVL    q+12(FP), AX  // high word q
-	ORL     q+8(FP), AX   // low word q
+	MOVL    q_hi+12(FP), AX  // high word q
+	ORL     q_lo+8(FP), AX   // low word q
 	ANDL    $0x7fffffff, AX
 	CMPL    AX, $0x7ff00000
 	JEQ     is_inf
-	MOVL    $0x7ff80000, r+20(FP)  // return NaN = 0x7FF8000000000001
-	MOVL    $0x00000001, r+16(FP)
+	MOVL    $0x7ff80000, ret_hi+20(FP)  // return NaN = 0x7FF8000000000001
+	MOVL    $0x00000001, ret_lo+16(FP)
 	RET
 is_inf:
-	MOVL    AX, r+20(FP)  // return +Inf = 0x7FF0000000000000
-	MOVL    $0x00000000, r+16(FP)
+	MOVL    AX, ret_hi+20(FP)  // return +Inf = 0x7FF0000000000000
+	MOVL    $0x00000000, ret_lo+16(FP)
 	RET
diff --git a/src/pkg/math/hypot_amd64.s b/src/pkg/math/hypot_amd64.s
index 02fff5b..40ba6f4 100644
--- a/src/pkg/math/hypot_amd64.s
+++ b/src/pkg/math/hypot_amd64.s
@@ -31,7 +31,7 @@
 	ADDSD   $1.0, X1
 	SQRTSD  X1, X1
 	MULSD   X1, X0
-	MOVSD   X0, r+16(FP)
+	MOVSD   X0, ret+16(FP)
 	RET
 isInfOrNaN:
 	CMPQ    AX, BX
@@ -39,12 +39,12 @@
 	CMPQ    AX, CX
 	JEQ     isInf
 	MOVQ    $NaN, AX
-	MOVQ    AX, r+16(FP) // return NaN
+	MOVQ    AX, ret+16(FP) // return NaN
 	RET
 isInf:
-	MOVQ    AX, r+16(FP) // return +Inf
+	MOVQ    AX, ret+16(FP) // return +Inf
 	RET
 isZero:
 	MOVQ    $0, AX
-	MOVQ    AX, r+16(FP) // return 0
+	MOVQ    AX, ret+16(FP) // return 0
 	RET
diff --git a/src/pkg/math/ldexp_386.s b/src/pkg/math/ldexp_386.s
index 3a65629..566245d 100644
--- a/src/pkg/math/ldexp_386.s
+++ b/src/pkg/math/ldexp_386.s
@@ -8,5 +8,5 @@
 	FMOVD   frac+0(FP), F0   // F0=frac, F1=e
 	FSCALE                // F0=x*2**e, F1=e
 	FMOVDP  F0, F1        // F0=x*2**e
-	FMOVDP  F0, r+12(FP)
+	FMOVDP  F0, ret+12(FP)
 	RET
diff --git a/src/pkg/math/log10_386.s b/src/pkg/math/log10_386.s
index cc473b4..d4f9423 100644
--- a/src/pkg/math/log10_386.s
+++ b/src/pkg/math/log10_386.s
@@ -7,7 +7,7 @@
 	FLDLG2               // F0=log10(2)
 	FMOVD   x+0(FP), F0  // F0=x, F1=log10(2)
 	FYL2X                // F0=log10(x)=log2(x)*log10(2)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 
 // func Log2(x float64) float64
@@ -15,5 +15,5 @@
 	FLD1                 // F0=1
 	FMOVD   x+0(FP), F0  // F0=x, F1=1
 	FYL2X                // F0=log2(x)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/log1p_386.s b/src/pkg/math/log1p_386.s
index 30df88e..30dc803 100644
--- a/src/pkg/math/log1p_386.s
+++ b/src/pkg/math/log1p_386.s
@@ -14,12 +14,12 @@
 	JEQ     use_fyl2x    // jump if F0 >= F1
 	FMOVD   x+0(FP), F0  // F0=x, F1=log(2)
 	FYL2XP1              // F0=log(1+x)=log2(1+x)*log(2)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 use_fyl2x:
 	FLD1                 // F0=1, F2=log(2)
 	FADDD   x+0(FP), F0  // F0=1+x, F1=log(2)
 	FYL2X                // F0=log(1+x)=log2(1+x)*log(2)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 
diff --git a/src/pkg/math/log_386.s b/src/pkg/math/log_386.s
index 6cfbc76..7a6f2c0 100644
--- a/src/pkg/math/log_386.s
+++ b/src/pkg/math/log_386.s
@@ -7,5 +7,5 @@
 	FLDLN2               // F0=log(2)
 	FMOVD   x+0(FP), F0  // F0=x, F1=log(2)
 	FYL2X                // F0=log(x)=log2(x)*log(2)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/log_amd64.s b/src/pkg/math/log_amd64.s
index 75bc557..6ae5fbc 100644
--- a/src/pkg/math/log_amd64.s
+++ b/src/pkg/math/log_amd64.s
@@ -94,16 +94,16 @@
 	SUBSD   X2, X0 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k
 	MULSD   $Ln2Hi, X1 // x0= (hfsq-(s*(hfsq+R)+k*Ln2Lo))-f, x1= k*Ln2Hi
 	SUBSD   X0, X1 // x1= k*Ln2Hi-((hfsq-(s*(hfsq+R)+k*Ln2Lo))-f)
-  	MOVSD   X1, r+8(FP)
+  	MOVSD   X1, ret+8(FP)
 	RET
 isInfOrNaN:
-	MOVQ    BX, r+8(FP) // +Inf or NaN, return x
+	MOVQ    BX, ret+8(FP) // +Inf or NaN, return x
 	RET
 isNegative:
 	MOVQ    $NaN, AX
-	MOVQ    AX, r+8(FP) // return NaN
+	MOVQ    AX, ret+8(FP) // return NaN
 	RET
 isZero:
 	MOVQ    $NegInf, AX
-	MOVQ    AX, r+8(FP) // return -Inf
+	MOVQ    AX, ret+8(FP) // return -Inf
 	RET
diff --git a/src/pkg/math/mod_386.s b/src/pkg/math/mod_386.s
index 6b9c28d..bcb451b 100644
--- a/src/pkg/math/mod_386.s
+++ b/src/pkg/math/mod_386.s
@@ -11,5 +11,5 @@
 	ANDW    $0x0400, AX
 	JNE     -3(PC)       // jump if reduction incomplete
 	FMOVDP  F0, F1       // F0=x-q*y
-	FMOVDP  F0, r+16(FP)
+	FMOVDP  F0, ret+16(FP)
 	RET
diff --git a/src/pkg/math/remainder_386.s b/src/pkg/math/remainder_386.s
index 4cb9823..2238aba 100644
--- a/src/pkg/math/remainder_386.s
+++ b/src/pkg/math/remainder_386.s
@@ -11,5 +11,5 @@
 	ANDW    $0x0400, AX
 	JNE     -3(PC)       // jump if reduction incomplete
 	FMOVDP  F0, F1       // F0=x-q*y
-	FMOVDP  F0, r+16(FP)
+	FMOVDP  F0, ret+16(FP)
 	RET
diff --git a/src/pkg/math/sin_386.s b/src/pkg/math/sin_386.s
index 9d00bd9..b2a836e 100644
--- a/src/pkg/math/sin_386.s
+++ b/src/pkg/math/sin_386.s
@@ -9,7 +9,7 @@
 	FSTSW   AX           // AX=status word
 	ANDW    $0x0400, AX
 	JNE     3(PC)        // jump if x outside range
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 	FLDPI                // F0=Pi, F1=x
 	FADDD   F0, F0       // F0=2*Pi, F1=x
@@ -20,7 +20,7 @@
 	JNE     -3(PC)       // jump if reduction incomplete
 	FMOVDP  F0, F1       // F0=reduced_x
 	FCOS                 // F0=cos(reduced_x)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 	
 // func Sin(x float64) float64
@@ -30,7 +30,7 @@
 	FSTSW   AX           // AX=status word
 	ANDW    $0x0400, AX
 	JNE     3(PC)        // jump if x outside range
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 	FLDPI                // F0=Pi, F1=x
 	FADDD   F0, F0       // F0=2*Pi, F1=x
@@ -41,5 +41,5 @@
 	JNE     -3(PC)       // jump if reduction incomplete
 	FMOVDP  F0, F1       // F0=reduced_x
 	FSIN                 // F0=sin(reduced_x)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/sqrt_386.s b/src/pkg/math/sqrt_386.s
index d0a428d..824fa63 100644
--- a/src/pkg/math/sqrt_386.s
+++ b/src/pkg/math/sqrt_386.s
@@ -6,5 +6,5 @@
 TEXT ·Sqrt(SB),7,$0
 	FMOVD   x+0(FP),F0
 	FSQRT
-	FMOVDP  F0,r+8(FP)
+	FMOVDP  F0,ret+8(FP)
 	RET
diff --git a/src/pkg/math/sqrt_amd64.s b/src/pkg/math/sqrt_amd64.s
index f5b329e..553c4e0 100644
--- a/src/pkg/math/sqrt_amd64.s
+++ b/src/pkg/math/sqrt_amd64.s
@@ -5,5 +5,5 @@
 // func Sqrt(x float64) float64
 TEXT ·Sqrt(SB),7,$0
 	SQRTSD x+0(FP), X0
-	MOVSD X0, r+8(FP)
+	MOVSD X0, ret+8(FP)
 	RET
diff --git a/src/pkg/math/sqrt_arm.s b/src/pkg/math/sqrt_arm.s
index befbb8a..b965b48 100644
--- a/src/pkg/math/sqrt_arm.s
+++ b/src/pkg/math/sqrt_arm.s
@@ -6,5 +6,5 @@
 TEXT ·Sqrt(SB),7,$0
 	MOVD   x+0(FP),F0
 	SQRTD  F0,F0
-	MOVD  F0,r+8(FP)
+	MOVD  F0,ret+8(FP)
 	RET
diff --git a/src/pkg/math/tan_386.s b/src/pkg/math/tan_386.s
index ebb9e79..f3ad339 100644
--- a/src/pkg/math/tan_386.s
+++ b/src/pkg/math/tan_386.s
@@ -10,7 +10,7 @@
 	ANDW    $0x0400, AX
 	JNE     4(PC)        // jump if x outside range
 	FMOVDP  F0, F0       // F0=tan(x)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
 	FLDPI                // F0=Pi, F1=x
 	FADDD   F0, F0       // F0=2*Pi, F1=x
@@ -22,5 +22,5 @@
 	FMOVDP  F0, F1       // F0=reduced_x
 	FPTAN                // F0=1, F1=tan(reduced_x)
 	FMOVDP  F0, F0       // F0=tan(reduced_x)
-	FMOVDP  F0, r+8(FP)
+	FMOVDP  F0, ret+8(FP)
 	RET
diff --git a/src/pkg/os/signal/sig.s b/src/pkg/os/signal/sig.s
index 7d0c92b..df4855d 100644
--- a/src/pkg/os/signal/sig.s
+++ b/src/pkg/os/signal/sig.s
@@ -4,6 +4,8 @@
 
 // Assembly to get into package runtime without using exported symbols.
 
+// +build amd64 arm 386
+
 #ifdef GOARCH_arm
 #define JMP B
 #endif
diff --git a/src/pkg/reflect/asm_386.s b/src/pkg/reflect/asm_386.s
index 068ab64..bbd068d 100644
--- a/src/pkg/reflect/asm_386.s
+++ b/src/pkg/reflect/asm_386.s
@@ -7,7 +7,7 @@
 // for more details.
 TEXT ·makeFuncStub(SB),7,$8
 	MOVL	DX, 0(SP)
-	LEAL	arg+0(FP), CX
+	LEAL	argframe+0(FP), CX
 	MOVL	CX, 4(SP)
 	CALL	·callReflect(SB)
 	RET
@@ -17,7 +17,7 @@
 // for more details.
 TEXT ·methodValueCall(SB),7,$8
 	MOVL	DX, 0(SP)
-	LEAL	arg+0(FP), CX
+	LEAL	argframe+0(FP), CX
 	MOVL	CX, 4(SP)
 	CALL	·callMethod(SB)
 	RET
diff --git a/src/pkg/reflect/asm_amd64.s b/src/pkg/reflect/asm_amd64.s
index 06a593a..2e7fce5 100644
--- a/src/pkg/reflect/asm_amd64.s
+++ b/src/pkg/reflect/asm_amd64.s
@@ -7,7 +7,7 @@
 // for more details.
 TEXT ·makeFuncStub(SB),7,$16
 	MOVQ	DX, 0(SP)
-	LEAQ	arg+0(FP), CX
+	LEAQ	argframe+0(FP), CX
 	MOVQ	CX, 8(SP)
 	CALL	·callReflect(SB)
 	RET
@@ -17,7 +17,7 @@
 // for more details.
 TEXT ·methodValueCall(SB),7,$16
 	MOVQ	DX, 0(SP)
-	LEAQ	arg+0(FP), CX
+	LEAQ	argframe+0(FP), CX
 	MOVQ	CX, 8(SP)
 	CALL	·callMethod(SB)
 	RET
diff --git a/src/pkg/reflect/asm_arm.s b/src/pkg/reflect/asm_arm.s
index 4add1e3..fb1ddde 100644
--- a/src/pkg/reflect/asm_arm.s
+++ b/src/pkg/reflect/asm_arm.s
@@ -7,7 +7,7 @@
 // for more details.
 TEXT ·makeFuncStub(SB),7,$8
 	MOVW	R7, 4(R13)
-	MOVW	$arg+0(FP), R1
+	MOVW	$argframe+0(FP), R1
 	MOVW	R1, 8(R13)
 	BL	·callReflect(SB)
 	RET
@@ -17,7 +17,7 @@
 // for more details.
 TEXT ·methodValueCall(SB),7,$8
 	MOVW	R7, 4(R13)
-	MOVW	$arg+0(FP), R1
+	MOVW	$argframe+0(FP), R1
 	MOVW	R1, 8(R13)
 	BL	·callMethod(SB)
 	RET
diff --git a/src/pkg/runtime/asm_386.s b/src/pkg/runtime/asm_386.s
index e4b841c..6bcacf4 100644
--- a/src/pkg/runtime/asm_386.s
+++ b/src/pkg/runtime/asm_386.s
@@ -717,7 +717,7 @@
 	get_tls(CX)
 	MOVL	g(CX), BX
 	MOVL	g_stackguard(BX), DX
-	MOVL	DX, guard+4(FP)
+	MOVL	DX, limit+4(FP)
 	RET
 
 GLOBL runtime·tls0(SB), $32
diff --git a/src/pkg/runtime/asm_amd64.s b/src/pkg/runtime/asm_amd64.s
index 709bc48..f4cfa57 100644
--- a/src/pkg/runtime/asm_amd64.s
+++ b/src/pkg/runtime/asm_amd64.s
@@ -737,7 +737,7 @@
 	get_tls(CX)
 	MOVQ	g(CX), BX
 	MOVQ	g_stackguard(BX), DX
-	MOVQ	DX, guard+8(FP)
+	MOVQ	DX, limit+8(FP)
 	RET
 
 GLOBL runtime·tls0(SB), $64
diff --git a/src/pkg/sync/atomic/asm_386.s b/src/pkg/sync/atomic/asm_386.s
index 19d129b..8c02f10 100644
--- a/src/pkg/sync/atomic/asm_386.s
+++ b/src/pkg/sync/atomic/asm_386.s
@@ -31,10 +31,10 @@
 	TESTL	$7, BP
 	JZ	2(PC)
 	MOVL	0, AX // crash with nil ptr deref
-	MOVL	old+4(FP), AX
-	MOVL	old+8(FP), DX
-	MOVL	new+12(FP), BX
-	MOVL	new+16(FP), CX
+	MOVL	old_lo+4(FP), AX
+	MOVL	old_hi+8(FP), DX
+	MOVL	new_lo+12(FP), BX
+	MOVL	new_hi+16(FP), CX
 	// CMPXCHG8B was introduced on the Pentium.
 	LOCK
 	CMPXCHG8B	0(BP)
@@ -68,8 +68,8 @@
 	JZ	2(PC)
 	MOVL	0, AX // crash with nil ptr deref
 	// DI:SI = delta
-	MOVL	delta+4(FP), SI
-	MOVL	delta+8(FP), DI
+	MOVL	delta_lo+4(FP), SI
+	MOVL	delta_hi+8(FP), DI
 	// DX:AX = *addr
 	MOVL	0(BP), AX
 	MOVL	4(BP), DX
@@ -93,8 +93,8 @@
 
 	// success
 	// return CX:BX
-	MOVL	BX, new+12(FP)
-	MOVL	CX, new+16(FP)
+	MOVL	BX, new_lo+12(FP)
+	MOVL	CX, new_hi+16(FP)
 	RET
 
 TEXT ·LoadInt32(SB),7,$0