[committed,AArch64] Robustify aarch64_wrffr
diff mbox series

Message ID mpty2wgymj9.fsf@arm.com
State New
Headers show
Series
  • [committed,AArch64] Robustify aarch64_wrffr
Related show

Commit Message

Richard Sandiford Nov. 16, 2019, 1:32 p.m. UTC
This patch uses distinct values for the FFR and FFRT outputs of
aarch64_wrffr, so that a following aarch64_copy_ffr_to_ffrt has
an effect.  This is needed to avoid regressions with later patches.

The block comment at the head of the file already described
the pattern this way, and there was already an unspec for it.
Not sure what made me change it...

Tested on aarch64-linux-gnu and applied as r278356.

Richard


2019-11-16  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* config/aarch64/aarch64-sve.md (aarch64_wrffr): Wrap the FFRT
	output in UNSPEC_WRFFR.

Patch
diff mbox series

Index: gcc/config/aarch64/aarch64-sve.md
===================================================================
--- gcc/config/aarch64/aarch64-sve.md	2019-11-16 11:30:29.089315019 +0000
+++ gcc/config/aarch64/aarch64-sve.md	2019-11-16 13:31:11.590394198 +0000
@@ -984,7 +984,7 @@  (define_insn "aarch64_wrffr"
   [(set (reg:VNx16BI FFR_REGNUM)
 	(match_operand:VNx16BI 0 "aarch64_simd_reg_or_minus_one" "Dm, Upa"))
    (set (reg:VNx16BI FFRT_REGNUM)
-	(match_dup 0))]
+	(unspec:VNx16BI [(match_dup 0)] UNSPEC_WRFFR))]
   "TARGET_SVE"
   "@
    setffr