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/ppc64: T/S bit is being flipped when using extended mnemonics in VSX instructions #30112

Open
ceseo opened this Issue Feb 6, 2019 · 3 comments

Comments

Projects
None yet
4 participants
@ceseo
Copy link
Contributor

ceseo commented Feb 6, 2019

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

go1.12

Does this issue reproduce with the latest release?

Yes.

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

go env Output
linux/ppc64le
linux/ppc64

What did you do?

CL160429 uncovered a bug in the assembler, where bit 31 of XX1-form instructions is flipped when using extended mnemonics (FP/VMX registers as arguments, instead of VSX).

What did you expect to see?

F0-F31 must map into VS0-VS13 and V0-V31 must map into VS32-VS63.

What did you see instead?

The problem makes FP register arguments become VMX registers (or, in VSX terms, VS0-VS31 into VS32-VS63). This doesn't cause an illegal instruction, but may cause register clobbering.

@ceseo

This comment has been minimized.

Copy link
Contributor Author

ceseo commented Feb 6, 2019

I have a fix and will submit as soon as the tree reopens.

@gopherbot

This comment has been minimized.

Copy link

gopherbot commented Feb 7, 2019

Change https://golang.org/cl/157437 mentions this issue: maintner: make GitHub issue events consistent with API values

@Skarlso

This comment has been minimized.

Copy link
Contributor

Skarlso commented Feb 7, 2019

Ups, sorry, tagged the wrong issue number. Move along...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment