This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r263174 - in /trunk/gcc: ChangeLog config/aarch...
- From: rearnsha at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Tue, 31 Jul 2018 17:36:27 -0000
- Subject: r263174 - in /trunk/gcc: ChangeLog config/aarch...
Author: rearnsha
Date: Tue Jul 31 17:36:26 2018
New Revision: 263174
URL: https://gcc.gnu.org/viewcvs?rev=263174&root=gcc&view=rev
Log:
AArch64 - use CSDB based sequences if speculation tracking is enabled
In this final patch, now that we can track speculation through conditional
branches, we can use this information to use a less expensive CSDB based
speculation barrier.
* config/aarch64/iterators.md (ALLI_TI): New iterator.
* config/aarch64/aarch64.md (despeculate_copy<ALLI_TI:mode>): New
expand.
(despeculate_copy<ALLI:mode>_insn): New insn.
(despeculate_copyti_insn): New insn.
(despeculate_simple<ALLI:mode>): New insn
(despeculate_simpleti): New insn.
* config/aarch64/aarch64.c (aarch64_speculation_safe_value): New
function.
(TARGET_SPECULATION_SAFE_VALUE): Redefine to
aarch64_speculation_safe_value.
(aarch64_print_operand): Handle const0_rtx in modifier 'H'.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/config/aarch64/aarch64.md
trunk/gcc/config/aarch64/iterators.md