diff options
author | Richard Biener <rguenther@suse.de> | 2023-10-10 13:33:34 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-10-10 14:17:23 +0200 |
commit | 70b5c6981fcdff246f90e57e91f3e1667eab2eb3 (patch) | |
tree | 3aeea830608f2b37e95cf475febcb499365d1e7c /gcc/fold-const.cc | |
parent | 2f150833b4edaad314f61a91d46b7f871661df15 (diff) | |
download | gcc-70b5c6981fcdff246f90e57e91f3e1667eab2eb3.zip gcc-70b5c6981fcdff246f90e57e91f3e1667eab2eb3.tar.gz gcc-70b5c6981fcdff246f90e57e91f3e1667eab2eb3.tar.bz2 |
tree-optimization/111751 - support 1024 bit vector constant reinterpretation
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.
PR tree-optimization/111751
* fold-const.cc (fold_view_convert_expr): Up the buffer size
to 128 bytes.
* tree-ssa-sccvn.cc (visit_reference_op_load): Special case
constants, giving up when re-interpretation to the target type
fails.
Diffstat (limited to 'gcc/fold-const.cc')
-rw-r--r-- | gcc/fold-const.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fold-const.cc b/gcc/fold-const.cc index 4f85615..82299bb 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. */ |