Skip to content

Commit 1a88105

Browse files
committed
gcc ARMv8 32-bit bug workaround
1 parent 7e6abc3 commit 1a88105

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

simde/simde-common.h

+9-3
Original file line numberDiff line numberDiff line change
@@ -1036,17 +1036,23 @@ HEDLEY_DIAGNOSTIC_POP
10361036
# define SIMDE_BUG_GCC_95399
10371037
# define SIMDE_BUG_GCC_95471
10381038
# define SIMDE_BUG_GCC_111609
1039-
# elif defined(SIMDE_ARCH_POWER)
1039+
# if SIMDE_ARCH_ARM_CHECK(8,0)
1040+
# define SIMDE_BUG_GCC_113065
1041+
# endif
1042+
# endif
1043+
# if defined(SIMDE_ARCH_POWER)
10401044
# define SIMDE_BUG_GCC_95227
10411045
# define SIMDE_BUG_GCC_95782
10421046
# if !HEDLEY_GCC_VERSION_CHECK(12,0,0)
10431047
# define SIMDE_BUG_VEC_CPSGN_REVERSED_ARGS
10441048
# endif
1045-
# elif defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
1049+
# endif
1050+
# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
10461051
# if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__)
10471052
# define SIMDE_BUG_GCC_96174
10481053
# endif
1049-
# elif defined(SIMDE_ARCH_ZARCH)
1054+
# endif
1055+
# if defined(SIMDE_ARCH_ZARCH)
10501056
# define SIMDE_BUG_GCC_95782
10511057
# if HEDLEY_GCC_VERSION_CHECK(10,0,0)
10521058
# define SIMDE_BUG_GCC_101614

test/arm/neon/add.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -2012,7 +2012,7 @@ test_simde_vaddq_p64 (SIMDE_MUNIT_TEST_ARGS) {
20122012
#endif
20132013
}
20142014

2015-
#if !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE)
2015+
#if !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE) && !defined(SIMDE_BUG_GCC_113065)
20162016
static int
20172017
test_simde_vaddq_p128 (SIMDE_MUNIT_TEST_ARGS) {
20182018
struct {
@@ -2067,7 +2067,7 @@ test_simde_vaddq_p128 (SIMDE_MUNIT_TEST_ARGS) {
20672067

20682068
return 0;
20692069
}
2070-
#endif /* !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE) */
2070+
#endif /* !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE) && !defined(SIMDE_BUG_GCC_113065)*/
20712071

20722072
SIMDE_TEST_FUNC_LIST_BEGIN
20732073
SIMDE_TEST_FUNC_LIST_ENTRY(vaddh_f16)
@@ -2104,7 +2104,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vadd_p64)
21042104
SIMDE_TEST_FUNC_LIST_ENTRY(vaddq_p8)
21052105
SIMDE_TEST_FUNC_LIST_ENTRY(vaddq_p16)
21062106
SIMDE_TEST_FUNC_LIST_ENTRY(vaddq_p64)
2107-
#if !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE)
2107+
#if !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE) && !defined(SIMDE_BUG_GCC_113065)
21082108
SIMDE_TEST_FUNC_LIST_ENTRY(vaddq_p128)
21092109
#endif /* !defined(SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE) */
21102110

0 commit comments

Comments
 (0)