diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-08-26 21:21:21 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-08-26 21:21:21 +0000 |
commit | 5e5704277f1c43c3aa6c44c7c52e1daf71a9c16f (patch) | |
tree | 169420c75d059832ed9a62b71554aa5a224f0f9c /llvm/lib/Target/X86/X86Subtarget.h | |
parent | 97b6ac54077e3bdc7a30ce7611a8eb2a9c388efd (diff) | |
download | bcm5719-llvm-5e5704277f1c43c3aa6c44c7c52e1daf71a9c16f.tar.gz bcm5719-llvm-5e5704277f1c43c3aa6c44c7c52e1daf71a9c16f.zip |
Add support for generating CMPXCHG16B on x86-64 for the cmpxchg IR instruction.
llvm-svn: 138660
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.h')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h index d5c433f9aa9..c3a6d0f711d 100644 --- a/llvm/lib/Target/X86/X86Subtarget.h +++ b/llvm/lib/Target/X86/X86Subtarget.h @@ -100,6 +100,10 @@ protected: /// operands. This may require setting a feature bit in the processor. bool HasVectorUAMem; + /// HasCmpxchg16b - True if this processor has the CMPXCHG16B instruction; + /// this is true for most x86-64 chips, but not the first AMD chips. + bool HasCmpxchg16b; + /// stackAlignment - The minimum alignment known to hold of the stack frame on /// entry to the function and which must be maintained by every function. unsigned stackAlignment; @@ -168,6 +172,7 @@ public: bool isBTMemSlow() const { return IsBTMemSlow; } bool isUnalignedMemAccessFast() const { return IsUAMemFast; } bool hasVectorUAMem() const { return HasVectorUAMem; } + bool hasCmpxchg16b() const { return HasCmpxchg16b; } const Triple &getTargetTriple() const { return TargetTriple; } |