https://gcc.gnu.org/g:4695252ee8493236c6267892b52b204c22106d37
commit r17-216-g4695252ee8493236c6267892b52b204c22106d37 Author: GCC Administrator <[email protected]> Date: Thu Apr 30 00:16:31 2026 +0000 Daily bump. Diff: --- gcc/ChangeLog | 457 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/DATESTAMP | 2 +- gcc/c-family/ChangeLog | 12 ++ gcc/c/ChangeLog | 12 ++ gcc/cp/ChangeLog | 42 +++++ gcc/fortran/ChangeLog | 9 + gcc/testsuite/ChangeLog | 131 ++++++++++++++ libsanitizer/ChangeLog | 5 + libstdc++-v3/ChangeLog | 27 +++ 9 files changed, 696 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ec41237655d..f331efbdc127 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,460 @@ +2026-04-29 Pengxuan Zheng <[email protected]> + + PR tree-optimization/113379 + * match.pd (min(a,b) {<=,>,<,>=} max(a,b)): New patterns. + +2026-04-29 John David Anglin <[email protected]> + + * doc/install.texi (hppa64-hp-hpux11*): Remove incorrect + statement. + +2026-04-29 Wilco Dijkstra <[email protected]> + + * config/aarch64/aarch64.opt (mpc-relative-literal-loads): + Deprecate. + * config/aarch64/aarch64.cc (aarch64_override_options): + Add deprecated warning for -mpc-relative-literal-loads. + * doc/invoke.texi (mpc-relative-literal-loads): Update docs. + +2026-04-29 Wilco Dijkstra <[email protected]> + + * config/aarch64/aarch64.h (HAS_LONG_COND_BRANCH): Unused, remove. + (HAS_LONG_UNCOND_BRANCH): unused, remove. + * config/aarch64/aarch64.cc (aarch64_use_pseudo_pic_reg): Declare. + (aarch64_rtx_costs): Update. + (aarch64_override_options_after_change_1): Likewise. + (initialize_aarch64_code_model): Simplify. + (aarch64_classify_tls_symbol): Likewise. + (aarch64_classify_symbol): Simplify, remove duplicated code. + (aarch64_asm_preferred_eh_data_format): Update. + (aarch64_use_pseudo_pic_reg): Update. + * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): + Remove uses of AARCH64_CMODEL_TINY_PIC, AARCH64_CMODEL_SMALL_PIC, + and AARCH64_CMODEL_SMALL_SPIC. + * config/aarch64/aarch64-opts.h (aarch64_code_model): + Remove AARCH64_CMODEL_TINY_PIC, AARCH64_CMODEL_SMALL_PIC and + AARCH64_CMODEL_SMALL_SPIC. + +2026-04-29 Vladimir N. Makarov <[email protected]> + + * lra-remat.cc (do_remat): Use the right nregs for pseudo hard reg + when updating live hard regs. + +2026-04-29 Vladimir N. Makarov <[email protected]> + + * lra-remat.cc (reg_overlap_for_remat_p): Use the right mode for + regno2. + +2026-04-29 Vladimir N. Makarov <[email protected]> + + * ira-conflicts.cc (build_object_conflicts): Use the right + conflicting allocno. + +2026-04-29 Richard Biener <[email protected]> + + PR tree-optimization/125080 + * tree-vect-slp.cc (vect_bb_slp_mark_stmts_vectorized): Only + add instance root stmts to scalar coverage if they do not + appear in externs. + +2026-04-29 Xin Liu <[email protected]> + Zhaoling Bao <[email protected]> + + * common/config/i386/cpuinfo.h (get_hygon_cpu): Detect the specific + type of HYGON CPU and return HYGON CPU name. + (cpu_indicator_init): Handle HYGON CPU. + * common/config/i386/i386-common.cc (processor_names): Add HYGON + C86-4G processors c86-4g-m{4,6,7}. + (processor_alias_table): Add hygon, hygonfam18h and c86-4g-m{4,6,7} + entries. + (ARRAY_SIZE): Update as new entries added. + * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add + VENDOR_HYGON. + (enum processor_types): Add HYGONFAM18H. + (enum processor_subtypes): Add HYGONFAM18H_C86_4G_M{4,6,7}. + * config.gcc: Add support for c86_4g_m{4,6,7}. + * config/i386/cpuid.h (signature_HYGON_ebx): Add signature for HYGON. + (signature_HYGON_ecx): Ditto. + (signature_HYGON_edx): Ditto. + * config/i386/driver-i386.cc (host_detect_local_cpu): Support HYGON + c86-4g-m4{4,6,7} processors. + * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. + * config/i386/i386-options.cc (m_C86_4G_M4): New definition. + (m_C86_4G_M6): Ditto. + (m_C86_4G_M7): Ditto. + (m_C86_4G): Ditto. + (processor_cost_table): Add cost entries for c86-4g-m4{4,6,7}. + * config/i386/i386.cc (ix86_reassociation_width): Add handlings for + PROCESSOR_C86_4G_M{4,6,7}. + * config/i386/i386.h (enum processor_type): Define + PROCESSOR_C86_4G_M{4,6,7}. + (PTA_C86_4G_M4): New define. + (PTA_C86_4G_M6): Ditto. + (PTA_C86_4G_M7): Ditto. + * config/i386/x86-tune-costs.h (c86_4g_m4_memcpy): New stringop_algs. + (c86_4g_m4_cost): New processor_costs. + (c86_4g_m6_cost): Ditto. + (c86_4g_m7_cost): Ditto. + * config/i386/x86-tune-sched.cc (ix86_issue_rate): Handle + PROCESSOR_C86_4G_M{4,6,7}. + (ix86_adjust_cost): Ditto. + * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Handle m_C86_4G. + (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto. + (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto. + (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto. + (X86_TUNE_USE_LEAVE): Ditto. + (X86_TUNE_PUSH_MEMORY): Ditto. + (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto. + (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto. + (X86_TUNE_USE_SAHF): Ditto. + (X86_TUNE_USE_BT): Ditto. + (X86_TUNE_AVOID_MFENCE): Ditto. + (X86_TUNE_USE_FFREEP): Ditto. + (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto. + (X86_TUNE_SSE_PACKED_SINGLE_INSN_OPTIMAL): Ditto. + (X86_TUNE_SSE_TYPELESS_STORES): Ditto. + (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto. + (X86_TUNE_USE_GATHER_2PARTS): Ditto. + (X86_TUNE_USE_GATHER_4PARTS): Ditto. + (X86_TUNE_USE_GATHER_8PARTS): Ditto. + (X86_TUNE_AVOID_128FMA_CHAINS): Ditto. + (X86_TUNE_AVOID_256FMA_CHAINS): Ditto. + (X86_TUNE_USE_RCR): Ditto. + (X86_TUNE_AVX256_MOVE_BY_PIECES): Handle m_C86_4G_M{4,6}. + (X86_TUNE_USE_SCATTER_2PARTS): Handle m_C86_4G_M7. + (X86_TUNE_USE_SCATTER_4PARTS): Ditto. + (X86_TUNE_USE_SCATTER_8PARTS): Ditto. + (X86_TUNE_SSE_REDUCTION_PREFER_PSHUF): Ditto. + (X86_TUNE_AVX512_SPLIT_REGS): Ditto. + (X86_TUNE_AVX512_MOVE_BY_PIECES): Ditto. + (X86_TUNE_AVX512_MASKED_EPILOGUES): Ditto. + * doc/extend.texi: Document about hygonfam18h and c86-4g-m{4,6,7}. + * doc/invoke.texi: Document about c86-4g-m{4,6,7}. + * config/i386/c86-4g-m7.md: New file for c86-4g-m7 scheduling model + information. + * config/i386/c86-4g.md: New file for c86-4g-m{4,6} scheduling model + information. + * config/i386/i386.md (cpu attr): Add c86_4g_m{4,6,7}. + (c86-4g.md): New include. + (c86-4g-m7.md): Ditto. + (*cmpi<unord>xf_i387): Set attr c86_decode. + (*cmpi<unord><MODEF:mode>): Ditto. + (swap<mode>): Ditto. + (*swap<mode>): Ditto. + (extendhisi2): Ditto. + (floathi<mode>2): Ditto. + (float<SWI48x:mode>xf2): Ditto. + (*float<SWI48:mode><MODEF:mode>2): Ditto. + (*floatdi<MODEF:mode>2_i387): Ditto. + (*anddi_1_bt): Ditto. + (*iordi_1_bts): Ditto. + (*xordi_1_btc): Ditto. + (*<btsc><mode>): Ditto. + (*btr<mode>): Ditto. + (*btsq_imm): Ditto. + (*btrq_imm): Ditto. + (*btcq_imm): Ditto. + (*tzcnt<mode>_1): Ditto. + (*tzcnt<mode>_1_falsedep): Ditto. + (*bsf<mode>_1): Ditto. + (*ctz<mode>2_falsedep): Ditto. + (*ctzsi2_zext): Ditto. + (*ctzsi2_zext_falsedep): Ditto. + (bsr_rex64): Ditto. + (bsr_rex64_1): Ditto. + (bsr_rex64_1_zext): Ditto. + (bsr): Ditto. + (bsr_1): Ditto. + (bsr_zext_1): Ditto. + (*bswaphi2_movbe): Ditto. + (*bswaphi2): Ditto. + (bswaphisi2_lowpart): Ditto. + (fpremxf4_i387): Ditto. + (fprem1xf4_i387): Ditto. + (<sincos>xf2): Ditto. + (sincosxf3): Ditto. + (fptanxf4_i387): Ditto. + (atan2xf3): Ditto. + (fyl2xxf3_i387): Ditto. + (fyl2xp1xf3_i387): Ditto. + (fxtractxf3_i387): Ditto. + (*f2xm1xf2_i387): Ditto. + (fscalexf4_i387): Ditto. + (rintxf2): Ditto. + (*movxi_internal_avx512f): Set attr c86_attr. + (*movoi_internal_avx): Ditto. + (*movti_internal): Ditto. + (*movdi_internal): Ditto. + (*movsi_internal): Ditto. + (*movhi_internal): Ditto. + (*movtf_internal): Ditto. + (*movdf_internal): Ditto. + (*movsf_internal): Ditto. + (*zero_extendsidi2): Ditto. + (sqrtxf2): Ditto. + (<smaxmin:code><mode>3): Ditto. + (*ieee_s<ieee_maxmin><mode>3): Ditto. + * config/i386/mmx.md (*mmx_maskmovq): Set attr c86_decode. + (*mmx_maskmovq): Ditto. + (sse_movntq): Set attr c86_attr. + (*mmx_blendps): Ditto. + (mmx_blendvps): Ditto. + (*mmx_pmaddwd): Ditto. + (mmx_pblendvb_v8qi): Ditto. + (mmx_pblendvb_<mode>): Ditto. + (sse4_1_<code>v4qiv4hi2): Ditto. + (sse4_1_<code>v2hiv2si2): Ditto. + (sse4_1_<code>v2qiv2si2): Ditto. + (sse4_1_<code>v2qiv2hi2): Ditto. + (*mmx_pinsrd): Ditto. + (*mmx_pinsrw): Ditto. + (*mmx_pinsrb): Ditto. + (*mmx_pextrw): Ditto. + (*mmx_pextrw<mode>): Ditto. + (*mmx_pextrw_zext): Ditto. + (*mmx_pextrb): Ditto. + (*mmx_pextrb_zext): Ditto. + (*mmx_pblendw64): Ditto. + (*mmx_pblendw32): Ditto. + (*vec_extractv2si_1): Ditto. + (*vec_extractv2si_1_zext): Ditto. + (*pinsrw): Ditto. + (*pinsrb): Ditto. + (*pextrw): Ditto. + (*pextrw<mode>): Ditto. + (*pextrw_zext): Ditto. + (*pextrb): Ditto. + (*pextrb_zext): Ditto. + (*mmx_psadbw): Ditto. + * config/i386/sse.md (ktest<mode>): Set attr c86_decode. + (*kortest<mode>): Ditto. + (sse_cvtsi2ss<rex64namesuffix><round_name>): Ditto. + (sse2_cvtsi2sd): Ditto. + (sse2_maskmovdqu): Ditto. + (*<sse>_dp<ssemodesuffix><avxsizesuffix>): Ditto. + (*<sse4_1_avx2>_mpsadbw): Ditto. + (pclmulqdq): Ditto. + (<mask_codefor>conflict<mode><mask_name>): Ditto. + (<avx512>_blendm<mode>): Set attr c86_attr. + (sse2_movnti<mode>): Ditto. + (<sse>_movnt<mode>): Ditto. + (<sse2>_movnt<mode>): Ditto. + (<sse>_rcp<mode>2): Ditto. + (sse_vmrcpv4sf2): Ditto. + (<mask_codefor>rcp14<mode><mask_name>): Ditto. + (srcp14<mode>): Ditto. + (srcp14<mode>_mask): Ditto. + (<sse>_sqrt<mode>2<mask_name><round_name>): Ditto. + (<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>): Ditto. + (*<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>): Ditto. + (<mask_codefor>rsqrt14<mode><mask_name>): Ditto. + (rsqrt14<mode>): Ditto. + (rsqrt14_<mode>_mask"): Ditto. + (*<code><mode>3<mask_name><round_saeonly_name>): Ditto. + (ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>): Ditto. + (*<sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>): + Ditto. + (<sse>_ieee_vm<ieee_maxmin><mode>3<mask_scalar_name> + <round_saeonly_scalar_name>): Ditto. + (*ieee_<ieee_maxmin><mode>3): Ditto. + (avx_h<insn>v4df3): Ditto. + (*sse3_haddv2df3): Ditto. + (sse3_hsubv2df3): Ditto. + (*sse3_haddv2df3_low): Ditto. + (*sse3_hsubv2df3_low): Ditto. + (avx_h<insn>v8sf3): Ditto. + (sse3_h<insn>v4sf3): Ditto. + (*<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): Ditto. + (reduces<mode><mask_scalar_name><round_saeonly_scalar_name>): Ditto. + (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Ditto. + (<sse>_andnot<mode>3<mask_name>): Ditto. + (*<code><mode>3<mask_name>): Ditto. + (*andnot<mode>3): Ditto. + (<code><mode>3): Ditto. + (*<code>tf3): Ditto. + (vec_set<mode>_0): Ditto. + (@vec_set<mode>_0): Ditto. + (*sse4_1_extractps): Ditto. + (vec_extract<mode>): Ditto. + (<mask_codefor><avx512>_align<mode><mask_name>): Ditto. + (avx512bw_pmaddwd512<mode><mask_name>): Ditto. + (*avx2_pmaddw): Ditto. + (*sse2_pmaddwd): Ditto. + (*avx2_<code><mode>3): Ditto. + (*avx512f_<code><mode>3<mask_name>): Ditto. + (*avx512bw_<code><mode>3<mask_name>): Ditto. + (*sse4_1_<code><mode>3<mask_name>): Ditto. + (*<code>v8hi3): Ditto. + (*<code>v16qi3): Ditto. + (*andnot<mode>3_mask): Ditto. + (*<code><mode>3): Ditto. + (<code>v1ti3): Ditto. + (<sse2p4_1>_pinsr<ssemodesuffix>): Ditto. + (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Ditto. + (<mask_codefor><extract_type>_vinsert<shuffletype><extract_suf> + _1<mask_name>): Ditto. + (vec_set_lo_<mode><mask_name>): Ditto. + (vec_set_hi_<mode><mask_name>): Ditto. + (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>): Ditto. + (avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto. + (*avx512f_shuf_<shuffletype>64x2_1<mask_name>_1): Ditto. + (avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ditto. + (avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto. + (*avx512f_shuf_<shuffletype>32x4_1<mask_name>_1): Ditto. + (*vec_extract<mode>): Ditto. + (*vec_extract<PEXTR_MODE12:mode>_zext): Ditto. + (*vec_extractv16qi_zext): Ditto. + (*vec_extractv4si): Ditto. + (*vec_extractv4si_zext): Ditto. + (*vec_extractv2di_1): Ditto. + (*vec_concatv2si_sse4_1): Ditto. + (vec_concatv2di): Ditto. + (*<sse2_avx2>_uavg<mode>3<mask_name>): Ditto. + (*<sse2_avx2>_psadbw): Ditto. + (<sse>_movmsk<ssemodesuffix><avxsizesuffix>): Ditto. + (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext): Ditto. + (<sse2_avx2>_pmovmskb): Ditto. + (*<sse2_avx2>_pmovmskb_zext): Ditto. + (*sse2_maskmovdqu): Ditto. + (avx2_ph<plusminus_mnemonic>wv16hi3): Ditto. + (ssse3_ph<plusminus_mnemonic>wv8hi3): Ditto. + (ssse3_ph<plusminus_mnemonic>dv4si3): Ditto. + (avx2_ph<plusminus_mnemonic>dv8si3): Ditto. + (avx2_pmaddubsw256): Ditto. + (avx512bw_pmaddubsw512<mode><mask_name>): Ditto. + (ssse3_pmaddubsw128): Ditto. + (<ssse3_avx2>_psign<mode>3): Ditto. + (ssse3_psign<mode>3): Ditto. + (*abs<mode>2): Ditto. + (abs<mode>2_mask): Ditto. + (abs<mode>2_mask): Ditto. + (sse4a_movnt<mode>): Ditto. + (sse4a_vmmovnt<mode>): Ditto. + (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Ditto. + (<sse4_1>_blendv<ssemodesuffix><avxsizesuffix>): Ditto. + (sse4_1_blendv<ssemodesuffix>): Ditto. + (<vi8_sse4_1_avx2_avx512>_movntdqa): Ditto. + (<sse4_1_avx2>_pblendvb): Ditto. + (sse4_1_pblend<ssemodesuffix>): Ditto. + (*avx2_pblend<ssemodesuffix>): Ditto. + (avx2_pblendd<mode>): Ditto. + (avx2_<code>v16qiv16hi2<mask_name>): Ditto. + (avx512bw_<code>v32qiv32hi2<mask_name>): Ditto. + (sse4_1_<code>v8qiv8hi2<mask_name>): Ditto. + (*sse4_1_<code>v8qiv8hi2<mask_name>_1): Ditto. + (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>): Ditto. + (avx2_<code>v8qiv8si2<mask_name>): Ditto. + (*avx2_<code>v8qiv8si2<mask_name>_1): Ditto. + (sse4_1_<code>v4qiv4si2<mask_name>): Ditto. + (*sse4_1_<code>v4qiv4si2<mask_name>_1): Ditto. + (avx512f_<code>v16hiv16si2<mask_name>): Ditto. + (avx2_<code>v8hiv8si2<mask_name>): Ditto. + (sse4_1_<code>v4hiv4si2<mask_name>): Ditto. + (*sse4_1_<code>v4hiv4si2<mask_name>_1): Ditto. + (avx512f_<code>v8qiv8di2<mask_name>): Ditto. + (*avx512f_<code>v8qiv8di2<mask_name>_1): Ditto. + (avx2_<code>v4qiv4di2<mask_name>): Ditto. + (*avx2_<code>v4qiv4di2<mask_name>_1): Ditto. + (sse4_1_<code>v2qiv2di2<mask_name>): Ditto. + (*sse4_1_<code>v2qiv2di2<mask_name>_1): Ditto. + (avx512f_<code>v8hiv8di2<mask_name>): Ditto. + (avx2_<code>v4hiv4di2<mask_name>): Ditto. + (*avx2_<code>v4hiv4di2<mask_name>_1): Ditto. + (sse4_1_<code>v2hiv2di2<mask_name>): Ditto. + (*sse4_1_<code>v2hiv2di2<mask_name>_1): Ditto. + (avx512f_<code>v8siv8di2<mask_name>): Ditto. + (avx2_<code>v4siv4di2<mask_name>): Ditto. + (sse4_1_<code>v2siv2di2<mask_name>): Ditto. + (*sse4_1_<code>v2siv2di2<mask_name>_1): Ditto. + (sse4_1_round<ssescalarmodesuffix>): Ditto. + (*sse4_1_round<ssescalarmodesuffix>"): Ditto. + (sse4_2_pcmpestri): Ditto. + (sse4_2_pcmpestrm): Ditto. + (sse4_2_pcmpestr_cconly): Ditto. + (sse4_2_pcmpistri): Ditto. + (sse4_2_pcmpistrm): Ditto. + (sse4_2_pcmpistr_cconly): Ditto. + (xop_phadd<u>bw): Ditto. + (xop_phadd<u>bd): Ditto. + (xop_phadd<u>bq): Ditto. + (xop_phadd<u>wd): Ditto. + (xop_phadd<u>wq): Ditto. + (xop_phadd<u>dq): Ditto. + (xop_phsubbw): Ditto. + (xop_phsubwd): Ditto. + (xop_phsubdq): Ditto. + (aesenc): Ditto. + (aesenclast): Ditto. + (aesdec): Ditto. + (aesdeclast): Ditto. + (aesimc): Ditto. + (aeskeygenassist): Ditto. + (<avx2_avx512>_permvar<mode><mask_name>): Ditto. + (avx2_perm<mode>_1<mask_name>): Ditto. + (<avx512>_permvar<mode><mask_name>): Ditto. + (avx512f_perm<mode>_1<mask_name>): Ditto. + (<mask_codefor>avx512f_broadcast<mode><mask_name>): Ditto. + (avx_vbroadcastf128_<mode>): Ditto. + (<mask_codefor>avx512vl_broadcast<mode><mask_name>_1): Ditto. + (<mask_codefor>avx512dq_broadcast<mode><mask_name>_1): Ditto. + (*<avx512>_vpermi2var<mode>3_mask): Ditto. + (<avx512>_vpermt2var<mode>3<sd_maskz_name>): Ditto. + (<avx512>_vpermt2var<mode>3_mask): Ditto. + (*avx_vperm2f128<mode>_nozero): Ditto. + (vec_set_lo_<mode><mask_name>): Ditto. + (vec_set_hi_<mode><mask_name>): Ditto. + (vec_set_lo_<mode>): Ditto. + (vec_set_hi_<mode>): Ditto. + (vec_set_lo_v32qi): Ditto. + (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Ditto. + (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Ditto. + (avx_vec_concat<mode>): Ditto. + (<avx512>_compress<mode>_mask): Ditto. + (compress<mode>_mask): Ditto. + (<avx512>_compressstore<mode>_mask): Ditto. + (compressstore<mode>_mask): Ditto. + (expand<mode>_mask): Ditto. + (<mask_codefor>avx512bw_dbpsadbw<mode><mask_name>): Ditto. + (clz<mode>2<mask_name>): Ditto. + (vpmadd52<vpmadd52type>v8di): Ditto. + (vpmadd52<vpmadd52type><mode>): Ditto. + (vpmadd52<vpmadd52type><mode>_maskz_1): Ditto. + (vpmadd52<vpmadd52type><mode>_mask): Ditto. + (vaesdec_<mode>): Ditto. + (vaesdeclast_<mode>): Ditto. + (vaesenc_<mode>): Ditto. + (vaesenclast_<mode>): Ditto. + +2026-04-29 Pan Li <[email protected]> + + * config/riscv/predicates.md: Add ltu to swappable + cmp operator. + * config/riscv/riscv-v.cc (get_swapped_cmp_rtx_code): Handle + the swapped rtx code as well. + +2026-04-29 Jakub Jelinek <[email protected]> + + PR middle-end/123635 + * gimple-lower-bitint.cc (bitint_large_huge::finish_arith_overflow): + Move obj_nelts/atype computation before bitint_extended handling. For + bitint_big_endian in the bitint_extended handling use size_zero_node + only for limb_access_type calls, otherwise use + size_int (nelts - obj_nelts) and pass NULL_TREE as first argument to + limb_access calls. + +2026-04-29 Raghesh Aloor <[email protected]> + + * tree-vect-slp.cc (vect_slp_linearize_chain): Optional parameter + allow_alt_code added (default true), check added not to follow + MINUS_EXPR, when false. + (vect_slp_check_for_roots): Calls vect_slp_linearize_chain with + parameter allow_alt_code set to false. + 2026-04-28 David Malcolm <[email protected]> PR analyzer/124217 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 9d1459a9cd52..500371a7ade1 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20260429 +20260430 diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 6851725b2b4b..aa40526bd079 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,15 @@ +2026-04-29 Julian Brown <[email protected]> + + * c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA, + C_ORT_OMP_EXIT_DATA. + (c_omp_instantiate_mappers): Add region type parameter. + * c-omp.cc (omp_split_map_kind, omp_join_map_kind, + omp_map_decayed_kind): New functions. + (omp_instantiate_mapper): Add ORT parameter. Implement map kind decay + for instantiated mapper clauses. + (c_omp_instantiate_mappers): Add ORT parameter, pass to + omp_instantiate_mapper. + 2026-04-28 Jakub Jelinek <[email protected]> * c-common.cc (c_common_signed_or_unsigned_type): Use diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog index 305041fb081c..a8edc7f4c450 100644 --- a/gcc/c/ChangeLog +++ b/gcc/c/ChangeLog @@ -1,3 +1,15 @@ +2026-04-29 Julian Brown <[email protected]> + + * c-parser.cc (c_parser_omp_target_data): Instantiate mappers for + 'omp target data'. + (c_parser_omp_target_enter_data): Instantiate mappers for 'omp target + enter data'. + (c_parser_omp_target_exit_data): Instantiate mappers for 'omp target + exit data'. + (c_parser_omp_target): Add c_omp_region_type argument to + c_omp_instantiate_mappers call. + * c-tree.h (c_omp_instantiate_mappers): Remove spurious prototype. + 2026-04-28 Jakub Jelinek <[email protected]> * c-decl.cc (finish_declspecs) <case cts_bitint>: Implement diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 786cb94b48b0..08f64a95e4e5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,45 @@ +2026-04-29 Patrick Palka <[email protected]> + + PR c++/125035 + * module.cc (merge_key): Add iobj_p and xobj_p bits. + (trees_out::key_mergeable) <case MK_named>: Set and stream + merge_key's iobj_p and xobj_p bits. + (check_mergeable_decl) <case FUNCTION_DECL>: Compare merge_key's + iobj_p and xobj_p bits with that of the given function. + (trees_in::key_mergeable): Stream merge_key's iobj_p and xobj_p + bits. + +2026-04-29 Patrick Palka <[email protected]> + + PR c++/124582 + PR c++/123810 + * module.cc (check_mergeable_decl) <case TYPE_DECL>: Handle + merging a typedef to an unnamed type with the -freflection + representation. + +2026-04-29 Julian Brown <[email protected]> + + * parser.cc (cp_parser_omp_target_data): Instantiate mappers for 'omp + target data'. + (cp_parser_omp_target_enter_data): Instantiate mappers for 'omp target + enter data'. + (cp_parser_omp_target_exit_data): Instantiate mappers for 'omp target + exit data'. + (cp_parser_omp_target): Add c_omp_region_type argument to + c_omp_instantiate_mappers call. + * pt.cc (tsubst_omp_clauses): Instantiate mappers for OMP regions other + than just C_ORT_OMP_TARGET. + (tsubst_expr): Update call to tsubst_omp_clauses for OMP_TARGET_UPDATE, + OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA stanza. + * semantics.cc (cxx_omp_map_array_section): Avoid calling + build_array_ref for non-array/non-pointer bases (error reported + already). + +2026-04-29 Jakub Jelinek <[email protected]> + + * reflect.cc (compare_reflection): For REFLECT_BASE use lhs == rhs rather + than cp_tree_equal. + 2026-04-28 Marek Polacek <[email protected]> PR c++/124756 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6fc08d9ccedb..e62e800ec3d7 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2026-04-29 Andre Vehreschild <[email protected]> + + PR fortran/125021 + * coarray.cc (check_add_new_comp_handle_array): Prefix internal + symbols by two underscores. + (create_get_callback): Same. + (create_allocated_callback): Same. + (create_send_callback): Same. + 2026-04-21 Paul Thomas <[email protected]> PR fortran/117077 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5e7e1f3056b0..c05e82cc90a8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,134 @@ +2026-04-29 Pengxuan Zheng <[email protected]> + + PR tree-optimization/113379 + * gcc.dg/tree-ssa/pr113379.c: New test. + +2026-04-29 Andrew Pinski <[email protected]> + + * g++.dg/tree-ssa/cond-add-vec-1.C: Add a check to make sure COND_ADD + is not there either. + * g++.dg/tree-ssa/cond-add-vec-2.C: Change the check for VEC_COND_EXPR + to allow for COND_ADD. + +2026-04-29 Wilco Dijkstra <[email protected]> + + * gcc.target/aarch64/pr123791.c: Add -Wno-deprecated. + * gcc.target/aarch64/pr78733.c: Likewise. + * gcc.target/aarch64/pr79041-2.c: Likewise. + * gcc.target/aarch64/pr94530.c: Likewise. + +2026-04-29 Richard Biener <[email protected]> + + PR tree-optimization/125080 + * gcc.dg/torture/pr125080.c: New testcase. + +2026-04-29 Patrick Palka <[email protected]> + + PR c++/125035 + * g++.dg/modules/merge-22.h: New test. + * g++.dg/modules/merge-22_a.H: New test. + * g++.dg/modules/merge-22_b.C: New test. + +2026-04-29 Patrick Palka <[email protected]> + + PR c++/124582 + PR c++/123810 + * g++.dg/modules/anon-4.h: New test. + * g++.dg/modules/anon-4_a.H: New test. + * g++.dg/modules/anon-4_b.C: New test. + +2026-04-29 Andre Vehreschild <[email protected]> + + PR fortran/125021 + * gfortran.dg/coarray/pr125021.f90: New test. + +2026-04-29 Xin Liu <[email protected]> + Zhaoling Bao <[email protected]> + + * gcc.target/i386/builtin_target.c: Add handling for HYGON CPUs by + validating the vendor and invoking HYGON-specific CPU detection. + * gcc.target/i386/funcspec-56.inc: Test function target attribute on + {arch,tune}=c86-4g-m{4,6,7}. + * g++.target/i386/mv33.C: New test. + +2026-04-29 Julian Brown <[email protected]> + + * c-c++-common/gomp/declare-mapper-15.c: New test. + * c-c++-common/gomp/declare-mapper-16.c: New test. + * g++.dg/gomp/declare-mapper-1.C: Adjust expected scan output. + +2026-04-29 Pan Li <[email protected]> + + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-u16.c: Add asm check + for vmsgtu.vx. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-1-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-2-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-u16.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-u32.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-u64.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx-3-u8.c: Ditto. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary.h: Add test + helper macro. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_binary_data.h: Add test + data for run test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgtu-run-1-u16.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgtu-run-1-u32.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgtu-run-1-u64.c: New test. + * gcc.target/riscv/rvv/autovec/vx_vf/vx_vmsgtu-run-1-u8.c: New test. + +2026-04-29 Raghesh Aloor <[email protected]> + + * gcc.dg/vect/bb-slp-sum-of-diffs.c: New test. + +2026-04-29 Jakub Jelinek <[email protected]> + + * g++.dg/reflect/compare12.C: New test. + +2026-04-29 Jakub Jelinek <[email protected]> + + * g++.dg/plugin/uglification_plugin.cc (plugin_check_tree): Walk + REQUIRES_EXPR_PARMS of REQUIRES_EXPR. + (plugin_walk_decl): Walk TEMPLATE_PARMS_CONSTRAINTS using + plugin_check_tree. Walk DECL_INITIAL of CONCEPT_DECL as well. + * g++.dg/plugin/uglification.C: Add tests for non-uglified names + in lambda parameters, lambda captures and requires expressions. + +2026-04-29 Jakub Jelinek <[email protected]> + + * g++.dg/plugin/plugin.exp: Set PLUGIN_DEFAULT_REPO. Add + set*module*exports* to plugin_test_list. Remove *.gcm files + at the start and end. + * g++.dg/plugin/std_module_exports_plugin.cc: New file. + * g++.dg/plugin/std-module-exports-c++20.C: New test. + * g++.dg/plugin/std-module-exports-c++23.C: New test. + * g++.dg/plugin/std-module-exports-c++26.C: New test. + +2026-04-29 Jakub Jelinek <[email protected]> + + * g++.dg/plugin/plugin.exp (plugin_test_list): Add uglification tests. + * g++.dg/plugin/uglification_plugin.cc: New file. + * g++.dg/plugin/uglification.C: New test. + * g++.dg/plugin/uglification-c++98.C: New test. + * g++.dg/plugin/uglification-c++11.C: New test. + * g++.dg/plugin/uglification-c++14.C: New test. + * g++.dg/plugin/uglification-c++17.C: New test. + * g++.dg/plugin/uglification-c++20.C: New test. + * g++.dg/plugin/uglification-c++23.C: New test. + * g++.dg/plugin/uglification-c++26.C: New test. + +2026-04-29 Alexandre Oliva <[email protected]> + + * gcc.dg/shouldfail-abort.c: New. + * gcc.dg/shouldfail-exit-neg.c: New. + * gcc.dg/shouldfail-exit-pos.c: New. + * gcc.dg/shouldfail-return-neg.c: New. + * gcc.dg/shouldfail-return-pos.c: New. + 2026-04-28 David Malcolm <[email protected]> PR analyzer/124217 diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index a58e7de581be..0fdc7f57e007 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,8 @@ +2026-04-29 Jakub Jelinek <[email protected]> + + * sanitizer_common/sanitizer_platform_limits_posix.cpp: Cherry picked + from LLVM commit 3dc4fd6dd41100f051a63642f449b16324389c96. + 2026-04-28 Maximilian Ciric <[email protected]> * configure.tgt: Enable HWASAN support for RISC-V target. diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 0a9136386ba9..83250ce01b88 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,30 @@ +2026-04-29 Tomasz KamiĆski <[email protected]> + + * testsuite/29_atomics/headers/stdatomic.h/macros.cc: + Copy of ../atomic/macros.cc with header include changed. + +2026-04-29 Alexandre Oliva <[email protected]> + + PR libstdc++/124657 + * include/experimental/bits/simd_x86.h + (__is_x86_ps<_Tp>): New. Replace is_same_v<_Tp, float> with it. + (__is_x86_pd<_Tp>): New. Replace is_same_v<_Tp, double> with it. + +2026-04-29 Alexandre Oliva <[email protected]> + + PR libstdc++/124657 + * include/experimental/bits/simd.h (__intrinsic_type::type): + Map long double to double. + +2026-04-29 Alexandre Oliva <[email protected]> + + * include/std/limits (__glibcxx_integral_traps): Set to + false. Update comments. + (numeric_limits<bool>::traps): Drop comments. + * config/cpu/arm/cpu_defines.h: Remove. + * config/cpu/powerpc/cpu_defines.h: Likewise. + * configure.host (cpu_defines_dir): Adjust. + 2026-04-28 Jonathan Wakely <[email protected]> * doc/xml/manual/status_cxx2023.xml: Update status table.
