+2024-07-30 Edwin Lu <ewlu@rivosinc.com>
+
+ * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
+ Skip b in march string
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Add B assembler check
+
+2024-07-30 Filip Kastl <fkastl@suse.cz>
+
+ * tree-switch-conversion.cc (can_log2): New static function to
+ check if gen_log2 can be used on current target.
+ (gen_log2): New static function to generate efficient GIMPLE
+ code for taking an exact base 2 log.
+ (gen_pow2p): New static function to generate efficient GIMPLE
+ code for checking if a value is a power of 2.
+ (switch_conversion::switch_conversion): Track if the
+ transformation happened.
+ (switch_conversion::is_exp_index_transform_viable): New function
+ to decide whether the transformation should be applied.
+ (switch_conversion::exp_index_transform): New function to
+ execute the transformation.
+ (switch_conversion::gen_inbound_check): Don't remove the default
+ BB if the transformation happened.
+ (switch_conversion::expand): Execute the transform if it is
+ viable. Skip the "sufficiently small case range" test if the
+ transformation is going to be executed.
+ * tree-switch-conversion.h: Add is_exp_index_transform_viable
+ and exp_index_transform.
+
+2024-07-30 Gianluca Guida <gianluca@rivosinc.com>
+ Patrick O'Neill <patrick@rivosinc.com>
+
+ * common/config/riscv/riscv-common.cc: Add zacas extension.
+ * config/riscv/arch-canonicalize: Make zacas imply zaamo.
+ * config/riscv/riscv.opt: Add zacas.
+ * config/riscv/sync.md (zacas_atomic_cas_value<mode>): New pattern.
+ (atomic_compare_and_swap<mode>): Use new pattern for compare-and-swap ops.
+ (zalrsc_atomic_cas_value_strong<mode>): Rename atomic_cas_value_strong.
+ * doc/sourcebuild.texi: Add Zacas documentation.
+
+2024-07-30 Patrick O'Neill <patrick@rivosinc.com>
+
+ * common/config/riscv/riscv-common.cc
+ (riscv_subset_list::to_string): Remove zabha configure check
+ handling and clarify zaamo/zalrsc comment.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Remove zabha configure check.
+
+2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com>
+
+ * config/aarch64/aarch64-sve-builtins-base.cc (svdiv_impl::fold):
+ Implement strength reduction.
+
+2024-07-30 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Function Attributes): Propose to use
+ attribute signal(n) via AVR-LibC's ISR_N from avr/interrupt.h
+
+2024-07-30 Pan Li <pan2.li@intel.com>
+
+ * config/riscv/riscv.cc (riscv_expand_ussub): Promote to Xmode
+ instead of Pmode.
+
+2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.cc (xtensa_insn_cost):
+ Add a case statement for TYPE_FARITH.
+
+2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa.md (movsf_internal):
+ Reorder alternative that corresponds to L32R machine instruction,
+ and prefix alternatives that correspond to LSI/SSI instructions
+ with the constraint character '^' so that they are disparaged by
+ reload/LRA.
+
+2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
+
+ * config/xtensa/xtensa-protos.h (xtensa_expand_call):
+ Remove the third argument.
+ * config/xtensa/xtensa.cc (xtensa_expand_call):
+ Remove the third argument and the code that uses it.
+ * config/xtensa/xtensa.md (call, call_value, sibcall, sibcall_value):
+ Remove each Boolean constant specified in the third argument of
+ xtensa_expand_call.
+ (sibcall_epilogue): Add emitting '(use A0_REG)' after calling
+ xtensa_expand_epilogue.
+
+2024-07-30 liuhongt <hongtao.liu@intel.com>
+
+ PR target/116043
+ * config/i386/constraints.md (Bk): Refine to
+ define_special_memory_constraint.
+
+2024-07-30 Haochen Jiang <haochen.jiang@intel.com>
+
+ * config/i386/prfchiintrin.h
+ (_m_prefetchit0): Add macro for non-optimized option.
+ (_m_prefetchit1): Ditto.
+
2024-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
* config/xtensa/predicates.md
+2024-07-30 Sam James <sam@gentoo.org>
+
+ PR target/68015
+ PR c++/83979
+ * c-c++-common/goacc/loop-shape.c: Fix 'dg-compile' typo.
+ * g++.dg/pr83979.C: Likewise.
+ * g++.target/aarch64/sve/acle/general-c++/attributes_2.C: Likewise.
+ * gcc.dg/tree-ssa/builtin-sprintf-7.c: Likewise.
+ * gcc.dg/tree-ssa/builtin-sprintf-8.c: Likewise.
+ * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-char.c: Likewise.
+ * gcc.target/riscv/amo/zabha-rvwmo-all-amo-ops-short.c: Likewise.
+ * gcc.target/s390/20181024-1.c: Likewise.
+ * gcc.target/s390/addr-constraints-1.c: Likewise.
+ * gcc.target/s390/arch12/aghsghmgh-1.c: Likewise.
+ * gcc.target/s390/arch12/mul-1.c: Likewise.
+ * gcc.target/s390/arch13/bitops-1.c: Likewise.
+ * gcc.target/s390/arch13/bitops-2.c: Likewise.
+ * gcc.target/s390/arch13/fp-signedint-convert-1.c: Likewise.
+ * gcc.target/s390/arch13/fp-unsignedint-convert-1.c: Likewise.
+ * gcc.target/s390/arch13/popcount-1.c: Likewise.
+ * gcc.target/s390/pr68015.c: Likewise.
+ * gcc.target/s390/vector/fp-signedint-convert-1.c: Likewise.
+ * gcc.target/s390/vector/fp-unsignedint-convert-1.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-1.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-2.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-3.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-4.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-5.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-6.c: Likewise.
+ * gcc.target/s390/vector/reverse-elements-7.c: Likewise.
+ * gnat.dg/alignment15.adb: Likewise.
+ * gnat.dg/debug4.adb: Likewise.
+ * gnat.dg/inline21.adb: Likewise.
+ * gnat.dg/inline22.adb: Likewise.
+ * gnat.dg/opt37.adb: Likewise.
+ * gnat.dg/warn13.adb: Likewise.
+
+2024-07-30 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/51492
+ * gcc.target/i386/pr51492.c: New test.
+
+2024-07-30 Sam James <sam@gentoo.org>
+
+ PR middle-end/54400
+ PR target/98161
+ * gcc.dg/vect/bb-slp-layout-18.c: Fix whitespace in dg directive.
+ * gcc.dg/vect/bb-slp-pr54400.c: Likewise.
+ * gcc.target/i386/pr98161.c: Likewise.
+
+2024-07-30 Filip Kastl <fkastl@suse.cz>
+
+ * gcc.dg/tree-ssa/switch-3.c: Disable switch conversion.
+ * gcc.target/i386/switch-exp-transform-1.c: New test.
+ * gcc.target/i386/switch-exp-transform-2.c: New test.
+ * gcc.target/i386/switch-exp-transform-3.c: New test.
+
+2024-07-30 Sam James <sam@gentoo.org>
+
+ * gcc.target/aarch64/simd/vmmla.c: Fix whitespace in dg directive.
+
+2024-07-30 Sam James <sam@gentoo.org>
+
+ PR preprocessor/90581
+ * c-c++-common/cpp/fmax-include-depth.c: Fix whitespace in dg directive.
+
+2024-07-30 Sam James <sam@gentoo.org>
+
+ PR rtl-optimization/48633
+ PR tree-optimization/83072
+ PR tree-optimization/83073
+ PR tree-optimization/96542
+ PR tree-optimization/96707
+ PR tree-optimization/97567
+ PR target/69225
+ PR target/89929
+ PR target/96562
+ * g++.dg/pr48633.C: Fix whitespace in dg directive.
+ * g++.dg/pr96707.C: Likewise.
+ * g++.target/i386/mv28.C: Likewise.
+ * gcc.dg/Warray-bounds-flex-arrays-1.c: Likewise.
+ * gcc.dg/pr83072-2.c: Likewise.
+ * gcc.dg/pr83073.c: Likewise.
+ * gcc.dg/pr96542.c: Likewise.
+ * gcc.dg/pr97567-2.c: Likewise.
+ * gcc.target/i386/avx512fp16-11a.c: Likewise.
+ * gcc.target/i386/avx512fp16-13.c: Likewise.
+ * gcc.target/i386/avx512fp16-14.c: Likewise.
+ * gcc.target/i386/avx512fp16-conjugation-1.c: Likewise.
+ * gcc.target/i386/avx512fp16-neg-1a.c: Likewise.
+ * gcc.target/i386/avx512fp16-set1-pch-1a.c: Likewise.
+ * gcc.target/i386/avx512fp16vl-conjugation-1.c: Likewise.
+ * gcc.target/i386/avx512fp16vl-neg-1a.c: Likewise.
+ * gcc.target/i386/avx512fp16vl-set1-pch-1a.c: Likewise.
+ * gcc.target/i386/avx512vlfp16-11a.c: Likewise.
+ * gcc.target/i386/pr69225-1.c: Likewise.
+ * gcc.target/i386/pr69225-2.c: Likewise.
+ * gcc.target/i386/pr69225-3.c: Likewise.
+ * gcc.target/i386/pr69225-4.c: Likewise.
+ * gcc.target/i386/pr69225-5.c: Likewise.
+ * gcc.target/i386/pr69225-6.c: Likewise.
+ * gcc.target/i386/pr69225-7.c: Likewise.
+ * gcc.target/i386/pr96562-1.c: Likewise.
+ * gcc.target/riscv/rv32e_stack.c: Likewise.
+ * gfortran.dg/c-interop/removed-restrictions-3.f90: Likewise.
+ * gnat.dg/renaming1.adb: Likewise.
+
+2024-07-30 Gianluca Guida <gianluca@rivosinc.com>
+ Patrick O'Neill <patrick@rivosinc.com>
+
+ * lib/target-supports.exp: Add zacas testsuite infra support.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire-release.c:
+ Remove zacas to continue to test the lr/sc pairs.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-acquire.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-consume.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-relaxed.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-release.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst-relaxed.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-rvwmo-compare-exchange-int-seq-cst.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire-release.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-acquire.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-consume.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-relaxed.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-release.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst-relaxed.c: Ditto.
+ * gcc.target/riscv/amo/zalrsc-ztso-compare-exchange-int-seq-cst.c: Ditto.
+ * gcc.target/riscv/amo/zabha-zacas-preferred-over-zalrsc.c: New test.
+ * gcc.target/riscv/amo/zacas-char-requires-zabha.c: New test.
+ * gcc.target/riscv/amo/zacas-char-requires-zacas.c: New test.
+ * gcc.target/riscv/amo/zacas-preferred-over-zalrsc.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acq-rel.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-acquire.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-relaxed.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-release.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-char-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping-no-fence.c:
+ New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-compatability-mapping.cc: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acq-rel.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-acquire.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-relaxed.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-release.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-int-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acq-rel.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-acquire.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-relaxed.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-release.c: New test.
+ * gcc.target/riscv/amo/zacas-rvwmo-compare-exchange-short-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-char.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping-no-fence.c:
+ New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-compatability-mapping.cc: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-int.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short-seq-cst.c: New test.
+ * gcc.target/riscv/amo/zacas-ztso-compare-exchange-short.c: New test.
+
+2024-07-30 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/115906
+ * g++.dg/coroutines/pr115906-yield.C: New test.
+ * g++.dg/coroutines/pr115906.C: New test.
+ * g++.dg/coroutines/co-await-syntax-02-outside-fn.C: Don't rely
+ on default arguments.
+ * g++.dg/coroutines/co-yield-syntax-01-outside-fn.C: Ditto.
+
+2024-07-30 Arsen Arsenovic <arsen@aarsen.me>
+
+ PR c++/115906
+ * g++.dg/coroutines/coro-function-decl.C: New test.
+
+2024-07-30 Jennifer Schmitz <jschmitz@nvidia.com>
+
+ * gcc.target/aarch64/sve/div_const_run.c: New test.
+ * gcc.target/aarch64/sve/acle/asm/div_s32.c: Likewise.
+ * gcc.target/aarch64/sve/acle/asm/div_s64.c: Likewise.
+ * gcc.target/aarch64/sve/acle/asm/div_u32.c: Likewise.
+ * gcc.target/aarch64/sve/acle/asm/div_u64.c: Likewise.
+
+2024-07-30 Arsen Arsenović <arsen@aarsen.me>
+
+ PR c++/110855
+ * g++.dg/coroutines/pr110855.C: New test.
+
+2024-07-30 Sam James <sam@gentoo.org>
+
+ PR c/53548
+ PR target/101529
+ PR tree-optimization/102359
+ * c-c++-common/fam-in-union-alone-in-struct-1.c: Fix whitespace in dg directive.
+ * c-c++-common/fam-in-union-alone-in-struct-2.c: Likewise.
+ * c-c++-common/torture/builtin-shufflevector-2.c: Likewise.
+ * g++.dg/pr102359_2.C: Likewise.
+ * g++.target/i386/mvc1.C: Likewise.
+
+2024-07-30 Tobias Burnus <tburnus@baylibre.com>
+
+ * gfortran.dg/compiler-directive_2.f: Update dg-error.
+
+2024-07-30 liuhongt <hongtao.liu@intel.com>
+
+ * gcc.target/i386/pr116043.c: New test.
+
+2024-07-30 Haochen Jiang <haochen.jiang@intel.com>
+
+ * gcc.target/i386/prefetchi-1b.c: New test.
+
2024-07-29 Sam James <sam@gentoo.org>
PR ipa/111613
+2024-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/chrono_io.h (__local_time_fmt_for): New alias
+ template.
+ (formatter<zoned_time<D, P>>): Use __local_time_fmt_for.
+ * testsuite/std/time/zoned_time/io.cc: Check zoned_time<minutes>
+ can be formatted.
+
+2024-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/chrono_io.h (__local_fmt_t): Remove unused
+ declaration.
+ (__formatter_chrono::_M_format_to_ostream): Add explicit
+ handling for specializations of __local_time_fmt, including the
+ time zone abbreviation in the output if __is_neg is true.
+ (formatter<chrono::tai_time<D>>::format): Add comment.
+ (formatter<chrono::gps_time<D>>::format): Likewise.
+ (formatter<chrono::__detail::__local_time_fmt::format): Call
+ _M_format with true for the __is_neg flag.
+ * testsuite/std/time/clock/gps/io.cc: Remove unused variable.
+ * testsuite/std/time/clock/local/io.cc: Fix test error that
+ checked tai_time instead of local_time. Add tests for
+ local-time-format-t formatting.
+ * testsuite/std/time/clock/system/io.cc: Check empty
+ chrono-specs.
+ * testsuite/std/time/clock/tai/io.cc: Likewise.
+ * testsuite/std/time/zoned_time/io.cc: Likewise.
+
+2024-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/expected (expected(U&&), operator=(U&&))
+ (value_or): Use remove_cv_t on default template argument, as per
+ LWG 3886.
+ * include/std/optional (optional(U&&), operator=(U&&))
+ (value_or): Likewise.
+ * testsuite/20_util/expected/lwg3886.cc: New test.
+ * testsuite/20_util/optional/cons/lwg3886.cc: New test.
+
+2024-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++17/fs_ops.cc: Fix file name in comment.
+
+2024-07-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor
+ parameter from const path& to const wchar_t*.
+ (fs::equiv_files): New function.
+ (fs::equivalent): Use equiv_files.
+ * src/filesystem/ops-common.h (fs::equiv_files): Declare.
+ (do_copy_file): Use equiv_files.
+ * src/filesystem/ops.cc (fs::equiv_files): Define.
+ (fs::copy, fs::equivalent): Use equiv_files.
+ * testsuite/27_io/filesystem/operations/copy.cc: Test
+ overwriting directory contents recursively.
+ * testsuite/27_io/filesystem/operations/copy_file.cc: Test
+ overwriting existing files.
+
+2024-07-30 Lennox Shou Hao Ho <lennoxhoe@gmail.com>
+
+ PR libstdc++/113663
+ * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class
+ auto_handle to anonymous namespace as auto_win_file_handle.
+ (fs::hard_link_count): Changed Windows implementation to use
+ information provided by GetFileInformationByHandle which is more
+ reliable.
+ * testsuite/27_io/filesystem/operations/hard_link_count.cc: New
+ test.
+
2024-07-29 Thomas Schwinge <tschwinge@baylibre.com>
* testsuite/lib/libstdc++.exp (file-io-diff): Polish.