https://gcc.gnu.org/g:0601c8824d1243200c49f0d4e49f58cc88cc367e
commit r15-2943-g0601c8824d1243200c49f0d4e49f58cc88cc367e Author: GCC Administrator <gccadmin@gcc.gnu.org> Date: Fri Aug 16 00:18:31 2024 +0000 Daily bump. Diff: --- gcc/ChangeLog | 137 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/cp/ChangeLog | 15 ++++++ gcc/fortran/ChangeLog | 109 ++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 108 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 370 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aa88209f48b..a6b1bd0f5d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,140 @@ +2024-08-16 Andrew Pinski <pins...@gmail.com> + + * tree-ssa-phiopt.cc (factor_out_conditional_operation): Update + comment. + +2024-08-15 Vineet Gupta <vine...@rivosinc.com> + + * config/riscv/riscv.md: define_insn for fclass insn. + define_expand for isfinite, isnormal, isinf. + +2024-08-15 Roger Sayle <ro...@nextmovesoftware.com> + Uros Bizjak <ubiz...@gmail.com> + + * config/i386/i386.md (*extendv2di2_highpart_stv_noavx512vl): Split + to an improved implementation on !TARGET_XOP. On TARGET_XOP, use + a new pseudo for the intermediate to simplify register allocation. + +2024-08-15 Richard Sandiford <richard.sandif...@arm.com> + + PR middle-end/116236 + * rtlanal.cc (decompose_normal_address): Try to distinguish + bases and indices based on mode, before resorting to "baseness". + +2024-08-15 Richard Sandiford <richard.sandif...@arm.com> + + PR testsuite/116343 + * recog.h (insn_propagation::apply_to_note): Declare. + * recog.cc (insn_propagation::apply_to_note): New function. + * late-combine.cc (insn_combination::substitute_note): Use + apply_to_note instead of apply_to_rvalue. + * rtl-ssa/changes.cc (rtl_ssa::changes_are_worthwhile): Improve + dumping of costs for noop moves. + +2024-08-15 Xi Ruoyao <xry...@xry111.site> + + * config/loongarch/loongarch.md (extendsidi2): Add ("=r", "f") + alternative and use movfr2gr.s for it. The spec clearly states + movfr2gr.s sign extends the value to GRLEN. + (fclass_<fmt>): Make the result SImode instead of a floating + mode. The fclass results are really not FP values. + (FCLASS_MASK): New define_int_iterator. + (fclass_optab): New define_int_attr. + (<FCLASS_MASK:fclass_optab><ANYF:mode>): New define_expand + template. + +2024-08-15 liuhongt <hongtao....@intel.com> + + PR target/116274 + * config/i386/i386-expand.cc (ix86_expand_vector_move): + Restrict special case TImode to 128-bit vector conversions via + V2DI under ix86_pre_reload_split (). + * config/i386/i386.cc (inline_secondary_memory_needed): + Movement between GENERAL_REGS and SSE_REGS for TImode doesn't + need secondary reload. + * config/i386/i386.md (*extendsidi2_rex64): Add a + define_peephole2 after it. + +2024-08-15 Richard Sandiford <richard.sandif...@arm.com> + + PR target/116371 + * config/aarch64/aarch64-sve-builtins-sve2.h (svpext): Rename to... + (svpext_lane): ...this. + * config/aarch64/aarch64-sve-builtins-sve2.cc (svpext_impl): Rename + to... + (svpext_lane_impl): ...this and update instantiation accordingly. + * config/aarch64/aarch64-sve-builtins-sve2.def (svpext): Rename to... + (svpext_lane): ...this. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * config/rs6000/rs6000.md (floatti<mode>2, floatunsti<mode>2, + fix_trunc<mode>ti2): Add guard TARGET_FLOAT128_HW. + * config/rs6000/vsx.md (xsxexpqp_<IEEE128:mode>_<V2DI_DI:mode>, + xsxsigqp_<IEEE128:mode>_<VEC_TI:mode>, xsiexpqpf_<mode>, + xsiexpqp_<IEEE128:mode>_<V2DI_DI:mode>, xscmpexpqp_<code>_<mode>, + *xscmpexpqp, xststdcnegqp_<mode>): Replace guard TARGET_P9_VECTOR + with TARGET_FLOAT128_HW. + (xststdc_<mode>, *xststdc_<mode>, isinf<mode>2): Add guard + TARGET_FLOAT128_HW for the IEEE128 modes. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * config/rs6000/vsx.md (isnormal<mode>2): New expand. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * config/rs6000/vsx.md (isfinite<mode>2): New expand. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * config/rs6000/rs6000.md (constant VSX_TEST_DATA_CLASS_NAN, + VSX_TEST_DATA_CLASS_POS_INF, VSX_TEST_DATA_CLASS_NEG_INF, + VSX_TEST_DATA_CLASS_POS_ZERO, VSX_TEST_DATA_CLASS_NEG_ZERO, + VSX_TEST_DATA_CLASS_POS_DENORMAL, VSX_TEST_DATA_CLASS_NEG_DENORMAL): + Define. + (mode_attr sdq, vsx_altivec, wa_v, x): Define. + (mode_iterator IEEE_FP): Define. + * config/rs6000/vsx.md (isinf<mode>2): New expand. + (expand xststdcqp_<mode>, xststdc<sd>p): Combine into... + (expand xststdc_<mode>): ...this. + (insn *xststdcqp_<mode>, *xststdc<sd>p): Combine into... + (insn *xststdc_<mode>): ...this. + * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Rename + CODE_FOR_xststdcqp_kf as CODE_FOR_xststdc_kf, + CODE_FOR_xststdcqp_tf as CODE_FOR_xststdc_tf. + * config/rs6000/rs6000-builtins.def: Rename xststdcdp as xststdc_df, + xststdcsp as xststdc_sf, xststdcqp_kf as xststdc_kf. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * gimple-range-op.cc (class cfn_isfinite): New. + (op_cfn_finite): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CFN_BUILT_IN_ISFINITE. + * value-range.h (class frange): Declear known_isnormal and + known_isdenormal_or_zero. + (frange::known_isnormal): Define. + (frange::known_isdenormal_or_zero): Define. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * gimple-range-op.cc (class cfn_isfinite): New. + (op_cfn_finite): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CFN_BUILT_IN_ISFINITE. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/114678 + * gimple-range-op.cc (class cfn_isinf): New. + (op_cfn_isinf): New variables. + (gimple_range_op_handler::maybe_builtin_call): Handle + CASE_FLT_FN (BUILT_IN_ISINF). + 2024-08-14 Marek Polacek <pola...@redhat.com> PR c++/116015 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 2ea444e25fe..c11f769cc2c 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20240815 +20240816 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1286b5cd34f..e8b4780dd68 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,18 @@ +2024-08-15 Patrick Palka <ppa...@redhat.com> + + PR c++/116320 + * semantics.cc (check_accessibility_of_qualified_id): Try + currently_open_class when using the object type as the + effective qualifying type. + +2024-08-15 Patrick Palka <ppa...@redhat.com> + + PR c++/116327 + PR c++/104981 + PR c++/115550 + * coroutines.cc (morph_fn_to_coro): Use build_fold_indirect_ref + instead of cp_build_fold_indirect_ref. + 2024-08-14 Marek Polacek <pola...@redhat.com> PR c++/116015 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2ed514fdf04..3dcc5ba5c78 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,112 @@ +2024-08-15 Jakub Jelinek <ja...@redhat.com> + + PR bootstrap/116387 + * resolve.cc (resolve_operator): Use %L rather than %%L in format + string. + +2024-08-15 Andre Vehreschild <ve...@gcc.gnu.org> + + PR fortran/110033 + * class.cc (gfc_is_class_scalar_expr): Coarray refs that ref + only self, aka this image, are regarded as scalar, too. + * resolve.cc (resolve_assoc_var): Ignore this image coarray refs + and do not build a new class type. + * trans-expr.cc (gfc_get_caf_token_offset): Get the caf token + from the descriptor for associated variables. + (gfc_conv_variable): Same. + (gfc_trans_pointer_assignment): Assign token to temporary + associate variable, too. + (gfc_trans_scalar_assign): Add flag that assign is for associate + and use it to assign the token. + (is_assoc_assign): Detect that expressions are for associate + assign. + (gfc_trans_assignment_1): Treat associate assigns like pointer + assignments where possible. + * trans-stmt.cc (trans_associate_var): Set same_class only for + class-targets. + * trans.h (gfc_trans_scalar_assign): Add flag to + trans_scalar_assign for marking associate assignments. + +2024-08-15 Andre Vehreschild <ve...@gcc.gnu.org> + + * arith.cc (reduce_unary): Use expr.corank. + (reduce_binary_ac): Same. + (reduce_binary_ca): Same. + (reduce_binary_aa): Same. + * array.cc (gfc_match_array_ref): Same. + * check.cc (dim_corank_check): Same. + (gfc_check_move_alloc): Same. + (gfc_check_image_index): Same. + * class.cc (gfc_add_class_array_ref): Same. + (finalize_component): Same. + * data.cc (gfc_assign_data_value): Same. + * decl.cc (match_clist_expr): Same. + (add_init_expr_to_sym): Same. + * expr.cc (simplify_intrinsic_op): Same. + (simplify_parameter_variable): Same. + (gfc_check_assign_symbol): Same. + (gfc_get_variable_expr): Same. + (gfc_add_full_array_ref): Same. + (gfc_lval_expr_from_sym): Same. + (gfc_get_corank): Removed. + * frontend-passes.cc (callback_reduction): Use expr.corank. + (create_var): Same. + (combine_array_constructor): Same. + (optimize_minmaxloc): Same. + * gfortran.h (gfc_get_corank): Add corank to gfc_expr. + * intrinsic.cc (gfc_get_intrinsic_function_symbol): Use + expr.corank. + (gfc_convert_type_warn): Same. + (gfc_convert_chartype): Same. + * iresolve.cc (resolve_bound): Same. + (gfc_resolve_cshift): Same. + (gfc_resolve_eoshift): Same. + (gfc_resolve_logical): Same. + (gfc_resolve_matmul): Same. + * match.cc (copy_ts_from_selector_to_associate): Same. + * matchexp.cc (gfc_get_parentheses): Same. + * parse.cc (parse_associate): Same. + * primary.cc (gfc_match_rvalue): Same. + * resolve.cc (resolve_structure_cons): Same. + (resolve_actual_arglist): Same. + (resolve_elemental_actual): Same. + (resolve_generic_f0): Same. + (resolve_unknown_f): Same. + (resolve_operator): Same. + (gfc_expression_rank): Same and set dimen_type for coarray to + default. + (gfc_op_rank_conformable): Use expr.corank. + (add_caf_get_intrinsic): Same. + (resolve_variable): Same. + (gfc_fixup_inferred_type_refs): Same. + (check_host_association): Same. + (resolve_compcall): Same. + (resolve_expr_ppc): Same. + (resolve_assoc_var): Same. + (fixup_array_ref): Same. + (resolve_select_type): Same. + (add_comp_ref): Same. + (get_temp_from_expr): Same. + (resolve_fl_var_and_proc): Same. + (resolve_symbol): Same. + * symbol.cc (gfc_is_associate_pointer): Same. + * trans-array.cc (walk_coarray): Same. + (gfc_conv_expr_descriptor): Same. + (gfc_walk_array_ref): Same. + * trans-array.h (gfc_walk_array_ref): Same. + * trans-expr.cc (gfc_get_ultimate_alloc_ptr_comps_caf_token): + Same. + * trans-intrinsic.cc (trans_this_image): Same. + (trans_image_index): Same. + (conv_intrinsic_cobound): Same. + (gfc_walk_intrinsic_function): Same. + (conv_intrinsic_move_alloc): Same. + * trans-stmt.cc (gfc_trans_lock_unlock): Same. + (trans_associate_var): Same and adapt to slightly different + behaviour of expr.corank and gfc_get_corank. + (gfc_trans_allocate): Same. + * trans.cc (gfc_add_finalizer_call): Same. + 2024-08-14 Harald Anlauf <anl...@gmx.de> * simplify.cc (gfc_simplify_sizeof): Clear used gmp variable. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 825471cdd12..720f71d6942 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,111 @@ +2024-08-15 Vineet Gupta <vine...@rivosinc.com> + + * gcc.target/riscv/fclass.c: New tests. + +2024-08-15 Roger Sayle <ro...@nextmovesoftware.com> + Uros Bizjak <ubiz...@gmail.com> + + * g++.target/i386/pr116275-2.C: New test case. + +2024-08-15 Patrick Palka <ppa...@redhat.com> + + PR c++/115583 + * g++.dg/cpp23/consteval-if13.C: Compile with -O. + +2024-08-15 Richard Sandiford <richard.sandif...@arm.com> + + PR testsuite/116343 + * gcc.dg/torture/pr116343.c: New test. + +2024-08-15 Andre Vehreschild <ve...@gcc.gnu.org> + + PR fortran/110033 + * gfortran.dg/coarray/associate_1.f90: New test. + +2024-08-15 Patrick Palka <ppa...@redhat.com> + + PR c++/116320 + * g++.dg/template/access42.C: New test. + +2024-08-15 Patrick Palka <ppa...@redhat.com> + + PR c++/116327 + PR c++/104981 + PR c++/115550 + * g++.dg/coroutines/pr104981-preview-this.C: Improve coverage by + adding a non-static data member use within the coroutine member + function. + * g++.dg/coroutines/pr116327-preview-this.C: New test. + +2024-08-15 Xi Ruoyao <xry...@xry111.site> + + * gcc.target/loongarch/fclass-compile.c: New test. + * gcc.target/loongarch/fclass-run.c: New test. + +2024-08-15 liuhongt <hongtao....@intel.com> + + * gcc.target/i386/pr116274.c: New test. + * gcc.target/i386/pr113560.c: Scan either mulq or mulx. + +2024-08-15 Richard Sandiford <richard.sandif...@arm.com> + + PR target/116371 + * gcc.target/aarch64/sme2/acle-asm/pext_c16.c, + gcc.target/aarch64/sme2/acle-asm/pext_c16_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c32.c, + gcc.target/aarch64/sme2/acle-asm/pext_c32_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c64.c, + gcc.target/aarch64/sme2/acle-asm/pext_c64_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_c8.c, + gcc.target/aarch64/sme2/acle-asm/pext_c8_x2.c: Replace with... + * gcc.target/aarch64/sme2/acle-asm/pext_lane_c16.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c16_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c32.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c32_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c64.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c64_x2.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c8.c, + gcc.target/aarch64/sme2/acle-asm/pext_lane_c8_x2.c: ...these new tests, + testing for svpext_lane instead of svpext. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * gcc.target/powerpc/float128-cmp2-runnable.c: Replace + ppc_float128_sw with ppc_float128_hw and remove p9vector_hw. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-7.c: New test. + * gcc.target/powerpc/pr97786-8.c: New test. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-4.c: New test. + * gcc.target/powerpc/pr97786-5.c: New test. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/97786 + * gcc.target/powerpc/pr97786-1.c: New test. + * gcc.target/powerpc/pr97786-2.c: New test. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * gcc.dg/tree-ssa/range-isnormal.c: New test. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + * gcc.dg/tree-ssa/range-isfinite.c: New test. + +2024-08-15 Haochen Gui <guih...@gcc.gnu.org> + + PR target/114678 + * gcc.dg/tree-ssa/range-isinf.c: New test. + * gcc.dg/tree-ssa/range-sincos.c: Remove xfail for s390. + * gcc.dg/tree-ssa/vrp-float-abs-1.c: Likewise. + 2024-08-14 Marek Polacek <pola...@redhat.com> PR c++/116015