diff options
author | GCC Administrator <gccadmin@gcc.gnu.org> | 2023-12-25 00:18:09 +0000 |
---|---|---|
committer | GCC Administrator <gccadmin@gcc.gnu.org> | 2023-12-25 00:18:09 +0000 |
commit | f0269df25af37097a06ae247a18c71e24aa32e3e (patch) | |
tree | 7a22158c163edc973abed325fa4602999fb5c6b2 /gcc | |
parent | a657c7e3518fcfc796f223d47385cad5e97dc9a5 (diff) | |
download | gcc-f0269df25af37097a06ae247a18c71e24aa32e3e.zip gcc-f0269df25af37097a06ae247a18c71e24aa32e3e.tar.gz gcc-f0269df25af37097a06ae247a18c71e24aa32e3e.tar.bz2 |
Daily bump.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 83 | ||||
-rw-r--r-- | gcc/DATESTAMP | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 165 |
3 files changed, 249 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3cb2d98..98e906c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,86 @@ +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * doc/sourcebuild.texi (check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): Document. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * config/aarch64/aarch64-simd.md (cbranch<mode>4): New. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * tree-if-conv.cc (idx_within_array_bound): Expose. + * tree-vect-data-refs.cc (vect_analyze_early_break_dependences): New. + (vect_analyze_data_ref_dependences): Use it. + * tree-vect-loop-manip.cc (vect_iv_increment_position): New. + (vect_set_loop_controls_directly, + vect_set_loop_condition_partial_vectors, + vect_set_loop_condition_partial_vectors_avx512, + vect_set_loop_condition_normal): Support multiple exits. + (slpeel_tree_duplicate_loop_to_edge_cfg): Support LCSAA peeling for + multiple exits. + (slpeel_can_duplicate_loop_p): Change vectorizer from looking at BB + count and instead look at loop shape. + (vect_update_ivs_after_vectorizer): Drop asserts. + (vect_gen_vector_loop_niters_mult_vf): Support peeled vector iterations. + (vect_do_peeling): Support multiple exits. + (vect_loop_versioning): Likewise. + * tree-vect-loop.cc (_loop_vec_info::_loop_vec_info): Initialise + early_breaks. + (vect_analyze_loop_form): Support loop flows with more than single BB + loop body. + (vect_create_loop_vinfo): Support niters analysis for multiple exits. + (vect_analyze_loop): Likewise. + (vect_get_vect_def): New. + (vect_create_epilog_for_reduction): Support early exit reductions. + (vectorizable_live_operation_1): New. + (find_connected_edge): New. + (vectorizable_live_operation): Support early exit live operations. + (move_early_exit_stmts): New. + (vect_transform_loop): Use it. + * tree-vect-patterns.cc (vect_init_pattern_stmt): Support gcond. + (vect_recog_bitfield_ref_pattern): Support gconds and bools. + (vect_recog_gcond_pattern): New. + (possible_vector_mask_operation_p): Support gcond masks. + (vect_determine_mask_precision): Likewise. + (vect_mark_pattern_stmts): Set gcond def type. + (can_vectorize_live_stmts): Force early break inductions to be live. + * tree-vect-stmts.cc (vect_stmt_relevant_p): Add relevancy analysis for + early breaks. + (vect_mark_stmts_to_be_vectorized): Process gcond usage. + (perm_mask_for_reverse): Expose. + (vectorizable_comparison_1): New. + (vectorizable_early_exit): New. + (vect_analyze_stmt): Support early break and gcond. + (vect_transform_stmt): Likewise. + (vect_is_simple_use): Likewise. + (vect_get_vector_types_for_stmt): Likewise. + * tree-vectorizer.cc (pass_vectorize::execute): Update exits for value + numbering. + * tree-vectorizer.h (enum vect_def_type): Add vect_condition_def. + (LOOP_VINFO_EARLY_BREAKS, LOOP_VINFO_EARLY_BRK_STORES, + LOOP_VINFO_EARLY_BREAKS_VECT_PEELED, LOOP_VINFO_EARLY_BRK_DEST_BB, + LOOP_VINFO_EARLY_BRK_VUSES): New. + (is_loop_header_bb_p): Drop assert. + (class loop): Add early_breaks, early_break_stores, early_break_dest_bb, + early_break_vuses. + (vect_iv_increment_position, perm_mask_for_reverse, + ref_within_array_bound): New. + (slpeel_tree_duplicate_loop_to_edge_cfg): Update for early breaks. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * tree-ssa-loop-im.cc (determine_max_movement): Import insn-codes.h + and optabs-tree.h and check for vector compare motion out of gcond. + +2023-12-24 Hans-Peter Nilsson <hp@axis.com> + + PR middle-end/113109 + * config/cris/cris.cc (cris_eh_return_handler_rtx): New function. + * config/cris/cris-protos.h (cris_eh_return_handler_rtx): Prototype. + * config/cris/cris.h (EH_RETURN_HANDLER_RTX): Redefine to call + cris_eh_return_handler_rtx. + 2023-12-23 Xi Ruoyao <xry111@xry111.site> * config/loongarch/loongarch.md (rotrsi3_extend): New diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index ce9e848..3194d00 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20231224 +20231225 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 910f60d..3f01095 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,168 @@ +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/tsvc/vect-tsvc-s332.c: Remove xfail when early break + supported. + * gcc.dg/vect/tsvc/vect-tsvc-s481.c: Likewise. + * gcc.dg/vect/tsvc/vect-tsvc-s482.c: Likewise. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * lib/target-supports.exp (add_options_for_vect_early_break, + check_effective_target_vect_early_break_hw, + check_effective_target_vect_early_break): New. + * g++.dg/vect/vect-early-break_1.cc: New test. + * g++.dg/vect/vect-early-break_2.cc: New test. + * g++.dg/vect/vect-early-break_3.cc: New test. + * gcc.dg/vect/vect-early-break-run_1.c: New test. + * gcc.dg/vect/vect-early-break-run_10.c: New test. + * gcc.dg/vect/vect-early-break-run_2.c: New test. + * gcc.dg/vect/vect-early-break-run_3.c: New test. + * gcc.dg/vect/vect-early-break-run_4.c: New test. + * gcc.dg/vect/vect-early-break-run_5.c: New test. + * gcc.dg/vect/vect-early-break-run_6.c: New test. + * gcc.dg/vect/vect-early-break-run_7.c: New test. + * gcc.dg/vect/vect-early-break-run_8.c: New test. + * gcc.dg/vect/vect-early-break-run_9.c: New test. + * gcc.dg/vect/vect-early-break-template_1.c: New test. + * gcc.dg/vect/vect-early-break-template_2.c: New test. + * gcc.dg/vect/vect-early-break_1.c: New test. + * gcc.dg/vect/vect-early-break_10.c: New test. + * gcc.dg/vect/vect-early-break_11.c: New test. + * gcc.dg/vect/vect-early-break_12.c: New test. + * gcc.dg/vect/vect-early-break_13.c: New test. + * gcc.dg/vect/vect-early-break_14.c: New test. + * gcc.dg/vect/vect-early-break_15.c: New test. + * gcc.dg/vect/vect-early-break_16.c: New test. + * gcc.dg/vect/vect-early-break_17.c: New test. + * gcc.dg/vect/vect-early-break_18.c: New test. + * gcc.dg/vect/vect-early-break_19.c: New test. + * gcc.dg/vect/vect-early-break_2.c: New test. + * gcc.dg/vect/vect-early-break_20.c: New test. + * gcc.dg/vect/vect-early-break_21.c: New test. + * gcc.dg/vect/vect-early-break_22.c: New test. + * gcc.dg/vect/vect-early-break_23.c: New test. + * gcc.dg/vect/vect-early-break_24.c: New test. + * gcc.dg/vect/vect-early-break_25.c: New test. + * gcc.dg/vect/vect-early-break_26.c: New test. + * gcc.dg/vect/vect-early-break_27.c: New test. + * gcc.dg/vect/vect-early-break_28.c: New test. + * gcc.dg/vect/vect-early-break_29.c: New test. + * gcc.dg/vect/vect-early-break_3.c: New test. + * gcc.dg/vect/vect-early-break_30.c: New test. + * gcc.dg/vect/vect-early-break_31.c: New test. + * gcc.dg/vect/vect-early-break_32.c: New test. + * gcc.dg/vect/vect-early-break_33.c: New test. + * gcc.dg/vect/vect-early-break_34.c: New test. + * gcc.dg/vect/vect-early-break_35.c: New test. + * gcc.dg/vect/vect-early-break_36.c: New test. + * gcc.dg/vect/vect-early-break_37.c: New test. + * gcc.dg/vect/vect-early-break_38.c: New test. + * gcc.dg/vect/vect-early-break_39.c: New test. + * gcc.dg/vect/vect-early-break_4.c: New test. + * gcc.dg/vect/vect-early-break_40.c: New test. + * gcc.dg/vect/vect-early-break_41.c: New test. + * gcc.dg/vect/vect-early-break_42.c: New test. + * gcc.dg/vect/vect-early-break_43.c: New test. + * gcc.dg/vect/vect-early-break_44.c: New test. + * gcc.dg/vect/vect-early-break_45.c: New test. + * gcc.dg/vect/vect-early-break_46.c: New test. + * gcc.dg/vect/vect-early-break_47.c: New test. + * gcc.dg/vect/vect-early-break_48.c: New test. + * gcc.dg/vect/vect-early-break_49.c: New test. + * gcc.dg/vect/vect-early-break_5.c: New test. + * gcc.dg/vect/vect-early-break_50.c: New test. + * gcc.dg/vect/vect-early-break_51.c: New test. + * gcc.dg/vect/vect-early-break_52.c: New test. + * gcc.dg/vect/vect-early-break_53.c: New test. + * gcc.dg/vect/vect-early-break_54.c: New test. + * gcc.dg/vect/vect-early-break_55.c: New test. + * gcc.dg/vect/vect-early-break_56.c: New test. + * gcc.dg/vect/vect-early-break_57.c: New test. + * gcc.dg/vect/vect-early-break_58.c: New test. + * gcc.dg/vect/vect-early-break_59.c: New test. + * gcc.dg/vect/vect-early-break_6.c: New test. + * gcc.dg/vect/vect-early-break_60.c: New test. + * gcc.dg/vect/vect-early-break_61.c: New test. + * gcc.dg/vect/vect-early-break_62.c: New test. + * gcc.dg/vect/vect-early-break_63.c: New test. + * gcc.dg/vect/vect-early-break_64.c: New test. + * gcc.dg/vect/vect-early-break_65.c: New test. + * gcc.dg/vect/vect-early-break_66.c: New test. + * gcc.dg/vect/vect-early-break_67.c: New test. + * gcc.dg/vect/vect-early-break_68.c: New test. + * gcc.dg/vect/vect-early-break_69.c: New test. + * gcc.dg/vect/vect-early-break_7.c: New test. + * gcc.dg/vect/vect-early-break_70.c: New test. + * gcc.dg/vect/vect-early-break_71.c: New test. + * gcc.dg/vect/vect-early-break_72.c: New test. + * gcc.dg/vect/vect-early-break_73.c: New test. + * gcc.dg/vect/vect-early-break_74.c: New test. + * gcc.dg/vect/vect-early-break_75.c: New test. + * gcc.dg/vect/vect-early-break_76.c: New test. + * gcc.dg/vect/vect-early-break_77.c: New test. + * gcc.dg/vect/vect-early-break_78.c: New test. + * gcc.dg/vect/vect-early-break_79.c: New test. + * gcc.dg/vect/vect-early-break_8.c: New test. + * gcc.dg/vect/vect-early-break_80.c: New test. + * gcc.dg/vect/vect-early-break_81.c: New test. + * gcc.dg/vect/vect-early-break_82.c: New test. + * gcc.dg/vect/vect-early-break_83.c: New test. + * gcc.dg/vect/vect-early-break_84.c: New test. + * gcc.dg/vect/vect-early-break_85.c: New test. + * gcc.dg/vect/vect-early-break_86.c: New test. + * gcc.dg/vect/vect-early-break_87.c: New test. + * gcc.dg/vect/vect-early-break_88.c: New test. + * gcc.dg/vect/vect-early-break_89.c: New test. + * gcc.dg/vect/vect-early-break_9.c: New test. + * gcc.dg/vect/vect-early-break_90.c: New test. + * gcc.dg/vect/vect-early-break_91.c: New test. + * gcc.dg/vect/vect-early-break_92.c: New test. + * gcc.dg/vect/vect-early-break_93.c: New test. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * gcc.target/aarch64/sve/vect-early-break-cbranch.c: New test. + * gcc.target/aarch64/vect-early-break-cbranch.c: New test. + +2023-12-24 Tamar Christina <tamar.christina@arm.com> + + * gcc.dg/vect/no-scevccp-slp-30.c: Add pragma GCC novector to abort + loop. + * gcc.dg/vect/no-scevccp-slp-31.c: Likewise. + * gcc.dg/vect/no-section-anchors-vect-69.c: Likewise. + * gcc.target/aarch64/vect-xorsign_exec.c: Likewise. + * gcc.target/i386/avx512er-vrcp28ps-3.c: Likewise. + * gcc.target/i386/avx512er-vrsqrt28ps-3.c: Likewise. + * gcc.target/i386/avx512er-vrsqrt28ps-5.c: Likewise. + * gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceil-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-ceilf-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floor-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-floorf-vec-1.c: Likewise. + * gcc.target/i386/avx512f-rint-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-round-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: Likewise. + * gcc.target/i386/avx512f-trunc-vec-1.c: Likewise. + * gcc.target/i386/avx512f-truncf-vec-1.c: Likewise. + * gcc.target/i386/vect-alignment-peeling-1.c: Likewise. + * gcc.target/i386/vect-alignment-peeling-2.c: Likewise. + * gcc.target/i386/vect-pack-trunc-1.c: Likewise. + * gcc.target/i386/vect-pack-trunc-2.c: Likewise. + * gcc.target/i386/vect-perm-even-1.c: Likewise. + * gcc.target/i386/vect-unpack-1.c: Likewise. + +2023-12-24 John David Anglin <danglin@gcc.gnu.org> + + * gcc.dg/pr110279-1.c: Add -march=2.0 option on hppa*-*-*. + +2023-12-24 Pan Li <pan2.li@intel.com> + + * gcc.dg/signbit-5.c: XFail for the riscv_v. + 2023-12-23 Xi Ruoyao <xry111@xry111.site> * gcc.target/loongarch/rotrw.c: New test. |