From ca3dc4d6294b5069bef24c27ae0af7ac6466d309 Mon Sep 17 00:00:00 2001
From: terminx <terminx@1a8010ca-5511-0410-912e-c29ae57300e0>
Date: Wed, 29 Oct 2014 17:03:29 +0000
Subject: [PATCH] Minor additional pragma cleanup

git-svn-id: https://svn.eduke32.com/eduke32@4692 1a8010ca-5511-0410-912e-c29ae57300e0
---
 polymer/eduke32/build/include/pragmas.h       | 34 +++++-----
 polymer/eduke32/build/include/pragmas_arm.h   | 20 ++----
 polymer/eduke32/build/include/pragmas_ppc.h   | 13 +---
 .../eduke32/build/include/pragmas_x86_gcc.h   | 35 -----------
 .../eduke32/build/include/pragmas_x86_msvc.h  | 63 +------------------
 5 files changed, 25 insertions(+), 140 deletions(-)

diff --git a/polymer/eduke32/build/include/pragmas.h b/polymer/eduke32/build/include/pragmas.h
index a323dfbdd..ce8ad5668 100644
--- a/polymer/eduke32/build/include/pragmas.h
+++ b/polymer/eduke32/build/include/pragmas.h
@@ -11,14 +11,14 @@ extern "C" {
 
 #include <limits.h>
 
-#define PRAGMA_FUNCS _scaler(1) _scaler(2)	_scaler(3)	_scaler(4)\
-_scaler(5)	_scaler(6)	_scaler(7)	_scaler(8)\
-_scaler(9)	_scaler(10)	_scaler(11)	_scaler(12)\
-_scaler(13)	_scaler(14)	_scaler(15)	_scaler(16)\
-_scaler(17)	_scaler(18)	_scaler(19)	_scaler(20)\
-_scaler(21)	_scaler(22)	_scaler(23)	_scaler(24)\
-_scaler(25)	_scaler(26)	_scaler(27)	_scaler(28)\
-_scaler(29)	_scaler(30)	_scaler(31)
+#define EDUKE32_GENERATE_PRAGMAS EDUKE32_SCALER_PRAGMA(1) EDUKE32_SCALER_PRAGMA(2)	EDUKE32_SCALER_PRAGMA(3)	EDUKE32_SCALER_PRAGMA(4)\
+EDUKE32_SCALER_PRAGMA(5)	EDUKE32_SCALER_PRAGMA(6)	EDUKE32_SCALER_PRAGMA(7)	EDUKE32_SCALER_PRAGMA(8)\
+EDUKE32_SCALER_PRAGMA(9)	EDUKE32_SCALER_PRAGMA(10)	EDUKE32_SCALER_PRAGMA(11)	EDUKE32_SCALER_PRAGMA(12)\
+EDUKE32_SCALER_PRAGMA(13)	EDUKE32_SCALER_PRAGMA(14)	EDUKE32_SCALER_PRAGMA(15)	EDUKE32_SCALER_PRAGMA(16)\
+EDUKE32_SCALER_PRAGMA(17)	EDUKE32_SCALER_PRAGMA(18)	EDUKE32_SCALER_PRAGMA(19)	EDUKE32_SCALER_PRAGMA(20)\
+EDUKE32_SCALER_PRAGMA(21)	EDUKE32_SCALER_PRAGMA(22)	EDUKE32_SCALER_PRAGMA(23)	EDUKE32_SCALER_PRAGMA(24)\
+EDUKE32_SCALER_PRAGMA(25)	EDUKE32_SCALER_PRAGMA(26)	EDUKE32_SCALER_PRAGMA(27)	EDUKE32_SCALER_PRAGMA(28)\
+EDUKE32_SCALER_PRAGMA(29)	EDUKE32_SCALER_PRAGMA(30)	EDUKE32_SCALER_PRAGMA(31)
 
 extern int32_t dmval;
 #if !defined(NOASM) && defined __cplusplus
@@ -115,9 +115,9 @@ static inline int32_t divscale(int32_t eax, int32_t ebx, int32_t ecx)
 }
 #endif
 
-# define _scaler(a) static inline int32_t divscale##a(int32_t eax, int32_t ebx) { return divscale(eax, ebx, a); }
-PRAGMA_FUNCS _scaler(32)
-#undef _scaler
+# define EDUKE32_SCALER_PRAGMA(a) static inline int32_t divscale##a(int32_t eax, int32_t ebx) { return divscale(eax, ebx, a); }
+EDUKE32_GENERATE_PRAGMAS EDUKE32_SCALER_PRAGMA(32)
+#undef EDUKE32_SCALER_PRAGMA
 
 static inline int32_t scale(int32_t eax, int32_t edx, int32_t ecx)
 {
@@ -151,7 +151,7 @@ static inline int32_t scale(int32_t eax, int32_t edx, int32_t ecx)
 // Generic C
 //
 
-#define _scaler(a) \
+#define EDUKE32_SCALER_PRAGMA(a) \
 static inline int32_t mulscale##a(int32_t eax, int32_t edx) \
 { \
 	return dw((qw(eax) * qw(edx)) >> by(a)); \
@@ -163,9 +163,9 @@ static inline int32_t dmulscale##a(int32_t eax, int32_t edx, int32_t esi, int32_
 } \
 \
 
-PRAGMA_FUNCS _scaler(32)
+EDUKE32_GENERATE_PRAGMAS EDUKE32_SCALER_PRAGMA(32)
 
-#undef _scaler
+#undef EDUKE32_SCALER_PRAGMA
 
 static inline void swapchar(void* a, void* b)  { char t = *((char*)b); *((char*)b) = *((char*)a); *((char*)a) = t; }
 static inline void swapchar2(void* a, void* b, int32_t s) { swapchar(a,b); swapchar((char*)a+1,(char*)b+s); }
@@ -180,12 +180,6 @@ static inline void drawpixel(void* s, char a)    { *((char*)(s)) = a; }
 static inline int32_t klabs(int32_t a) { const uint32_t m = a >> (sizeof(int) * CHAR_BIT - 1); return (a ^ m) - m; }
 static inline int32_t ksgn(int32_t a)  { return (a>0)-(a<0); }
 
-static inline int32_t umin(int32_t a, int32_t b) { if ((uint32_t)a < (uint32_t)b) return a; return b; }
-static inline int32_t umax(int32_t a, int32_t b) { if ((uint32_t)a < (uint32_t)b) return b; return a; }
-static inline int32_t kmin(int32_t a, int32_t b) { if ((int32_t)a < (int32_t)b) return a; return b; }
-static inline int32_t kmax(int32_t a, int32_t b) { if ((int32_t)a < (int32_t)b) return b; return a; }
-
-static inline int32_t sqr(int32_t eax) { return (eax) * (eax); }
 static inline int32_t mulscale(int32_t eax, int32_t edx, int32_t ecx) { return dw((qw(eax) * edx) >> by(ecx)); }
 static inline int32_t dmulscale(int32_t eax, int32_t edx, int32_t esi, int32_t edi, int32_t ecx) { return dw(((qw(eax) * edx) + (qw(esi) * edi)) >> by(ecx)); }
 
diff --git a/polymer/eduke32/build/include/pragmas_arm.h b/polymer/eduke32/build/include/pragmas_arm.h
index 786a8d210..7e67cc563 100644
--- a/polymer/eduke32/build/include/pragmas_arm.h
+++ b/polymer/eduke32/build/include/pragmas_arm.h
@@ -5,20 +5,16 @@
 #ifndef __pragmas_arm_h__
 #define __pragmas_arm_h__
 
-#define _scaler(a) \
+#define EDUKE32_SCALER_PRAGMA(a) \
 static inline int32_t mulscale##a(int32_t eax, int32_t edx) \
-{ \
-	return dw((qw(eax) * edx) >> by(a)); \
-} \
+{ return dw((qw(eax) * edx) >> by(a)); } \
 \
 static inline int32_t dmulscale##a(int32_t eax, int32_t edx, int32_t esi, int32_t edi) \
-{ \
-	return dw(((qw(eax) * edx) + (qw(esi) * edi)) >> by(a)); \
-} \
+{ return dw(((qw(eax) * edx) + (qw(esi) * edi)) >> by(a)); } \
 
-PRAGMA_FUNCS _scaler(32)
+EDUKE32_GENERATE_PRAGMAS EDUKE32_SCALER_PRAGMA(32)
 
-#undef _scaler
+#undef EDUKE32_SCALER_PRAGMA
 
 static inline void swapchar(void* a, void* b)  { char t = *((char*) b); *((char*) b) = *((char*) a); *((char*) a) = t; }
 static inline void swapchar2(void* a, void* b, int32_t s) { swapchar(a, b); swapchar((char*) a+1, (char*) b+s); }
@@ -33,12 +29,6 @@ static inline void drawpixel(void* s, char a)    { *((char*) (s)) = a; }
 static inline int32_t klabs(int32_t a) { const uint32_t m = a >> (sizeof(int) * CHAR_BIT - 1); return (a ^ m) - m; }
 static inline int32_t ksgn(int32_t a)  { return (a>0)-(a<0); }
 
-static inline int32_t umin(int32_t a, int32_t b) { if ((uint32_t) a < (uint32_t) b) return a; return b; }
-static inline int32_t umax(int32_t a, int32_t b) { if ((uint32_t) a < (uint32_t) b) return b; return a; }
-static inline int32_t kmin(int32_t a, int32_t b) { if ((int32_t) a < (int32_t) b) return a; return b; }
-static inline int32_t kmax(int32_t a, int32_t b) { if ((int32_t) a < (int32_t) b) return b; return a; }
-
-static inline int32_t sqr(int32_t eax) { return (eax) * (eax); }
 static inline int32_t mulscale(int32_t eax, int32_t edx, int32_t ecx) { return dw((qw(eax) * qw(edx)) >> by(ecx)); }
 static inline int32_t dmulscale(int32_t eax, int32_t edx, int32_t esi, int32_t edi, int32_t ecx) { return dw(((qw(eax) * qw(edx)) + (qw(esi) * qw(edi))) >> by(ecx)); }
 
diff --git a/polymer/eduke32/build/include/pragmas_ppc.h b/polymer/eduke32/build/include/pragmas_ppc.h
index 93b13a3be..67ed89320 100644
--- a/polymer/eduke32/build/include/pragmas_ppc.h
+++ b/polymer/eduke32/build/include/pragmas_ppc.h
@@ -4,9 +4,7 @@
 #ifndef __pragmas_ppc_h__
 #define __pragmas_ppc_h__
 
-#define sqr(a) ((a)*(a))
-
-#define _scaler(x) \
+#define EDUKE32_SCALER_PRAGMA(x) \
 static inline int32_t mulscale##x(int32_t a, int32_t d) \
 { \
 	int32_t mullo, mulhi; \
@@ -39,8 +37,8 @@ static inline int32_t dmulscale##x(int32_t a, int32_t d, int32_t S, int32_t D) \
 	return sumlo; \
 }
 
-PRAGMA_FUNCS
-#undef _scaler
+EDUKE32_GENERATE_PRAGMAS
+#undef EDUKE32_SCALER_PRAGMA
 
 static inline int32_t mulscale(int32_t a, int32_t d, int32_t c)
 {
@@ -244,11 +242,6 @@ static inline void swap64bit(void *a, void *b)
     *(double*) b = t;
 }
 
-static inline int32_t umin(int32_t a, int32_t b) { if ((uint32_t) a < (uint32_t) b) return a; return b; }
-static inline int32_t umax(int32_t a, int32_t b) { if ((uint32_t) a < (uint32_t) b) return b; return a; }
-static inline int32_t kmin(int32_t a, int32_t b) { if ((int32_t) a < (int32_t) b) return a; return b; }
-static inline int32_t kmax(int32_t a, int32_t b) { if ((int32_t) a < (int32_t) b) return b; return a; }
-
 static inline int32_t krecipasm(int32_t i)
 {
     // Ken did this
diff --git a/polymer/eduke32/build/include/pragmas_x86_gcc.h b/polymer/eduke32/build/include/pragmas_x86_gcc.h
index 318adc2f6..e5095f701 100644
--- a/polymer/eduke32/build/include/pragmas_x86_gcc.h
+++ b/polymer/eduke32/build/include/pragmas_x86_gcc.h
@@ -20,19 +20,6 @@ void clearbufbyte(void *D, int32_t c, int32_t a);
 void copybufbyte(const void *S, void *D, int32_t c);
 void copybufreverse(const void *S, void *D, int32_t c);
 
-
-#ifdef NO_GCC_BUILTINS
-#define sqr(a) \
-	({ int32_t __a=(a); \
-	   __asm__ __volatile__ ("imull %0, %0" \
-		: "=q" (__a) \
-		: "0" (__a) \
-		: "cc"); \
-	 __a; })
-#else
-#define sqr(a) __builtin_sqr(a)
-#endif
-
 #define mulscale(a,d,c) \
 	({ int32_t __a=(a), __d=(d), __c=(c); \
 	   __asm__ __volatile__ ("imull %%edx; shrdl %%cl, %%edx, %%eax" \
@@ -496,28 +483,6 @@ void copybufreverse(const void *S, void *D, int32_t c);
 		: "=a" (__r) : "b" (__b) : "cc"); \
 	 __r; })
 
-#define umin(a,b) \
-	({ int32_t __a=(a), __b=(b); \
-	   __asm__ __volatile__ ("subl %%ebx, %%eax; sbbl %%ecx, %%ecx; andl %%ecx, %%eax; addl %%ebx, %%eax" \
-	   	: "=a" (__a) : "a" (__a), "b" (__b) : "ecx", "cc"); \
-	 __a; })
-#define umax(a,b) \
-	({ int32_t __a=(a), __b=(b); \
-	   __asm__ __volatile__ ("subl %%ebx, %%eax; sbbl %%ecx, %%ecx; xorl $0xffffffff, %%ecx; andl %%ecx, %%eax; addl %%ebx, %%eax" \
-		: "=a" (__a) : "a" (__a), "b" (__b) : "ecx", "cc"); \
-	 __a; })
-
-#define kmin(a,b) \
-	({ int32_t __a=(a), __b=(b); \
-	   __asm__ __volatile__ ("cmpl %%ebx, %%eax; jl 0f; movl %%ebx, %%eax; 0:" \
-		: "=a" (__a) : "a" (__a), "b" (__b) : "cc"); \
-	 __a; })
-#define kmax(a,b) \
-	({ int32_t __a=(a), __b=(b); \
-	   __asm__ __volatile__ ("cmpl %%ebx, %%eax; jg 0f; movl %%ebx, %%eax; 0:" \
-		: "=a" (__a) : "a" (__a), "b" (__b) : "cc"); \
-	 __a; })
-
 #define swapchar(a,b) \
 	({ void *__a=(a), *__b=(b); \
 	   __asm__ __volatile__ ("movb (%%eax), %%cl; movb (%%ebx), %%ch; movb %%cl, (%%ebx); movb %%ch, (%%eax)" \
diff --git a/polymer/eduke32/build/include/pragmas_x86_msvc.h b/polymer/eduke32/build/include/pragmas_x86_msvc.h
index d1852e51a..cdbea4b33 100644
--- a/polymer/eduke32/build/include/pragmas_x86_msvc.h
+++ b/polymer/eduke32/build/include/pragmas_x86_msvc.h
@@ -8,14 +8,6 @@
 #ifndef __pragmas_x86_h__
 #define __pragmas_x86_h__
 
-static __inline int32_t sqr(int32_t a)
-{
-    _asm {
-        mov eax, a
-            imul eax, eax
-    }
-}
-
 static __inline int32_t mulscale(int32_t a, int32_t d, int32_t c)
 {
     _asm {
@@ -26,7 +18,7 @@ static __inline int32_t mulscale(int32_t a, int32_t d, int32_t c)
     }
 }
 
-#define _scaler(x) \
+#define EDUKE32_SCALER_PRAGMA(x) \
 static __inline int32_t mulscale##x (int32_t a, int32_t d) \
 { \
 	_asm mov eax, a \
@@ -47,8 +39,8 @@ static __inline int32_t dmulscale##x (int32_t a, int32_t d, int32_t S, int32_t D
 } \
 
 
-PRAGMA_FUNCS 
-#undef _scaler
+EDUKE32_GENERATE_PRAGMAS 
+#undef EDUKE32_SCALER_PRAGMA
 
 static __inline int32_t mulscale32(int32_t a, int32_t d)
 {
@@ -336,55 +328,6 @@ static __inline int32_t ksgn(int32_t b)
     }
 }
 
-//eax = (unsigned min)umin(eax,ebx)
-static __inline int32_t umin(int32_t a, int32_t b)
-{
-    _asm {
-        mov eax, a
-            sub eax, b
-            sbb ecx, ecx
-            and eax, ecx
-            add eax, b
-    }
-}
-
-//eax = (unsigned max)umax(eax,ebx)
-static __inline int32_t umax(int32_t a, int32_t b)
-{
-    _asm {
-        mov eax, a
-            sub eax, b
-            sbb ecx, ecx
-            xor ecx, 0xffffffff
-            and eax, ecx
-            add eax, b
-    }
-}
-
-static __inline int32_t kmin(int32_t a, int32_t b)
-{
-    _asm {
-        mov eax, a
-            mov ebx, b
-            cmp eax, ebx
-            jl skipit
-            mov eax, ebx
-        skipit :
-    }
-}
-
-static __inline int32_t kmax(int32_t a, int32_t b)
-{
-    _asm {
-        mov eax, a
-            mov ebx, b
-            cmp eax, ebx
-            jg skipit
-            mov eax, ebx
-        skipit :
-    }
-}
-
 static __inline void swapchar(void *a, void *b)
 {
     _asm {