Skip to content

Commit cfa9c12

Browse files
committed
gcc ARMv8 32-bit bug workaround
1 parent 4a3b3df commit cfa9c12

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
@@ -1037,17 +1037,23 @@ HEDLEY_DIAGNOSTIC_POP
10371037
# define SIMDE_BUG_GCC_95399
10381038
# define SIMDE_BUG_GCC_95471
10391039
# define SIMDE_BUG_GCC_111609
1040-
# elif defined(SIMDE_ARCH_POWER)
1040+
# if SIMDE_ARCH_ARM_CHECK(8,0)
1041+
# define SIMDE_BUG_GCC_113065
1042+
# endif
1043+
# endif
1044+
# if defined(SIMDE_ARCH_POWER)
10411045
# define SIMDE_BUG_GCC_95227
10421046
# define SIMDE_BUG_GCC_95782
10431047
# if !HEDLEY_GCC_VERSION_CHECK(12,0,0)
10441048
# define SIMDE_BUG_VEC_CPSGN_REVERSED_ARGS
10451049
# endif
1046-
# elif defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
1050+
# endif
1051+
# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
10471052
# if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__)
10481053
# define SIMDE_BUG_GCC_96174
10491054
# endif
1050-
# elif defined(SIMDE_ARCH_ZARCH)
1055+
# endif
1056+
# if defined(SIMDE_ARCH_ZARCH)
10511057
# define SIMDE_BUG_GCC_95782
10521058
# if HEDLEY_GCC_VERSION_CHECK(10,0,0)
10531059
# 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)