diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 2a2d38cd4d8..0ae21164924 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2024-06-05 Robin Dapp + + * check_GNU_style_lib.py: Use raw strings for regexps. + 2024-05-21 Tobias Burnus * gcc-changelog/git_update_version.py: Add '-i'/'--ignore' argument diff --git a/contrib/header-tools/ChangeLog b/contrib/header-tools/ChangeLog index c8735e1d73e..3875953ab9f 100644 --- a/contrib/header-tools/ChangeLog +++ b/contrib/header-tools/ChangeLog @@ -1,3 +1,20 @@ +2024-06-05 Jonathan Wakely + + * README: Fix spelling and capitalization typos. + * gcc-order-headers: Fix spelling typo. + +2024-06-05 Sundeep KOKKONDA + + * count-headers: Adapt to Python 3. + * gcc-order-headers: Likewise. + * graph-header-logs: Likewise. + * graph-include-web: Likewise. + * headerutils.py: Likewise. + * included-by: Likewise. + * reduce-headers: Likewise. + * replace-header: Likewise. + * show-headers: Likewise. + 2022-08-31 Martin Liska * README: Remove deprecated ports. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 476e61f5afc..ac32d15e543 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,157 @@ +2024-06-05 Robin Dapp + + * config/riscv/riscv-opts.h (TARGET_VECTOR_MISALIGN_SUPPORTED): + Move from here... + * config/riscv/riscv.h (TARGET_VECTOR_MISALIGN_SUPPORTED): + ...to here and map to riscv_vector_unaligned_access_p. + * config/riscv/riscv.opt: Add -mvector-strict-align. + * config/riscv/riscv.cc (struct riscv_tune_param): Add + vector_unaligned_access. + (riscv_override_options_internal): Set + riscv_vector_unaligned_access_p. + * doc/invoke.texi: Document -mvector-strict-align. + +2024-06-05 Tamar Christina + + * config/aarch64/tuning_models/neoversen2.h (neoversen2_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + * config/aarch64/tuning_models/neoversev1.h (neoversev1_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + * config/aarch64/tuning_models/neoversev2.h (neoversev2_tunings): Add + AARCH64_EXTRA_TUNE_AVOID_PRED_RMW. + +2024-06-05 Tamar Christina + + * config/aarch64/aarch64-sve.md (and3, + @aarch64_pred__z, *3_cc, + *3_ptest, aarch64_pred__z, + *3_cc, *3_ptest, + aarch64_pred__z, *3_cc, + *3_ptest, @aarch64_pred_cmp, + *cmp_cc, *cmp_ptest, + @aarch64_pred_cmp_wide, + *aarch64_pred_cmp_wide_cc, + *aarch64_pred_cmp_wide_ptest, @aarch64_brk, + *aarch64_brk_cc, *aarch64_brk_ptest, + @aarch64_brk, *aarch64_brk_cc, + *aarch64_brk_ptest, aarch64_rdffr_z, *aarch64_rdffr_z_ptest, + *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, *aarch64_rdffr_cc): Add + new early clobber + alternative. + * config/aarch64/aarch64-sve2.md + (@aarch64_pred_): Likewise. + +2024-06-05 Tamar Christina + + * config/aarch64/aarch64-tuning-flags.def + (AVOID_PRED_RMW): New. + * config/aarch64/aarch64.h (TARGET_SVE_PRED_CLOBBER): New. + * config/aarch64/aarch64.md (pred_clobber): New. + (arch_enabled): Use it. + +2024-06-05 Tamar Christina + + * config/aarch64/aarch64-sve.md (and3, + @aarch64_pred__z, *3_cc, + *3_ptest, aarch64_pred__z, + *3_cc, *3_ptest, + aarch64_pred__z, *3_cc, + *3_ptest, *cmp_ptest, + @aarch64_pred_cmp_wide, + *aarch64_pred_cmp_wide_cc, + *aarch64_pred_cmp_wide_ptest, *aarch64_brk_cc, + *aarch64_brk_ptest, @aarch64_brk, + *aarch64_brk_cc, *aarch64_brk_ptest, aarch64_rdffr_z, + *aarch64_rdffr_z_ptest, *aarch64_rdffr_ptest, *aarch64_rdffr_z_cc, + *aarch64_rdffr_cc): Convert to compact syntax. + * config/aarch64/aarch64-sve2.md + (@aarch64_pred_): Likewise. + +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * tree.def (OMP_TILE, OMP_UNROLL): New tree codes. + * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_PARTIAL, + OMP_CLAUSE_FULL and OMP_CLAUSE_SIZES. + * tree.h (OMP_LOOPXFORM_CHECK): Define. + (OMP_LOOPXFORM_LOWERED): Define. + (OMP_CLAUSE_PARTIAL_EXPR): Define. + (OMP_CLAUSE_SIZES_LIST): Define. + * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add entries + for OMP_CLAUSE_{PARTIAL,FULL,SIZES}. + * tree-pretty-print.cc (dump_omp_clause): Handle + OMP_CLAUSE_{PARTIAL,FULL,SIZES}. + (dump_generic_node): Handle OMP_TILE and OMP_UNROLL. Skip printing + loops with NULL OMP_FOR_INIT (node) vector element. + * gimplify.cc (is_gimple_stmt): Handle OMP_TILE and OMP_UNROLL. + (gimplify_omp_taskloop_expr): For SAVE_EXPR use gimplify_save_expr. + (gimplify_omp_loop_xform): New function. + (gimplify_omp_for): Call omp_maybe_apply_loop_xforms and if that + reshuffles what the passed pointer points to, retry or return GS_OK. + Handle OMP_TILE and OMP_UNROLL. + (gimplify_omp_loop): Call omp_maybe_apply_loop_xforms and if that + reshuffles what the passed pointer points to, return GS_OK. + (gimplify_expr): Handle OMP_TILE and OMP_UNROLL. + * omp-general.h (omp_loop_number_of_iterations, + omp_maybe_apply_loop_xforms): Declare. + * omp-general.cc (omp_adjust_for_condition): For LE_EXPR and GE_EXPR + with pointers, don't add/subtract one, but the size of what the + pointer points to. + (omp_loop_number_of_iterations, omp_apply_tile, + find_nested_loop_xform, omp_maybe_apply_loop_xforms): New functions. + +2024-06-05 Kewen Lin + + * config/darwin.cc (darwin_patch_builtins): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + +2024-06-05 Pan Li + + PR target/51492 + PR target/112600 + * internal-fn.def (SAT_SUB): Add new IFN define for SAT_SUB. + * match.pd: Add new match for SAT_SUB. + * optabs.def (OPTAB_NL): Remove fixed-point for ussub/ssub. + * tree-ssa-math-opts.cc (gimple_unsigned_integer_sat_sub): Add + new decl for generated in match.pd. + (build_saturation_binary_arith_call): Add new helper function + to build the gimple call to binary SAT alu. + (match_saturation_arith): Rename from. + (match_unsigned_saturation_add): Rename to. + (match_unsigned_saturation_sub): Add new func to match the + unsigned sat sub. + (math_opts_dom_walker::after_dom_children): Add SAT_SUB matching + try when COND_EXPR. + +2024-06-05 Gerald Pfeifer + + PR other/69374 + * doc/install.texi (Prerequisites): Drop reference to GNU awk + version 3.1.5. Remove fluff. + +2024-06-05 liuhongt + + PR rtl-optimization/100927 + PR rtl-optimization/115161 + PR rtl-optimization/115115 + * simplify-rtx.cc (simplify_const_unary_operation): Prevent + simplication of FIX/UNSIGNED_FIX for NAN/INF/out-of-range + constant when flag_trapping_math. + * fold-const.cc (fold_convert_const_int_from_real): Don't fold + for overflow value when_trapping_math. + +2024-06-05 Xiao Zeng + + * config/riscv/iterators.md: Add mode_iterator between + floating-point modes and BFmode. + * config/riscv/riscv.cc (riscv_output_move): Handle BFmode move + for zfbfmin. + * config/riscv/riscv.md (truncbf2): New pattern for BFmode. + (extendbfsf2): Dotto. + (*movhf_hardfloat): Add BFmode. + (*mov_hardfloat): Dotto. + 2024-06-04 Jakub Jelinek PR tree-optimization/115337 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 3577d8c152d..ab2ff39bb42 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20240605 +20240606 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6d44c3514bc..5beaacb2f0d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2024-06-05 Kewen Lin + + * gcc-interface/decl.cc (gnat_to_gnu_entity): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + 2024-05-29 Eric Botcazou PR ada/115270 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index acc49065e70..2d75e6995ef 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,25 @@ +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * c-common.h (c_omp_find_generated_loop): Declare. + * c-gimplify.cc (c_genericize_control_stmt): Handle OMP_TILE and + OMP_UNROLL. + * c-omp.cc (c_finish_omp_for): Handle generated loops. + (c_omp_is_loop_iterator): Likewise. + (c_find_nested_loop_xform_r, c_omp_find_generated_loop): New + functions. + (c_omp_check_loop_iv): Handle generated loops. For now sorry + on mixing non-rectangular loop with generated loops. + (c_omp_check_loop_binding_exprs): For now sorry on mixing + imperfect loops with generated loops. + (c_omp_directives): Uncomment tile and unroll entries. + * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TILE and + PRAGMA_OMP_UNROLL, change PRAGMA_OMP__LAST_ to the latter. + (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FULL and + PRAGMA_OMP_CLAUSE_PARTIAL. + * c-pragma.cc (omp_pragmas_simd): Add tile and unroll omp pragmas. + 2024-05-31 Qing Zhao * c-ubsan.cc (get_bound_from_access_with_size): New function. diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index fb2cf20af87..4f995a41adc 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,38 @@ +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * c-parser.cc (c_parser_skip_std_attribute_spec_seq): New function. + (check_omp_intervening_code): Reject imperfectly nested tile. + (c_parser_compound_statement_nostart): If want_nested_loop, use + c_parser_omp_next_tokens_can_be_canon_loop instead of just checking + for RID_FOR keyword. + (c_parser_omp_clause_name): Handle full and partial clause names. + (c_parser_omp_clause_allocate): Remove spurious semicolon. + (c_parser_omp_clause_full, c_parser_omp_clause_partial): New + functions. + (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FULL and + PRAGMA_OMP_CLAUSE_PARTIAL. + (c_parser_omp_next_tokens_can_be_canon_loop): New function. + (c_parser_omp_loop_nest): Parse C23 attributes. Handle tile/unroll + constructs. Use c_parser_omp_next_tokens_can_be_canon_loop instead + of just checking for RID_FOR keyword. Only add_stmt (body) if it is + non-NULL. + (c_parser_omp_for_loop): Rename tiling variable to oacc_tiling. For + OMP_CLAUSE_SIZES set collapse to list length of OMP_CLAUSE_SIZES_LIST. + Use c_parser_omp_next_tokens_can_be_canon_loop instead of just + checking for RID_FOR keyword. Remove spurious semicolon. Don't call + c_omp_check_loop_binding_exprs if stmt is NULL. Skip generated loops. + (c_parser_omp_tile_sizes, c_parser_omp_tile): New functions. + (OMP_UNROLL_CLAUSE_MASK): Define. + (c_parser_omp_unroll): New function. + (c_parser_omp_construct): Handle PRAGMA_OMP_TILE and + PRAGMA_OMP_UNROLL. + * c-typeck.cc (c_finish_omp_clauses): Adjust wording of some of the + conflicting clause diagnostic messages to include word clause. + Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES} and diagnose full vs. partial + conflict. + 2024-05-31 Qing Zhao * c-typeck.cc (build_access_with_size_for_counted_by): Add the 6th diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1400b447c53..4a389e22881 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,53 @@ +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * cp-tree.h (dependent_omp_for_p): Add another tree argument. + * parser.cc (check_omp_intervening_code): Reject imperfectly nested + tile. + (cp_parser_statement_seq_opt): If want_nested_loop, use + cp_parser_next_tokens_can_be_canon_loop instead of just checking + for RID_FOR keyword. + (cp_parser_omp_clause_name): Handle full and partial clause names. + (cp_parser_omp_clause_full, cp_parser_omp_clause_partial): New + functions. + (cp_parser_omp_all_clauses): Formatting fix. Handle + PRAGMA_OMP_CLAUSE_PARTIAL and PRAGMA_OMP_CLAUSE_FULL. + (cp_parser_next_tokens_can_be_canon_loop): New function. + (cp_parser_omp_loop_nest): Parse C++11 attributes. Handle tile/unroll + constructs. Use cp_parser_next_tokens_can_be_canon_loop instead + of just checking for RID_FOR keyword. Only add_stmt + cp_parser_omp_loop_nest result if it is non-NULL. + (cp_parser_omp_for_loop): Rename tiling variable to oacc_tiling. For + OMP_CLAUSE_SIZES set collapse to list length of OMP_CLAUSE_SIZES_LIST. + Use cp_parser_next_tokens_can_be_canon_loop instead of just + checking for RID_FOR keyword. Remove spurious semicolon. Don't call + c_omp_check_loop_binding_exprs if stmt is NULL. Skip and/or handle + generated loops. Remove spurious ()s around & operands. + (cp_parser_omp_tile_sizes, cp_parser_omp_tile): New functions. + (OMP_UNROLL_CLAUSE_MASK): Define. + (cp_parser_omp_unroll): New function. + (cp_parser_omp_construct): Handle PRAGMA_OMP_TILE and + PRAGMA_OMP_UNROLL. + (cp_parser_pragma): Likewise. + * semantics.cc (finish_omp_clauses): Don't call + fold_build_cleanup_point_expr for cases which obviously won't need it, + like checked INTEGER_CSTs. Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES} + and diagnose full vs. partial conflict. Adjust wording of some of the + conflicting clause diagnostic messages to include word clause. + (finish_omp_for): Use decl equal to global_namespace as a marker for + generated loop. Pass also body to dependent_omp_for_p. Skip + generated loops. + (finish_omp_for_block): Skip generated loops. + * pt.cc (tsubst_omp_clauses): Handle OMP_CLAUSE_{FULL,PARTIAL,SIZES}. + (tsubst_stmt): Handle OMP_TILE and OMP_UNROLL. Handle or skip + generated loops. + (dependent_omp_for_p): Add body argument. If declv vector element + is NULL, find generated loop. + * cp-gimplify.cc (cp_gimplify_expr): Handle OMP_TILE and OMP_UNROLL. + (cp_fold_r): Likewise. + (cp_genericize_r): Likewise. Skip generated loops. + 2024-06-04 Simon Martin * pt.cc (tsubst_expr): Add missing space after seen_error. diff --git a/gcc/d/ChangeLog b/gcc/d/ChangeLog index 98d94d4338d..5688ce07f8b 100644 --- a/gcc/d/ChangeLog +++ b/gcc/d/ChangeLog @@ -1,3 +1,10 @@ +2024-06-05 Kewen Lin + Iain Buclaw + + * d-target.cc (Target::_init): Use int_size_in_bytes of + long_double_type_node to replace the expression with + LONG_DOUBLE_TYPE_SIZE for c.long_doublesize assignment. + 2024-04-19 Iain Buclaw PR d/111650 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b00e9ab3e87..4ef3e119f5d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,80 @@ +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * gfortran.h (enum gfc_statement): Add ST_OMP_UNROLL, + ST_OMP_END_UNROLL, ST_OMP_TILE and ST_OMP_END_TILE. + (struct gfc_omp_clauses): Add sizes_list, partial, full and erroneous + members. + (enum gfc_exec_op): Add EXEC_OMP_UNROLL and EXEC_OMP_TILE. + (gfc_expr_list_len): Declare. + * match.h (gfc_match_omp_tile, gfc_match_omp_unroll): Declare. + * openmp.cc (gfc_get_location): Declare. + (gfc_free_omp_clauses): Free sizes_list. + (match_oacc_expr_list): Rename to ... + (match_omp_oacc_expr_list): ... this. Add is_omp argument and + change diagnostic wording if it is true. + (enum omp_mask2): Add OMP_CLAUSE_{FULL,PARTIAL,SIZES}. + (gfc_match_omp_clauses): Parse full, partial and sizes clauses. + (gfc_match_oacc_wait): Use match_omp_oacc_expr_list instead of + match_oacc_expr_list. + (OMP_UNROLL_CLAUSES, OMP_TILE_CLAUSES): Define. + (gfc_match_omp_tile, gfc_match_omp_unroll): New functions. + (resolve_omp_clauses): Diagnose full vs. partial clause conflict. + Resolve sizes clause arguments. + (find_nested_loop_in_chain): Use switch instead of series of ifs. + Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to + list length of sizes_list if present. + (gfc_resolve_do_iterator): Return for EXEC_OMP_TILE or + EXEC_OMP_UNROLL. + (restructure_intervening_code): Remove spurious ()s around & operands. + (is_outer_iteration_variable): Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (check_nested_loop_in_chain): Likewise. + (expr_is_invariant): Likewise. + (resolve_omp_do): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. Diagnose + tile without sizes clause. Use sizes_list length for count if + non-NULL. Set code->ext.omp_clauses->erroneous on loops where we've + reported diagnostics. Sorry for mixing non-rectangular loops with + generated loops. + (omp_code_to_statement): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (gfc_resolve_omp_directive): Likewise. + * parse.cc (decode_omp_directive): Parse end tile, end unroll, tile + and unroll. Move nothing entry alphabetically. + (case_exec_markers): Add ST_OMP_TILE and ST_OMP_UNROLL. + (gfc_ascii_statement): Handle ST_OMP_END_TILE, ST_OMP_END_UNROLL, + ST_OMP_TILE and ST_OMP_UNROLL. + (parse_omp_do): Add nested argument. Handle ST_OMP_TILE and + ST_OMP_UNROLL. + (parse_omp_structured_block): Adjust parse_omp_do caller. + (parse_executable): Likewise. Handle ST_OMP_TILE and ST_OMP_UNROLL. + * resolve.cc (gfc_resolve_blocks): Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (gfc_resolve_code): Likewise. + * st.cc (gfc_free_statement): Likewise. + * trans.cc (trans_code): Likewise. + * trans-openmp.cc (gfc_trans_omp_clauses): Handle full, partial and + sizes clauses. Use tree_cons + nreverse instead of + temporary vector and build_tree_list_vec for tile_list handling. + (gfc_expr_list_len): New function. + (gfc_trans_omp_do): Rename tile to oacc_tile. Handle sizes clause. + Don't assert code->op is EXEC_DO. Handle EXEC_OMP_TILE and + EXEC_OMP_UNROLL. + (gfc_trans_omp_directive): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + * dump-parse-tree.cc (show_omp_clauses): Dump full, partial and + sizes clauses. + (show_omp_node): Handle EXEC_OMP_TILE and EXEC_OMP_UNROLL. + (show_code_node): Likewise. + +2024-06-05 Kewen Lin + + * trans-intrinsic.cc (build_round_expr): Use TYPE_PRECISION of + long_double_type_node to replace LONG_DOUBLE_TYPE_SIZE. + * trans-types.cc (gfc_build_real_type): Use TYPE_PRECISION of + {float,double,long_double}_type_node to replace + {FLOAT,DOUBLE,LONG_DOUBLE}_TYPE_SIZE. + 2024-06-04 Harald Anlauf PR fortran/83865 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d031d0eaf43..a0ab8471471 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,219 @@ +2024-06-05 Robin Dapp + + * lib/target-supports.exp: Add + check_effective_target_riscv_v_misalign_ok. + * gcc.dg/vect/costmodel/riscv/rvv/dynamic-lmul2-7.c: Add + -mno-vector-strict-align. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-10.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-11.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-12.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-8.c: Ditto. + * gcc.dg/vect/costmodel/riscv/rvv/vla_vs_vls-9.c: Ditto. + * gcc.target/riscv/rvv/autovec/vls/misalign-1.c: Ditto. + +2024-06-05 Tamar Christina + + * gcc.target/aarch64/sve/pred_clobber_1.c: New test. + * gcc.target/aarch64/sve/pred_clobber_2.c: New test. + * gcc.target/aarch64/sve/pred_clobber_3.c: New test. + * gcc.target/aarch64/sve/pred_clobber_4.c: New test. + +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * c-c++-common/gomp/attrs-tile-1.c: New test. + * c-c++-common/gomp/attrs-tile-2.c: New test. + * c-c++-common/gomp/attrs-tile-3.c: New test. + * c-c++-common/gomp/attrs-tile-4.c: New test. + * c-c++-common/gomp/attrs-tile-5.c: New test. + * c-c++-common/gomp/attrs-tile-6.c: New test. + * c-c++-common/gomp/attrs-unroll-1.c: New test. + * c-c++-common/gomp/attrs-unroll-2.c: New test. + * c-c++-common/gomp/attrs-unroll-3.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-1.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-2.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-3.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-4.c: New test. + * c-c++-common/gomp/attrs-unroll-inner-5.c: New test. + * c-c++-common/gomp/imperfect-attributes.c: Adjust expected + diagnostics. + * c-c++-common/gomp/imperfect-loop-nest.c: New test. + * c-c++-common/gomp/ordered-5.c: New test. + * c-c++-common/gomp/scan-7.c: New test. + * c-c++-common/gomp/tile-1.c: New test. + * c-c++-common/gomp/tile-2.c: New test. + * c-c++-common/gomp/tile-3.c: New test. + * c-c++-common/gomp/tile-4.c: New test. + * c-c++-common/gomp/tile-5.c: New test. + * c-c++-common/gomp/tile-6.c: New test. + * c-c++-common/gomp/tile-7.c: New test. + * c-c++-common/gomp/tile-8.c: New test. + * c-c++-common/gomp/tile-9.c: New test. + * c-c++-common/gomp/tile-10.c: New test. + * c-c++-common/gomp/tile-11.c: New test. + * c-c++-common/gomp/tile-12.c: New test. + * c-c++-common/gomp/tile-13.c: New test. + * c-c++-common/gomp/tile-14.c: New test. + * c-c++-common/gomp/tile-15.c: New test. + * c-c++-common/gomp/unroll-1.c: New test. + * c-c++-common/gomp/unroll-2.c: New test. + * c-c++-common/gomp/unroll-3.c: New test. + * c-c++-common/gomp/unroll-4.c: New test. + * c-c++-common/gomp/unroll-5.c: New test. + * c-c++-common/gomp/unroll-6.c: New test. + * c-c++-common/gomp/unroll-7.c: New test. + * c-c++-common/gomp/unroll-8.c: New test. + * c-c++-common/gomp/unroll-9.c: New test. + * c-c++-common/gomp/unroll-inner-1.c: New test. + * c-c++-common/gomp/unroll-inner-2.c: New test. + * c-c++-common/gomp/unroll-inner-3.c: New test. + * c-c++-common/gomp/unroll-non-rect-1.c: New test. + * c-c++-common/gomp/unroll-non-rect-2.c: New test. + * c-c++-common/gomp/unroll-non-rect-3.c: New test. + * c-c++-common/gomp/unroll-simd-1.c: New test. + * gcc.dg/gomp/attrs-4.c: Adjust expected diagnostics. + * gcc.dg/gomp/for-1.c: Likewise. + * gcc.dg/gomp/for-11.c: Likewise. + * g++.dg/gomp/attrs-4.C: Likewise. + * g++.dg/gomp/for-1.C: Likewise. + * g++.dg/gomp/pr94512.C: Likewise. + * g++.dg/gomp/tile-1.C: New test. + * g++.dg/gomp/tile-2.C: New test. + * g++.dg/gomp/unroll-1.C: New test. + * g++.dg/gomp/unroll-2.C: New test. + * g++.dg/gomp/unroll-3.C: New test. + * gfortran.dg/gomp/inner-loops-1.f90: New test. + * gfortran.dg/gomp/inner-loops-2.f90: New test. + * gfortran.dg/gomp/pure-1.f90: Add tests for !$omp unroll + and !$omp tile. + * gfortran.dg/gomp/pure-2.f90: Remove those tests from here. + * gfortran.dg/gomp/scan-9.f90: New test. + * gfortran.dg/gomp/tile-1.f90: New test. + * gfortran.dg/gomp/tile-2.f90: New test. + * gfortran.dg/gomp/tile-3.f90: New test. + * gfortran.dg/gomp/tile-4.f90: New test. + * gfortran.dg/gomp/tile-5.f90: New test. + * gfortran.dg/gomp/tile-6.f90: New test. + * gfortran.dg/gomp/tile-7.f90: New test. + * gfortran.dg/gomp/tile-8.f90: New test. + * gfortran.dg/gomp/tile-9.f90: New test. + * gfortran.dg/gomp/tile-10.f90: New test. + * gfortran.dg/gomp/tile-imperfect-nest-1.f90: New test. + * gfortran.dg/gomp/tile-imperfect-nest-2.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-1.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-2.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-3.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-4.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-5.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-6.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-7.f90: New test. + * gfortran.dg/gomp/tile-inner-loops-8.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-1.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-2.f90: New test. + * gfortran.dg/gomp/tile-non-rectangular-3.f90: New test. + * gfortran.dg/gomp/tile-unroll-1.f90: New test. + * gfortran.dg/gomp/tile-unroll-2.f90: New test. + * gfortran.dg/gomp/unroll-1.f90: New test. + * gfortran.dg/gomp/unroll-2.f90: New test. + * gfortran.dg/gomp/unroll-3.f90: New test. + * gfortran.dg/gomp/unroll-4.f90: New test. + * gfortran.dg/gomp/unroll-5.f90: New test. + * gfortran.dg/gomp/unroll-6.f90: New test. + * gfortran.dg/gomp/unroll-7.f90: New test. + * gfortran.dg/gomp/unroll-8.f90: New test. + * gfortran.dg/gomp/unroll-9.f90: New test. + * gfortran.dg/gomp/unroll-10.f90: New test. + * gfortran.dg/gomp/unroll-11.f90: New test. + * gfortran.dg/gomp/unroll-12.f90: New test. + * gfortran.dg/gomp/unroll-13.f90: New test. + * gfortran.dg/gomp/unroll-inner-loop-1.f90: New test. + * gfortran.dg/gomp/unroll-inner-loop-2.f90: New test. + * gfortran.dg/gomp/unroll-no-clause-1.f90: New test. + * gfortran.dg/gomp/unroll-non-rect-1.f90: New test. + * gfortran.dg/gomp/unroll-non-rect-2.f90: New test. + * gfortran.dg/gomp/unroll-simd-1.f90: New test. + * gfortran.dg/gomp/unroll-simd-2.f90: New test. + * gfortran.dg/gomp/unroll-simd-3.f90: New test. + * gfortran.dg/gomp/unroll-tile-1.f90: New test. + * gfortran.dg/gomp/unroll-tile-2.f90: New test. + * gfortran.dg/gomp/unroll-tile-inner-1.f90: New test. + +2024-06-05 Wilco Dijkstra + + * lib/scanasm.exp (configure_check-function-bodies): Allow single-char + function names. + +2024-06-05 Thomas Schwinge + + * c-c++-common/initpri1_part_c1.c: Consider 'CDTOR_LINKAGE'. + * c-c++-common/initpri1_part_c2.c: Likewise. + * c-c++-common/initpri1_part_c3.c: Likewise. + * c-c++-common/initpri1_part_cd4.c: Likewise. + * c-c++-common/initpri1_part_d1.c: Likewise. + * c-c++-common/initpri1_part_d2.c: Likewise. + * c-c++-common/initpri1_part_d3.c: Likewise. + * c-c++-common/initpri1.c: Specify it. + * c-c++-common/initpri1-lto.c: Likewise. + * c-c++-common/initpri1-split.c: Likewise. + * c-c++-common/initpri1-static.c: New. + * c-c++-common/initpri1-lto-static.c: Likewise. + * c-c++-common/initpri1-split-static.c: Likewise. + +2024-06-05 Thomas Schwinge + + * c-c++-common/initpri1.c: Split into... + * c-c++-common/initpri1_part_c1.c: ... this, and... + * c-c++-common/initpri1_part_c2.c: ... this, and... + * c-c++-common/initpri1_part_c3.c: ... this, and... + * c-c++-common/initpri1_part_cd4.c: ... this, and... + * c-c++-common/initpri1_part_d1.c: ... this, and... + * c-c++-common/initpri1_part_d2.c: ... this, and... + * c-c++-common/initpri1_part_d3.c: ... this, and... + * c-c++-common/initpri1_part_main.c: ... this part. + * c-c++-common/initpri1-split.c: New. + +2024-06-05 Thomas Schwinge + + * gcc.dg/initpri1-lto.c: Integrate this... + * c-c++-common/initpri1-lto.c: ... here. + +2024-06-05 Thomas Schwinge + + * gcc.dg/initpri1.c: Integrate this... + * g++.dg/special/initpri1.C: ..., and this... + * c-c++-common/initpri1.c: ... here. + * gcc.dg/initpri1-lto.c: Adjust. + * gcc.dg/initpri2.c: Integrate this... + * g++.dg/special/initpri2.C: ..., and this... + * c-c++-common/initpri2.c: ... here. + +2024-06-05 Thomas Schwinge + + PR lto/46083 + * gcc.dg/initpri3.c: Remove. + * gcc.dg/initpri1-lto.c: New. + +2024-06-05 liuhongt + + * gcc.dg/pr100927.c: New test. + * c-c++-common/Wconversion-1.c: Add -fno-trapping-math. + * c-c++-common/dfp/convert-int-saturate.c: Ditto. + * g++.dg/ubsan/pr63956.C: Ditto. + * g++.dg/warn/Wconversion-real-integer.C: Ditto. + * gcc.c-torture/execute/20031003-1.c: Ditto. + * gcc.dg/Wconversion-complex-c99.c: Ditto. + * gcc.dg/Wconversion-real-integer.c: Ditto. + * gcc.dg/c90-const-expr-11.c: Ditto. + * gcc.dg/overflow-warn-8.c: Ditto. + +2024-06-05 Xiao Zeng + + * gcc.target/riscv/zfbfmin-bf16_arithmetic.c: New test. + * gcc.target/riscv/zfbfmin-bf16_comparison.c: New test. + * gcc.target/riscv/zfbfmin-bf16_float_libcall_convert.c: New test. + * gcc.target/riscv/zfbfmin-bf16_integer_libcall_convert.c: New test. + 2024-06-04 Simon Martin PR c++/103388 diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 48f3ee4f388..5a8830c3a6b 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,13 @@ +2024-06-05 Wilco Dijkstra + + PR target/115342 + * config/aarch64/cpuinfo.c (__init_cpu_features_constructor): + Use HWCAP where possible. Use atomic write for initialization. + Fix FEAT_PREDRES comparison. + (__init_cpu_features_resolver): Use atomic load for correct + initialization. + (__init_cpu_features): Likewise. + 2024-05-31 Thomas Schwinge * config/nvptx/crt0.c (__gbl_ctors): New weak function. diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index df78e2c3754..8e07c533341 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,72 @@ +2024-06-05 Jakub Jelinek + Frederik Harwath + Sandra Loosemore + + * testsuite/libgomp.c-c++-common/imperfect-transform-1.c: New test. + * testsuite/libgomp.c-c++-common/imperfect-transform-2.c: New test. + * testsuite/libgomp.c-c++-common/matrix-1.h: New test. + * testsuite/libgomp.c-c++-common/matrix-constant-iter.h: New test. + * testsuite/libgomp.c-c++-common/matrix-helper.h: New test. + * testsuite/libgomp.c-c++-common/matrix-no-directive-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-for-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-for-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-simd-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-target-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-target-teams-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-omp-taskloop-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-omp-teams-distribute-parallel-for-1.c: + New test. + * testsuite/libgomp.c-c++-common/matrix-simd-1.c: New test. + * testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h: + New test. + * testsuite/libgomp.c-c++-common/target-imperfect-transform-1.c: + New test. + * testsuite/libgomp.c-c++-common/target-imperfect-transform-2.c: + New test. + * testsuite/libgomp.c-c++-common/unroll-1.c: New test. + * testsuite/libgomp.c-c++-common/unroll-non-rect-1.c: New test. + * testsuite/libgomp.c++/matrix-no-directive-unroll-full-1.C: New test. + * testsuite/libgomp.c++/tile-2.C: New test. + * testsuite/libgomp.c++/tile-3.C: New test. + * testsuite/libgomp.c++/unroll-1.C: New test. + * testsuite/libgomp.c++/unroll-2.C: New test. + * testsuite/libgomp.c++/unroll-full-tile.C: New test. + * testsuite/libgomp.fortran/imperfect-transform-1.f90: New test. + * testsuite/libgomp.fortran/imperfect-transform-2.f90: New test. + * testsuite/libgomp.fortran/inner-1.f90: New test. + * testsuite/libgomp.fortran/nested-fn.f90: New test. + * testsuite/libgomp.fortran/target-imperfect-transform-1.f90: New test. + * testsuite/libgomp.fortran/target-imperfect-transform-2.f90: New test. + * testsuite/libgomp.fortran/tile-1.f90: New test. + * testsuite/libgomp.fortran/tile-2.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-1.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-2.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-3.f90: New test. + * testsuite/libgomp.fortran/tile-unroll-4.f90: New test. + * testsuite/libgomp.fortran/unroll-1.f90: New test. + * testsuite/libgomp.fortran/unroll-2.f90: New test. + * testsuite/libgomp.fortran/unroll-3.f90: New test. + * testsuite/libgomp.fortran/unroll-4.f90: New test. + * testsuite/libgomp.fortran/unroll-5.f90: New test. + * testsuite/libgomp.fortran/unroll-6.f90: New test. + * testsuite/libgomp.fortran/unroll-7a.f90: New test. + * testsuite/libgomp.fortran/unroll-7b.f90: New test. + * testsuite/libgomp.fortran/unroll-7c.f90: New test. + * testsuite/libgomp.fortran/unroll-7.f90: New test. + * testsuite/libgomp.fortran/unroll-8.f90: New test. + * testsuite/libgomp.fortran/unroll-simd-1.f90: New test. + * testsuite/libgomp.fortran/unroll-tile-1.f90: New test. + * testsuite/libgomp.fortran/unroll-tile-2.f90: New test. + 2024-05-31 Rainer Orth PR testsuite/115294 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c8229958c9b..9a794fb4359 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2024-06-05 Gerald Pfeifer + + * doc/xml/faq.xml: Move gcc.gnu.org to https. + * doc/html/faq.html: Regenerate. + 2024-06-04 Jonathan Wakely PR libstdc++/115335