detect SSE3.

2005-06-07  Manish Singh  <yosh@gimp.org>

        * app/base/cpu-accel.[ch]: detect SSE3.
This commit is contained in:
Manish Singh 2005-06-07 07:10:22 +00:00 committed by Manish Singh
parent 92643ca2f5
commit 3e7aaa368c
5 changed files with 26 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2005-06-07 Manish Singh <yosh@gimp.org>
* app/base/cpu-accel.[ch]: detect SSE3.
2005-06-07 Manish Singh <yosh@gimp.org>
* app/actions/dockable-actions.c (dockable_actions_update): cast

View File

@ -74,6 +74,11 @@ enum
ARCH_X86_CYRIX_FEATURE_MMXEXT = 1 << 24
};
enum
{
ARCH_X86_INTEL_FEATURE_PNI = 1 << 0
};
#if !defined(ARCH_X86_64) && defined(PIC)
#define cpuid(op,eax,ebx,ecx,edx) \
__asm__ ("movl %%ebx, %%esi\n\t" \
@ -187,6 +192,9 @@ arch_accel_intel (void)
if (edx & ARCH_X86_INTEL_FEATURE_XMM2)
caps |= CPU_ACCEL_X86_SSE2;
if (ecx & ARCH_X86_INTEL_FEATURE_PNI)
caps |= CPU_ACCEL_X86_SSE3;
#endif /* USE_SSE */
}
#endif /* USE_MMX */
@ -466,6 +474,8 @@ cpu_accel_print_results (void)
(cpu_accel() & CPU_ACCEL_X86_SSE) ? "yes" : "no");
g_printerr (" sse2 : %s\n",
(cpu_accel() & CPU_ACCEL_X86_SSE2) ? "yes" : "no");
g_printerr (" sse3 : %s\n",
(cpu_accel() & CPU_ACCEL_X86_SSE3) ? "yes" : "no");
#endif
#ifdef ARCH_PPC
g_printerr (" altivec : %s\n",

View File

@ -33,6 +33,7 @@
#define CPU_ACCEL_X86_MMXEXT 0x20000000
#define CPU_ACCEL_X86_SSE 0x10000000
#define CPU_ACCEL_X86_SSE2 0x08000000
#define CPU_ACCEL_X86_SSE3 0x02000000
/* powerpc accelerations */
#define CPU_ACCEL_PPC_ALTIVEC 0x04000000

View File

@ -74,6 +74,11 @@ enum
ARCH_X86_CYRIX_FEATURE_MMXEXT = 1 << 24
};
enum
{
ARCH_X86_INTEL_FEATURE_PNI = 1 << 0
};
#if !defined(ARCH_X86_64) && defined(PIC)
#define cpuid(op,eax,ebx,ecx,edx) \
__asm__ ("movl %%ebx, %%esi\n\t" \
@ -187,6 +192,9 @@ arch_accel_intel (void)
if (edx & ARCH_X86_INTEL_FEATURE_XMM2)
caps |= CPU_ACCEL_X86_SSE2;
if (ecx & ARCH_X86_INTEL_FEATURE_PNI)
caps |= CPU_ACCEL_X86_SSE3;
#endif /* USE_SSE */
}
#endif /* USE_MMX */
@ -466,6 +474,8 @@ cpu_accel_print_results (void)
(cpu_accel() & CPU_ACCEL_X86_SSE) ? "yes" : "no");
g_printerr (" sse2 : %s\n",
(cpu_accel() & CPU_ACCEL_X86_SSE2) ? "yes" : "no");
g_printerr (" sse3 : %s\n",
(cpu_accel() & CPU_ACCEL_X86_SSE3) ? "yes" : "no");
#endif
#ifdef ARCH_PPC
g_printerr (" altivec : %s\n",

View File

@ -33,6 +33,7 @@
#define CPU_ACCEL_X86_MMXEXT 0x20000000
#define CPU_ACCEL_X86_SSE 0x10000000
#define CPU_ACCEL_X86_SSE2 0x08000000
#define CPU_ACCEL_X86_SSE3 0x02000000
/* powerpc accelerations */
#define CPU_ACCEL_PPC_ALTIVEC 0x04000000