diff --git a/include/vector_extentions/sse.h b/include/vector_extentions/sse.h new file mode 100644 index 0000000..2351c67 --- /dev/null +++ b/include/vector_extentions/sse.h @@ -0,0 +1,27 @@ +#ifndef _SSE_H +#define _SSE_H + + +#define SSE_XMM_SIZE 128 + +void enable_sse(void); + +int32_t test_sse(void); + +void sse2_add_double_arrays(double *dst, const double *a, const double *b, size_t count); + +void sse2_add_int32_arrays(int32_t *dst, const int32_t *a, const int32_t *b, size_t count); +void sse2_add_int64_arrays(int64_t *dst, const int64_t *a, const int64_t *b, size_t count); + + +char *sse2_strncpy(char *dest, const char *src, uint32_t n); + +void *sse2_memcpy(void *dst, const void *src, uint32_t n); + +void double_vector_to_int_vector(const double *src, int32_t *dst); +void int_vector_to_double_vector(const int32_t *src, double *dst); + +void *memclr_sse2(const void *const m_start, const size_t m_count); + + +#endif