On Sun, Dec 14, 2014 at 06:10:59PM +0000, Konstantin Ananyev wrote:
> Signed-off-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
> ---
>  lib/librte_acl/rte_acl_osdep_alone.h | 47 
> ++++++++++++++++++++++++++++++++++--
>  1 file changed, 45 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_acl/rte_acl_osdep_alone.h 
> b/lib/librte_acl/rte_acl_osdep_alone.h
> index a84b6f9..58c4f6a 100644
> --- a/lib/librte_acl/rte_acl_osdep_alone.h
> +++ b/lib/librte_acl/rte_acl_osdep_alone.h
> @@ -57,6 +57,10 @@
>  #include <smmintrin.h>
>  #endif
>  
> +#if defined(__AVX__)
> +#include <immintrin.h>
> +#endif
> +
>  #else
>  
>  #include <x86intrin.h>
> @@ -128,8 +132,8 @@ typedef __m128i xmm_t;
>  #define      XMM_SIZE        (sizeof(xmm_t))
>  #define      XMM_MASK        (XMM_SIZE - 1)
>  
> -typedef union rte_mmsse {
> -     xmm_t    m;
> +typedef union rte_xmm {
> +     xmm_t    x;
>       uint8_t  u8[XMM_SIZE / sizeof(uint8_t)];
>       uint16_t u16[XMM_SIZE / sizeof(uint16_t)];
>       uint32_t u32[XMM_SIZE / sizeof(uint32_t)];
> @@ -137,6 +141,33 @@ typedef union rte_mmsse {
>       double   pd[XMM_SIZE / sizeof(double)];
>  } rte_xmm_t;
>  
> +#ifdef __AVX__
> +
> +typedef __m256i ymm_t;
> +
> +#define      YMM_SIZE        (sizeof(ymm_t))
> +#define      YMM_MASK        (YMM_SIZE - 1)
> +
> +typedef union rte_ymm {
> +     ymm_t    y;
> +     xmm_t    x[YMM_SIZE / sizeof(xmm_t)];
> +     uint8_t  u8[YMM_SIZE / sizeof(uint8_t)];
> +     uint16_t u16[YMM_SIZE / sizeof(uint16_t)];
> +     uint32_t u32[YMM_SIZE / sizeof(uint32_t)];
> +     uint64_t u64[YMM_SIZE / sizeof(uint64_t)];
> +     double   pd[YMM_SIZE / sizeof(double)];
> +} rte_ymm_t;
> +
> +#endif /* __AVX__ */
> +
> +#ifdef RTE_ARCH_I686
> +#define _mm_cvtsi128_si64(a) ({ \
> +     rte_xmm_t m;            \
> +     m.x = (a);              \
> +     (m.u64[0]);             \
> +})
> +#endif
> +
>  /*
>   * rte_cycles related.
>   */
> @@ -214,6 +245,13 @@ rte_rdtsc(void)
>  /*
>   * rte_tailq related.
>   */
> +
> +struct rte_tailq_entry {
> +     TAILQ_ENTRY(rte_tailq_entry) next; /**< Pointer entries for a tailq list
> + */
> +     void *data; /**< Pointer to the data referenced by this tailq entry */
> +};
> +
>  static inline void *
>  rte_dummy_tailq(void)
>  {
> @@ -248,6 +286,7 @@ rte_zmalloc_socket(__rte_unused const char *type, size_t 
> size, unsigned align,
>       void *ptr;
>       int rc;
>  
> +     align = (align != 0) ? align : RTE_CACHE_LINE_SIZE;
>       rc = posix_memalign(&ptr, align, size);
>       if (rc != 0) {
>               rte_errno = rc;
> @@ -258,6 +297,8 @@ rte_zmalloc_socket(__rte_unused const char *type, size_t 
> size, unsigned align,
>       return ptr;
>  }
>  
> +#define      rte_zmalloc(type, sz, align)    rte_zmalloc_socket(type, sz, 
> align, 0)
> +
>  /*
>   * rte_debug related
>   */
> @@ -271,6 +312,8 @@ rte_zmalloc_socket(__rte_unused const char *type, size_t 
> size, unsigned align,
>       exit(err);                           \
>  } while (0)
>  
> +#define      rte_cpu_get_flag_enabled(x)     (0)
> +
>  #ifdef __cplusplus
>  }
>  #endif
> -- 
> 1.8.5.3
> 
> 
I think you should merge these changes with patch 10 where the problem was
introduced, so that you avoid a FTBFS issue
Neil

Reply via email to