1 /**
2  * @file
3  *
4  * @author jeffrey.daily@gmail.com
5  *
6  * Copyright (c) 2015 Battelle Memorial Institute.
7  */
8 #ifndef _PARASAIL_INTERNAL_AVX_H_
9 #define _PARASAIL_INTERNAL_AVX_H_
10 
11 #include <stdint.h>
12 
13 #include <immintrin.h>
14 
15 #include "parasail.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 typedef union __m256i_8 {
22     __m256i m;
23     int8_t v[32];
24 } __m256i_8_t;
25 
26 typedef union __m256i_16 {
27     __m256i m;
28     int16_t v[16];
29 } __m256i_16_t;
30 
31 typedef union __m256i_32 {
32     __m256i m;
33     int32_t v[8];
34 } __m256i_32_t;
35 
36 typedef union __m256i_64 {
37     __m256i m;
38     int64_t v[4];
39 } __m256i_64_t;
40 
41 extern
42 __m256i * parasail_memalign___m256i(size_t alignment, size_t size);
43 
44 extern
45 void parasail_memset___m256i(__m256i *b, __m256i c, size_t len);
46 
47 extern
48 void parasail_free___m256i(void *ptr);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif /* _PARASAIL_INTERNAL_AVX_H_ */
55