Commit f75cdd2c by Richard Sandiford Committed by Richard Sandiford

[AArch64] Add "FULL" to SVE mode iterator names

An upcoming patch will make more use of partial/unpacked SVE vectors.
We then need a distinction between mode iterators that include partial
modes and those that only include "full" modes.  This patch prepares
for that by adding "FULL" to the names of iterators that only select
full modes.  There should be no change in behaviour.

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

gcc/
	* config/aarch64/iterators.md (SVE_ALL): Rename to...
	(SVE_FULL): ...this.
	(SVE_I): Rename to...
	(SVE_FULL_I): ...this.
	(SVE_F): Rename to...
	(SVE_FULL_F): ...this.
	(SVE_BHSI): Rename to...
	(SVE_FULL_BHSI): ...this.
	(SVE_HSD): Rename to...
	(SVE_FULL_HSD): ...this.
	(SVE_HSDI): Rename to...
	(SVE_FULL_HSDI): ...this.
	(SVE_HSF): Rename to...
	(SVE_FULL_HSF): ...this.
	(SVE_SD): Rename to...
	(SVE_FULL_SD): ...this.
	(SVE_SDI): Rename to...
	(SVE_FULL_SDI): ...this.
	(SVE_SDF): Rename to...
	(SVE_FULL_SDF): ...this.
	(SVE_S): Rename to...
	(SVE_FULL_S): ...this.
	(SVE_D): Rename to...
	(SVE_FULL_D): ...this.
	* config/aarch64/aarch64-sve.md: Apply the above renaming throughout.
	* config/aarch64/aarch64-sve2.md: Likewise.

From-SVN: r278338
parent eb23241b
2019-11-16 Richard Sandiford <richard.sandiford@arm.com> 2019-11-16 Richard Sandiford <richard.sandiford@arm.com>
* config/aarch64/iterators.md (SVE_ALL): Rename to...
(SVE_FULL): ...this.
(SVE_I): Rename to...
(SVE_FULL_I): ...this.
(SVE_F): Rename to...
(SVE_FULL_F): ...this.
(SVE_BHSI): Rename to...
(SVE_FULL_BHSI): ...this.
(SVE_HSD): Rename to...
(SVE_FULL_HSD): ...this.
(SVE_HSDI): Rename to...
(SVE_FULL_HSDI): ...this.
(SVE_HSF): Rename to...
(SVE_FULL_HSF): ...this.
(SVE_SD): Rename to...
(SVE_FULL_SD): ...this.
(SVE_SDI): Rename to...
(SVE_FULL_SDI): ...this.
(SVE_SDF): Rename to...
(SVE_FULL_SDF): ...this.
(SVE_S): Rename to...
(SVE_FULL_S): ...this.
(SVE_D): Rename to...
(SVE_FULL_D): ...this.
* config/aarch64/aarch64-sve.md: Apply the above renaming throughout.
* config/aarch64/aarch64-sve2.md: Likewise.
2019-11-16 Richard Sandiford <richard.sandiford@arm.com>
* config/aarch64/aarch64.opt (--param=aarch64-sve-compare-costs): * config/aarch64/aarch64.opt (--param=aarch64-sve-compare-costs):
New option. New option.
* doc/invoke.texi: Document it. * doc/invoke.texi: Document it.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -284,10 +284,6 @@ ...@@ -284,10 +284,6 @@
;; count. ;; count.
(define_mode_iterator VMUL_CHANGE_NLANES [V4HI V8HI V2SI V4SI V2SF V4SF]) (define_mode_iterator VMUL_CHANGE_NLANES [V4HI V8HI V2SI V4SI V2SF V4SF])
;; All SVE vector modes.
(define_mode_iterator SVE_ALL [VNx16QI VNx8HI VNx4SI VNx2DI
VNx8HF VNx4SF VNx2DF])
;; Iterators for single modes, for "@" patterns. ;; Iterators for single modes, for "@" patterns.
(define_mode_iterator VNx8HI_ONLY [VNx8HI]) (define_mode_iterator VNx8HI_ONLY [VNx8HI])
(define_mode_iterator VNx4SI_ONLY [VNx4SI]) (define_mode_iterator VNx4SI_ONLY [VNx4SI])
...@@ -302,38 +298,46 @@ ...@@ -302,38 +298,46 @@
VNx64QI VNx32HI VNx16SI VNx8DI VNx64QI VNx32HI VNx16SI VNx8DI
VNx32HF VNx16SF VNx8DF]) VNx32HF VNx16SF VNx8DF])
;; SVE integer vector modes that have 8-bit, 16-bit or 32-bit elements. ;; All fully-packed SVE vector modes.
(define_mode_iterator SVE_BHSI [VNx16QI VNx8HI VNx4SI]) (define_mode_iterator SVE_FULL [VNx16QI VNx8HI VNx4SI VNx2DI
VNx8HF VNx4SF VNx2DF])
;; All fully-packed SVE integer vector modes.
(define_mode_iterator SVE_FULL_I [VNx16QI VNx8HI VNx4SI VNx2DI])
;; SVE integer vector modes that have 16-bit, 32-bit or 64-bit elements. ;; All fully-packed SVE floating-point vector modes.
(define_mode_iterator SVE_HSDI [VNx8HI VNx4SI VNx2DI]) (define_mode_iterator SVE_FULL_F [VNx8HF VNx4SF VNx2DF])
;; SVE floating-point vector modes that have 16-bit or 32-bit elements. ;; Fully-packed SVE integer vector modes that have 8-bit, 16-bit or 32-bit
(define_mode_iterator SVE_HSF [VNx8HF VNx4SF]) ;; elements.
(define_mode_iterator SVE_FULL_BHSI [VNx16QI VNx8HI VNx4SI])
;; SVE integer vector modes that have 32-bit or 64-bit elements. ;; Fully-packed SVE vector modes that have 16-bit, 32-bit or 64-bit elements.
(define_mode_iterator SVE_SDI [VNx4SI VNx2DI]) (define_mode_iterator SVE_FULL_HSD [VNx8HI VNx4SI VNx2DI VNx8HF VNx4SF VNx2DF])
;; SVE floating-point vector modes that have 32-bit or 64-bit elements. ;; Fully-packed SVE integer vector modes that have 16-bit, 32-bit or 64-bit
(define_mode_iterator SVE_SDF [VNx4SF VNx2DF]) ;; elements.
(define_mode_iterator SVE_FULL_HSDI [VNx8HI VNx4SI VNx2DI])
;; All SVE vector modes that have 16-bit, 32-bit or 64-bit elements. ;; Fully-packed SVE floating-point vector modes that have 16-bit or 32-bit
(define_mode_iterator SVE_HSD [VNx8HI VNx4SI VNx2DI VNx8HF VNx4SF VNx2DF]) ;; elements.
(define_mode_iterator SVE_FULL_HSF [VNx8HF VNx4SF])
;; All SVE vector modes that have 32-bit or 64-bit elements. ;; Fully-packed SVE vector modes that have 32-bit or 64-bit elements.
(define_mode_iterator SVE_SD [VNx4SI VNx2DI VNx4SF VNx2DF]) (define_mode_iterator SVE_FULL_SD [VNx4SI VNx2DI VNx4SF VNx2DF])
;; All SVE vector modes that have 32-bit elements. ;; Fully-packed SVE integer vector modes that have 32-bit or 64-bit elements.
(define_mode_iterator SVE_S [VNx4SI VNx4SF]) (define_mode_iterator SVE_FULL_SDI [VNx4SI VNx2DI])
;; All SVE vector modes that have 64-bit elements. ;; Fully-packed SVE floating-point vector modes that have 32-bit or 64-bit
(define_mode_iterator SVE_D [VNx2DI VNx2DF]) ;; elements.
(define_mode_iterator SVE_FULL_SDF [VNx4SF VNx2DF])
;; All SVE integer vector modes. ;; Fully-packed SVE vector modes that have 32-bit elements.
(define_mode_iterator SVE_I [VNx16QI VNx8HI VNx4SI VNx2DI]) (define_mode_iterator SVE_FULL_S [VNx4SI VNx4SF])
;; All SVE floating-point vector modes. ;; Fully-packed SVE vector modes that have 64-bit elements.
(define_mode_iterator SVE_F [VNx8HF VNx4SF VNx2DF]) (define_mode_iterator SVE_FULL_D [VNx2DI VNx2DF])
;; All partial SVE modes. ;; All partial SVE modes.
(define_mode_iterator SVE_PARTIAL [VNx2QI (define_mode_iterator SVE_PARTIAL [VNx2QI
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment