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 | 8b08f5232bc027a8e9f669b6ea9fab0270357211 (patch) | |
tree | 9cab7364995797453a51f186f14063ed4624790d /llvm/lib/Target/X86/X86Subtarget.h | |
parent | 2d5289d621c29073b1bf09c1d8cfcb4c0dc811a9 (diff) | |
download | bcm5719-llvm-8b08f5232bc027a8e9f669b6ea9fab0270357211.tar.gz bcm5719-llvm-8b08f5232bc027a8e9f669b6ea9fab0270357211.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.
llvm-svn: 121439
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.h')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h index 58cf3e0c6d2..95c438d678a 100644 --- a/llvm/lib/Target/X86/X86Subtarget.h +++ b/llvm/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; } |