[X86] Enable isel to use the PAUSE instruction even when SSE2 is disabled. Clang...
authorCraig Topper <craig.topper@intel.com>
Sat, 5 Aug 2017 23:35:54 +0000 (23:35 +0000)
committerCraig Topper <craig.topper@intel.com>
Sat, 5 Aug 2017 23:35:54 +0000 (23:35 +0000)
commit9d8e9ff6206347ae56f242daf17d08160a184b2e
tree9846a0807cce531e69e1bcf3528b37f0b61e068c
parent6bfa2aee78785d340ac185a30c666d22130fe018
[X86] Enable isel to use the PAUSE instruction even when SSE2 is disabled. Clang part

Summary:
On older processors this instruction encoding is treated as a NOP.

MSVC doesn't disable intrinsics based on features the way clang/gcc does. Because the PAUSE instruction encoding doesn't crash older processors, some software out there uses these intrinsics without checking for SSE2.

This change also seems to also be consistent with gcc behavior.

Fixes PR34079

Reviewers: RKSimon, zvi

Reviewed By: RKSimon

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D36362

llvm-svn: 310191
clang/include/clang/Basic/BuiltinsX86.def
clang/test/CodeGen/pause.c [new file with mode: 0644]