mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile/internal/ssa: add tests for BSWAP on stores on AMD64
Commit10f75748(CL 32222) taught AMD64 backend to rewrite series of byte loads or stores with corresponding shifts into a single long or quad load or store + appropriate BSWAP. However it did not added test for stores - only loads were tested. Fix it. NOTE Tests for indexed stores are not added because10f75748did not add support for indexed stores - only indexed loads were handled then. Change-Id: I48c867ebe7622ac8e691d43741feed1d40cca0d7 Reviewed-on: https://go-review.googlesource.com/34634 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
d296c3235d
commit
c44da14440
1 changed files with 16 additions and 0 deletions
|
|
@ -175,6 +175,14 @@ func f(b []byte, i int) uint64 {
|
|||
},
|
||||
{"amd64", "linux", `
|
||||
import "encoding/binary"
|
||||
func f(b []byte, v uint64) {
|
||||
binary.BigEndian.PutUint64(b, v)
|
||||
}
|
||||
`,
|
||||
[]string{"\tBSWAPQ\t"},
|
||||
},
|
||||
{"amd64", "linux", `
|
||||
import "encoding/binary"
|
||||
func f(b []byte) uint32 {
|
||||
return binary.BigEndian.Uint32(b)
|
||||
}
|
||||
|
|
@ -186,6 +194,14 @@ import "encoding/binary"
|
|||
func f(b []byte, i int) uint32 {
|
||||
return binary.BigEndian.Uint32(b[i:])
|
||||
}
|
||||
`,
|
||||
[]string{"\tBSWAPL\t"},
|
||||
},
|
||||
{"amd64", "linux", `
|
||||
import "encoding/binary"
|
||||
func f(b []byte, v uint32) {
|
||||
binary.BigEndian.PutUint32(b, v)
|
||||
}
|
||||
`,
|
||||
[]string{"\tBSWAPL\t"},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue