Skip to content

Commit 73cddd2

Browse files
committed
aarch64: Add -moverride=tune=no_ldp_stp_qregs to TARGET_CFLAGS
From Zephyr arch/arm64/core/CMakeLists.txt: GCC may generate ldp/stp instructions with the Advanced SIMD Qn registers for consecutive 32-byte loads and stores. Saving and restoring the Advanced SIMD context is very expensive, and it is preferable to keep it turned off by not emitting these instructions for better context switching performance. Also, if these instructions happen from an ISR, they will trap and appear to leave interrupts disabled afterwards. That bug should be fixed. Signed-off-by: Keith Packard <[email protected]>
1 parent 56c5427 commit 73cddd2

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

configs/aarch64-zephyr-elf.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ CT_ARCH_ARM=y
66
CT_MULTILIB=y
77
CT_ARCH_64=y
88
CT_TARGET_VENDOR="zephyr"
9+
CT_TARGET_CFLAGS="-moverride=tune=no_ldp_stp_qregs"
910
CT_BINUTILS_SRC_CUSTOM=y
1011
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
1112
CT_NEWLIB_SRC_CUSTOM=y

0 commit comments

Comments
 (0)