[mupen64plus-video-glide64] 153/172: Use SSE intrinsics instead of GCC specific __builtin functions

Sven Eckelmann ecsv-guest at moszumanska.debian.org
Thu Nov 26 06:12:16 UTC 2015


This is an automated email from the git hooks/post-receive script.

ecsv-guest pushed a commit to branch master
in repository mupen64plus-video-glide64.

commit 6db6f5d8f4aa5fdf88da03086b194cda93384f45
Author: Sven Eckelmann <sven at narfation.org>
Date:   Thu Jan 9 10:27:33 2014 +0100

    Use SSE intrinsics instead of GCC specific __builtin functions
---
 debian/changelog                        |  3 +++
 debian/patches/llvm_builtin_ftbfs.patch | 37 +++++++++++++++++++++++++++++++++
 debian/patches/series                   |  1 +
 3 files changed, 41 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 62070d1..ea54450 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ mupen64plus-video-glide64 (2.0.0-2) UNRELEASED; urgency=low
   * Upgraded to policy 3.9.5, no changes required
   * debian/watch:
     - Change upstream check from bitbucket to github
+  * debian/patches:
+    - Add llvm_builtin_ftbfs.patch, Use SSE intrinsics instead of GCC specific
+      __builtin functions
   * debian/copyright:
     - Change upstream source to github
   * debian/get-orig-source.sh
diff --git a/debian/patches/llvm_builtin_ftbfs.patch b/debian/patches/llvm_builtin_ftbfs.patch
new file mode 100644
index 0000000..1106c4b
--- /dev/null
+++ b/debian/patches/llvm_builtin_ftbfs.patch
@@ -0,0 +1,37 @@
+Description: Use SSE intrinsics instead of GCC specific __builtin functions
+Author: Sven Eckelmann <sven at narfation.org>
+
+---
+diff --git a/src/3dmath.cpp b/src/3dmath.cpp
+index 79ff2035eda57e11a76f55c5efb583592678d6fd..a12675c5fd5644db0ee6d033d4af07ea457fb2aa 100755
+--- a/src/3dmath.cpp
++++ b/src/3dmath.cpp
+@@ -186,14 +186,14 @@ void __stdcall MulMatricesSSE(float m1[4][4],float m2[4][4],float r[4][4])
+ #if defined(__GNUC__) && !defined(NO_ASM)
+     /* [row][col]*/
+     typedef float v4sf __attribute__ ((vector_size (16)));
+-    v4sf row0 = __builtin_ia32_loadups(m2[0]);
+-    v4sf row1 = __builtin_ia32_loadups(m2[1]);
+-    v4sf row2 = __builtin_ia32_loadups(m2[2]);
+-    v4sf row3 = __builtin_ia32_loadups(m2[3]);
++    v4sf row0 = _mm_loadu_ps(m2[0]);
++    v4sf row1 = _mm_loadu_ps(m2[1]);
++    v4sf row2 = _mm_loadu_ps(m2[2]);
++    v4sf row3 = _mm_loadu_ps(m2[3]);
+ 
+     for (int i = 0; i < 4; ++i)
+     {
+-    v4sf leftrow = __builtin_ia32_loadups(m1[i]);
++    v4sf leftrow = _mm_loadu_ps(m1[i]);
+     
+     // Fill tmp with four copies of leftrow[0]
+     v4sf tmp = leftrow;
+@@ -216,7 +216,7 @@ void __stdcall MulMatricesSSE(float m1[4][4],float m2[4][4],float r[4][4])
+     tmp = _mm_shuffle_ps (tmp, tmp, 3 + (3 << 2) + (3 << 4) + (3 << 6));
+     destrow += tmp * row3;
+     
+-    __builtin_ia32_storeups(r[i], destrow);
++    _mm_storeu_ps(r[i], destrow);
+     }
+ #elif !defined(NO_ASM)
+     __asm
diff --git a/debian/patches/series b/debian/patches/series
index 5a5a78d..3e38fc1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 printf_fixup.patch
+llvm_builtin_ftbfs.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/mupen64plus-video-glide64.git



More information about the Pkg-games-commits mailing list