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 <keithp@keithp.com>
This commit is contained in:
Keith Packard 2022-10-24 22:31:04 -07:00 committed by Stephanos Ioannidis
parent 13381c2f35
commit 625ae26c6d
1 changed files with 1 additions and 0 deletions

View File

@ -6,6 +6,7 @@ CT_ARCH_ARM=y
CT_MULTILIB=y
CT_ARCH_64=y
CT_TARGET_VENDOR="zephyr"
CT_TARGET_CFLAGS="-moverride=tune=no_ldp_stp_qregs"
CT_BINUTILS_SRC_CUSTOM=y
CT_BINUTILS_CUSTOM_LOCATION="${GITHUB_WORKSPACE}/binutils"
CT_NEWLIB_SRC_CUSTOM=y