[gcc r17-1657] Handle vec_deconstruct where appropriate
Richard Biener
rguenth@gcc.gnu.org
Thu Jun 18 12:03:44 GMT 2026
https://gcc.gnu.org/g:46fec3d7adf9a313342979d8426ae7558ae12d6f
commit r17-1657-g46fec3d7adf9a313342979d8426ae7558ae12d6f
Author: Richard Biener <rguenther@suse.de>
Date: Wed Jun 17 13:23:41 2026 +0200
Handle vec_deconstruct where appropriate
The following replaces vec_to_scalar handling where now vec_deconstruct
is expected.
* config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
Expect vec_deconstruct where formerly handling vec_to_scalar
for emulated gather/scatter, elementwise and strided accesses.
Diff:
---
gcc/config/i386/i386.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index d93dad7e8237..c0a0204b9b66 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -26728,7 +26728,7 @@ ix86_vector_costs::add_stmt_cost (int count, vect_cost_for_stmt kind,
latency and execution resources for the many scalar loads
(AGU and load ports). Try to account for this by scaling the
construction cost by the number of elements involved. */
- if ((kind == vec_construct || kind == vec_to_scalar)
+ if ((kind == vec_construct || kind == vec_deconstruct)
&& ((node
&& (((SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_ELEMENTWISE
|| (SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_STRIDED_SLP
More information about the Gcc-cvs
mailing list