Prüfung auf SSE3-Unterstützung in C
Ihr bereitgestellter Codeausschnitt verwendet die __cpuid-Anweisung, um festzustellen, ob die CPU den SSE3-Befehlssatz unterstützt. Bei der Verwendung von IsProcessorFeaturePresent() unter Windows XP sind jedoch Einschränkungen aufgetreten. Hier ist ein umfassenderer Ansatz zur Erkennung der SSE3-Unterstützung:
#include <intrin.h> bool CheckSSE3() { int cpuInfo[4]; int cpuidCount; // Get the number of valid info IDs __cpuid(cpuInfo, 0); cpuidCount = cpuInfo[0]; // Check for SSE3 support if the CPU has at least one info ID if (cpuidCount >= 1) { __cpuid(cpuInfo, 1); bool sse3Support = (cpuInfo[2] & 0x1); return sse3Support; } return false; }
Optimierter Ansatz
Für eine verbesserte Leistung sollten Sie Folgendes berücksichtigen:
Zusätzliche Überlegungen
Beachten Sie, dass die Überprüfung der CPU-Unterstützung nicht ausreicht. Für den ordnungsgemäßen SSE3-Betrieb benötigen Sie je nach Betriebssystem und seiner Konfiguration möglicherweise auch Betriebssystemunterstützung.
Das obige ist der detaillierte Inhalt vonWie erkennt man SSE3-Unterstützung in C zuverlässig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!