[PATCH 7/7] AArch64 - use CSDB based sequences if speculation tracking is enabled
Richard Earnshaw
Richard.Earnshaw@arm.com
Mon Jul 9 16:39:00 GMT 2018
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.
---
gcc/config/aarch64/aarch64.c | 42 ++++++++++++++++++
gcc/config/aarch64/aarch64.md | 96 +++++++++++++++++++++++++++++++++++++++++
gcc/config/aarch64/iterators.md | 3 ++
3 files changed, 141 insertions(+)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-AArch64-use-CSDB-based-sequences-if-speculation-trac.patch
Type: text/x-patch
Size: 5947 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180709/528450a1/attachment.bin>
More information about the Gcc-patches
mailing list