From 4cebe50a9bade6717923e104c954f3fad75f71bb Mon Sep 17 00:00:00 2001
From: Jochen Rollwagen <joro-2...@t-online.de>
Date: Tue, 3 Oct 2017 19:54:10 +0200
Subject: [PATCH] Replace byte-swapping code with builtins in pack.c

This patch replaces some code for byte-swapping in pack.c with the builtin functions allowing the compiler to do its optimization magic
---
 src/mesa/main/pack.c |   22 ++--------------------
 1 file changed, 2 insertions(+), 20 deletions(-)

diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
index 94a6d28..9bfde39 100644
--- a/src/mesa/main/pack.c
+++ b/src/mesa/main/pack.c
@@ -230,26 +230,8 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte
 *source,
    }
 }

-
-#define SWAP2BYTE(VALUE)            \
-   {                        \
-      GLubyte *bytes = (GLubyte *) &(VALUE);    \
-      GLubyte tmp = bytes[0];            \
-      bytes[0] = bytes[1];            \
-      bytes[1] = tmp;                \
-   }
-
-#define SWAP4BYTE(VALUE)            \
-   {                        \
-      GLubyte *bytes = (GLubyte *) &(VALUE);    \
-      GLubyte tmp = bytes[0];            \
-      bytes[0] = bytes[3];            \
-      bytes[3] = tmp;                \
-      tmp = bytes[1];                \
-      bytes[1] = bytes[2];            \
-      bytes[2] = tmp;                \
-   }
-
+#define SWAP2BYTE(VALUE) __builtin_bswap16(VALUE)
+#define SWAP4BYTE(VALUE) __builtin_bswap32(VALUE)

 static void
 extract_uint_indexes(GLuint n, GLuint indexes[],
--
1.7.9.5

>From 4cebe50a9bade6717923e104c954f3fad75f71bb Mon Sep 17 00:00:00 2001
From: Jochen Rollwagen <joro-2...@t-online.de>
Date: Tue, 3 Oct 2017 19:54:10 +0200
Subject: [PATCH] Replace byte-swapping code with builtins in pack.c

This patch replaces some code for byte-swapping in pack.c with the builtin functions
allowing the compiler to do its optimization magic
---
 src/mesa/main/pack.c |   22 ++--------------------
 1 file changed, 2 insertions(+), 20 deletions(-)

diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
index 94a6d28..9bfde39 100644
--- a/src/mesa/main/pack.c
+++ b/src/mesa/main/pack.c
@@ -230,26 +230,8 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
    }
 }
 
-
-#define SWAP2BYTE(VALUE)			\
-   {						\
-      GLubyte *bytes = (GLubyte *) &(VALUE);	\
-      GLubyte tmp = bytes[0];			\
-      bytes[0] = bytes[1];			\
-      bytes[1] = tmp;				\
-   }
-
-#define SWAP4BYTE(VALUE)			\
-   {						\
-      GLubyte *bytes = (GLubyte *) &(VALUE);	\
-      GLubyte tmp = bytes[0];			\
-      bytes[0] = bytes[3];			\
-      bytes[3] = tmp;				\
-      tmp = bytes[1];				\
-      bytes[1] = bytes[2];			\
-      bytes[2] = tmp;				\
-   }
-
+#define SWAP2BYTE(VALUE) __builtin_bswap16(VALUE)
+#define SWAP4BYTE(VALUE) __builtin_bswap32(VALUE)
 
 static void
 extract_uint_indexes(GLuint n, GLuint indexes[],
-- 
1.7.9.5

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to