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

Jit_FloatingPoint: fselx - Prefer BLENDVPD over VBLENDVPD #13211

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Sintendo
Copy link
Member

@Sintendo Sintendo commented Dec 7, 2024

Prefer BLENDVPD over VBLENDVPD if the latter doesn't save any instructions.

VBLENDVPD allows separate source and destination registers, which can eliminate a MOVAPD/MOVSD. However, on Intel since Skylake, VBLENDVPD takes additional uops to execute compared to BLENDVPD (according to https://uops.info). On AMD and older Intel microarchitectures there is no difference.

Prefer BLENDVPD over VBLENDVPD if the latter doesn't save any
instructions.

VBLENDVPD allows separate source and destination registers, which can
eliminate a MOVAPD/MOVSD. However, on Intel since Skylake, VBLENDVPD
takes additional uops to execute compared to BLENDVPD (according to
https://uops.info). On AMD and older Intel microarchitectures there is no
difference.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants