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
PPC vector register break #16995
Comments
Just to clarify, the flavor in question is
|
@martin-schwenke Could you please help? |
Oh great! Hopefully the last of the PPC platforms broken with that handful of commits... 😃 I've pushed potential fix to https://github.com/martin-schwenke/openssl/tree/fix-osx. I used the following script to test that it only changes output on OS X platforms:
Run with @evanmiller Can you please verify that my branch fixes the build on I'm no longer at IBM, so:
|
The fix looks good to me - I did not verify it though. |
I do not know PPC assembly, but the comment over the original function (line 153) makes it sound like the function will change the prefix from Building now on a PPC32 machine. |
The comment is a little confusing but, at the time, I couldn't figure out a way to keep it both useful and short. It is really referring to the 2 different ways that registers are numbered in the ISA. I blame the confusion on whoever decided the vector registers should be numbered in 2 different ways. |
@martin-schwenke Thanks for the clarification. The generated assembly now builds successfully with the patch. Will report back when the complete build and test suite are finished. |
Builds and test suite passes locally 👍 |
Our CIs do a |
vsr2vr1() fails on OS X because the main loop doesn't strip the non-numeric register prefixes for OS X. Strip any non-numeric prefix (likely just "v") from registers before doing numeric calculation, then put the prefix back on the result. Fixes: openssl#16995 Signed-off-by: Martin Schwenke <martin@meltin.net>
vsr2vr1() fails on OS X because the main loop doesn't strip the non-numeric register prefixes for OS X. Strip any non-numeric prefix (likely just "v") from registers before doing numeric calculation, then put the prefix back on the result. Fixes: #16995 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from #17026) (cherry picked from commit e67edf6)
vsr2vr1() fails on OS X because the main loop doesn't strip the non-numeric register prefixes for OS X. Strip any non-numeric prefix (likely just "v") from registers before doing numeric calculation, then put the prefix back on the result. Fixes: openssl#16995 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl#17026)
Reported by @evanmiller as a comment on the commit:
The text was updated successfully, but these errors were encountered: