go/src/cmd
Austin Clements 6e86003651 [dev.power64] 9g: fix under-zeroing in clearfat
All three cases of clearfat were wrong on power64x.

The cases that handle 1032 bytes and up and 32 bytes and up
both use MOVDU (one directly generated in a loop and the other
via duffzero), which leaves the pointer register pointing at
the *last written* address.  The generated code was not
accounting for this, so the byte fill loop was re-zeroing the
last zeroed dword, rather than the bytes following the last
zeroed dword.  Fix this by simply adding an additional 8 byte
offset to the byte zeroing loop.

The case that handled under 32 bytes was also wrong.  It
didn't update the pointer register at all, so the byte zeroing
loop was simply re-zeroing the beginning of region.  Again,
the fix is to add an offset to the byte zeroing loop to
account for this.

LGTM=dave, bradfitz
R=rsc, dave, bradfitz
CC=golang-codereviews
https://golang.org/cl/168870043
2014-10-31 11:08:27 -04:00
..
5a [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped 2014-10-28 21:50:16 -04:00
5c cmd/5c, cmd/6c, cmd/8c: make failure to optimize fatal 2014-10-07 12:07:40 -04:00
5g cmd/5g, cmd/8g: make 'out of registers' a fatal error 2014-09-16 13:16:43 -04:00
5l cmd/5l, cmd/6l, cmd/8l: fix nacl binary corruption bug 2014-08-27 22:53:28 -04:00
6a [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped 2014-10-28 21:50:16 -04:00
6c cmd/5c, cmd/6c, cmd/8c: make failure to optimize fatal 2014-10-07 12:07:40 -04:00
6g cmd/gc: simplify compiled code for explicit zeroing 2014-10-15 19:33:15 -04:00
6l cmd/5l, cmd/6l, cmd/8l: fix nacl binary corruption bug 2014-08-27 22:53:28 -04:00
8a [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped 2014-10-28 21:50:16 -04:00
8c cmd/5c, cmd/6c, cmd/8c: make failure to optimize fatal 2014-10-07 12:07:40 -04:00
8g cmd/gc: simplify compiled code for explicit zeroing 2014-10-15 19:33:15 -04:00
8l cmd/8l: accept R_386_GOT32 in push instruction 2014-10-06 14:17:48 -04:00
9a [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped 2014-10-28 21:50:16 -04:00
9c [dev.power64] all: merge default into dev.power64 2014-10-22 15:51:54 -04:00
9g [dev.power64] 9g: fix under-zeroing in clearfat 2014-10-31 11:08:27 -04:00
9l [dev.power64] build: merge default into dev.power64 2014-10-22 11:21:16 -04:00
addr2line cmd/addr2line, cmd/nm: factor object reading into cmd/internal/objfile 2014-08-07 12:33:06 -04:00
api runtime: remove untyped allocation of ParFor 2014-09-16 11:03:11 -04:00
cc [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped 2014-10-28 21:50:16 -04:00
cgo [dev.power64] all: merge default into dev.power64 2014-10-22 15:51:54 -04:00
dist [dev.power64] all: merge default into dev.power64 2014-10-22 15:51:54 -04:00
fix build: adjustments for move from src/pkg to src 2014-09-08 00:06:45 -04:00
gc [dev.power64] all: merge default (dd5014ed9b01) into dev.power64 2014-10-29 11:45:01 -04:00
go cmd/go: add get -f flag 2014-10-28 11:14:25 -04:00
gofmt go/format, cmd/gofmt: added missing comments, minor internal cleanup 2014-09-30 12:26:38 -07:00
internal cmd/objdump: move armasm, x86asm into internal packages 2014-09-30 12:28:24 -04:00
ld [dev.power64] all: merge default into dev.power64 2014-10-22 15:51:54 -04:00
link cmd/{ld,link,objdump}, runtime, debug/gosym: move linker-defined symbols into runtime package 2014-08-27 20:15:05 -04:00
nm build: adjustments for move from src/pkg to src 2014-09-08 00:06:45 -04:00
objdump cmd/objdump: skip extld test on plan9 2014-10-29 00:03:17 -04:00
pack cmd/pack: fix c command for existing file 2014-09-23 18:24:35 -07:00
pprof cmd/pprof: add Go implementation 2014-09-30 13:41:54 -04:00
yacc cmd/yacc: fix handling of tokens that don't start with letters 2014-09-29 13:32:14 -07:00