On Thu, Jul 31, 2025 at 01:23:00PM +0200, Richard Biener wrote: > On Thu, 31 Jul 2025, Richard Biener wrote: > > > On Thu, 31 Jul 2025, Spencer Abson wrote: > > > > > On Thu, Jul 31, 2025 at 12:14:20PM +0200, Richard Biener wrote: > > > > On Tue, 29 Jul 2025, Richard Biener wrote: > > > > > > > > > This should be present only on SLP nodes now. The RISC-V changes > > > > > are mechanical along the line of the SLP_TREE_TYPE changes. The > > > > > aarch64 changes are for removing vect_mem_access_type and gating > > > > > one problematical test with !m_costing_for_scalar (rather than > > > > > on a NULL node). > > > > > > > > > > Bootstrapped and tested on x86_64-unknown-linux-gnu. > > > > > > > > I have now pushed this variant. > > > > > > > > Richard. > > > > > > Hi, > > > > > > This seems to segfault quite a bit on aarch64. I haven't had a moment to > > > look into it > > > properly, but here is some info that might be helpful. > > > > Can you try > > > > diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc > > index a761addc06c..4fadd13637a 100644 > > --- a/gcc/config/aarch64/aarch64.cc > > +++ b/gcc/config/aarch64/aarch64.cc > > @@ -17997,7 +17997,7 @@ aarch64_vector_costs::add_stmt_cost (int count, > > vect_cost_for_stmt kind, > > stmt_cost = aarch64_detect_scalar_stmt_subtype (m_vinfo, kind, > > stmt_info, > > stmt_cost); > > > > - if (vectype && m_vec_flags) > > + if (vectype && m_vec_flags && !m_costing_for_scalar) > > stmt_cost = aarch64_detect_vector_stmt_subtype (m_vinfo, kind, > > stmt_info, node, > > vectype, where, > > > > > > I've reproduced it now, the above doesn't help. w/o understanding > all the dances, I have a patch to improve things by checking for > 'node' in relevant places (we now ensure that with m_costing_for_scalar > node is never non-NULL). > > This shows we're confused by the stmts we cost for the loop-around code. > > Apart from doing vect.exp testing with qemu I mostly rely on the CI > to pick up this kind of issues, but it has been unavailable lately. > > I'll post a patch. > > Richard.
Yeah, sorry that took me a while (was on a distant branch). FWIW, It seems to be the access to memory_access_type via SLP_TREE_MEMORY_ACCESS_TYPE in aarch64_detect_vector_stmt_subtype. if (kind == scalar_load && sve_costs && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) Thanks, Spencer > > ? > > > > > Below is the trace from compiling > > > gcc.target/aarch64/sme/vect-dotprod-twoway.c > > > > > > during GIMPLE pass: vect > > > ../gcc/gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c: In > > > function ‘udot2’: > > > ../gcc/gcc/testsuite/gcc.target/aarch64/sme/vect-dotprod-twoway.c:6:10: > > > internal compiler error: Segmentation fault > > > 6 | uint32_t udot2(int n, uint16_t* data) __arm_streaming > > > | ^~~~~ > > > 0x26e937b internal_error(char const*, ...) > > > ../../gcc/gcc/diagnostic-global-context.cc:534 > > > 0x10fb6a3 crash_signal > > > ../../gcc/gcc/toplev.cc:323 > > > 0x15c1ebc aarch64_detect_vector_stmt_subtype > > > ../../gcc/gcc/config/aarch64/aarch64.cc:17469 > > > 0x15c1ebc aarch64_vector_costs::add_stmt_cost(int, vect_cost_for_stmt, > > > _stmt_vec_info*, _slp_tree*, tree_node*, int, vect_cost_model_location) > > > ../../gcc/gcc/config/aarch64/aarch64.cc:18001 > > > 0x143df57 add_stmt_cost(vector_costs*, int, vect_cost_for_stmt, > > > _stmt_vec_info*, _slp_tree*, tree_node*, int, vect_cost_model_location) > > > ../../gcc/gcc/tree-vectorizer.h:2006 > > > 0x143df57 vect_estimate_min_profitable_iters > > > ../../gcc/gcc/tree-vect-loop.cc:4438 > > > 0x143df57 vect_analyze_loop_costing > > > ../../gcc/gcc/tree-vect-loop.cc:2081 > > > 0x144064b vect_analyze_loop_2 > > > ../../gcc/gcc/tree-vect-loop.cc:2781 > > > 0x1441d5b vect_analyze_loop_1 > > > ../../gcc/gcc/tree-vect-loop.cc:3109 > > > 0x144220f vect_analyze_loop(loop*, gimple*, vec_info_shared*) > > > ../../gcc/gcc/tree-vect-loop.cc:3245 > > > 0x148b167 try_vectorize_loop_1 > > > ../../gcc/gcc/tree-vectorizer.cc:1100 > > > 0x148b167 try_vectorize_loop > > > ../../gcc/gcc/tree-vectorizer.cc:1219 > > > 0x148ba37 execute > > > ../../gcc/gcc/tree-vectorizer.cc:1335 > > > > > > > > > And the new failiures from running gcc.target/aarch64/sve/aarch64-sve.exp > > > > > > Unexpected results in this build (new failures) > > > === g++ tests === > > > > > > Running g++:g++.target/aarch64/sve/aarch64-sve.exp ... > > > FAIL: g++.target/aarch64/sve/pr119706.C (internal compiler error: > > > Segmentation fault) > > > FAIL: g++.target/aarch64/sve/pr119706.C (test for excess errors) > > > === gcc tests === > > > > > > Running gcc:gcc.target/aarch64/sve/aarch64-sve.exp ... > > > FAIL: gcc.target/aarch64/sve/cost_model_10.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/cost_model_10.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_10.c scan-assembler > > > \\tcmp\\tx[0-9]+, x[0-9]+\\n > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_10.c scan-assembler > > > \\tptrue\\tp > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_10.c scan-assembler-not > > > \\twhilelo\\t > > > FAIL: gcc.target/aarch64/sve/cost_model_11.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/cost_model_11.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_11.c scan-assembler-not > > > \\tld4d\\t > > > FAIL: gcc.target/aarch64/sve/cost_model_13.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/cost_model_13.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_13.c scan-assembler > > > \\tadd\\tz[0-9]+\\.h, > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_13.c scan-assembler > > > \\tld1h\\tz[0-9]+\\.h, > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_13.c scan-assembler-not > > > \\tldr\\tq[0-9]+, > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_13.c scan-assembler-not > > > \\tv[0-9]+\\.8h, > > > FAIL: gcc.target/aarch64/sve/cost_model_14.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/cost_model_14.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_14.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.d, 8 > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_14.c scan-assembler-times > > > \\tld1d\\tz[0-9]+\\.d, 1 > > > UNRESOLVED: gcc.target/aarch64/sve/cost_model_14.c scan-assembler-times > > > \\tldr\\tz[0-9]+, 4 > > > FAIL: gcc.target/aarch64/sve/extract_5.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/extract_5.c (test for excess errors) > > > XPASS: gcc.target/aarch64/sve/gather_load_13.c scan-assembler \\s+ld1w\\t > > > FAIL: gcc.target/aarch64/sve/ld1_extend.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/ld1_extend.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/ld1_extend.c scan-assembler-times > > > \\tld1sb\\t 4 > > > FAIL: gcc.target/aarch64/sve/mask_load_2.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/mask_load_2.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/mask_load_2.c scan-assembler-times > > > add\\tz[0-9]+\\.s, p[0-7]/m 1 > > > UNRESOLVED: gcc.target/aarch64/sve/mask_load_2.c scan-assembler-times > > > ld1w\\tz[0-9]+\\.d, p[0-7]/z 1 > > > FAIL: gcc.target/aarch64/sve/part_vect_single_iter_epilog.c (internal > > > compiler error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/part_vect_single_iter_epilog.c (test for > > > excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/part_vect_single_iter_epilog.c > > > scan-assembler-times \\twhilelo\\tp[0-9]+.h, wzr, [xw][0-9]+ 1 > > > FAIL: gcc.target/aarch64/sve/peel_ind_9.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/peel_ind_9.c (test for excess errors) > > > FAIL: gcc.target/aarch64/sve/peel_ind_9.c scan-tree-dump vect "LOOP > > > VECTORIZED" > > > FAIL: gcc.target/aarch64/sve/peel_ind_9_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/peel_ind_9_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/peel_ind_9_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/pr103761.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/pr103761.c (test for excess errors) > > > FAIL: gcc.target/aarch64/sve/pr98535.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/pr98535.c (test for excess errors) > > > FAIL: gcc.target/aarch64/sve/pred-cond-reduc.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/pred-cond-reduc.c (test for excess errors) > > > FAIL: gcc.target/aarch64/sve/reduc_10.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_10.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tandv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\teorv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\torv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tuaddv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tumaxv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10.c scan-assembler-times > > > \\tuminv\\t 1 > > > FAIL: gcc.target/aarch64/sve/reduc_10_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_10_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_10_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_11.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_11.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tandv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\teorv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\torv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tuaddv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tumaxv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11.c scan-assembler-times > > > \\tuminv\\t 1 > > > FAIL: gcc.target/aarch64/sve/reduc_11_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_11_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_11_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_12.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_12.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tandv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\teorv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\torv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tuaddv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tumaxv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12.c scan-assembler-times > > > \\tuminv\\t 1 > > > FAIL: gcc.target/aarch64/sve/reduc_12_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_12_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_12_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_13.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_13.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 2 > > > FAIL: gcc.target/aarch64/sve/reduc_13_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_13_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_13_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_14.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_14.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tandv\\t 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\teorv\\t 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\torv\\t 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tuaddv\\t 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tumaxv\\t 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14.c scan-assembler-times > > > \\tuminv\\t 2 > > > FAIL: gcc.target/aarch64/sve/reduc_14_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_14_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_14_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_15.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_15.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_15.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, p[0-7]/m, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_15.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.s, z[0-9]+\\.s, z[0-9]+\\.s\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_15.c scan-assembler-times > > > \\tuaddv\\t 1 > > > FAIL: gcc.target/aarch64/sve/reduc_15_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_15_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_15_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/reduc_9.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_9.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tadd\\tz[0-9]+\\.h, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tand\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tandv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\teor\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\teorv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.d, z[0-9]+\\.d, z[0-9]+\\.d\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\torr\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\torv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tuaddv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tumax\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tumaxv\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tumin\\tz[0-9]+\\.h, p[0-7]/m, z[0-9]+\\.h, z[0-9]+\\.h\\n 2 > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9.c scan-assembler-times > > > \\tuminv\\t 1 > > > FAIL: gcc.target/aarch64/sve/reduc_9_run.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/reduc_9_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/reduc_9_run.c compilation failed to > > > produce executable > > > FAIL: gcc.target/aarch64/sve/slp_perm_4.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/slp_perm_4.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/slp_perm_4.c scan-assembler > > > \\ttrn1\\tz[0-9]+\\.b, z[0-9]+\\.b, z[0-9]+\\.b\\n > > > FAIL: gcc.target/aarch64/sve/slp_perm_7.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/slp_perm_7.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/slp_perm_7.c scan-assembler > > > \\ttbl\\tz[0-9]+\\.b, {z[0-9]+\\.b}, z[0-9]+\\.b\\n > > > FAIL: gcc.target/aarch64/sve/slp_perm_8.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/slp_perm_8.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/slp_perm_8.c scan-assembler > > > \\tld1s?b\\tz[0-9]+\\.h > > > UNRESOLVED: gcc.target/aarch64/sve/slp_perm_8.c scan-assembler > > > \\tptrue\\tp[0-7]\\.h, vl6\\n > > > UNRESOLVED: gcc.target/aarch64/sve/slp_perm_8.c scan-assembler > > > \\ttrn1\\tz[0-9]+\\.h, > > > FAIL: gcc.target/aarch64/sve/struct_vect_18.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_18.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tb[.a-z]+\\t 4 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld3b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld3d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld3h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tld3w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_18_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_18_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_18_run.c compilation > > > failed to produce executable > > > FAIL: gcc.target/aarch64/sve/struct_vect_19.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_19.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tb[.a-z]+\\t 12 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld3b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld3d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld3h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tld3w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_19_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_19_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_19_run.c compilation > > > failed to produce executable > > > FAIL: gcc.target/aarch64/sve/struct_vect_20.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_20.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tb[.a-z]+\\t 4 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld2b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld2d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld2h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tld2w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_20_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_20_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_20_run.c compilation > > > failed to produce executable > > > FAIL: gcc.target/aarch64/sve/struct_vect_21.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_21.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tb[.a-z]+\\t 12 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld2b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld2d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld2h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tld2w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_21_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_21_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_21_run.c compilation > > > failed to produce executable > > > FAIL: gcc.target/aarch64/sve/struct_vect_22.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_22.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tb[.a-z]+\\t 4 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld4b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld4d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld4h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tld4w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_22_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_22_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_22_run.c compilation > > > failed to produce executable > > > FAIL: gcc.target/aarch64/sve/struct_vect_23.c (internal compiler error: > > > Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_23.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tb[.a-z]+\\t 12 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld4b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld4d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld4h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tld4w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tldr\\td 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tldr\\ts 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tldrb\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tldrh\\tw 2 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tst1b\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tst1d\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tst1h\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tst1w\\t 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tstr\\td 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tstr\\ts 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tstrb\\tw 1 > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23.c scan-assembler-times > > > \\tstrh\\tw 1 > > > FAIL: gcc.target/aarch64/sve/struct_vect_23_run.c (internal compiler > > > error: Segmentation fault) > > > FAIL: gcc.target/aarch64/sve/struct_vect_23_run.c (test for excess errors) > > > UNRESOLVED: gcc.target/aarch64/sve/struct_vect_23_run.c compilation > > > failed to produce executable > > > > > > Thanks, > > > Spencer > > > > > > > > > > > > * tree-vectorizer.h (_stmt_vec_info::memory_access_type): > > > > > Remove. > > > > > (STMT_VINFO_MEMORY_ACCESS_TYPE): Likewise. > > > > > (vect_mem_access_type): Likewise. > > > > > * tree-vect-stmts.cc (vectorizable_store): Do not set > > > > > STMT_VINFO_MEMORY_ACCESS_TYPE. Fix SLP_TREE_MEMORY_ACCESS_TYPE > > > > > usage. > > > > > * tree-vect-loop.cc (update_epilogue_loop_vinfo): Remove > > > > > checking of memory access type. > > > > > * config/riscv/riscv-vector-costs.cc > > > > > (costs::compute_local_live_ranges): > > > > > Use SLP_TREE_MEMORY_ACCESS_TYPE. > > > > > (costs::need_additional_vector_vars_p): Likewise. > > > > > (segment_loadstore_group_size): Get SLP node as argument, > > > > > use SLP_TREE_MEMORY_ACCESS_TYPE. > > > > > (costs::adjust_stmt_cost): Pass down SLP node. > > > > > * config/aarch64/aarch64.cc (aarch64_ld234_st234_vectors): Use > > > > > SLP_TREE_MEMORY_ACCESS_TYPE instead of vect_mem_access_type. > > > > > (aarch64_detect_vector_stmt_subtype): Likewise. > > > > > (aarch64_vector_costs::count_ops): Likewise. > > > > > (aarch64_vector_costs::add_stmt_cost): Likewise. > > > > > --- > > > > > gcc/config/aarch64/aarch64.cc | 15 ++++++++------- > > > > > gcc/config/riscv/riscv-vector-costs.cc | 16 ++++++++-------- > > > > > gcc/tree-vect-loop.cc | 6 ++---- > > > > > gcc/tree-vect-stmts.cc | 3 +-- > > > > > gcc/tree-vectorizer.h | 17 ----------------- > > > > > 5 files changed, 19 insertions(+), 38 deletions(-) > > > > > > > > > > diff --git a/gcc/config/aarch64/aarch64.cc > > > > > b/gcc/config/aarch64/aarch64.cc > > > > > index cb1699ab7c5..8acf24947ea 100644 > > > > > --- a/gcc/config/aarch64/aarch64.cc > > > > > +++ b/gcc/config/aarch64/aarch64.cc > > > > > @@ -17166,8 +17166,8 @@ aarch64_ld234_st234_vectors > > > > > (vect_cost_for_stmt kind, stmt_vec_info stmt_info, > > > > > && STMT_VINFO_DATA_REF (stmt_info)) > > > > > { > > > > > stmt_info = DR_GROUP_FIRST_ELEMENT (stmt_info); > > > > > - if (stmt_info > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_LOAD_STORE_LANES) > > > > > + if (node > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == > > > > > VMAT_LOAD_STORE_LANES) > > > > > return DR_GROUP_SIZE (stmt_info); > > > > > } > > > > > return 0; > > > > > @@ -17439,7 +17439,7 @@ aarch64_detect_vector_stmt_subtype (vec_info > > > > > *vinfo, vect_cost_for_stmt kind, > > > > > cost by the number of elements in the vector. */ > > > > > if (kind == scalar_load > > > > > && sve_costs > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > { > > > > > unsigned int nunits = vect_nunits_for_cost (vectype); > > > > > /* Test for VNx2 modes, which have 64-bit containers. */ > > > > > @@ -17452,7 +17452,7 @@ aarch64_detect_vector_stmt_subtype (vec_info > > > > > *vinfo, vect_cost_for_stmt kind, > > > > > in a scatter operation. */ > > > > > if (kind == scalar_store > > > > > && sve_costs > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > return sve_costs->scatter_store_elt_cost; > > > > > > > > > > /* Detect cases in which vec_to_scalar represents an in-loop > > > > > reduction. */ > > > > > @@ -17708,7 +17708,7 @@ aarch64_vector_costs::count_ops (unsigned int > > > > > count, vect_cost_for_stmt kind, > > > > > if (stmt_info > > > > > && kind == vec_to_scalar > > > > > && (m_vec_flags & VEC_ADVSIMD) > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > { > > > > > auto dr = STMT_VINFO_DATA_REF (stmt_info); > > > > > tree dr_ref = DR_REF (dr); > > > > > @@ -17823,7 +17823,7 @@ aarch64_vector_costs::count_ops (unsigned int > > > > > count, vect_cost_for_stmt kind, > > > > > if (stmt_info > > > > > && sve_issue > > > > > && (kind == scalar_load || kind == scalar_store) > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > { > > > > > unsigned int pairs = CEIL (count, 2); > > > > > ops->pred_ops += sve_issue->gather_scatter_pair_pred_ops * > > > > > pairs; > > > > > @@ -17978,9 +17978,10 @@ aarch64_vector_costs::add_stmt_cost (int > > > > > count, vect_cost_for_stmt kind, > > > > > > > > > > /* Check if we've seen an SVE gather/scatter operation and > > > > > which size. */ > > > > > if (kind == scalar_load > > > > > + && !m_costing_for_scalar > > > > > && vectype > > > > > && aarch64_sve_mode_p (TYPE_MODE (vectype)) > > > > > - && vect_mem_access_type (stmt_info, node) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > { > > > > > const sve_vec_cost *sve_costs = > > > > > aarch64_tune_params.vec_costs->sve; > > > > > if (sve_costs) > > > > > diff --git a/gcc/config/riscv/riscv-vector-costs.cc > > > > > b/gcc/config/riscv/riscv-vector-costs.cc > > > > > index 1c6bc25c2ad..44ef44a1435 100644 > > > > > --- a/gcc/config/riscv/riscv-vector-costs.cc > > > > > +++ b/gcc/config/riscv/riscv-vector-costs.cc > > > > > @@ -400,7 +400,7 @@ costs::compute_local_live_ranges ( > > > > > pair &live_range > > > > > = live_ranges->get_or_insert (lhs, &existed_p); > > > > > gcc_assert (!existed_p); > > > > > - if (STMT_VINFO_MEMORY_ACCESS_TYPE > > > > > (program_point.stmt_info) > > > > > + if (SLP_TREE_MEMORY_ACCESS_TYPE (*node) > > > > > == VMAT_LOAD_STORE_LANES) > > > > > point = get_first_lane_point (program_points, > > > > > > > > > > program_point.stmt_info); > > > > > @@ -418,8 +418,7 @@ costs::compute_local_live_ranges ( > > > > > bool existed_p = false; > > > > > pair &live_range > > > > > = live_ranges->get_or_insert (var, &existed_p); > > > > > - if (STMT_VINFO_MEMORY_ACCESS_TYPE ( > > > > > - program_point.stmt_info) > > > > > + if (SLP_TREE_MEMORY_ACCESS_TYPE (*node) > > > > > == VMAT_LOAD_STORE_LANES) > > > > > point = get_last_lane_point (program_points, > > > > > > > > > > program_point.stmt_info); > > > > > @@ -608,7 +607,7 @@ costs::need_additional_vector_vars_p > > > > > (stmt_vec_info stmt_info, > > > > > if (type == load_vec_info_type || type == store_vec_info_type) > > > > > { > > > > > if (STMT_VINFO_GATHER_SCATTER_P (stmt_info) > > > > > - && STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) == > > > > > VMAT_GATHER_SCATTER) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == VMAT_GATHER_SCATTER) > > > > > return true; > > > > > > > > > > machine_mode mode = TYPE_MODE (STMT_VINFO_VECTYPE (stmt_info)); > > > > > @@ -1086,7 +1085,7 @@ costs::better_main_loop_than_p (const > > > > > vector_costs *uncast_other) const > > > > > load/store. */ > > > > > static int > > > > > segment_loadstore_group_size (enum vect_cost_for_stmt kind, > > > > > - stmt_vec_info stmt_info) > > > > > + stmt_vec_info stmt_info, slp_tree node) > > > > > { > > > > > if (stmt_info > > > > > && (kind == vector_load || kind == vector_store) > > > > > @@ -1094,7 +1093,7 @@ segment_loadstore_group_size (enum > > > > > vect_cost_for_stmt kind, > > > > > { > > > > > stmt_info = DR_GROUP_FIRST_ELEMENT (stmt_info); > > > > > if (stmt_info > > > > > - && STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) == > > > > > VMAT_LOAD_STORE_LANES) > > > > > + && SLP_TREE_MEMORY_ACCESS_TYPE (node) == > > > > > VMAT_LOAD_STORE_LANES) > > > > > return DR_GROUP_SIZE (stmt_info); > > > > > } > > > > > return 0; > > > > > @@ -1108,7 +1107,7 @@ segment_loadstore_group_size (enum > > > > > vect_cost_for_stmt kind, > > > > > unsigned > > > > > costs::adjust_stmt_cost (enum vect_cost_for_stmt kind, loop_vec_info > > > > > loop, > > > > > stmt_vec_info stmt_info, > > > > > - slp_tree, tree vectype, int stmt_cost) > > > > > + slp_tree node, tree vectype, int stmt_cost) > > > > > { > > > > > const cpu_vector_cost *costs = get_vector_costs (); > > > > > switch (kind) > > > > > @@ -1131,7 +1130,8 @@ costs::adjust_stmt_cost (enum > > > > > vect_cost_for_stmt kind, loop_vec_info loop, > > > > > each vector in the group. Here we additionally add > > > > > permute > > > > > costs for each. */ > > > > > /* TODO: Indexed and ordered/unordered cost. */ > > > > > - int group_size = segment_loadstore_group_size (kind, > > > > > stmt_info); > > > > > + int group_size = segment_loadstore_group_size (kind, > > > > > stmt_info, > > > > > + node); > > > > > if (group_size > 1) > > > > > { > > > > > switch (group_size) > > > > > diff --git a/gcc/tree-vect-loop.cc b/gcc/tree-vect-loop.cc > > > > > index 830fece33c6..ce08909ab83 100644 > > > > > --- a/gcc/tree-vect-loop.cc > > > > > +++ b/gcc/tree-vect-loop.cc > > > > > @@ -11294,11 +11294,9 @@ update_epilogue_loop_vinfo (class loop > > > > > *epilogue, tree advance) > > > > > updated offset we set using ADVANCE. Instead we have to make > > > > > sure the > > > > > reference in the data references point to the corresponding > > > > > copy of > > > > > the original in the epilogue. Make sure to update both > > > > > - gather/scatters recognized by dataref analysis and also other > > > > > - refs that get_load_store_type classified as > > > > > VMAT_GATHER_SCATTER. */ > > > > > + gather/scatters recognized by dataref analysis. */ > > > > > auto vstmt_vinfo = vect_stmt_to_vectorize (stmt_vinfo); > > > > > - if (STMT_VINFO_MEMORY_ACCESS_TYPE (vstmt_vinfo) == > > > > > VMAT_GATHER_SCATTER > > > > > - || STMT_VINFO_STRIDED_P (vstmt_vinfo) > > > > > + if (STMT_VINFO_STRIDED_P (vstmt_vinfo) > > > > > || STMT_VINFO_GATHER_SCATTER_P (vstmt_vinfo)) > > > > > { > > > > > /* ??? As we copy epilogues from the main loop incremental > > > > > diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc > > > > > index 4cf6c3b1a6f..1dfb148e803 100644 > > > > > --- a/gcc/tree-vect-stmts.cc > > > > > +++ b/gcc/tree-vect-stmts.cc > > > > > @@ -7934,7 +7934,6 @@ vectorizable_store (vec_info *vinfo, > > > > > bool costing_p = cost_vec; > > > > > if (costing_p) /* transformation not required. */ > > > > > { > > > > > - STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info) = memory_access_type; > > > > > SLP_TREE_MEMORY_ACCESS_TYPE (slp_node) = memory_access_type; > > > > > > > > > > if (loop_vinfo > > > > > @@ -7965,7 +7964,7 @@ vectorizable_store (vec_info *vinfo, > > > > > > > > > > SLP_TREE_TYPE (slp_node) = store_vec_info_type; > > > > > } > > > > > - gcc_assert (memory_access_type == SLP_TREE_MEMORY_ACCESS_TYPE > > > > > (stmt_info)); > > > > > + gcc_assert (memory_access_type == SLP_TREE_MEMORY_ACCESS_TYPE > > > > > (slp_node)); > > > > > > > > > > /* Transform. */ > > > > > > > > > > diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h > > > > > index 76ff2cfea2f..7e7b2b4b836 100644 > > > > > --- a/gcc/tree-vectorizer.h > > > > > +++ b/gcc/tree-vectorizer.h > > > > > @@ -1437,10 +1437,6 @@ public: > > > > > /* For both loads and stores. */ > > > > > unsigned simd_lane_access_p : 3; > > > > > > > > > > - /* Classifies how the load or store is going to be implemented > > > > > - for loop vectorization. */ > > > > > - vect_memory_access_type memory_access_type; > > > > > - > > > > > /* For INTEGER_INDUC_COND_REDUCTION, the initial value to be used. > > > > > */ > > > > > tree induc_cond_initial_val; > > > > > > > > > > @@ -1583,7 +1579,6 @@ struct gather_scatter_info { > > > > > #define STMT_VINFO_DATA_REF(S) ((S)->dr_aux.dr + 0) > > > > > #define STMT_VINFO_GATHER_SCATTER_P(S) (S)->gather_scatter_p > > > > > #define STMT_VINFO_STRIDED_P(S) (S)->strided_p > > > > > -#define STMT_VINFO_MEMORY_ACCESS_TYPE(S) (S)->memory_access_type > > > > > #define STMT_VINFO_SIMD_LANE_ACCESS_P(S) (S)->simd_lane_access_p > > > > > #define STMT_VINFO_VEC_INDUC_COND_INITIAL_VAL(S) > > > > > (S)->induc_cond_initial_val > > > > > #define STMT_VINFO_REDUC_EPILOGUE_ADJUSTMENT(S) > > > > > (S)->reduc_epilogue_adjustment > > > > > @@ -2832,18 +2827,6 @@ vect_is_reduction (stmt_vec_info stmt_info) > > > > > return STMT_VINFO_REDUC_IDX (stmt_info) >= 0; > > > > > } > > > > > > > > > > -/* Returns the memory acccess type being used to vectorize the > > > > > statement. If > > > > > - SLP this is read from NODE, otherwise it's read from the > > > > > STMT_VINFO. */ > > > > > - > > > > > -inline vect_memory_access_type > > > > > -vect_mem_access_type (stmt_vec_info stmt_info, slp_tree node) > > > > > -{ > > > > > - if (node) > > > > > - return SLP_TREE_MEMORY_ACCESS_TYPE (node); > > > > > - else > > > > > - return STMT_VINFO_MEMORY_ACCESS_TYPE (stmt_info); > > > > > -} > > > > > - > > > > > /* If STMT_INFO describes a reduction, return the vect_reduction_type > > > > > of the reduction it describes, otherwise return -1. */ > > > > > inline int > > > > > > > > > > > > > -- > > > > Richard Biener <rguent...@suse.de> > > > > SUSE Software Solutions Germany GmbH, > > > > Frankenstrasse 146, 90461 Nuernberg, Germany; > > > > GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG > > > > Nuernberg) > > > > > > > > > -- > Richard Biener <rguent...@suse.de> > SUSE Software Solutions Germany GmbH, > Frankenstrasse 146, 90461 Nuernberg, Germany; > GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)