JUCE Implementation:
/** Checks whether Intel SSE3 instructions are available. */
static bool hasSSE3() noexcept { return getCPUFlags().hasSSE3; }
struct CPUFlags
{
CPUFlags();
int numCpus;
bool hasMMX : 1;
bool hasSSE : 1;
bool hasSSE2 : 1;
bool hasSSE3 : 1;
bool has3DNow : 1;
};
Windows:
juce_win32_SystemsStats.cpp:
SystemStats::CPUFlags::CPUFlags()
{
//[...]
#ifdef PF_SSE3_INSTRUCTIONS_AVAILABLE
hasSSE3 = IsProcessorFeaturePresent (PF_SSE3_INSTRUCTIONS_AVAILABLE) != 0; //Min OS: Win Vista
#else
hasSSE3 = false;
#endif
Linux (guessed):
juce_linux_SystemsStats.cpp:
SystemStats::CPUFlags::CPUFlags()
{
//[...]
hasSSE3 = flags.contains ("sse3");