Add Intel intrinsics headers

This commit is contained in:
Justine Tunney 2023-04-27 02:56:41 -07:00
parent 369f9740de
commit b7bf052a4b
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
121 changed files with 47114 additions and 849 deletions

27
third_party/intel/mm_malloc.internal.h vendored Normal file
View file

@ -0,0 +1,27 @@
#ifndef _MM_MALLOC_H_INCLUDED
#define _MM_MALLOC_H_INCLUDED
#include "libc/mem/mem.h"
#ifndef __cplusplus
extern int _mm_posix_memalign(void **, size_t, size_t)
#else
extern "C" int _mm_posix_memalign(void **, size_t, size_t) throw()
#endif
__asm__("posix_memalign");
static __inline void *_mm_malloc(size_t __size, size_t __alignment) {
void *__ptr;
if (__alignment == 1) return malloc(__size);
if (__alignment == 2 || (sizeof(void *) == 8 && __alignment == 4))
__alignment = sizeof(void *);
if (_mm_posix_memalign(&__ptr, __alignment, __size) == 0)
return __ptr;
else
return NULL;
}
static __inline void _mm_free(void *__ptr) {
free(__ptr);
}
#endif /* _MM_MALLOC_H_INCLUDED */