diff options
author | Nate Begeman <natebegeman@mac.com> | 2010-12-10 00:26:57 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2010-12-10 00:26:57 +0000 |
commit | 2ea8ee7c76b8d8754d81072e691caf25d23289e3 (patch) | |
tree | b3d1820d852b71777b8db8f87672b044555d6e5c /lib/Target/X86/X86Subtarget.h | |
parent | 1c952b9cc98e84b28f68f0f6cf11197263f89863 (diff) | |
download | external_llvm-2ea8ee7c76b8d8754d81072e691caf25d23289e3.tar.gz external_llvm-2ea8ee7c76b8d8754d81072e691caf25d23289e3.tar.bz2 external_llvm-2ea8ee7c76b8d8754d81072e691caf25d23289e3.zip |
Formalize the notion that AVX and SSE are non-overlapping extensions from the compiler's point of view. Per email discussion, we either want to always use VEX-prefixed instructions or never use them, and are taking "HasAVX" to mean "Always use VEX". Passing -mattr=-avx,+sse42 should serve to restore legacy SSE support when desirable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121439 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Subtarget.h')
-rw-r--r-- | lib/Target/X86/X86Subtarget.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/X86Subtarget.h b/lib/Target/X86/X86Subtarget.h index 58cf3e0c6d..95c438d678 100644 --- a/lib/Target/X86/X86Subtarget.h +++ b/lib/Target/X86/X86Subtarget.h @@ -155,6 +155,8 @@ public: bool has3DNowA() const { return X863DNowLevel >= ThreeDNowA; } bool hasPOPCNT() const { return HasPOPCNT; } bool hasAVX() const { return HasAVX; } + bool hasXMM() const { return hasSSE1() || hasAVX(); } + bool hasXMMInt() const { return hasSSE2() || hasAVX(); } bool hasAES() const { return HasAES; } bool hasCLMUL() const { return HasCLMUL; } bool hasFMA3() const { return HasFMA3; } |