1 /* 2 * SPDX-License-Identifier: BSD-3-Clause 3 * Copyright (C) IBM Corporation 2016. 4 */ 5 6 #ifndef _RTE_VECT_PPC_64_H_ 7 #define _RTE_VECT_PPC_64_H_ 8 9 #include "rte_altivec.h" 10 11 #include "generic/rte_vect.h" 12 #include "rte_common.h" 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 #define RTE_VECT_DEFAULT_SIMD_BITWIDTH RTE_VECT_SIMD_256 19 20 typedef __vector signed int xmm_t; 21 22 #define XMM_SIZE (sizeof(xmm_t)) 23 #define XMM_MASK (XMM_SIZE - 1) 24 25 typedef union __rte_aligned(16) rte_xmm { 26 xmm_t x; 27 uint8_t u8[XMM_SIZE / sizeof(uint8_t)]; 28 uint16_t u16[XMM_SIZE / sizeof(uint16_t)]; 29 uint32_t u32[XMM_SIZE / sizeof(uint32_t)]; 30 uint64_t u64[XMM_SIZE / sizeof(uint64_t)]; 31 double pd[XMM_SIZE / sizeof(double)]; 32 } rte_xmm_t; 33 34 #ifdef __cplusplus 35 } 36 #endif 37 38 #endif /* _RTE_VECT_PPC_64_H_ */ 39