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

{v,}ptest can be made more efficient with SVE #4213

Open
Sonicadvance1 opened this issue Dec 13, 2024 · 0 comments
Open

{v,}ptest can be made more efficient with SVE #4213

Sonicadvance1 opened this issue Dec 13, 2024 · 0 comments
Labels
JIT Performance Things that will make FEX faster

Comments

@Sonicadvance1
Copy link
Member

{v,}ptest is a bit of a weird family of instructions because it sets ZF and CF depending on if the full mask, or negated mask is all zeroes respectively. This is a bit of a faff with ASIMD since it doesn't match semantically, and AVX just adds even more instructions to it.

With SVE they added the new CMP<cc> instructions which set both a predicate register and the NZCV flags. This can reduce the number of instructions that {v,}ptest requires by quite a bit.

Likely worth implementing.

@Sonicadvance1 Sonicadvance1 added Performance Things that will make FEX faster JIT labels Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JIT Performance Things that will make FEX faster
Projects
None yet
Development

No branches or pull requests

1 participant