[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