summaryrefslogtreecommitdiff
path: root/vpx_util
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2015-08-05 18:31:50 -0700
committerJames Zern <jzern@google.com>2015-08-06 12:27:00 -0700
commit2abfd8f92a22bba12bed78fb4525209ae9e90b4d (patch)
treed541935f5d6ee635e8d3711cc475662772742cb2 /vpx_util
parentf1ecf63f687d3bb3357357ae7f6df329f7fc861b (diff)
downloadlibvpx-2abfd8f92a22bba12bed78fb4525209ae9e90b4d.tar.gz
endian_inl.h: fix mips32 android build
when configuring with mips32-android-gcc HAVE_MIPS32 would be set, but the ndk does not set -mips32r2 for APP_ABI=mips which results in BSwap32 failing to build; refine the check in endian_inl.h Change-Id: I22893fe61f29111eb902d961b500b2174596268d
Diffstat (limited to 'vpx_util')
-rw-r--r--vpx_util/endian_inl.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/vpx_util/endian_inl.h b/vpx_util/endian_inl.h
index 12cc720a4..6b177f174 100644
--- a/vpx_util/endian_inl.h
+++ b/vpx_util/endian_inl.h
@@ -63,6 +63,11 @@
#define HAVE_BUILTIN_BSWAP16
#endif
+#if HAVE_MIPS32 && defined(__mips__) && !defined(__mips64) && \
+ defined(__mips_isa_rev) && (__mips_isa_rev >= 2) && (__mips_isa_rev < 6)
+#define VPX_USE_MIPS32_R2
+#endif
+
static INLINE uint16_t BSwap16(uint16_t x) {
#if defined(HAVE_BUILTIN_BSWAP16)
return __builtin_bswap16(x);
@@ -75,7 +80,7 @@ static INLINE uint16_t BSwap16(uint16_t x) {
}
static INLINE uint32_t BSwap32(uint32_t x) {
-#if HAVE_MIPS32
+#if defined(VPX_USE_MIPS32_R2)
uint32_t ret;
__asm__ volatile (
"wsbh %[ret], %[x] \n\t"