Open
Graph Drawing
Framework

 v.2012.05
 

intrinsics.h
Go to the documentation of this file.
00001 /*
00002  * $Revision: 2299 $
00003  * 
00004  * last checkin:
00005  *   $Author: gutwenger $ 
00006  *   $Date: 2012-05-07 15:57:08 +0200 (Mon, 07 May 2012) $ 
00007  ***************************************************************/
00008  
00043 #ifdef _MSC_VER
00044 #pragma once
00045 #endif
00046 
00047 #ifndef OGDF_INTRINSICS_H
00048 #define OGDF_INTRINSICS_H
00049 
00050 #include <ogdf/basic/basic.h>
00051 
00052 
00053 #ifdef OGDF_SYSTEM_WINDOWS
00054 #include <intrin.h>
00055 
00056 #if (defined(_M_IX86) || defined(_M_IA64)) && !defined(_M_CEE_PURE)
00057 #define OGDF_SSE2_EXTENSIONS
00058 #define OGDF_SSE3_EXTENSIONS
00059 #endif
00060 
00061 #elif defined(OGDF_SYSTEM_UNIX) && (defined(__x86_64__) || defined(__i386__))
00062 #include <pmmintrin.h>
00063 
00064 #if (defined(__x86_64__) || defined(__i386__))  && !(defined(__GNUC__) && !defined(__SSE2__))
00065 #define OGDF_SSE2_EXTENSIONS
00066 #endif
00067 
00068 #if (defined(__x86_64__) || defined(__i386__))  && !(defined(__GNUC__) && !defined(__SSE3__))
00069 #define OGDF_SSE3_EXTENSIONS
00070 #endif
00071 
00072 
00073 #endif
00074 
00075 
00076 #endif