Skip to content

Commit 4cb49ac

Browse files
committed
gcc 15+ arm64+sha3: work around broken vxarq_u64
1 parent afd07f5 commit 4cb49ac

2 files changed

Lines changed: 14 additions & 12 deletions

File tree

simde/arm/neon/xar.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ simde_vxarq_u64(simde_uint64x2_t a, simde_uint64x2_t b, const int d)
4949

5050
return simde_uint64x2_from_private(r_);
5151
}
52-
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARCH_ARM_SHA3)
52+
#if defined(SIMDE_ARM_NEON_A64V8_NATIVE) && defined(SIMDE_ARCH_ARM_SHA3) && !defined(SIMDE_BUG_GCC_123584)
5353
#define simde_vxarq_u64(a, b, d) vxarq_u64((a), (b), (d))
5454
#endif
5555
#if defined(SIMDE_ARM_NEON_A64V8_ENABLE_NATIVE_ALIASES) || (defined(SIMDE_ENABLE_NATIVE_ALIASES) && !defined(SIMDE_ARCH_ARM_SHA3))

simde/simde-common.h

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,12 +1027,19 @@ HEDLEY_DIAGNOSTIC_POP
10271027
# if !(HEDLEY_GCC_VERSION_CHECK(10,3,0))
10281028
# define SIMDE_BUG_GCC_98521
10291029
# endif
1030-
# endif
1031-
# if !HEDLEY_GCC_VERSION_CHECK(9,4,0) && defined(SIMDE_ARCH_AARCH64)
1032-
# define SIMDE_BUG_GCC_94488
1033-
# endif
1034-
# if !HEDLEY_GCC_VERSION_CHECK(9,1,0) && defined(SIMDE_ARCH_AARCH64)
1035-
# define SIMDE_BUG_GCC_REV_264019
1030+
# elif defined(SIMDE_ARCH_AARCH64)
1031+
# if !HEDLEY_GCC_VERSION_CHECK(9,4,0)
1032+
# define SIMDE_BUG_GCC_94488
1033+
# endif
1034+
# if !HEDLEY_GCC_VERSION_CHECK(9,1,0)
1035+
# define SIMDE_BUG_GCC_REV_264019
1036+
# endif
1037+
# if HEDLEY_GCC_VERSION_CHECK(15,0,0)
1038+
# define SIMDE_BUG_GCC_123584
1039+
# endif
1040+
# if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__)
1041+
# define SIMDE_BUG_GCC_96174
1042+
# endif
10361043
# endif
10371044
# if (!HEDLEY_GCC_VERSION_CHECK(9,0,0) && !defined(SIMDE_ARCH_AARCH64)) || (!defined(SIMDE_ARCH_AARCH64) && defined(SIMDE_ARCH_ARM))
10381045
# define SIMDE_BUG_GCC_REV_260989
@@ -1057,11 +1064,6 @@ HEDLEY_DIAGNOSTIC_POP
10571064
# define SIMDE_BUG_VEC_CPSGN_REVERSED_ARGS
10581065
# endif
10591066
# endif
1060-
# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
1061-
# if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__)
1062-
# define SIMDE_BUG_GCC_96174
1063-
# endif
1064-
# endif
10651067
# if defined(SIMDE_ARCH_ZARCH)
10661068
# define SIMDE_BUG_GCC_95782
10671069
# if HEDLEY_GCC_VERSION_CHECK(10,0,0)

0 commit comments

Comments
 (0)