Fix build with LLVM on powerpc64(le) (#1347)

Conflicting symbols need to be undefined before including altivec.h.
This commit is contained in:
pkubaj
2020-10-24 23:34:57 +00:00
committed by GitHub
parent 4c054b9f0d
commit 95bc0bdc21

View File

@ -205,7 +205,6 @@ static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
/* vector definitions */ /* vector definitions */
#ifdef __ALTIVEC__ #ifdef __ALTIVEC__
#include <altivec.h>
/* The altivec.h header says we're allowed to undef these for /* The altivec.h header says we're allowed to undef these for
* C++ compatibility. Here we don't care about C++, but we * C++ compatibility. Here we don't care about C++, but we
* undef them anyway to avoid namespace pollution. * undef them anyway to avoid namespace pollution.
@ -213,6 +212,7 @@ static inline uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c)
#undef vector #undef vector
#undef pixel #undef pixel
#undef bool #undef bool
#include <altivec.h>
#define VECTYPE __vector unsigned char #define VECTYPE __vector unsigned char
#define SPLAT(p) vec_splat(vec_ld(0, p), 0) #define SPLAT(p) vec_splat(vec_ld(0, p), 0)
#define ALL_EQ(v1, v2) vec_all_eq(v1, v2) #define ALL_EQ(v1, v2) vec_all_eq(v1, v2)