]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Daily bump.
authorGCC Administrator <gccadmin@gcc.gnu.org>
Mon, 25 Dec 2023 00:18:09 +0000 (00:18 +0000)
committerGCC Administrator <gccadmin@gcc.gnu.org>
Mon, 25 Dec 2023 00:18:09 +0000 (00:18 +0000)
gcc/ChangeLog
gcc/DATESTAMP
gcc/testsuite/ChangeLog

index 3cb2d989a4dd461bfd0bbca3148e37e4b0543a3d..98e906cd06c2a0dfb6d6dd962037fd35e3f51181 100644 (file)
@@ -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
index ce9e848178cceb51c144df7bc7e8453c6973b268..3194d0024f2c0222084a3b6a6c7fb1345b92c978 100644 (file)
@@ -1 +1 @@
-20231224
+20231225
index 910f60de3ca6d86e3f98aaef9a9569e0233acd82..3f010957757ce5c5f424b76c67b7932780269b34 100644 (file)
@@ -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.