Skip to content
This repository has been archived by the owner on May 21, 2024. It is now read-only.

Saving/restoring XMM / YMM register state in inline assembly #4

Open
pgoodman opened this issue Feb 2, 2020 · 2 comments
Open

Saving/restoring XMM / YMM register state in inline assembly #4

pgoodman opened this issue Feb 2, 2020 · 2 comments

Comments

@pgoodman
Copy link
Contributor

pgoodman commented Feb 2, 2020

I don't recall if we're actually saving/restoring enough. I think we're only saving xmm0 through xmm7. I'd need to think more about whether more is needed. I don't believe that we rewrite things like raw uses of xmm8 (in avx2) to be in that range, for instance.

@pgoodman pgoodman added the bug label Feb 2, 2020
@pgoodman
Copy link
Contributor Author

pgoodman commented Feb 2, 2020

A better approach to saving/restoring state would be: instead of saving/restoring all registers, emit additional instructions for saving/restoring the used registers.

@pgoodman
Copy link
Contributor Author

@awesie Feel free to tackle this :-) If you're looking for an idea on how to do it, it would be similar-ish to how we "rewrite" uses of esp/rsp to some other register.

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

1 participant