public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-916] aarch64: Relax aarch64_sqxtun2<mode> RTL pattern
@ 2021-05-19 13:46 Jonathan Wright
0 siblings, 0 replies; only message in thread
From: Jonathan Wright @ 2021-05-19 13:46 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:778ac63fe244b63380bd3b2dee4d20ff27332bce
commit r12-916-g778ac63fe244b63380bd3b2dee4d20ff27332bce
Author: Jonathan Wright <jonathan.wright@arm.com>
Date: Fri May 14 14:49:47 2021 +0100
aarch64: Relax aarch64_sqxtun2<mode> RTL pattern
Use UNSPEC_SQXTUN instead of UNSPEC_SQXTUN2 in aarch64_sqxtun2<mode>
patterns. This allows for more more aggressive combinations and
ultimately better code generation. The now redundant UNSPEC_SQXTUN2
is removed.
gcc/ChangeLog:
2021-05-14 Jonathn Wright <jonathan.wright@arm.com>
* config/aarch64/aarch64-simd.md: Use UNSPEC_SQXTUN instead
of UNSPEC_SQXTUN2.
* config/aarch64/iterators.md: Remove UNSPEC_SQXTUN2.
Diff:
---
gcc/config/aarch64/aarch64-simd.md | 6 +++---
gcc/config/aarch64/iterators.md | 1 -
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md
index 5473d61aaa9..79523093ec3 100644
--- a/gcc/config/aarch64/aarch64-simd.md
+++ b/gcc/config/aarch64/aarch64-simd.md
@@ -4859,7 +4859,7 @@
(vec_concat:<VNARROWQ2>
(match_operand:<VNARROWQ> 1 "register_operand" "0")
(unspec:<VNARROWQ>
- [(match_operand:VQN 2 "register_operand" "w")] UNSPEC_SQXTUN2)))]
+ [(match_operand:VQN 2 "register_operand" "w")] UNSPEC_SQXTUN)))]
"TARGET_SIMD && !BYTES_BIG_ENDIAN"
"sqxtun2\\t%0.<V2ntype>, %2.<Vtype>"
[(set_attr "type" "neon_sat_shift_imm_narrow_q")]
@@ -4869,7 +4869,7 @@
[(set (match_operand:<VNARROWQ2> 0 "register_operand" "=w")
(vec_concat:<VNARROWQ2>
(unspec:<VNARROWQ>
- [(match_operand:VQN 2 "register_operand" "w")] UNSPEC_SQXTUN2)
+ [(match_operand:VQN 2 "register_operand" "w")] UNSPEC_SQXTUN)
(match_operand:<VNARROWQ> 1 "register_operand" "0")))]
"TARGET_SIMD && BYTES_BIG_ENDIAN"
"sqxtun2\\t%0.<V2ntype>, %2.<Vtype>"
@@ -4880,7 +4880,7 @@
[(match_operand:<VNARROWQ2> 0 "register_operand")
(match_operand:<VNARROWQ> 1 "register_operand")
(unspec:<VNARROWQ>
- [(match_operand:VQN 2 "register_operand")] UNSPEC_SQXTUN2)]
+ [(match_operand:VQN 2 "register_operand")] UNSPEC_SQXTUN)]
"TARGET_SIMD"
{
if (BYTES_BIG_ENDIAN)
diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md
index 29ce6690e9d..0ec93b0ff6a 100644
--- a/gcc/config/aarch64/iterators.md
+++ b/gcc/config/aarch64/iterators.md
@@ -521,7 +521,6 @@
UNSPEC_USQADD ; Used in aarch64-simd.md.
UNSPEC_SUQADD ; Used in aarch64-simd.md.
UNSPEC_SQXTUN ; Used in aarch64-simd.md.
- UNSPEC_SQXTUN2 ; Used in aarch64-simd.md.
UNSPEC_SSRA ; Used in aarch64-simd.md.
UNSPEC_USRA ; Used in aarch64-simd.md.
UNSPEC_SRSRA ; Used in aarch64-simd.md.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-19 13:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-19 13:46 [gcc r12-916] aarch64: Relax aarch64_sqxtun2<mode> RTL pattern Jonathan Wright
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).