diff options
author | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2012-09-01 16:40:54 +0200 |
---|---|---|
committer | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2012-09-01 16:40:54 +0200 |
commit | a8b05e1e0e564bf00eb49d77735bc154932f6700 (patch) | |
tree | 682990785fa77f56b6d02a92d43801e99293e4dc /test/bugs | |
parent | 498b07d6860c9d91d106daeae9bcb82012cddba6 (diff) | |
download | go-a8b05e1e0e564bf00eb49d77735bc154932f6700.tar.gz |
cmd/6g, cmd/8g: eliminate short integer arithmetic when possible.
Fixes issue 3909.
Fixes issue 3910.
R=rsc, nigeltao
CC=golang-dev
http://codereview.appspot.com/6442114
Diffstat (limited to 'test/bugs')
-rw-r--r-- | test/bugs/bug440.go | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/test/bugs/bug440.go b/test/bugs/bug440.go deleted file mode 100644 index 816a18c58..000000000 --- a/test/bugs/bug440.go +++ /dev/null @@ -1,21 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out -// # switch above to 'run' when bug gets fixed. -// # right now it only breaks on 8g - -// Test for 8g register move bug. The optimizer gets confused -// about 16- vs 32-bit moves during splitContractIndex. - -package main - -func main() { - const c = 0x12345678 - index, n, offset := splitContractIndex(c) - if index != int((c&0xffff)>>5) || n != int(c & (1<<5-1)) || offset != (c>>16)&(1<<14-1) { - println("BUG", index, n, offset) - } -} - -func splitContractIndex(ce uint32) (index, n, offset int) { - h := uint16(ce) - return int(h >> 5), int(h & (1<<5 - 1)), int(ce>>16) & (1<<14 - 1) -} |