CNDP  22.08.0
cne_vect_generic.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright 2016 6WIND S.A.
3  */
4 
5 #ifndef _CNE_VECT_GENERIC_H_
6 #define _CNE_VECT_GENERIC_H_
7 
16 #include <stdint.h>
17 
18 #include <cne_common.h>
19 
20 /* Unsigned vector types */
21 
27 typedef uint8_t cne_v64u8_t __attribute__((vector_size(8), aligned(8)));
28 
34 typedef uint16_t cne_v64u16_t __attribute__((vector_size(8), aligned(8)));
35 
41 typedef uint32_t cne_v64u32_t __attribute__((vector_size(8), aligned(8)));
42 
49 typedef uint8_t cne_v128u8_t __attribute__((vector_size(16), aligned(16)));
50 
56 typedef uint16_t cne_v128u16_t __attribute__((vector_size(16), aligned(16)));
57 
63 typedef uint32_t cne_v128u32_t __attribute__((vector_size(16), aligned(16)));
64 
70 typedef uint64_t cne_v128u64_t __attribute__((vector_size(16), aligned(16)));
71 
80 typedef uint8_t cne_v256u8_t __attribute__((vector_size(32), aligned(32)));
81 
88 typedef uint16_t cne_v256u16_t __attribute__((vector_size(32), aligned(32)));
89 
95 typedef uint32_t cne_v256u32_t __attribute__((vector_size(32), aligned(32)));
96 
102 typedef uint64_t cne_v256u64_t __attribute__((vector_size(32), aligned(32)));
103 
104 /* Signed vector types */
105 
111 typedef int8_t cne_v64s8_t __attribute__((vector_size(8), aligned(8)));
112 
118 typedef int16_t cne_v64s16_t __attribute__((vector_size(8), aligned(8)));
119 
125 typedef int32_t cne_v64s32_t __attribute__((vector_size(8), aligned(8)));
126 
133 typedef int8_t cne_v128s8_t __attribute__((vector_size(16), aligned(16)));
134 
140 typedef int16_t cne_v128s16_t __attribute__((vector_size(16), aligned(16)));
141 
147 typedef int32_t cne_v128s32_t __attribute__((vector_size(16), aligned(16)));
148 
154 typedef int64_t cne_v128s64_t __attribute__((vector_size(16), aligned(16)));
155 
164 typedef int8_t cne_v256s8_t __attribute__((vector_size(32), aligned(32)));
165 
172 typedef int16_t cne_v256s16_t __attribute__((vector_size(32), aligned(32)));
173 
179 typedef int32_t cne_v256s32_t __attribute__((vector_size(32), aligned(32)));
180 
186 typedef int64_t cne_v256s64_t __attribute__((vector_size(32), aligned(32)));
187 
194  CNE_VECT_SIMD_128 = 128,
198  CNE_VECT_SIMD_MAX = INT16_MAX + 1,
203 };
204 
205 #define CNE_VECT_SIMD_DEFAULT CNE_VECT_SIMD_256
206 
217 
228 int cne_vect_set_max_simd_bitwidth(uint16_t bitwidth);
229 
230 #endif /* _CNE_VECT_GENERIC_H_ */
cne_vect_max_simd
@ CNE_VECT_SIMD_DISABLED
@ CNE_VECT_SIMD_256
@ CNE_VECT_SIMD_MAX
@ CNE_VECT_SIMD_128
@ CNE_VECT_SIMD_512
uint16_t cne_vect_get_max_simd_bitwidth(void)
int16_t cne_v128s16_t
int8_t cne_v64s8_t
int32_t cne_v64s32_t
int16_t cne_v64s16_t
int64_t cne_v256s64_t
uint32_t cne_v256u32_t
uint8_t cne_v256u8_t
uint64_t cne_v128u64_t
uint32_t cne_v128u32_t
uint32_t cne_v64u32_t
uint16_t cne_v64u16_t
uint64_t cne_v256u64_t
int8_t cne_v128s8_t
int8_t cne_v256s8_t
uint16_t cne_v256u16_t
int64_t cne_v128s64_t
int32_t cne_v256s32_t
uint8_t cne_v128u8_t
uint8_t cne_v64u8_t
int16_t cne_v256s16_t
uint16_t cne_v128u16_t
int cne_vect_set_max_simd_bitwidth(uint16_t bitwidth)
int32_t cne_v128s32_t