Skip to content

_mm_pause should not require the SSE2 target feature #705

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

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

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant