199a2dd95SBruce Richardson /* 299a2dd95SBruce Richardson * SPDX-License-Identifier: BSD-3-Clause 399a2dd95SBruce Richardson * Copyright (C) IBM Corporation 2016. 499a2dd95SBruce Richardson */ 599a2dd95SBruce Richardson 699a2dd95SBruce Richardson #ifndef _RTE_VECT_PPC_64_H_ 799a2dd95SBruce Richardson #define _RTE_VECT_PPC_64_H_ 899a2dd95SBruce Richardson 999a2dd95SBruce Richardson #include "rte_altivec.h" 1099a2dd95SBruce Richardson 1199a2dd95SBruce Richardson #include "generic/rte_vect.h" 1299a2dd95SBruce Richardson #include "rte_common.h" 1399a2dd95SBruce Richardson 1499a2dd95SBruce Richardson #ifdef __cplusplus 1599a2dd95SBruce Richardson extern "C" { 1699a2dd95SBruce Richardson #endif 1799a2dd95SBruce Richardson 1899a2dd95SBruce Richardson #define RTE_VECT_DEFAULT_SIMD_BITWIDTH RTE_VECT_SIMD_256 1999a2dd95SBruce Richardson 2064fcadeaSThomas Monjalon typedef __vector signed int xmm_t; 2199a2dd95SBruce Richardson 2299a2dd95SBruce Richardson #define XMM_SIZE (sizeof(xmm_t)) 2399a2dd95SBruce Richardson #define XMM_MASK (XMM_SIZE - 1) 2499a2dd95SBruce Richardson 25*c6552d9aSTyler Retzlaff typedef union __rte_aligned(16) rte_xmm { 2699a2dd95SBruce Richardson xmm_t x; 2799a2dd95SBruce Richardson uint8_t u8[XMM_SIZE / sizeof(uint8_t)]; 2899a2dd95SBruce Richardson uint16_t u16[XMM_SIZE / sizeof(uint16_t)]; 2999a2dd95SBruce Richardson uint32_t u32[XMM_SIZE / sizeof(uint32_t)]; 3099a2dd95SBruce Richardson uint64_t u64[XMM_SIZE / sizeof(uint64_t)]; 3199a2dd95SBruce Richardson double pd[XMM_SIZE / sizeof(double)]; 32*c6552d9aSTyler Retzlaff } rte_xmm_t; 3399a2dd95SBruce Richardson 3499a2dd95SBruce Richardson #ifdef __cplusplus 3599a2dd95SBruce Richardson } 3699a2dd95SBruce Richardson #endif 3799a2dd95SBruce Richardson 3899a2dd95SBruce Richardson #endif /* _RTE_VECT_PPC_64_H_ */ 39