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

Save BP register to XMM #349

Merged
merged 1 commit into from
Apr 7, 2021
Merged

Save BP register to XMM #349

merged 1 commit into from
Apr 7, 2021

Conversation

klauspost
Copy link
Owner

@klauspost klauspost commented Apr 6, 2021

Keep BP in an XMM register while running.

See discussion on Slack and golang-dev

https://gophers.slack.com/archives/C6WDZJ70S/p1598210629000900
https://groups.google.com/g/golang-dev/c/aLn9t8tKg2o/m/Kw-N7lUuBAAJ

Summary:

  • BP should be callee-save (poorly documented, even some standard library assembly didn't handle this correctly until recently)

  • BP "will be saved automatically if there is a nonzero frame size" https://golang.org/cl/248260

  • Use the "nonzero frame size" hack in the case where BP has been used

Keep BP in an XMM register while running.
@klauspost klauspost merged commit c223fea into master Apr 7, 2021
@klauspost klauspost deleted the save-bp-register branch April 7, 2021 07:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant