MAX_VECT_LEN is set to 8 on ia64, which is lower than on all other
targets, where it is 16 at minimum.

Some of the machine modes of ia64 are internally 16-byte wide,
causing stringop-overflow to be unhappy when checking a loop in
ia64_vectorize_vec_perm_const(). This causes bootstrap to fail.

Make stringop-overflow happy by raising the length to 16.

gcc/ChangeLog:

        * config/ia64/ia64.cc (MAX_VECT_LEN): Set to 16 from 8.

Signed-off-by: Tomas Glozar <[email protected]>
---
 gcc/config/ia64/ia64.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/ia64/ia64.cc b/gcc/config/ia64/ia64.cc
index 886d5a1055a..a3f26af1683 100644
--- a/gcc/config/ia64/ia64.cc
+++ b/gcc/config/ia64/ia64.cc
@@ -343,7 +343,7 @@ static bool ia64_modes_tieable_p (machine_mode, 
machine_mode);
 static bool ia64_can_change_mode_class (machine_mode, machine_mode,
                                        reg_class_t);
 
-#define MAX_VECT_LEN   8
+#define MAX_VECT_LEN   16
 
 struct expand_vec_perm_d
 {
-- 
2.51.1

Reply via email to