Commit f86486bf3d for aom
commit f86486bf3d698b02116e58dc664e632321a190e7
Author: James Zern <jzern@google.com>
Date: Thu Jun 25 16:24:14 2026 -0700
disable av1_lowbd_inv_txfm2d_add_neon w/gcc-14+
`NEON/AV1LbdInvTxfm2d*` and `*TestVector*` tests fail with some
configurations using `arm-linux-gnueabi`; no issues were seen with
`arm-linux-gnueabihf`. The check is imprecise and relies on the default
value of `__ARM_ARCH` to be less than `7` with the configuration used
with `arm-linux-gnueabi`.
Bug: 528050364
Change-Id: I25e3a3ce4f8f708b222d270b2e81edc1b7685283
diff --git a/av1/common/arm/av1_inv_txfm_neon.c b/av1/common/arm/av1_inv_txfm_neon.c
index 0c41b0c999..4b8c31f377 100644
--- a/av1/common/arm/av1_inv_txfm_neon.c
+++ b/av1/common/arm/av1_inv_txfm_neon.c
@@ -4214,10 +4214,16 @@ void av1_lowbd_inv_txfm2d_add_neon(const int32_t *input, uint8_t *output,
}
void av1_inv_txfm_add_neon(const tran_low_t *dqcoeff, uint8_t *dst, int stride,
const TxfmParam *txfm_param) {
- const TX_TYPE tx_type = txfm_param->tx_type;
if (!txfm_param->lossless) {
+ // TODO(bug 528050364): Remove the C fallback after issues with
+ // arm-linux-gnueabi-gcc-14+ are addressed.
+#if defined(__GNUC__) && __GNUC__ >= 14 && defined(__ARM_ARCH) && __ARM_ARCH < 7
+ av1_inv_txfm_add_c(dqcoeff, dst, stride, txfm_param);
+#else
+ const TX_TYPE tx_type = txfm_param->tx_type;
av1_lowbd_inv_txfm2d_add_neon(dqcoeff, dst, stride, tx_type,
txfm_param->tx_size, txfm_param->eob);
+#endif
} else {
av1_inv_txfm_add_c(dqcoeff, dst, stride, txfm_param);
}
diff --git a/test/av1_inv_txfm2d_test.cc b/test/av1_inv_txfm2d_test.cc
index c26fe700ec..86601bfd33 100644
--- a/test/av1_inv_txfm2d_test.cc
+++ b/test/av1_inv_txfm2d_test.cc
@@ -398,8 +398,15 @@ extern "C" void av1_lowbd_inv_txfm2d_add_neon(const int32_t *input,
TX_TYPE tx_type, TX_SIZE tx_size,
int eob);
+// TODO(bug 528050364): Enable this test after issues with
+// arm-linux-gnueabi-gcc-14+ are addressed.
+#if defined(__GNUC__) && __GNUC__ >= 14 && defined(__ARM_ARCH) && __ARM_ARCH < 7
+INSTANTIATE_TEST_SUITE_P(DISABLED_NEON, AV1LbdInvTxfm2d,
+ ::testing::Values(av1_lowbd_inv_txfm2d_add_neon));
+#else
INSTANTIATE_TEST_SUITE_P(NEON, AV1LbdInvTxfm2d,
::testing::Values(av1_lowbd_inv_txfm2d_add_neon));
+#endif
#endif // HAVE_NEON
} // namespace