Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/internal/obj/arm64: assembler parses ARM64 vector register arrangement incorrectly. #24249

Closed
zhangfannie opened this issue Mar 5, 2018 · 2 comments

Comments

@zhangfannie
Copy link
Contributor

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version devel +80bfb75 Sun Mar 4 01:05:02 2018 +0000 linux/arm64

Does this issue reproduce with the latest release?

yes

What operating system and processor architecture are you using (go env)?

GOARCH="arm64"
GOBIN=""
GOCACHE="/home/fanzha02/.cache/go-build"
GOEXE=""
GOHOSTARCH="arm64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/fanzha02/go"
GORACE=""
GOROOT="/mnt/share/homes/fanzha02/optimize/micro_benchmark/golang"
GOTMPDIR=""
GOTOOLDIR="/mnt/share/homes/fanzha02/optimize/micro_benchmark/golang/pkg/tool/linux_arm64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build873870783=/tmp/go-build -gno-record-gcc-switches"

What did you do?

1, add a case " VLD1 (R30), [V15.S2,V16.S2] // cfab400c" in the test file arm64.s
2, go test -run "ARM64EndToEnd"

If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

What did you expect to see?

the test is ok.

What did you see instead?

the test is failed and assembler reports the error as below.
--- FAIL: TestARM64EndToEnd (0.01s)
endtoend_test.go:156: mismatched output:
have 00002 (testdata/arm64.s:21) VLD1 (R30), [V15.H4,V16.H4]
want 00002 (testdata/arm64.s:21) VLD1 (R30), [V15.S2,V16.S2]
endtoend_test.go:228: 00000 (testdata/arm64.s:21) VLD1 (R30), [V15.H4,V16.H4]: have encoding cfa7400c, want cfab400c

@gopherbot
Copy link

Change https://golang.org/cl/98555 mentions this issue: cmd/internal/obj/arm64: fix Golang assembler parses vector register arrangemnet bug

@gopherbot
Copy link

Change https://golang.org/cl/100115 mentions this issue: cmd/asm: fix ARM64 vector register arrangement encoding bug

@golang golang locked and limited conversation to collaborators Mar 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants