* [PATCH] tree-optimization/111751 - support 1024 bit vector constant reinterpretation
@ 2023-10-10 12:19 Richard Biener
0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2023-10-10 12:19 UTC (permalink / raw)
To: gcc-patches
The following ups the limit in fold_view_convert_expr to handle
1024bit vectors as used by GCN and RVV. It also robustifies
the handling in visit_reference_op_load to properly give up when
constants cannot be re-interpreted.
Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed.
PR tree-optimization/111751
* fold-const.cc (fold_view_convert_expr): Up the buffer size
to 128 bytes.
* tree-ssa-scccvn.cc (visit_reference_op_load): Special case
constants, giving up when re-interpretation to the target type
fails.
---
gcc/fold-const.cc | 4 ++--
gcc/tree-ssa-sccvn.cc | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc
index 4f8561509ff..82299bb7f1d 100644
--- a/gcc/fold-const.cc
+++ b/gcc/fold-const.cc
@@ -9266,8 +9266,8 @@ fold_view_convert_vector_encoding (tree type, tree expr)
static tree
fold_view_convert_expr (tree type, tree expr)
{
- /* We support up to 512-bit values (for V8DFmode). */
- unsigned char buffer[64];
+ /* We support up to 1024-bit values (for GCN/RISC-V V128QImode). */
+ unsigned char buffer[128];
int len;
/* Check that the host and target are sane. */
diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc
index ce8ae8c6753..0b2c10dcc1a 100644
--- a/gcc/tree-ssa-sccvn.cc
+++ b/gcc/tree-ssa-sccvn.cc
@@ -5751,6 +5751,8 @@ visit_reference_op_load (tree lhs, tree op, gimple *stmt)
&& maybe_lt (GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (result))),
GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (op)))))
result = NULL_TREE;
+ else if (CONSTANT_CLASS_P (result))
+ result = const_unop (VIEW_CONVERT_EXPR, TREE_TYPE (op), result);
else
{
/* We will be setting the value number of lhs to the value number
--
2.35.3
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-10-10 12:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-10 12:19 [PATCH] tree-optimization/111751 - support 1024 bit vector constant reinterpretation Richard Biener
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).