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

_mm_pause should not require the SSE2 target feature #705

Closed
gnzlbg opened this issue Mar 17, 2019 · 0 comments
Closed

_mm_pause should not require the SSE2 target feature #705

gnzlbg opened this issue Mar 17, 2019 · 0 comments

Comments

@gnzlbg
Copy link
Contributor

gnzlbg commented Mar 17, 2019

The spec is very likely incorrect (we should report this upstream): https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_pause&expand=4108

(the SSE2 CPUID bit is not required)

Clang does not require it: https://github.com/llvm-mirror/clang/blob/be9413c753bdaff9cdb84b868f682abf6548ca60/include/clang/Basic/BuiltinsX86.def#L346

And the docs of pause state that it is backwards compatible with CPUs without the instructions, corresponding to a nop in those:

This instruction was introduced in the Pentium 4 processors, but is backward compatible with all IA-32 processors. In earlier IA-32 processors, the PAUSE instruction operates like a NOP instruction.

cc @Fanael

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

No branches or pull requests

1 participant