eal: move arch-specific C files
[dpdk.git] / lib / librte_eal / common / include / arch / ppc_64 / rte_vect.h
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 <altivec.h>
10 #include "generic/rte_vect.h"
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 typedef vector signed int xmm_t;
17
18 #define XMM_SIZE        (sizeof(xmm_t))
19 #define XMM_MASK        (XMM_SIZE - 1)
20
21 typedef union rte_xmm {
22         xmm_t    x;
23         uint8_t  u8[XMM_SIZE / sizeof(uint8_t)];
24         uint16_t u16[XMM_SIZE / sizeof(uint16_t)];
25         uint32_t u32[XMM_SIZE / sizeof(uint32_t)];
26         uint64_t u64[XMM_SIZE / sizeof(uint64_t)];
27         double   pd[XMM_SIZE / sizeof(double)];
28 } __attribute__((aligned(16))) rte_xmm_t;
29
30 #ifdef __cplusplus
31 }
32 #endif
33
34 #endif /* _RTE_VECT_PPC_64_H_ */