macOS: Enabled posix_memalign() like on other Unix platforms.
This commit is contained in:
parent
57e0e520e8
commit
c80564ef9f
|
@ -46,13 +46,7 @@ void *util_aligned_malloc(size_t size, int alignment)
|
|||
return MEM_mallocN_aligned(size, alignment, "Cycles Aligned Alloc");
|
||||
#elif defined(_WIN32)
|
||||
return _aligned_malloc(size, alignment);
|
||||
#elif defined(__APPLE__)
|
||||
/* On Mac OS X, both the heap and the stack are guaranteed 16-byte aligned so
|
||||
* they work natively with SSE types with no further work.
|
||||
*/
|
||||
assert(alignment == 16);
|
||||
return malloc(size);
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)
|
||||
void *result;
|
||||
if (posix_memalign(&result, alignment, size)) {
|
||||
/* Non-zero means allocation error
|
||||
|
|
|
@ -72,14 +72,7 @@ void *aligned_malloc(size_t size, size_t alignment)
|
|||
{
|
||||
#ifdef _WIN32
|
||||
return _aligned_malloc(size, alignment);
|
||||
#elif defined(__APPLE__)
|
||||
/* On Mac OS X, both the heap and the stack are guaranteed 16-byte aligned so
|
||||
* they work natively with SSE types with no further work.
|
||||
*/
|
||||
assert(alignment == 16);
|
||||
(void)alignment;
|
||||
return malloc(size);
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined (__APPLE__)
|
||||
void *result;
|
||||
|
||||
if (posix_memalign(&result, alignment, size)) {
|
||||
|
|
|
@ -44,12 +44,7 @@ namespace libmv {
|
|||
void *aligned_malloc(int size, int alignment) {
|
||||
#ifdef _WIN32
|
||||
return _aligned_malloc(size, alignment);
|
||||
#elif defined(__APPLE__)
|
||||
// On Mac OS X, both the heap and the stack are guaranteed 16-byte aligned so
|
||||
// they work natively with SSE types with no further work.
|
||||
CHECK_EQ(alignment, 16);
|
||||
return malloc(size);
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__)
|
||||
void *result;
|
||||
|
||||
if (posix_memalign(&result, alignment, size)) {
|
||||
|
|
Loading…
Reference in New Issue