diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 1104 |
1 files changed, 1104 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 86389dd..ee83e32 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1107 @@ +2025-03-27 Uros Bizjak <ubizjak@gmail.com> + + * config/i386/i386.cc (ix86_redzone_clobber): Use integer, not rtx + as the third argument of plus_constant. + +2025-03-27 Richard Biener <rguenther@suse.de> + + PR target/119010 + * config/i386/zn4zn5.md (znver4_insn_both, znver5_insn_both): + New reservation for ALU ops with load and store. + +2025-03-27 Richard Biener <rguenther@suse.de> + + PR target/119010 + * config/i386/zn4zn5.md (znver4_sse_add, znver4_sse_add_load, + znver5_sse_add_load, znver4_sse_add1, znver4_sse_add1_load, + znver5_sse_add1_load, znver4_sse_mul, znver4_sse_mul_load, + znver5_sse_mul_load, znver4_sse_cvt, znver4_sse_cvt_load, + znver5_sse_cvt_load, znver4_sse_shuf, znver5_sse_shuf, + znver4_sse_shuf_load, znver5_sse_shuf_load, + znver4_sse_cmp_avx128, znver5_sse_cmp_avx128, + znver4_sse_cmp_avx128_load, znver5_sse_cmp_avx128_load): + Also handle DFmode. + (znver4_sse_muladd_load, znver5_sse_muladd_load): Use + ssemuladd type. + +2025-03-27 Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (modify_call_for_omp_dispatch): Remove sorry. + +2025-03-27 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/neon.md (<fmaxmin><mode>3): Move pattern from here... + * config/arm/vec-common.md (<fmaxmin><mode>3): ... to here. Convert + to define_expand and disable the pattern when denormal values might + get truncated to zero. Iterate on VF to add V4HF and V8HF variants. + +2025-03-27 Hu, Lin1 <lin1.hu@intel.com> + + PR target/119425 + * config/i386/sse.md: + (vec_set<mode>_0): Set the alternative with constraint "jm"'s + attribute "addr" to "gpr16". + (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>): + Ditto. + (avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ditto. + (avx2_pblendd<mode>): Ditto. + (aesenc): Ditto. + (aesenclast): Ditto. + (aesdec): Ditto. + (aesdeclast): Ditto. + (vaesdec_<mode>): Ditto. + (vaesdeclast_<mode>): Ditto. + (vaesenc_<mode>):: Ditto. + (vaesenclast_<mode>):: Ditto. + (aes<aesklvariant>u8): Ditto. + (*aes<aeswideklvariant>u8): Ditto. + +2025-03-27 Lulu Cheng <chenglulu@loongson.cn> + + PR target/119408 + * config/loongarch/loongarch.cc + (loongarch_c_mode_for_suffix): New. + (TARGET_C_MODE_FOR_SUFFIX): Define. + +2025-03-26 Jørgen Kvalsvik <j@lambda.is> + + * builtins.cc (expand_builtin_fork_or_exec): Call + coverage_instrumentation_p. + * ipa-inline.cc (can_early_inline_edge_p): Likewise. + * passes.cc (finish_optimization_passes): Likewise. + * profile.cc (coverage_instrumentation_p): New function. + * profile.h (coverage_instrumentation_p): New declaration. + * tree-profile.cc (tree_profiling): Call + coverage_instrumentation_p. + (pass_ipa_tree_profile::gate): Likewise. + * value-prof.h (coverage_instrumentation_p): New declaration. + +2025-03-26 Jørgen Kvalsvik <j@lambda.is> + + * Makefile.in (OBJS): Add prime-paths.o, path-coverage.o. + (GTFILES): Add prime-paths.cc, path-coverage.cc + (GCOV_OBJS): Add graphds.o, prime-paths.o, bitmap.o + * builtins.cc (expand_builtin_fork_or_exec): Check + path_coverage_flag. + * collect2.cc (main): Add -fno-path-coverage to OBSTACK. + * common.opt: Add new options -fpath-coverage, + -fpath-coverage-limit, -Wcoverage-too-many-paths + * doc/gcov.texi: Add --prime-paths, --prime-paths-lines, + --prime-paths-source documentation. + * doc/invoke.texi: Add -fpath-coverage, -fpath-coverage-limit, + -Wcoverage-too-many-paths documentation. + * gcc.cc: Link gcov on -fpath-coverage. + * gcov-counter.def (GCOV_COUNTER_PATHS): New. + * gcov-io.h (GCOV_TAG_PATHS): New. + (GCOV_TAG_PATHS_LENGTH): New. + (GCOV_TAG_PATHS_NUM): New. + * gcov.cc (class path_info): New. + (struct coverage_info): Add paths, paths_covered. + (find_prime_paths): New. + (add_path_counts): New. + (find_arc): New. + (print_usage): Add -e, --prime-paths, --prime-paths-lines, + --prime-paths-source. + (process_args): Likewise. + (json_set_prime_path_coverage): New. + (output_json_intermediate_file): Call + json_set_prime_path_coverage. + (process_all_functions): Call find_prime_paths. + (generate_results): Call add_path_counts. + (read_graph_file): Read path counters. + (read_count_file): Likewise. + (function_summary): Print path counts. + (file_summary): Likewise. + (print_source_line): New. + (print_prime_path_lines): New. + (print_inlined_separator): New. + (print_prime_path_source): New. + (output_path_coverage): New. + (output_lines): Print path coverage. + * ipa-inline.cc (can_early_inline_edge_p): Check + path_coverage_flag. + * passes.cc (finish_optimization_passes): Likewise. + * profile.cc (branch_prob): Likewise. + * selftest-run-tests.cc (selftest::run_tests): Run path coverage + tests. + * selftest.h (path_coverage_cc_tests): New declaration. + * tree-profile.cc (tree_profiling): Check path_coverage_flag. + (pass_ipa_tree_profile::gate): Likewise. + * path-coverage.cc: New file. + * prime-paths.cc: New file. + +2025-03-26 Jørgen Kvalsvik <j@lambda.is> + + * gcov.cc (generate_results): Count branches, conditions. + (function_summary): Output branch, calls, condition count. + +2025-03-26 Thomas Schwinge <thomas@codesourcery.com> + + PR driver/101544 + * gcc.cc (driver_handle_option): Forward host '-lstdc++' to + offloading compilation. + * config/gcn/mkoffload.cc (main): Adjust. + * config/nvptx/mkoffload.cc (main): Likewise. + +2025-03-26 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/119417 + * tree-ssa-math-opts.cc (convert_mult_to_widen): Before changing + typeN because actual_precision/from_unsignedN differs cast rhsN + to typeN if it has a different type. + (convert_plusminus_to_widen): Before changing + typeN because actual_precision/from_unsignedN differs cast mult_rhsN + to typeN if it has a different type. + +2025-03-26 Jakub Jelinek <jakub@redhat.com> + Andi Kleen <ak@gcc.gnu.org> + + PR gcov-profile/118442 + * profile.cc (branch_prob): Ignore EDGE_FAKE edges from musttail calls + to EXIT. + +2025-03-26 Jakub Jelinek <jakub@redhat.com> + + PR target/119450 + * config/i386/i386.md (narrow test peephole2): Test for + offsettable_memref_p in condition. + +2025-03-26 Richard Biener <rguenther@suse.de> + + PR target/119010 + * config/i386/zn4zn5.md (znver4_sse_mov_fp, znver4_sse_mov_fp_load, + znver5_sse_mov_fp_load, znver4_sse_mov_fp_store, + znver5_sse_mov_fp_store): Also match V1SF and DF. + +2025-03-26 Richard Biener <rguenther@suse.de> + + PR target/119010 + * config/i386/zn4zn5.md (znver4_imov_double_store, + znver5_imov_double_store, znver4_imov_store, znver5_imov_store): + New reservations for integer stores. + +2025-03-26 Richard Biener <rguenther@suse.de> + + PR middle-end/118795 + * match.pd (vec_perm <vec_perm <a, b>> -> vec_perm <a, b>): + Use the appropriate check to see whether the original + outer permute was supported. + +2025-03-26 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2-512convertintrin.h (_mm512_mask_cvtx2ps_ph): Formatting fixes + (_mm512_mask_cvtx_round2ps_ph): Ditto + (_mm512_maskz_cvtx_round2ps_ph): Ditto + (_mm512_cvtbiassph_bf8): Rename to _mm512_cvts_biasph_bf8. + (_mm512_mask_cvtbiassph_bf8): Rename to _mm512_mask_cvts_biasph_bf8. + (_mm512_maskz_cvtbiassph_bf8): Rename to _mm512_maskz_cvts_biasph_bf8. + (_mm512_cvtbiassph_hf8): Rename to _mm512_cvts_biasph_hf8. + (_mm512_mask_cvtbiassph_hf8): Rename to _mm512_mask_cvts_biasph_hf8. + (_mm512_maskz_cvtbiassph_hf8): Rename to _mm512_maskz_cvts_biasph_hf8. + (_mm512_cvts2ph_bf8): Rename to _mm512_cvts_2ph_bf8. + (_mm512_mask_cvts2ph_bf8): Rename to _mm512_mask_cvts_2ph_bf8. + (_mm512_maskz_cvts2ph_bf8): Rename to _mm512_maskz_cvts_2ph_bf8. + (_mm512_cvts2ph_hf8): Rename to _mm512_cvts_2ph_hf8. + (_mm512_mask_cvts2ph_hf8): Rename to _mm512_mask_cvts_2ph_hf8. + (_mm512_maskz_cvts2ph_hf8): Rename to _mm512_maskz_cvts_2ph_hf8. + (_mm512_cvtsph_bf8): Rename to _mm512_cvts_ph_bf8. + (_mm512_mask_cvtsph_bf8): Rename to _mm512_mask_cvts_ph_bf8. + (_mm512_maskz_cvtsph_bf8): Rename to _mm512_maskz_cvts_ph_bf8. + (_mm512_cvtsph_hf8): Rename to _mm512_cvts_ph_hf8. + (_mm512_mask_cvtsph_hf8): Rename to _mm512_mask_cvts_ph_hf8. + (_mm512_maskz_cvtsph_hf8): Rename to _mm512_maskz_cvts_ph_hf8. + * config/i386/avx10_2convertintrin.h + (_mm_cvtbiassph_bf8): Rename to _mm_cvts_biasph_bf8. + (_mm_mask_cvtbiassph_bf8): Rename to _mm_mask_cvts_biasph_bf8. + (_mm_maskz_cvtbiassph_bf8): Rename to _mm_maskz_cvts_biasph_bf8. + (_mm256_cvtbiassph_bf8): Rename to _mm256_cvts_biasph_bf8. + (_mm256_mask_cvtbiassph_bf8): Rename to _mm256_mask_cvts_biasph_bf8. + (_mm256_maskz_cvtbiassph_bf8): Rename to _mm256_maskz_cvts_biasph_bf8. + (_mm_cvtbiassph_hf8): Rename to _mm_cvts_biasph_hf8. + (_mm_mask_cvtbiassph_hf8): Rename to _mm_mask_cvts_biasph_hf8. + (_mm_maskz_cvtbiassph_hf8): Rename to _mm_maskz_cvts_biasph_hf8. + (_mm256_cvtbiassph_hf8): Rename to _mm256_cvts_biasph_hf8. + (_mm256_mask_cvtbiassph_hf8): Rename to _mm256_mask_cvts_biasph_hf8. + (_mm256_maskz_cvtbiassph_hf8): Rename to _mm256_maskz_cvts_biasph_hf8. + (_mm_cvts2ph_bf8): Rename to _mm_cvts_2ph_bf8. + (_mm_mask_cvts2ph_bf8): Rename to _mm_mask_cvts_2ph_bf8. + (_mm_maskz_cvts2ph_bf8): Rename to _mm_maskz_cvts_2ph_bf8. + (_mm256_cvts2ph_bf8): Rename to _mm256_cvts_2ph_bf8. + (_mm256_mask_cvts2ph_bf8): Rename to _mm256_mask_cvts_2ph_bf8. + (_mm256_maskz_cvts2ph_bf8): Rename to _mm256_maskz_cvts_2ph_bf8. + (_mm_cvts2ph_hf8): Rename to _mm_cvts_2ph_hf8. + (_mm_mask_cvts2ph_hf8): Rename to _mm_mask_cvts_2ph_hf8. + (_mm_maskz_cvts2ph_hf8): Rename to _mm_maskz_cvts_2ph_hf8. + (_mm256_cvts2ph_hf8): Rename to _mm256_cvts_2ph_hf8. + (_mm256_mask_cvts2ph_hf8): Rename to _mm256_mask_cvts_2ph_hf8. + (_mm256_maskz_cvts2ph_hf8): Rename to _mm256_maskz_cvts_2ph_hf8. + (_mm_cvtsph_bf8): Rename to _mm_cvts_ph_bf8. + (_mm_mask_cvtsph_bf8): Rename to _mm_mask_cvts_ph_bf8. + (_mm_maskz_cvtsph_bf8): Rename to _mm_maskz_cvts_ph_bf8. + (_mm256_cvtsph_bf8): Rename to _mm256_cvts_ph_bf8. + (_mm256_mask_cvtsph_bf8): Rename to _mm256_mask_cvts_ph_bf8. + (_mm256_maskz_cvtsph_bf8): Rename to _mm256_maskz_cvts_ph_bf8. + (_mm_cvtsph_hf8): Rename to _mm_cvts_ph_hf8. + (_mm_mask_cvtsph_hf8): Rename to _mm_mask_cvts_ph_hf8. + (_mm_maskz_cvtsph_hf8): Rename to _mm_maskz_cvts_ph_hf8. + (_mm256_cvtsph_hf8): Rename to _mm256_cvts_ph_hf8. + (_mm256_mask_cvtsph_hf8): Rename to _mm256_mask_cvts_ph_hf8. + (_mm256_maskz_cvtsph_hf8): Rename to _mm256_maskz_cvts_ph_hf8. + +2025-03-25 Iain Sandoe <iain@sandoe.co.uk> + + * gcov.cc (get_gcov_intermediate_filename): Use lbasename(). + +2025-03-25 Iain Sandoe <iain@sandoe.co.uk> + + PR other/119250 + * config.in: Regenerate. + * configure: Regenerate. + * configure.ac: Match the configure test in libiberty when checking + the basename decl. + +2025-03-25 Sandra Loosemore <sloosemore@baylibre.com> + Tobias Burnus <tburnus@baylibre.com> + + * gimplify.cc (modify_call_for_omp_dispatch): Adjust arguments. + Remove the "sorry" for the case where new interop objects must be + constructed, and add code to make it work instead. + (expand_variant_call_expr): Adjust arguments and call to + modify_call_for_omp_dispatch. + (gimplify_variant_call_expr): Simplify logic for calling + expand_variant_call_expr. + +2025-03-25 Jakub Jelinek <jakub@redhat.com> + + PR target/96226 + PR target/119428 + * config/i386/i386.md (splitter after *<rotate_insn><mode>3_mask, + splitter after *<rotate_insn><mode>3_mask_1): Revert 2020-12-05 + changes. + +2025-03-25 Vineet Gupta <vineetg@rivosinc.com> + + PR target/119224 + * config/riscv/autovec.md: Disable abd splitter. + +2025-03-25 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/119325 + * doc/install.texi (gcn): Change ROCm > 6.3.2 to >6.3.3 for generic + support; mention Newlib commit that fixes a SIMD math issue. + +2025-03-25 Tobias Burnus <tburnus@baylibre.com> + + PR middle-end/118627 + * omp-general.cc (omp_parse_access_method): Change to return void. + (omp_parse_access_methods): Return void; remove 'if' around a + function call. + (omp_parse_expr): Remove 'if' around a function call. + +2025-03-25 Richard Earnshaw <rearnsha@arm.com> + + * config/arm/arm.md (<US>mull): Add alternatives that allow Rs + to be tied to either Rdlo or Rdhi. + +2025-03-25 Richard Earnshaw <rearnsha@arm.com> + + PR middle-end/117811 + * optabs.cc (expand_binop_directly): Remove LAST as an argument, + instead record the last insn on entry. Only delete insns if + we need to restart and restart by calling ourself, not expand_binop. + (expand_binop): Update callers to expand_binop_directly. If it + fails to expand the operation, delete back to LAST. + +2025-03-25 Jakub Jelinek <jakub@redhat.com> + + PR ipa/119376 + * tree-tailcall.cc (suitable_for_tail_opt_p): Add DIAG_MUSTTAIL + argument, propagate it down to maybe_error_musttail. + (suitable_for_tail_call_opt_p): Likewise. + (maybe_error_musttail): Add DIAG_MUSTTAIL argument. Don't emit error + for gimple_call_must_tail_p calls if it is false. + (find_tail_calls): Add DIAG_MUSTTAIL argument, propagate it down to + maybe_error_musttail, suitable_for_tail_opt_p, + suitable_for_tail_call_opt_p and find_tail_calls calls. + (tree_optimize_tail_calls_1): Add DIAG_MUSTTAIL argument, propagate + it down to find_tail_calls and if set, clear cfun->has_musttail flag + at the end. Rename OPT_MUSTCALL argument to OPT_MUSTTAIL. + (execute_tail_calls): Pass true to DIAG_MUSTTAIL + tree_optimize_tail_calls_1 argument. + (pass_tail_recursion::execute): Pass false to DIAG_MUSTTAIL + tree_optimize_tail_calls_1 argument. + (pass_musttail::gate): Don't test flag_optimize_sibling_calls. + (pass_musttail::execute): Pass true to DIAG_MUSTTAIL + tree_optimize_tail_calls_1 argument. + +2025-03-24 Andrew Pinski <quic_apinski@quicinc.com> + + PR tree-optimization/118616 + * tree-vect-generic.cc (expand_vector_conversion): Add + an assert that converts vect is non empty if + supportable_indirect_convert_operation returns true. + +2025-03-24 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/101544 + * config/nvptx/nvptx.cc (nvptx_asm_output_def_from_decls) + [ACCEL_COMPILER]: Special-case certain host-setup symbol aliases. + * varasm.cc (do_assemble_alias) [ACCEL_COMPILER]: Adjust. + +2025-03-24 Thomas Schwinge <tschwinge@baylibre.com> + + * config/nvptx/nvptx.cc (default_ptx_version_option): Default at + least to '-mptx=6.3'. + * doc/invoke.texi (Nvidia PTX Options): Update '-mptx=[...]'. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h + (get_available_features): Change to FEATURE_AVX10_1. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_1_512_SET): Renamed to ... + (OPTION_MASK_ISA2_AVX10_1_SET): ... this. + (OPTION_MASK_ISA2_AVX10_2_SET): Use renamed macro. + (OPTION_MASK_ISA2_AVX10_1_UNSET): Ditto. + (ix86_handle_option): Ditto. + (processor_alias_table): Use P_PROC_AVX10_1. + * common/config/i386/i386-cpuinfo.h + (enum feature_priority): Rename from AVX10_1_512 to AVX10_1. + (enum processor_features): Ditto. + * common/config/i386/i386-isas.h: Add avx10.1. + * config/i386/driver-i386.cc + (host_detect_local_cpu): Use renamed enum. + * config/i386/i386-c.cc + (ix86_target_macros_internal): Rename to avx10.1. + * config/i386/i386-isa.def (AVX10_1_512): Rename to ... + (AVX10_1): ... this. + * config/i386/i386-options.cc (isa2_opts): Rename to avx10.1. + (ix86_valid_target_attribute_inner_p): Add avx10.1. + (ix86_option_override_internal): Rename to AVX10_1. + Revise warnings to mention behavior change for option + combination in GCC 16. + * config/i386/i386.h (PTA_DIAMONDRAPIDS): Use AVX10_1. + * config/i386/i386.opt: Add avx10.1. + Add deprecate warnings for mevex512 and mavx10.1-256/512. + * config/i386/i386.opt.urls: Add avx10.1. + * doc/extend.texi: Ditto. + * doc/sourcebuild.texi: Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + * common/config/i386/cpuinfo.h + (get_available_features): Revise the logic AVX10 version. + * common/config/i386/i386-common.cc + (OPTION_MASK_ISA2_AVX10_2_256_SET): Removed. + (OPTION_MASK_ISA2_AVX10_2_512_SET): Ditto. + (OPTION_MASK_ISA2_AVX10_2_SET): New. + (OPTION_MASK_ISA2_AMX_AVX512_SET): Use AVX10.2 macro. + (OPTION_MASK_ISA2_AVX10_2_UNSET): Ditto. + (ix86_handle_option): Remove avx10.2-256 part. Adjust avx10.2. + * common/config/i386/i386-cpuinfo.h + (enum processor_features): Remove FEATURE_AVX10_2_256 and skip + the value for it. Change the name from FEATURE_AVX10_2_512 to + FEATURE_AVX10_2. + * common/config/i386/i386-isas.h: Remove avx10.2-256/512. + * config/i386/avx10_2-512bf16intrin.h: Use avx10.2 instead of + avx10.2-256/512. + * config/i386/avx10_2-512convertintrin.h: Ditto. + * config/i386/avx10_2-512mediaintrin.h: Ditto. + * config/i386/avx10_2-512minmaxintrin.h: Ditto. + * config/i386/avx10_2-512satcvtintrin.h: Ditto. + * config/i386/avx10_2bf16intrin.h: Ditto. + * config/i386/avx10_2convertintrin.h: Ditto. + * config/i386/avx10_2mediaintrin.h: Ditto. + * config/i386/avx10_2minmaxintrin.h: Ditto. + * config/i386/avx10_2satcvtintrin.h: Ditto. + * config/i386/movrsintrin.h: Ditto. + * config/i386/sm4intrin.h: Ditto. + * config/i386/cpuid.h (bit_AVX10_256): Removed. + (bit_AVX10_512): Ditto. + * config/i386/driver-i386.cc (host_detect_local_cpu): Adjust + Diamond Rapids and -march=native condition. + * config/i386/i386-builtin.def (BDESC): Use AVX10.2 macro + instead of AVX10.2-256/512. + * config/i386/i386-c.cc (ix86_target_macros_internal): Ditto. + * config/i386/i386-expand.cc + (ix86_expand_branch): Use TARGET_AVX10_2 instead of specifying + vector size. + (ix86_prepare_fp_compare_args): Ditto. + (ix86_expand_fp_compare): Ditto. + (ix86_ssecom_setcc): Ditto. + (ix86_expand_sse_comi): Ditto. + (ix86_expand_sse_comi_round): Ditto. + (ix86_check_builtin_isa_match): Ditto. + * config/i386/i386.cc (ix86_fp_compare_code_to_integer): Ditto. + (ix86_get_mask_mode): Ditto. + * config/i386/i386.h (SSE_FLOAT_MODE_SSEMATH_OR_HFBF_P): Ditto. + * config/i386/i386.md: Ditto. + * config/i386/mmx.md: Ditto. + * config/i386/sse.md: Ditto. + * config/i386/predicates.md: Ditto. + * config/i386/i386-isa.def (AVX10_2_256): Removed. + (AVX10_2_512): Removed. + (AVX10_2): New. + * config/i386/i386-options.cc + (isa2_opts): Remove avx10.2-256/512. + (ix86_valid_target_attribute_inner_p): Ditto. + (PTA_DIAMONDRAPIDS): Use PTA_AVX10_2. + * config/i386/i386.opt: Remove avx10.2-256/512. + * config/i386/i386.opt.urls: Ditto. + * doc/extend.texi: Ditto. + * doc/invoke.texi: Ditto. + * doc/sourcebuild.texi: Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config.gcc: Add avx10_2roundingintrin.h. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DF_FTYPE_V4DF_V4DF_V4DF_UQI_INT, V8SF_FTYPE_V8SF_V8SF_V8SF_UQI_INT, + V16HF_FTYPE_V16HF_V16HF_V16HF_UHI_INT, UQI_FTYPE_V4DF_V4DF_INT_UQI_INT, + UHI_FTYPE_V16HF_V16HF_INT_UHI_INT, UQI_FTYPE_V8SF_V8SF_INT_UQI_INT. + * config/i386/immintrin.h: Include avx10_2roundingintrin.h. + * config/i386/sse.md: Change subst_attr name due to renaming. + * config/i386/subst.md: + (<round_mode512bit_condition>): Add condition check for avx10.2 + rounding control 256bit intrins and renamed to ... + (<round_mode_condition>): ...this. + (round_saeonly_mode512bit_condition): Add condition check for + avx10.2 rounding control 256 bit intris and renamed to ... + (round_saeonly_mode_condition): ...this. + * config/i386/avx10_2roundingintrin.h: New file. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: Add new intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8SI_V8SF_UQI_INT, V4SF_FTYPE_V4DF_V4SF_UQI_INT, + V8HF_FTYPE_V8SI_V8HF_UQI_INT, V8HF_FTYPE_V4DF_V8HF_UQI_INT. + * config/i386/sse.md: + (avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode><mask_name><round_name>): + Add condition check. + (avx512fp16_vcvtpd2ph_v4df_mask_round): New expand. + (*avx512fp16_vcvt<castmode>2ph_<mode>_mask): Change name to + avx512fp16_vcvt<castmode>2ph_<mode>_mask<round_name>_1 + and extend pattern to generate 256bit insns. + (avx_cvtpd2ps256<mask_name>): Change name to + avx_cvtpd2ps256<mask_name><round_name> and extend pattern to + generate 256bit insns. + * config/i386/subst.md (round_applied): New condition. + (round_suff): New iterator. + (round_mode_condition): Add V32HI check for 512bit. + (round_saeonly_mode_condition): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: Add new intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DI_FTYPE_V4DF_V4DI_UQI_INT, V4SI_FTYPE_V4DF_V4SI_UQI_INT. + * config/i386/sse.md: + (avx_cvtpd2dq256<mask_name>): Change name to + avx_cvtpd2dq256<mask_name><round_name> and extend pattern to + generate 256bit insns. + (fixuns_notrunc<mode><si2dfmodelower>2<mask_name><round_name>): + Add round_mode_condition. + * config/i386/subst.md (round_pd2udqsuff): New iterator. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8HF_V8SF_UQI_INT, V8SI_FTYPE_V8HF_V8SI_UQI_INT, + V4DF_FTYPE_V8HF_V4DF_UQI_INT, V4DI_FTYPE_V8HF_V4DI_UQI_INT. + * config/i386/sse.md: + (avx512fp16_float_extend_ph<mode>2<mask_name><round_saeonly_name>): + Add condition check. + (avx512fp16_vcvtph2<sseintconvertsignprefix><sseintconvert>_<mode> + <mask_name><round_name>): + Ditto. + (avx512fp16_float_extend_ph<mode>2<mask_name>): Extend round saeonly. + (vcvtph2ps256<mask_name>): Ditto. + * config/i386/subst.md + (round_saeonly_applied): New condition. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HI_FTYPE_V16HF_V16HI_UHI_INT, V4DF_FTYPE_V4SF_V4DF_UQI_INT + V8HF_FTYPE_V8SF_V8HF_UQI_INT. + * config/i386/sse.md + (avx512fp16_vcvt<castmode>2ph_<mode><mask_name><round_name>): + Add round condition check. + * config/i386/subst.md (round_mode_condition): Add V16HI check for + 256bit. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SI_FTYPE_V8SF_V8SI_UQI_INT, V4DI_FTYPE_V4SF_V4DI_UQI_INT. + * config/i386/sse.md + (<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode><mask_name>): + Extend to round. + (<mask_codefor><avx512>_fixuns_notrunc<sf2simodelower><mode><mask_name><round_name>): + Add round condition check. + * config/i386/subst.md (round_constraint4): New. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V4DF_FTYPE_V4DI_V4DF_UQI_INT, V4SF_FTYPE_V4DI_V4SF_UQI_INT, + V8HF_FTYPE_V4DI_V8HF_UQI_INT. + * config/i386/sse.md: + (avx512fp16_vcvt<floatsuffix>qq2ph_v4di_mask_round): New expand. + (*avx512fp16_vcvt<floatsuffix><sseintconvert>2ph_<mode>_mask): + Extend round control and add "_1" suffix. + (float<floatunssuffix><sseintvecmodelower><mode>2<mask_name><round_name>): + Add condition check. + (float<floatunssuffix><sselongvecmodelower><mode>2<mask_name><round_name>): + Ditto. + (float<floatunssuffix><mode><ssePSmode2lower>2<mask_name><round_name>): + Limit suffix output. + (unspec_fix_truncv4dfv4si2<mask_name>): Extend round control. + (unspec_fixuns_truncv4dfv4si2<mask_name>): Ditto. + * config/i386/subst.md (round_qq2pssuff): New iterator. + (round_saeonly_suff): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name>): + Extend round control for 256bit. + (unspec_avx512fp16_fix<vcvtt_uns_suffix>_trunc<mode>2<mask_name>): + Ditto. + (avx512fp16_fix<fixunssuffix>_trunc<mode>2<mask_name><round_saeonly_name>): + Add condition check. + * config/i386/subst.md + (round_saeonly_mode_condition): Add V16HI check for 256bit. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md + (unspec_fix_truncv8sfv8si2<mask_name>): Extend rounding control. + (<mask_codefor>fixuns_trunc<mode><sseintvecmodelower>2<mask_name>): + Ditto. + (<mask_codefor>floatuns<sseintvecmodelower><mode>2<mask_name><round_name>): + Add condition check. + (fix<fixunssuffix>_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>): + Remove round_saeonly_name. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HF_FTYPE_V16HI_V16HF_UHI_INT. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V16HF_FTYPE_V16HF_V16HF_INT, V16HF_FTYPE_V16HF_V16HF_V16HF_INT, + V16HF_FTYPE_V16HF_V16HF_V16HF_UQI_INT, + V4DF_FTYPE_V4DF_V4DF_V4DI_INT_UQI_INT, + V8SF_FTYPE_V8SF_V8SF_V8SI_INT_UQI_INT. + * config/i386/sse.md: + (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): + Add condition check. + (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmadd_<mode>_mask3<round_name>): Add condition check. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmaddsub_<mode>_mask<round_name>): Add condition check. + (<avx512>_fmaddsub_<mode>_mask3<round_name>): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fmsub_<mode>_mask<round_name>): Add condition check. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<avx512>_fnmsub_<mode>_mask3<round_name>): Add condition check. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): Handle + V8SF_FTYPE_V8SF_V8SF_UQI_INT, V4DF_FTYPE_V4DF_V4DF_UQI_INT, + V16HF_FTYPE_V16HF_V16HF_UHI_INT, V16HF_FTYPE_V16HF_INT_V16HF_UHI_INT, + V4DF_FTYPE_V4DF_INT_V4DF_UQI_INT, V8SF_FTYPE_V8SF_INT_V8SF_UQI_INT. + * config/i386/sse.md: + (<avx512>_getexp<mode><mask_name><round_saeonly_name>): + Add condition check. + (<avx512>_getmant<mode><mask_name><round_saeonly_name>): + Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin-types.def: Add new DEF_FUNCTION_TYPE. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/i386-expand.cc (ix86_expand_round_builtin): + Handle V8SF_FTYPE_V8SF_V8SF_INT_V8SF_UQI_INT, + V4DF_FTYPE_V4DF_V4DF_INT_V4DF_UQI_INT. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + * config/i386/sse.md: + (<mask_codefor>reducep<mode><mask_name><round_saeonly_name>): + Add condition check. + (<avx512>_rndscale<mode><mask_name><round_saeonly_name>): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/sse.md: + (<avx512>_scalef<mode><mask_name><round_name>): Add condition check. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + Revert: + 2024-08-19 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2roundingintrin.h: New intrins. + * config/i386/i386-builtin.def (BDESC): Add new builtins. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/avx10_2satcvtintrin.h: Remove rounding intrins. + Use non-round intrins. + * config/i386/i386-builtin.def (BDESC): Ditto. + +2025-03-24 Haochen Jiang <haochen.jiang@intel.com> + + * config/i386/avx10_2convertintrin.h: Remove rounding intrins. + Use non-round builtins. + * config/i386/avx10_2minmaxintrin.h: Ditto. + * config/i386/i386-builtin.def (BDESC): Ditto. + * config/i386/i386-builtin-types.def: Remove unused type. + * config/i386/i386-expand.cc + (ix86_expand_args_builtin): Ditto. + (ix86_expand_round_builtin): Ditto. + +2025-03-23 Sandra Loosemore <sloosemore@baylibre.com> + + PR other/42270 + * doc/extend.texi (Nonlocal Gotos): Group with other built-ins + sections. + (Constructing Calls): Likewise. + (Pragmas): Move earlier in the section, before the built-ins docs. + (Thread-Local): Likewise. + (OpenMP): Likewise. + (OpenACC): Likewise. + +2025-03-23 Sandra Loosemore <sloosemore@baylibre.com> + + PR other/42270 + * doc/extend.texi (Syntax Extensions): New section. + (Statement Exprs): Make it a subsection of the above. + (Local Labels): Likewise. + (Labels as Values): Likewise. + (Nested Functions): Likewise. + (Typeof): Likewise. + (Offsetof): Likewise. + (Alignment): Likewise. + (Incomplete Enums): Likewise. + (Variadic Macros): Likewise. + (Conditionals): Likewise. + (Case Ranges): Likewise. + (Mixed Labels and Declarations): Likewise. + (C++ Comments): Likewise. + (Escaped Newlines): Likewise. + (Hex Floats): Likewise. + (Binary constants): Likewise. + (Dollar Signs): Likewise. + (Character Escapes): Likewise. + (Alternate Keywords): Likewise. + (Function Names): Likewise. + (Semantic Extensions): New section. + (Function Prototypes): Make it a subsection of the above. + (Pointer Arith): Likewise. + (Variadic Pointer Args): Likewise. + (Pointers to Arrays): Likewise. + (Const and Volatile Functions): Likewise. + +2025-03-23 Sandra Loosemore <sloosemore@baylibre.com> + + PR other/42270 + * doc/extend.texi (Aggregate Types): New section. + (Variable Length): Make it a subsection of the above. + (Zero Length): Likewise. + (Empty Structures): Likewise. + (Flexible Array Members in Unions): Likewise. + (Flexible Array Members alone in Structures): Likewise. + (Unnamed Fields): Likewise. + (Cast to Union): Likewise. + (Subscripting): Likewise. + (Initializers): Likewise. + (Compound Literals): Likewise. + (Designated Inits): Likewise. + +2025-03-23 Sandra Loosemore <sloosemore@baylibre.com> + + PR other/42270 + * doc/extend.texi (Additional Numeric Types): New section. + (__int128): Make it a subsection of the above. + (Long Long): Likewise. + (Complex): Likewise. + (Floating Types): Likewise. + (Half-Precision): Likewise. + (Decimal Float): Likewise. + (Fixed-Point): Likewise. + +2025-03-23 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr-mcus.def: Add AVR32SD20, AVR32SD28, AVR32SD32, + AVR64SD28, AVR64SD32, AVR64SD48. + * doc/avr-mmcu.texi: Rebuild. + +2025-03-23 Georg-Johann Lay <avr@gjlay.de> + + * doc/invoke.texi (AVR Optimization Options) + <-maccumulate-args>: Refer to -fdefer-pop. + <-muse-nonzero-bits>: Re-formulate what the option does. + +2025-03-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_option_override): Use + "avr-peep2-after-fuse-move" as dump name instead of "peephole2". + +2025-03-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.opt.urls: Add -muse-nonzero-bits. + +2025-03-22 Georg-Johann Lay <avr@gjlay.de> + + PR target/119421 + * config/avr/avr.opt (-muse-nonzero-bits): New option. + * config/avr/avr-protos.h (avr_nonzero_bits_lsr_operands_p): New. + (make_avr_pass_split_nzb): New. + * config/avr/avr.cc (avr_nonzero_bits_lsr_operands_p): New function. + (avr_rtx_costs_1): Return costs for the new insns. + * config/avr/avr.md (nzb): New insn attribute. + (*nzb=1.<code>...): New insns to better support some bit + operations for <code> in AND, IOR, XOR. + * config/avr/avr-passes.def (avr_pass_split_nzb): Insert pass + atfer combine. + * config/avr/avr-passes.cc (avr_pass_data_split_nzb). New pass data. + (avr_pass_split_nzb): New pass. + (make_avr_pass_split_nzb): New function. + * common/config/avr/avr-common.cc (avr_option_optimization_table): + Enable -muse-nonzero-bits for -O2 and higher. + * doc/invoke.texi (AVR Options): Document -muse-nonzero-bits. + +2025-03-22 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.cc (avr_attrs_section_name): New function. + (avr_insert_attributes): Add "used" attribute to functions + in .initN and .finiN. + +2025-03-22 Iain Sandoe <iain@sandoe.co.uk> + + * config/darwin.h (DL_LIBRARY): New. + +2025-03-22 Jakub Jelinek <jakub@redhat.com> + + * gimplify.cc (warn_switch_unreachable_and_auto_init_r): Add missing + space in the middle of diagnostics. + * tree-vect-stmts.cc (vectorizable_load): Add missing space in the + middle of debug dump message. + * sym-exec/sym-exec-state.cc (state::check_args_compatibility): + Likewise. + +2025-03-21 Surya Kumari Jangala <jskumari@linux.ibm.com> + Jakub Jelinek <jakub@redhat.com> + + PR rtl-optimization/116028 + PR rtl-optimization/118615 + * lra-constraints.cc (first_call_insn): New variable. + (split_reg): Spill register before first_call_insn if call_save_p + and the call is in a different bb in the ebb. + (split_if_necessary): Formatting fix. + (inherit_in_ebb): Set first_call_insn when handling a CALL_INSN. + For successful split_if_necessary with before_p, only change + use_insn if it emitted any new instructions before curr_insn. + Clear first_call_insn before returning. + +2025-03-21 Paul-Antoine Arras <parras@baylibre.com> + Tobias Burnus <tburnus@baylibre.com> + + * builtin-types.def + (BT_FN_VOID_INT_INT_PTR_PTR_PTR_INT_PTR_INT_PTR_UINT_PTR): New. + * gimple-low.cc (lower_stmt): Handle GIMPLE_OMP_INTEROP. + * gimple-pretty-print.cc (dump_gimple_omp_interop): New function. + (pp_gimple_stmt_1): Handle GIMPLE_OMP_INTEROP. + * gimple.cc (gimple_build_omp_interop): New function. + (gimple_copy): Handle GIMPLE_OMP_INTEROP. + * gimple.def (GIMPLE_OMP_INTEROP): Define. + * gimple.h (gimple_build_omp_interop): Declare. + (gimple_omp_interop_clauses): New function. + (gimple_omp_interop_clauses_ptr): Likewise. + (gimple_omp_interop_set_clauses): Likewise. + (gimple_return_set_retval): Handle GIMPLE_OMP_INTEROP. + * gimplify.cc (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_INIT, + OMP_CLAUSE_USE and OMP_CLAUSE_DESTROY. + (gimplify_omp_interop): New function. + (gimplify_expr): Replace sorry with call to gimplify_omp_interop. + * omp-builtins.def (BUILT_IN_GOMP_INTEROP): Define. + * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_INIT, + OMP_CLAUSE_USE and OMP_CLAUSE_DESTROY. + (scan_omp_1_stmt): Handle GIMPLE_OMP_INTEROP. + (lower_omp_interop_action_clauses): New function. + (lower_omp_interop): Likewise. + (lower_omp_1): Handle GIMPLE_OMP_INTEROP. + +2025-03-21 Jason Merrill <jason@redhat.com> + + PR c++/114992 + * multiple_target.cc (create_dispatcher_calls): + remove_from_same_comdat_group before add_to_same_comdat_group. + +2025-03-21 Dhruv Chawla <dhruvc@nvidia.com> + + * config/aarch64/aarch64-cores.def (olympus): New entry. + * config/aarch64/aarch64-tune.md: Regenerate. + * doc/invoke.texi (AArch64 Options): Document the above. + +2025-03-21 Antoni Boucher <bouanto@zoho.com> + + * config/i386/i386-rust-and-jit.inc: New file. + * config/i386/i386-rust.cc: Move code to i386-rust-and-jit.inc. + +2025-03-21 Jakub Jelinek <jakub@redhat.com> + + PR ipa/119376 + * ipa-icf-gimple.cc (func_checker::compare_gimple_call): Return false + for gimple_call_must_tail_p mismatches. + +2025-03-21 Jakub Jelinek <jakub@redhat.com> + + PR ipa/119376 + * ipa-split.cc (split_function): Call gimple_call_set_must_tail + on the call to outlined partition if has_musttail and + !add_tsan_func_exit. + +2025-03-21 Jakub Jelinek <jakub@redhat.com> + + PR ipa/119376 + * tree-inline.cc (remap_gimple_stmt): Silently clear + gimple_call_must_tail_p on inlined call stmts if id->call_stmt + is a call without that flag set. + +2025-03-21 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + PR target/119235 + * config/s390/s390.cc (s390_hard_regno_mode_ok): Accept only + Pmode for registers AP/FP/RA. + +2025-03-21 Richard Biener <rguenther@suse.de> + + * cgraphunit.cc (symbol_table::finalize_compilation_unit): + Put early debug generation under TV_SYMOUT. + +2025-03-21 Andrew Pinski <quic_apinski@quicinc.com> + + PR rtl-optimization/118914 + * combine.cc (recog_for_combine): Add old_nregs and new_nregs + argument (defaulting to 0). Update call to recog_for_combine_1. + (combine_split_insns): Add old_nregs and new_nregs arguments, + store the old and new max registers to them. + (try_combine): Update calls to combine_split_insns and + pass old_nregs and new_nregs for the i3 call to recog_for_combine. + (find_split_point): Update call to combine_split_insns; ignoring + the values there. + (recog_for_combine_1): Add old_nregs and new_nregs arguments, + if the insn was recognized (and not to no-op move), add the + REG_DEAD notes to pnotes argument. + +2025-03-20 Richard Biener <rguenther@suse.de> + + PR tree-optimization/119389 + * tree-ssa-sccvn.cc (dominated_by_p_w_unex): Limit the number + of predecessors of a CFG merge we try to skip. + +2025-03-20 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + Revert: + 2025-03-11 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> + + * config.gcc: Fail in case of option --with-mode=esa. + * config/s390/s390.cc (s390_option_override_internal): Default + to z/Architecture mode. + * config/s390/s390.h (DRIVER_SELF_SPECS): Ditto. + * config/s390/s390.opt: Emit a warning for option -mesa. + * doc/invoke.texi: Document the change. + +2025-03-20 Filip Kastl <fkastl@suse.cz> + + * gimple-ssa-sccopy.cc (scc_copy_prop::propagate): Don't + increment after vec::unordered_remove(). + +2025-03-20 Richard Biener <rguenther@suse.de> + + * tree-core.h (function_decl_type): Make a scoped enum. + * tree.h (set_function_decl_type): Adjust. + (DECL_IS_OPERATOR_NEW_P): Likewise. + (DECL_SET_IS_OPERATOR_NEW): Likewise. + (DECL_IS_OPERATOR_DELETE_P): Likewise. + (DECL_SET_IS_OPERATOR_DELETE): Likewise. + (DECL_LAMBDA_FUNCTION_P): Likewise. + (DECL_SET_LAMBDA_FUNCTION): Likewise. + * lto-streamer-out.cc (hash_tree): Hash all of + FUNCTION_DECL_DECL_TYPE. + * tree-streamer-out.cc (pack_ts_function_decl_value_fields): + Adjust. + * config/aarch64/aarch64-simd-pragma-builtins.def (vcombine_mf8): + Use literal zero instead of NONE. + +2025-03-20 liuhongt <hongtao.liu@intel.com> + + PR target/117452 + * config/i386/i386.md (cbranchbf4): Use + ix86_fp_comparison_operator instead of comparison_operator. + +2025-03-20 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2-512satcvtintrin.h: Add "s_" before + intrinsics' core name. + * config/i386/avx10_2satcvtintrin.h: Ditto. + +2025-03-20 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2-512satcvtintrin.h: Add new intrinsics. + * config/i386/avx10_2satcvtintrin.h: Ditto. + * config/i386/i386-builtin-types.def: + Add DEF_FUNCTION_TYPE (V32HI, V32HF, V32HI, USI), + (V16SI, V16SF, V16SI, UHI), (V8DI, V8SF, V8DI, UQI), + (V8DI, V8DF, V8DI, UQI), (V8SI, V8DF, V8SI, UQI). + * config/i386/i386-builtin.def: Add new builtins. + * config/i386/i386-expand.cc: Handle V16SI_FTYPE_V16SF_V16SI_UHI, + V32HI_FTYPE_V32HF_V32HI_USI, V8DI_FTYPE_V8SF_V8DI_UQI, + V8DI_FTYPE_V8DF_V8DI_UQI, V8SI_FTYPE_V8DF_V8SI_UQI. + +2025-03-20 Hu, Lin1 <lin1.hu@intel.com> + + * config/i386/avx10_2-512satcvtintrin.h: Change *i[u]bs's type suffix + of intrin name. + * config/i386/avx10_2satcvtintrin.h: Ditto. + 2025-03-19 Vladimir N. Makarov <vmakarov@redhat.com> PR target/119270 |