#ifndef _SIMD_COMMON_H_ #define _SIMD_COMMON_H_ #if !defined(__GNUC__) #define __SSE2__ #endif #ifdef __GNUC__ #ifndef __forceinline #define __forceinline __attribute__((__always_inline__)) inline #endif #endif #ifdef __GNUC__ #define __inline __forceinline // GCC needs to force inlining of intrinsics functions #endif #include #include #ifdef __SSE2__ #include #endif #ifdef __GNUC__ #undef __inline #endif #ifdef __GNUC__ #define __align8(t,v) t v __attribute__ ((aligned (8))) #define __align16(t,v) t v __attribute__ ((aligned (16))) #else #define __align8(t,v) __declspec(align(8)) t v #define __align16(t,v) __declspec(align(16)) t v #endif #endif