diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e3210124c1..dfdabb81d8e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,122 @@ +2024-10-11 Kyrylo Tkachov + + PR target/117048 + * config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Redefine into a + define_expand. + (*aarch64_xarqv2di_insn): Define. + +2024-10-11 Kyrylo Tkachov + + PR target/117048 + * simplify-rtx.cc (simplify_context::simplify_binary_operation_1): + Handle vector constants in (x << C1) | (x >> C2) -> ROTATE + simplification. + +2024-10-11 Jennifer Schmitz + + PR tree-optimization/116826 + PR tree-optimization/86710 + * match.pd: Fold logN(1.0/a) -> -logN(a), + logN(C/a) -> logN(C) - logN(a), logN(a) + logN(b) -> logN(a*b), + and logN(a) - logN(b) -> logN(a/b). + +2024-10-11 Richard Biener + + PR tree-optimization/117080 + * tree-vectorizer.h (_slp_tree::memory_access_type): Add. + (SLP_TREE_MEMORY_ACCESS_TYPE): New. + (record_stmt_cost): Add another overload. + * tree-vect-slp.cc (_slp_tree::_slp_tree): Initialize + memory_access_type. + * tree-vect-stmts.cc (vectorizable_store): Set + SLP_TREE_MEMORY_ACCESS_TYPE. + (vectorizable_load): Likewise. Also record the SLP node + when costing emulated gather offset decompose and vector + composition. + * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost): Also + recognize SLP emulated gather/scatter. + +2024-10-11 Saurabh Jha + + * config/aarch64/aarch64-sve2.md + (*aarch64_pred_faminmax_fused): Instruction pattern for faminmax + codegen. + * config/aarch64/iterators.md: Iterator and attribute for + faminmax codegen. + +2024-10-11 Saurabh Jha + + * config/aarch64/aarch64-sve-builtins-base.cc + (svamax): Absolute maximum declaration. + (svamin): Absolute minimum declaration. + * config/aarch64/aarch64-sve-builtins-base.def + (REQUIRED_EXTENSIONS): Add faminmax intrinsics behind a flag. + (svamax): Absolute maximum declaration. + (svamin): Absolute minimum declaration. + * config/aarch64/aarch64-sve-builtins-base.h: Declaring function + bases for the new intrinsics. + * config/aarch64/aarch64.h + (TARGET_SVE_FAMINMAX): New flag for SVE2 faminmax. + * config/aarch64/iterators.md: New unspecs, iterators, and attrs + for the new intrinsics. + +2024-10-11 Richard Biener + + PR middle-end/117086 + * match.pd ((op (vec_cond ...) ..) -> (vec_cond ...)): Add + missing checks for VECTOR_TYPE_P (type). + +2024-10-11 Pan Li + + * match.pd: Add case 4 matching pattern for signed SAT_TRUNC. + +2024-10-11 Pan Li + + * match.pd: Add case 3 matching pattern for signed SAT_TRUNC. + +2024-10-11 Pan Li + + * match.pd: Add case 2 matching pattern for signed SAT_TRUNC. + +2024-10-11 Jakub Jelinek + + PR target/117053 + * config/i386/i386-expand.cc (ix86_expand_fp_spaceship): Handle + TARGET_ZERO_EXTEND_WITH_AND differently. + (ix86_expand_int_spaceship): Likewise. + +2024-10-11 Richard Biener + + PR tree-optimization/117050 + * tree-vect-slp.cc (vect_build_slp_tree_2): Do not support + permutes of non-grouped .MASK_LOAD. + +2024-10-11 Richard Biener + + * tree-vect-slp.cc (vect_slp_prefer_store_lanes_p): Allow + passing in of vectype, pass in whether the stores are masked + and query the correct optab. + (vect_build_slp_instance): Guard store-lanes query with + ! STMT_VINFO_SLP_VECT_ONLY, guaranteeing an uniform mask. + +2024-10-11 Hu, Lin1 + + * config/i386/sse.md + (sse_movhlps): Change type attr from ssemov to ssemov2. + (sse_loadhps): Ditto. + (*vec_concat): Ditto. + (vec_setv2df_0): Ditto. + (sse_loadlps): Change attr from ssemov to ssemov2 except for 2, 3. + (sse2_loadhps): Change attr from ssemov to ssemov2 except for 0, 1. + (sse2_loadlpd): Change attr from ssemov to ssemov2 except for 0, 1, + 2. + (sse2_movsd_): Change attr from ssemov to ssemov2 except for 5. + (vec_concatv2df): Change attr from ssemov to ssemov2 except for 0, 1, + 2. + (*vec_concat): Change attr from ssemov to ssemov2 for 3, 4. + (vec_concatv2di): Change attr from ssemov to ssemov2 except for 0, 1, + 2, 3, 4, 5. + 2024-10-10 Michael Matz PR rtl-optimization/116650 diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 1c5e89a4845..4c61f9c24a3 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20241011 +20241012 diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 09c966abc6a..4b8658aea86 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2024-10-11 Eric Botcazou + + PR ada/116498 + PR ada/117087 + * gcc-interface/decl.cc (validate_size): Fix thinko. + 2024-10-09 Eric Botcazou PR ada/117038 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index efda012c858..e1ef96a5e4d 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,20 @@ +2024-10-11 Thomas Koenig + + * intrinsic.cc (add_functions): Convert uint and + selected_unsigned_kind to GFC_STD_UNSIGNED. + (gfc_check_intrinsic_standard): Handle GFC_STD_UNSIGNED. + * libgfortran.h (GFC_STD_UNSIGNED): Add. + * options.cc (gfc_post_options): Set GFC_STD_UNSIGNED + if -funsigned is set. + +2024-10-11 Tobias Burnus + + * error.cc (error_char, error_string, error_uinteger, error_integer, + error_hwuint, error_hwint, gfc_widechar_display_length, + gfc_wide_display_length, error_printf, show_locus, show_loci): + Remove unused static functions. + (IBUF_LEN, MAX_ARGS): Remove now unused #define. + 2024-10-08 Andre Vehreschild PR fortran/51815 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index efd583e8bf2..2957c83bdc5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,171 @@ +2024-10-11 H.J. Lu + + * gcc.target/i386/bmi2-pr112526.c: Replace long with long long. + * gcc.target/i386/pr105854.c: Likewise. + * gcc.target/i386/pr112943.c: Likewise. + * gcc.target/i386/pr67325.c: Likewise. + * gcc.target/i386/pr97971.c: Likewise. + +2024-10-11 H.J. Lu + + * g++.target/i386/pr105953.C: Skip for x32. + +2024-10-11 H.J. Lu + + * gcc.target/i386/pr115407.c: Only run for lp64. + +2024-10-11 Kyrylo Tkachov + + PR target/117048 + * g++.target/aarch64/pr117048.C: New test. + +2024-10-11 Jennifer Schmitz + + PR tree-optimization/116826 + PR tree-optimization/86710 + * gcc.dg/tree-ssa/log_ident.c: New test. + +2024-10-11 Saurabh Jha + + * gcc.target/aarch64/sve/faminmax_1.c: New test. + * gcc.target/aarch64/sve/faminmax_2.c: New test. + +2024-10-11 Saurabh Jha + + * gcc.target/aarch64/sve2/acle/asm/amax_f16.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amax_f32.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amax_f64.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f16.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f32.c: New test. + * gcc.target/aarch64/sve2/acle/asm/amin_f64.c: New test. + +2024-10-11 Richard Biener + + PR middle-end/117086 + * gcc.dg/torture/pr117086.c: New testcase. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-8-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-8-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-8-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-7-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-7-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-7-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-6-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-6-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-6-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-5-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-5-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-5-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-4-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-4-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-4-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-3-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-3-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-3-i64-to-i8.c: New test. + +2024-10-11 Pan Li + + * gcc.target/riscv/sat_arith.h: Add test helper macros. + * gcc.target/riscv/sat_s_trunc-2-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-2-i64-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i16-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i32-to-i8.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i16.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i32.c: New test. + * gcc.target/riscv/sat_s_trunc-run-2-i64-to-i8.c: New test. + +2024-10-11 Jakub Jelinek + + PR target/117053 + * g++.target/i386/pr116896-3.C: New test. + +2024-10-11 Richard Biener + + PR tree-optimization/117050 + * gcc.dg/vect/pr117050.c: New testcase. + 2024-10-10 Richard Ball PR tree-optimization/116258 diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 09a43f76442..d1e726496c9 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,38 @@ +2024-10-11 Jonathan Wakely + + * include/bits/stl_iterator.h (__niter_base(move_iterator)) + (__is_move_iterator, __miter_base, _GLIBCXX_MAKE_MOVE_ITERATOR) + (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Move earlier in the + file. + +2024-10-11 Jonathan Wakely + + * include/bits/cpp_type_traits.h (__is_byte): Guard with + __glibcxx_byte macro instead of checking __cplusplus. + +2024-10-11 Jonathan Wakely + + PR libstdc++/117085 + * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L + option to format string. + * testsuite/std/time/format.cc: Move to... + * testsuite/std/time/format/format.cc: ...here. + * testsuite/std/time/format_localized.cc: Move to... + * testsuite/std/time/format/localized.cc: ...here. + * testsuite/std/time/format/pr117085.cc: New test. + +2024-10-11 Jonathan Wakely + + * testsuite/22_locale/time_get/get/char/5.cc: Fix dg-do + directive. + * testsuite/22_locale/time_get/get/wchar_t/5.cc: Likewise. + +2024-10-11 Jonathan Wakely + + * testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define + char8_t as a typedef for unsigned char. + * testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t. + 2024-10-09 Jonathan Wakely PR libstdc++/116210