summaryrefslogtreecommitdiff
path: root/test/bugs
diff options
context:
space:
mode:
authorR?my Oudompheng <oudomphe@phare.normalesup.org>2012-09-01 16:40:54 +0200
committerR?my Oudompheng <oudomphe@phare.normalesup.org>2012-09-01 16:40:54 +0200
commita8b05e1e0e564bf00eb49d77735bc154932f6700 (patch)
tree682990785fa77f56b6d02a92d43801e99293e4dc /test/bugs
parent498b07d6860c9d91d106daeae9bcb82012cddba6 (diff)
downloadgo-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.go21
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)
-}