77 lines
2.1 KiB
Diff
77 lines
2.1 KiB
Diff
--- a/pixman/pixman-mmx.c 2020-04-20 00:52:22.000000000 +0300
|
|
+++ b/pixman/pixman-mmx.c 2021-04-09 15:32:27.033137658 +0300
|
|
@@ -60,7 +60,7 @@
|
|
#endif
|
|
|
|
#ifdef USE_X86_MMX
|
|
-# if (defined(__SUNPRO_C) || defined(_MSC_VER) || defined(_WIN64))
|
|
+# if (defined(__SUNPRO_C) || defined(_MSC_VER) || defined(_WIN64)) || defined (__e2k__)
|
|
# include <xmmintrin.h>
|
|
# else
|
|
/* We have to compile with -msse to use xmmintrin.h, but that causes SSE
|
|
@@ -2081,7 +2081,7 @@
|
|
uint32_t byte_width;
|
|
uint8_t *byte_line;
|
|
|
|
-#if defined __GNUC__ && defined USE_X86_MMX
|
|
+#if defined __GNUC__ && defined USE_X86_MMX && !defined(__e2k__)
|
|
__m64 v1, v2, v3, v4, v5, v6, v7;
|
|
#endif
|
|
|
|
@@ -2115,7 +2115,7 @@
|
|
fill = ((uint64_t)filler << 32) | filler;
|
|
vfill = to_m64 (fill);
|
|
|
|
-#if defined __GNUC__ && defined USE_X86_MMX
|
|
+#if defined __GNUC__ && defined USE_X86_MMX && !defined(__e2k__)
|
|
__asm__ (
|
|
"movq %7, %0\n"
|
|
"movq %7, %1\n"
|
|
@@ -2161,7 +2161,7 @@
|
|
|
|
while (w >= 64)
|
|
{
|
|
-#if defined __GNUC__ && defined USE_X86_MMX
|
|
+#if defined __GNUC__ && defined USE_X86_MMX && !defined(__e2k__)
|
|
__asm__ (
|
|
"movq %1, (%0)\n"
|
|
"movq %2, 8(%0)\n"
|
|
@@ -3333,7 +3333,7 @@
|
|
|
|
while (w >= 64)
|
|
{
|
|
-#if (defined (__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))) && defined USE_X86_MMX
|
|
+#if (defined (__GNUC__) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))) && defined USE_X86_MMX && !defined(__e2k__)
|
|
__asm__ (
|
|
"movq (%1), %%mm0\n"
|
|
"movq 8(%1), %%mm1\n"
|
|
--- a/pixman/pixman-x86.c 2020-04-20 00:52:22.000000000 +0300
|
|
+++ b/pixman/pixman-x86.c 2021-04-09 12:34:36.118583275 +0300
|
|
@@ -43,7 +43,25 @@
|
|
X86_SSSE3 = (1 << 5)
|
|
} cpu_features_t;
|
|
|
|
-#ifdef HAVE_GETISAX
|
|
+
|
|
+#ifdef __e2k__
|
|
+
|
|
+static cpu_features_t
|
|
+detect_cpu_features (void)
|
|
+{
|
|
+ cpu_features_t features = 0;
|
|
+
|
|
+ features |= X86_CMOV;
|
|
+ features |= X86_MMX;
|
|
+ features |= X86_MMX_EXTENSIONS;
|
|
+ features |= X86_SSE;
|
|
+ features |= X86_SSE2;
|
|
+ features |= X86_SSSE3;
|
|
+
|
|
+ return features;
|
|
+}
|
|
+
|
|
+#elif defined(HAVE_GETISAX)
|
|
|
|
#include <sys/auxv.h>
|
|
|