cpu: Removed 3DNow! support and SDL_Has3DNow().

Reference Issue #6636.
This commit is contained in:
Ryan C. Gordon
2022-12-22 01:24:59 -05:00
committed by Sam Lantinga
parent 0187209f46
commit 1cf2b566af
13 changed files with 20 additions and 206 deletions

View File

@@ -86,19 +86,18 @@
#define CPU_HAS_RDTSC (1 << 0)
#define CPU_HAS_ALTIVEC (1 << 1)
#define CPU_HAS_MMX (1 << 2)
#define CPU_HAS_3DNOW (1 << 3)
#define CPU_HAS_SSE (1 << 4)
#define CPU_HAS_SSE2 (1 << 5)
#define CPU_HAS_SSE3 (1 << 6)
#define CPU_HAS_SSE41 (1 << 7)
#define CPU_HAS_SSE42 (1 << 8)
#define CPU_HAS_AVX (1 << 9)
#define CPU_HAS_AVX2 (1 << 10)
#define CPU_HAS_NEON (1 << 11)
#define CPU_HAS_AVX512F (1 << 12)
#define CPU_HAS_ARM_SIMD (1 << 13)
#define CPU_HAS_LSX (1 << 14)
#define CPU_HAS_LASX (1 << 15)
#define CPU_HAS_SSE (1 << 3)
#define CPU_HAS_SSE2 (1 << 4)
#define CPU_HAS_SSE3 (1 << 5)
#define CPU_HAS_SSE41 (1 << 6)
#define CPU_HAS_SSE42 (1 << 7)
#define CPU_HAS_AVX (1 << 8)
#define CPU_HAS_AVX2 (1 << 9)
#define CPU_HAS_NEON (1 << 10)
#define CPU_HAS_AVX512F (1 << 11)
#define CPU_HAS_ARM_SIMD (1 << 12)
#define CPU_HAS_LSX (1 << 13)
#define CPU_HAS_LASX (1 << 14)
#define CPU_CFG2 0x2
#define CPU_CFG2_LSX (1 << 6)
@@ -516,31 +515,6 @@ static int CPU_readCPUCFG(void)
#define CPU_haveLSX() (CPU_readCPUCFG() & CPU_CFG2_LSX)
#define CPU_haveLASX() (CPU_readCPUCFG() & CPU_CFG2_LASX)
#if defined(__e2k__)
inline int
CPU_have3DNow(void)
{
#if defined(__3dNOW__)
return 1;
#else
return 0;
#endif
}
#else
static int CPU_have3DNow(void)
{
if (CPU_CPUIDMaxFunction > 0) { /* that is, do we have CPUID at all? */
int a, b, c, d;
cpuid(0x80000000, a, b, c, d);
if (a >= 0x80000001) {
cpuid(0x80000001, a, b, c, d);
return d & 0x80000000;
}
}
return 0;
}
#endif
#if defined(__e2k__)
#define CPU_haveRDTSC() (0)
#if defined(__MMX__)
@@ -900,10 +874,6 @@ static Uint32 SDL_GetCPUFeatures(void)
SDL_CPUFeatures |= CPU_HAS_MMX;
SDL_SIMDAlignment = SDL_max(SDL_SIMDAlignment, 8);
}
if (CPU_have3DNow()) {
SDL_CPUFeatures |= CPU_HAS_3DNOW;
SDL_SIMDAlignment = SDL_max(SDL_SIMDAlignment, 8);
}
if (CPU_haveSSE()) {
SDL_CPUFeatures |= CPU_HAS_SSE;
SDL_SIMDAlignment = SDL_max(SDL_SIMDAlignment, 16);
@@ -975,12 +945,6 @@ SDL_HasMMX(void)
return CPU_FEATURE_AVAILABLE(CPU_HAS_MMX);
}
SDL_bool
SDL_Has3DNow(void)
{
return CPU_FEATURE_AVAILABLE(CPU_HAS_3DNOW);
}
SDL_bool
SDL_HasSSE(void)
{
@@ -1228,7 +1192,6 @@ int main()
printf("RDTSC: %d\n", SDL_HasRDTSC());
printf("Altivec: %d\n", SDL_HasAltiVec());
printf("MMX: %d\n", SDL_HasMMX());
printf("3DNow: %d\n", SDL_Has3DNow());
printf("SSE: %d\n", SDL_HasSSE());
printf("SSE2: %d\n", SDL_HasSSE2());
printf("SSE3: %d\n", SDL_HasSSE3());