Disable tree-vectorize on some functions for gcc-4.8.5

This commit is contained in:
Raphael G 2018-01-21 10:24:53 -05:00
parent 4c64d8d6d7
commit 6f0c72712d
4 changed files with 52 additions and 0 deletions

View File

@ -106,6 +106,13 @@ static OPUS_INLINE void silk_noise_shape_quantizer_del_dec(
opus_int decisionDelay /* I */
);
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef TENFOURFOX_G5
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
void silk_NSQ_del_dec(
const silk_encoder_state *psEncC, /* I/O Encoder State */
silk_nsq_state *NSQ, /* I/O NSQ state */

View File

@ -1116,6 +1116,13 @@ void I422ToARGB4444Row_C(const uint8* src_y,
}
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef __ppc__
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
void I422ToARGB1555Row_C(const uint8* src_y,
const uint8* src_u,
const uint8* src_v,
@ -1154,6 +1161,16 @@ void I422ToARGB1555Row_C(const uint8* src_y,
}
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef __ppc__
#ifndef TENFOURFOX_G5
/* Work around issue 461, 7450 only
Safe to comment for a 7400 build */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
#endif
void I422ToRGB565Row_C(const uint8* src_y,
const uint8* src_u,
const uint8* src_v,
@ -1280,6 +1297,14 @@ void NV21ToARGBRow_C(const uint8* src_y,
}
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef __ppc__
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
void NV12ToRGB565Row_C(const uint8* src_y,
const uint8* usrc_v,
uint8* dst_rgb565,
@ -1315,6 +1340,13 @@ void NV12ToRGB565Row_C(const uint8* src_y,
}
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef __ppc__
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
void NV21ToRGB565Row_C(const uint8* src_y,
const uint8* vsrc_u,
uint8* dst_rgb565,

View File

@ -88,6 +88,13 @@ void ScaleRowDown4_C(const uint8* src_ptr, ptrdiff_t src_stride,
}
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef TENFOURFOX_G5
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
void ScaleRowDown4Box_C(const uint8* src_ptr, ptrdiff_t src_stride,
uint8* dst, int dst_width) {
intptr_t stride = src_stride;

View File

@ -385,6 +385,12 @@ int WebRtcIsac_DecodeSpec(Bitstr* streamdata, int16_t AvgPitchGain_Q12,
return len;
}
#if (__GNUC__ == 4 && __GNUC_MINOR__ == 8 && __GNUC_PATCHLEVEL__ == 5)
#ifdef TENFOURFOX_G5
/* work around issue 461 */
__attribute__((optimize("no-tree-vectorize")))
#endif
#endif
int WebRtcIsac_EncodeSpec(const int16_t* fr, const int16_t* fi,
int16_t AvgPitchGain_Q12, enum ISACBand band,