eal/x86: fix build sse3 functions with gcc < 4.4
authorMarvin Liu <yong.liu@intel.com>
Thu, 19 Mar 2015 03:16:52 +0000 (11:16 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 22 Mar 2015 23:31:19 +0000 (00:31 +0100)
In Suse11 SP3, there'll be errors for not found sse3 functions.
rte_memcpy.h: In function ‘rte_memcpy’:
rte_memcpy.h:625: error: implicit declaration of function ‘_mm_alignr_epi8’
rte_memcpy.h:625: error: nested extern declaration of ‘_mm_alignr_epi8’
rte_memcpy.h:625: error: incompatible type for argument 2 of ‘_mm_storeu_si128’

These functions defined in tmmintrin.h and should be included in.

Fixes: 9144d6bcdefd ("eal/x86: optimize memcpy for SSE and AVX")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
lib/librte_eal/common/include/arch/x86/rte_vect.h

index d5bcdb9..b698797 100644 (file)
 #include <emmintrin.h>
 #endif
 
+#ifdef __SSE3__
+#include <tmmintrin.h>
+#endif
+
 #if defined(__SSE4_2__) || defined(__SSE4_1__)
 #include <smmintrin.h>
 #endif