From 356f94fc355f36c16e48555d10c2377dff4b7554 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Tue, 17 Mar 2015 22:38:45 +0000 Subject: Gem 096ed6ef786b7a9d6e11a437ff8526619c89a1fd osx/x86_64 built 'coverity_scan:096ed6ef786b7a9d6e11a437ff8526619c89a1fd' for osx/x86_64 --- Gem/develop/include/Gem/Utils/SIMD.h | 118 ----------------------------------- 1 file changed, 118 deletions(-) delete mode 100644 Gem/develop/include/Gem/Utils/SIMD.h (limited to 'Gem/develop/include/Gem/Utils/SIMD.h') diff --git a/Gem/develop/include/Gem/Utils/SIMD.h b/Gem/develop/include/Gem/Utils/SIMD.h deleted file mode 100644 index 02db219..0000000 --- a/Gem/develop/include/Gem/Utils/SIMD.h +++ /dev/null @@ -1,118 +0,0 @@ - -/*----------------------------------------------------------------- -LOG - GEM - Graphics Environment for Multimedia - - include file for SIMD - - Copyright (c) 1997-1999 Mark Danks. mark@danks.org - Copyright (c) Günther Geiger. geiger@epy.co.at - Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at - For information on usage and redistribution, and for a DISCLAIMER OF ALL - WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution. - ------------------------------------------------------------------*/ - -/* - * compiler-issues: - * - * gcc: when gcc is invoked with "-mmmx" (or "-msse2" or "-maltivec") - * the defines __MMX__ (or corresponding) will be defined automatically - * - * vc6: you will have to install the microsoft processor-pack to use MMX/SSE2 - * you have to have the sp5 for vc6 installed (note: do not install sp6!!) - * vc6/vc7: (i think) you need to define __MMX__ (and friends) by hand - */ - -#ifndef _INCLUDE__GEM_UTILS_SIMD_H_ -#define _INCLUDE__GEM_UTILS_SIMD_H_ - -#define GEM_VECTORALIGNMENT 128 - -const int GEM_SIMD_NONE=0; -const int GEM_SIMD_MMX=1; -const int GEM_SIMD_SSE2=2; -const int GEM_SIMD_ALTIVEC=3; - -#if defined __APPLE__ -# if defined __VEC__ && !defined __APPLE_ALTIVEC__ -# undef __VEC__ -# endif - -# include -#endif /* APPLE */ - -/* include for SIMD on PC's */ -#ifdef __SSE2__ -# include -// for icc this should be -typedef union{ - unsigned char c[16]; - __m128i v; -} vector_128; -#elif defined __VEC__ -/* for AltiVec (PowerPC) */ -typedef union{ - unsigned char c[16]; - vector unsigned char v; -} vector_128; -#endif - -#if defined __MMX__ -# include -// for icc this should be -typedef union{ - __m64 v; unsigned char c[8]; -} vector64i; - -#endif - - -#ifdef __SSE__ -#include - -typedef union{ - __m128 m; float f[4]; -} vector128f; -#endif - -#include "Gem/ExportDef.h" - - -/* this is a help-class to query the capabilities of the cpu - * whenever you want to use SIMD-optimized code, you should - * make sure you chose the code-block based on the "cpuid" value - * of this class and NOT simply on preprocessor defines. - * - * this class needs only be instantiated once (and it is done in GemMan) - * this sets the cpuid - */ -class GEM_EXTERN GemSIMD -{ - public: - GemSIMD(void); - virtual ~GemSIMD(void); - - /* this gets the "cpuid" (something like GEM_SIMD_NONE) */ - static int getCPU(void); - - /* change the cpuid returned by getCPU() - * you can only set the cpuid to something that is actually supported - * by your processor - */ - static int requestCPU(int cpuid); - - /* performs a runtime-check (if possible) to determine the capabilities - * of the CPU - * sets realcpuid appropriately and returns this value - */ - static int simd_runtime_check(void); - - private: - /* this is the maximum capability of the CPU */ - static int realcpuid; - /* this is the current chosen capability (normally this equals realcpuid) */ - static int cpuid; -}; - -#endif /* _INCLUDE__GEM_UTILS_SIMD_H_ */ -- cgit v1.2.1