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