aboutsummaryrefslogtreecommitdiff
path: root/test/codegen
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2021-10-19 09:09:55 +0000
committerDaniel Martí <mvdan@mvdan.cc>2021-10-19 09:49:38 +0000
commitb0351bfd7d5f0d367c27aa07789b2e6317442ece (patch)
tree5d55989c50ac5d3d4d40238d5c50afe3575d368c /test/codegen
parent1e49210ccd8fa40273d0d32e5ae898a4bee69a6e (diff)
downloadgo-b0351bfd7d5f0d367c27aa07789b2e6317442ece.tar.xz
Revert "cmd/compile: use MOVBE instruction for GOAMD64>=v3"
This reverts CL 354670. Reason for revert: broke make.bash with GOAMD64=v3. Fixes #49061. Change-Id: I7f2ed99b7c10100c4e0c1462ea91c4c9d8c609b2 Reviewed-on: https://go-review.googlesource.com/c/go/+/356790 Trust: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Koichi Shiraishi <zchee.io@gmail.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'test/codegen')
-rw-r--r--test/codegen/memcombine.go36
1 files changed, 12 insertions, 24 deletions
diff --git a/test/codegen/memcombine.go b/test/codegen/memcombine.go
index 97e1d4bdfb..2a0c534df0 100644
--- a/test/codegen/memcombine.go
+++ b/test/codegen/memcombine.go
@@ -70,8 +70,7 @@ func load_le16_idx(b []byte, idx int) {
}
func load_be64(b []byte) {
- // amd64/v1,amd64/v2:`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
- // amd64/v3:`MOVBEQ`
+ // amd64:`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
// s390x:`MOVD\s\(.*\),`
// arm64:`REV`,`MOVD\s\(R[0-9]+\),`,-`MOV[BHW]`,-`REVW`,-`REV16W`
// ppc64le:`MOVDBR`,-`MOV[BHW]Z`
@@ -79,8 +78,7 @@ func load_be64(b []byte) {
}
func load_be64_idx(b []byte, idx int) {
- // amd64/v1,amd64/v2:`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
- // amd64/v3: `MOVBEQ`
+ // amd64:`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
// s390x:`MOVD\s\(.*\)\(.*\*1\),`
// arm64:`REV`,`MOVD\s\(R[0-9]+\)\(R[0-9]+\),`,-`MOV[WHB]`,-`REVW`,-`REV16W`
// ppc64le:`MOVDBR`,-`MOV[BHW]Z`
@@ -88,8 +86,7 @@ func load_be64_idx(b []byte, idx int) {
}
func load_be32(b []byte) {
- // amd64/v1,amd64/v2:`BSWAPL`,-`MOV[BW]`,-`OR`
- // amd64/v3: `MOVBEL`
+ // amd64:`BSWAPL`,-`MOV[BW]`,-`OR`
// s390x:`MOVWZ\s\(.*\),`
// arm64:`REVW`,`MOVWU\s\(R[0-9]+\),`,-`MOV[BH]`,-`REV16W`
// ppc64le:`MOVWBR`,-`MOV[BH]Z`
@@ -97,8 +94,7 @@ func load_be32(b []byte) {
}
func load_be32_idx(b []byte, idx int) {
- // amd64/v1,amd64/v2:`BSWAPL`,-`MOV[BW]`,-`OR`
- // amd64/v3: `MOVBEL`
+ // amd64:`BSWAPL`,-`MOV[BW]`,-`OR`
// s390x:`MOVWZ\s\(.*\)\(.*\*1\),`
// arm64:`REVW`,`MOVWU\s\(R[0-9]+\)\(R[0-9]+\),`,-`MOV[HB]`,-`REV16W`
// ppc64le:`MOVWBR`,-`MOV[BH]Z`
@@ -183,8 +179,7 @@ func load_be_byte4_uint32(s []byte) uint32 {
func load_be_byte4_uint32_inv(s []byte) uint32 {
// arm64:`MOVWU\t\(R[0-9]+\)`,`REVW`,-`ORR`,-`REV16W`,-`MOV[BH]`
- // amd64/v1,amd64/v2:`MOVL\s\([A-Z]+\)`,`BSWAPL`,-`MOV[BW]`,-`OR`
- // amd64/v3: `MOVBEL`
+ // amd64:`MOVL\s\([A-Z]+\)`,`BSWAPL`,-`MOV[BW]`,-`OR`
return uint32(s[3]) | uint32(s[2])<<8 | uint32(s[1])<<16 | uint32(s[0])<<24
}
@@ -196,8 +191,7 @@ func load_be_byte8_uint64(s []byte) uint64 {
func load_be_byte8_uint64_inv(s []byte) uint64 {
// arm64:`MOVD\t\(R[0-9]+\)`,`REV`,-`ORR`,-`REVW`,-`REV16W`,-`MOV[BHW]`
- // amd64/v1,amd64/v2:`MOVQ\s\([A-Z]+\),\s[A-Z]+`,`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
- // amd64/v3: `MOVBEQ`
+ // amd64:`MOVQ\s\([A-Z]+\),\s[A-Z]+`,`BSWAPQ`,-`MOV[BWL]\t[^$]`,-`OR`
// ppc64le:`MOVDBR\t\(R[0-9]+\)`,-`MOV[BHW]Z`
return uint64(s[7]) | uint64(s[6])<<8 | uint64(s[5])<<16 | uint64(s[4])<<24 | uint64(s[3])<<32 | uint64(s[2])<<40 | uint64(s[1])<<48 | uint64(s[0])<<56
}
@@ -415,8 +409,7 @@ func store_le16_idx(b []byte, idx int) {
}
func store_be64(b []byte) {
- // amd64/v1,amd64/v2:`BSWAPQ`,-`SHR.`
- // amd64/v3: `MOVBEQ`
+ // amd64:`BSWAPQ`,-`SHR.`
// arm64:`MOVD`,`REV`,-`MOV[WBH]`,-`REVW`,-`REV16W`
// ppc64le:`MOVDBR`
// s390x:`MOVD\s.*\(.*\)$`,-`SRW\s`,-`SRD\s`
@@ -424,8 +417,7 @@ func store_be64(b []byte) {
}
func store_be64_idx(b []byte, idx int) {
- // amd64/v1,amd64/v2:`BSWAPQ`,-`SHR.`
- // amd64/v3:`MOVBEQ`
+ // amd64:`BSWAPQ`,-`SHR.`
// arm64:`REV`,`MOVD\sR[0-9]+,\s\(R[0-9]+\)\(R[0-9]+\)`,-`MOV[BHW]`,-`REV16W`,-`REVW`
// ppc64le:`MOVDBR`
// s390x:`MOVD\s.*\(.*\)\(.*\*1\)$`,-`SRW\s`,-`SRD\s`
@@ -433,8 +425,7 @@ func store_be64_idx(b []byte, idx int) {
}
func store_be32(b []byte) {
- // amd64/v1,amd64/v2:`BSWAPL`,-`SHR.`
- // amd64/v3:`MOVBEL`
+ // amd64:`BSWAPL`,-`SHR.`
// arm64:`MOVW`,`REVW`,-`MOV[BH]`,-`REV16W`
// ppc64le:`MOVWBR`
// s390x:`MOVW\s.*\(.*\)$`,-`SRW\s`,-`SRD\s`
@@ -454,8 +445,7 @@ func store_be32_load(b, x *[8]byte) {
}
func store_be32_idx(b []byte, idx int) {
- // amd64/v1,amd64/v2:`BSWAPL`,-`SHR.`
- // amd64/v3:`MOVBEL`
+ // amd64:`BSWAPL`,-`SHR.`
// arm64:`REVW`,`MOVW\sR[0-9]+,\s\(R[0-9]+\)\(R[0-9]+\)`,-`MOV[BH]`,-`REV16W`
// ppc64le:`MOVWBR`
// s390x:`MOVW\s.*\(.*\)\(.*\*1\)$`,-`SRW\s`,-`SRD\s`
@@ -518,16 +508,14 @@ func store_be_byte_2(b []byte, val uint16) {
func store_be_byte_4(b []byte, val uint32) {
_ = b[4]
// arm64:`REVW`,`MOVW\sR[0-9]+,\s1\(R[0-9]+\)`,-`MOVB`,-`MOVH`,-`REV16W`
- // amd64/v1,amd64/v2:`MOVL\s[A-Z]+,\s1\([A-Z]+\)`,-`MOVB`,-`MOVW`
- // amd64/v3:`MOVBEL\s[A-Z]+,\s1\([A-Z]+\)`
+ // amd64:`MOVL\s[A-Z]+,\s1\([A-Z]+\)`,-`MOVB`,-`MOVW`
b[1], b[2], b[3], b[4] = byte(val>>24), byte(val>>16), byte(val>>8), byte(val)
}
func store_be_byte_8(b []byte, val uint64) {
_ = b[8]
// arm64:`REV`,`MOVD\sR[0-9]+,\s1\(R[0-9]+\)`,-`MOVB`,-`MOVH`,-`MOVW`,-`REV16W`,-`REVW`
- // amd64/v1,amd64/v2:`MOVQ\s[A-Z]+,\s1\([A-Z]+\)`,-`MOVB`,-`MOVW`,-`MOVL`
- // amd64/v3:`MOVBEQ\s[A-Z]+,\s1\([A-Z]+\)`, -`MOVBEL`
+ // amd64:`MOVQ\s[A-Z]+,\s1\([A-Z]+\)`,-`MOVB`,-`MOVW`,-`MOVL`
b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8] = byte(val>>56), byte(val>>48), byte(val>>40), byte(val>>32), byte(val>>24), byte(val>>16), byte(val>>8), byte(val)
}