diff -Nrcpad gcc-15-20250614/LAST_UPDATED gcc-15-20250621/LAST_UPDATED
*** gcc-15-20250614/LAST_UPDATED	Sat Jun 14 22:33:41 2025
--- gcc-15-20250621/LAST_UPDATED	Sat Jun 21 22:33:03 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 61789b5abec3079d02ee9eaa7468015ab1f6f701
--- 1 ----
! Obtained from git: releases/gcc-15 revision 2c24509f90a0c1c12ba21ecbcd5636e81283d56f
diff -Nrcpad gcc-15-20250614/MD5SUMS gcc-15-20250621/MD5SUMS
*** gcc-15-20250614/MD5SUMS	Sat Jun 14 22:33:51 2025
--- gcc-15-20250621/MD5SUMS	Sat Jun 21 22:33:07 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250614.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20250621.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 988c4c2ba68b82cef793b9ae1581984e  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 22784121aadb4149f231867716fbb01d  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! ebfdb556d0afd67cf231cc249af0d064  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! b58e320e70f0a1db1b18ef4c33b04d02  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 6852850d9ee42e4680ccc824518c9eda  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! fa7d2b69ef30b3e473413ad5e34e0ceb  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** cd13b51383c99c08d86250b61fed3805  gcc/co
*** 4897,4903 ****
  a5e691ce14017f2a89283ed510bb78fd  gcc/config/riscv/arch-canonicalize
  81827306988efad07b1063e86fed4fba  gcc/config/riscv/autovec-opt.md
  4032274539da6915927b3fb611848f38  gcc/config/riscv/autovec.md
! 069baa0b49a6b1f69439f32b53ee5076  gcc/config/riscv/bitmanip.md
  b54febf04241d7f85370879f94688855  gcc/config/riscv/constraints.md
  4e0968dc35562b151fd162778542718f  gcc/config/riscv/corev.def
  d404c19d5b1a2aca0a73917bb692bd96  gcc/config/riscv/corev.md
--- 4897,4903 ----
  a5e691ce14017f2a89283ed510bb78fd  gcc/config/riscv/arch-canonicalize
  81827306988efad07b1063e86fed4fba  gcc/config/riscv/autovec-opt.md
  4032274539da6915927b3fb611848f38  gcc/config/riscv/autovec.md
! 1b5bf211ae4f1c676fc56b08b23e7d66  gcc/config/riscv/bitmanip.md
  b54febf04241d7f85370879f94688855  gcc/config/riscv/constraints.md
  4e0968dc35562b151fd162778542718f  gcc/config/riscv/corev.def
  d404c19d5b1a2aca0a73917bb692bd96  gcc/config/riscv/corev.md
*************** f51037a9e437f8e9ce7215b2da5ad4e2  gcc/co
*** 4953,4959 ****
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
  9683aceb419c131edaf7f66f9f9192f0  gcc/config/riscv/riscv.cc
  1153302a8d65cedebba8e1a3f67931b2  gcc/config/riscv/riscv.h
! 6811c8b1c13206706c4e67c940f93348  gcc/config/riscv/riscv.md
  c799356a57b52ab91ff324ab22516fba  gcc/config/riscv/riscv.opt
  d1d34490d8b53ec20d70ed9e2e56e3ab  gcc/config/riscv/riscv.opt.urls
  374e3c204946cff8c4be2bcad6641830  gcc/config/riscv/riscv_bitmanip.h
--- 4953,4959 ----
  7082a18dbfc574d47bf71f4d50dd30f9  gcc/config/riscv/riscv-zicfilp.cc
  9683aceb419c131edaf7f66f9f9192f0  gcc/config/riscv/riscv.cc
  1153302a8d65cedebba8e1a3f67931b2  gcc/config/riscv/riscv.h
! 968ecde3210767685ac560bdcf6d6709  gcc/config/riscv/riscv.md
  c799356a57b52ab91ff324ab22516fba  gcc/config/riscv/riscv.opt
  d1d34490d8b53ec20d70ed9e2e56e3ab  gcc/config/riscv/riscv.opt.urls
  374e3c204946cff8c4be2bcad6641830  gcc/config/riscv/riscv_bitmanip.h
*************** e4d89cb5b2193b73b577d8871e0d8f3e  gcc/de
*** 5875,5881 ****
  b9d078b88658c87d713e175705b687be  gcc/df-problems.cc
  151d675229ec23b6da3f2cc6ee3d7367  gcc/df-scan.cc
  243e0658083f87e4b05d8914b98053c2  gcc/df.h
! 66523dd93f89ddda9400b525ef7736b9  gcc/dfp.cc
  3a50d04564ba93f9be134a744fdd40f1  gcc/dfp.h
  aa13c8ce0ee0d35ca8e78fef45b93463  gcc/diagnostic-buffer.h
  2fa0c5aeaa9f47417aaa1d8823bf1d4d  gcc/diagnostic-client-data-hooks.h
--- 5875,5881 ----
  b9d078b88658c87d713e175705b687be  gcc/df-problems.cc
  151d675229ec23b6da3f2cc6ee3d7367  gcc/df-scan.cc
  243e0658083f87e4b05d8914b98053c2  gcc/df.h
! b24ae235869e8ddfde6c45d41923f7ef  gcc/dfp.cc
  3a50d04564ba93f9be134a744fdd40f1  gcc/dfp.h
  aa13c8ce0ee0d35ca8e78fef45b93463  gcc/diagnostic-buffer.h
  2fa0c5aeaa9f47417aaa1d8823bf1d4d  gcc/diagnostic-client-data-hooks.h
*************** acdfc663791e4321372e79932070d05d  gcc/do
*** 5924,5937 ****
  81ae745aed5479afae430c578fa29055  gcc/doc/cppinternals.texi
  1a2d44757bb0f40b09493ac3863eba93  gcc/doc/cppopts.texi
  14b0532614eb25d7d84e7efd6664ecf3  gcc/doc/cppwarnopts.texi
! b7485d30ec0ae81de9b80e6c54b78686  gcc/doc/extend.texi
  ddcdbcb699f5252a1c1219d92d87ed8b  gcc/doc/fragments.texi
  cd346f0c279f68138ef08c7addc796de  gcc/doc/frontends.texi
  a28615d9873d98f0d5f4ef8dd3e4c39d  gcc/doc/gcc.texi
  5b1e6708c5ac4fb500ef658bfa6fe3d0  gcc/doc/gccint.texi
  943006b46b746ef59c5c1ab4f334a241  gcc/doc/gcov-dump.texi
  50c3a263a50fc4688ac3be5e8e8744ba  gcc/doc/gcov-tool.texi
! 6662694db9603d95a8c280ab3b6479ea  gcc/doc/gcov.texi
  cc49c44389e2d6e1bc60b761b5602112  gcc/doc/generic.texi
  6dd13335166acce8e899b838ecbd04bd  gcc/doc/gimple.texi
  d86921b1235f4213b89ef1d12d25a41a  gcc/doc/gm2.texi
--- 5924,5937 ----
  81ae745aed5479afae430c578fa29055  gcc/doc/cppinternals.texi
  1a2d44757bb0f40b09493ac3863eba93  gcc/doc/cppopts.texi
  14b0532614eb25d7d84e7efd6664ecf3  gcc/doc/cppwarnopts.texi
! 12d26eca4c14a62f2aec6fa8b91c744c  gcc/doc/extend.texi
  ddcdbcb699f5252a1c1219d92d87ed8b  gcc/doc/fragments.texi
  cd346f0c279f68138ef08c7addc796de  gcc/doc/frontends.texi
  a28615d9873d98f0d5f4ef8dd3e4c39d  gcc/doc/gcc.texi
  5b1e6708c5ac4fb500ef658bfa6fe3d0  gcc/doc/gccint.texi
  943006b46b746ef59c5c1ab4f334a241  gcc/doc/gcov-dump.texi
  50c3a263a50fc4688ac3be5e8e8744ba  gcc/doc/gcov-tool.texi
! 8700253b7c491bd8902f580c7dcff6dc  gcc/doc/gcov.texi
  cc49c44389e2d6e1bc60b761b5602112  gcc/doc/generic.texi
  6dd13335166acce8e899b838ecbd04bd  gcc/doc/gimple.texi
  d86921b1235f4213b89ef1d12d25a41a  gcc/doc/gm2.texi
*************** a798cdca802a57ffa3473ab610b37c86  gcc/fo
*** 6056,6062 ****
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 2d5938a70000aea47a884ab2b5dcd149  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
--- 6056,6062 ----
  4b1bef753dda2d19671f35332c69a0f7  gcc/fold-const.cc
  f23dec03425a07611492fa2c061cd7d2  gcc/fold-const.h
  cd4e6baf5d162fbd41160606055f8297  gcc/fold-mem-offsets.cc
! 0e20189cc325f7d8284577033ea7559e  gcc/fortran/ChangeLog
  083c53fadafdcf3be46713838a51e36c  gcc/fortran/ChangeLog-2002
  2a4ca18d211fb2603139354fd16398ed  gcc/fortran/ChangeLog-2003
  e7462609ebd0dd7c874e0fc00e2833aa  gcc/fortran/ChangeLog-2004
*************** e350765243fa7b881ed82507561870ff  gcc/fo
*** 6135,6141 ****
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  1e4cfc7ce628d29df9a0ab63ad092f0c  gcc/fortran/primary.cc
! 888b0821047e71992cb509cbba933f55  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
--- 6135,6141 ----
  066b089d8a8df7ff652dcc802d982276  gcc/fortran/parse.cc
  09678ef13dc709d251be943d808544b8  gcc/fortran/parse.h
  1e4cfc7ce628d29df9a0ab63ad092f0c  gcc/fortran/primary.cc
! 3ae0e2122c00971c3ccdf6a599f0f7d3  gcc/fortran/resolve.cc
  8dc2391850ee95634781b6e296a096f6  gcc/fortran/scanner.cc
  3c39e0eef946c7f557ac375f23b9f3db  gcc/fortran/scanner.h
  c78c72f9e780bf1c0eea63295c5ba590  gcc/fortran/simplify.cc
*************** fc01aba2ef6a14714b1f93c8cf4194e4  gcc/gi
*** 6242,6248 ****
  d6f9bd05a0669c41ec48c604502d60cf  gcc/gimple-array-bounds.h
  da09d1e31d3994eb3d6958074d7b7ce5  gcc/gimple-builder.cc
  50314e0ad6c6defd28ef9aa5216d4622  gcc/gimple-builder.h
! 613cd84d6a9d33c8a47ce0b484fe65cc  gcc/gimple-crc-optimization.cc
  1e3c7b3ded904be69c3703ac6d27fa44  gcc/gimple-expr.cc
  7b4f02095ce9b7a43bee8570917b9dc7  gcc/gimple-expr.h
  658cb02830aa4b882ce40e022a969e6e  gcc/gimple-fold.cc
--- 6242,6248 ----
  d6f9bd05a0669c41ec48c604502d60cf  gcc/gimple-array-bounds.h
  da09d1e31d3994eb3d6958074d7b7ce5  gcc/gimple-builder.cc
  50314e0ad6c6defd28ef9aa5216d4622  gcc/gimple-builder.h
! fea7635818b5d7cefd4c7a0b268a254c  gcc/gimple-crc-optimization.cc
  1e3c7b3ded904be69c3703ac6d27fa44  gcc/gimple-expr.cc
  7b4f02095ce9b7a43bee8570917b9dc7  gcc/gimple-expr.h
  658cb02830aa4b882ce40e022a969e6e  gcc/gimple-fold.cc
*************** e8038f0b65555e326f704a4460123122  gcc/re
*** 7785,7791 ****
  3dd0d65025f58dfce5d6c65cbf460d0a  gcc/read-rtl-function.cc
  cd83aae447be541259a39119965eecb3  gcc/read-rtl-function.h
  9682aead4a158a567da54b3f2e28b405  gcc/read-rtl.cc
! 4e15a5539de152fbb517e87ebb0b0875  gcc/real.cc
  cfd72298c4b4412115571bb0330d1cb4  gcc/real.h
  45eaf15130a976ff2f72716853fe77c6  gcc/realmpfr.cc
  ec455f45b6b3263f840fb385563308d7  gcc/realmpfr.h
--- 7785,7791 ----
  3dd0d65025f58dfce5d6c65cbf460d0a  gcc/read-rtl-function.cc
  cd83aae447be541259a39119965eecb3  gcc/read-rtl-function.h
  9682aead4a158a567da54b3f2e28b405  gcc/read-rtl.cc
! 89ebe9b9c5342412d37a6014678c865b  gcc/real.cc
  cfd72298c4b4412115571bb0330d1cb4  gcc/real.h
  45eaf15130a976ff2f72716853fe77c6  gcc/realmpfr.cc
  ec455f45b6b3263f840fb385563308d7  gcc/realmpfr.h
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8430,8436 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 5990399d20c9a9a6951bbd5ee4838ed6  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8430,8436 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 0de65e603a3b7b350f8956939f0fd92f  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** cf63bfb7d81a1506c5a7f642d12550d0  gcc/te
*** 40649,40654 ****
--- 40649,40655 ----
  fd7185346c3b94c0a7f7afba7b6bc241  gcc/testsuite/gcc.c-torture/execute/pr119071.c
  b7150a91a8e64c0a2f8d47a9f857fd6e  gcc/testsuite/gcc.c-torture/execute/pr119291.c
  e88a36f4cba0e85d5491d4b566b19508  gcc/testsuite/gcc.c-torture/execute/pr119428.c
+ eda2af339f8dd266a02b2d61a5444a03  gcc/testsuite/gcc.c-torture/execute/pr120677.c
  80c02c70a0b6b91b06942e395c34960f  gcc/testsuite/gcc.c-torture/execute/pr15262-1.c
  987c511633ad57d9f08d352eb9512819  gcc/testsuite/gcc.c-torture/execute/pr15262-2.c
  f7f514cfbd791b0c828e0710493b0910  gcc/testsuite/gcc.c-torture/execute/pr15262.c
*************** c468bc46d49a90772b63f81541d1cdf0  gcc/te
*** 45645,45650 ****
--- 45646,45652 ----
  707a475740543f28e7d4a1a1c6dd5e2a  gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-1.c
  e9e3452e14dfbc6213d63bbc19163128  gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-2.c
  98a1035165205102450c094d1127f8ea  gcc/testsuite/gcc.dg/dfp/bitint-1.c
+ 143efb0e67af1d841185aad9485eab11  gcc/testsuite/gcc.dg/dfp/bitint-10.c
  025dfa34516086fff4ea86cbff142e28  gcc/testsuite/gcc.dg/dfp/bitint-2.c
  ccb86bca1db885e54fa8d30063aa6a9a  gcc/testsuite/gcc.dg/dfp/bitint-3.c
  58ba588e40d3099aca918042db7c5f24  gcc/testsuite/gcc.dg/dfp/bitint-4.c
*************** ccb86bca1db885e54fa8d30063aa6a9a  gcc/te
*** 45652,45657 ****
--- 45654,45660 ----
  730ddc96d99e6d801906d63d8ae43c42  gcc/testsuite/gcc.dg/dfp/bitint-6.c
  0abc14c0fc9758db1fca1a924c745023  gcc/testsuite/gcc.dg/dfp/bitint-7.c
  66591ab0e72f12a0113129becb17a7f0  gcc/testsuite/gcc.dg/dfp/bitint-8.c
+ 5aad3660822951a77e1e44e866886f80  gcc/testsuite/gcc.dg/dfp/bitint-9.c
  2d5128bddc0d69a547254935ce84b555  gcc/testsuite/gcc.dg/dfp/builtin-complex.c
  bbb3a4b9649cd82ff38969cb002504a5  gcc/testsuite/gcc.dg/dfp/builtin-snan-1.c
  d52de125edb1b6785a1995c8d138b9f0  gcc/testsuite/gcc.dg/dfp/builtin-snan-2.c
*************** b6f9108cd4878577de83d43be75185ce  gcc/te
*** 45726,45731 ****
--- 45729,45735 ----
  440b561ad1d9037d4559c7011d636b7a  gcc/testsuite/gcc.dg/dfp/pr104557.c
  82ea312c34b2d7bbfe3d7dc309a1831f  gcc/testsuite/gcc.dg/dfp/pr108068.c
  ea6fd7375471549c289fdf2b28049341  gcc/testsuite/gcc.dg/dfp/pr118560.c
+ 59bca99093471aec4689a575eb6354c1  gcc/testsuite/gcc.dg/dfp/pr120631.c
  d8629eb8e0c765b5a7daa583cb8eedad  gcc/testsuite/gcc.dg/dfp/pr31344.c
  b59fd600db434af135f39c38e21e2d74  gcc/testsuite/gcc.dg/dfp/pr37435.c
  17353eaf91a4f3959fa168324f86f6f5  gcc/testsuite/gcc.dg/dfp/pr41049.c
*************** a7cdfe664ef8616a70af588b3a79aa27  gcc/te
*** 88282,88287 ****
--- 88286,88292 ----
  b22a15e86fb70037feb383a055b6e153  gcc/testsuite/gcc.target/riscv/pr118146-2.c
  1fa594621b25166287d6d30b0daf189b  gcc/testsuite/gcc.target/riscv/pr118170.c
  8c91cf2796ff0e2ea816e9d35b520e8d  gcc/testsuite/gcc.target/riscv/pr118248.c
+ b62a32eafb5e661786b5ef2b03b30be9  gcc/testsuite/gcc.target/riscv/pr119971.c
  37a08389ba95284cc27832767dfc1430  gcc/testsuite/gcc.target/riscv/pr43644.c
  10400130cc47973d43925669f3c795ed  gcc/testsuite/gcc.target/riscv/pr84660.c
  c2ac0b53d6af56f5ec5bded3d252dddc  gcc/testsuite/gcc.target/riscv/pr93202.c
*************** cc6086a551f06fe43ba1143dd3b45a0f  gcc/te
*** 92742,92748 ****
  034755623c7d07978a584f1f4a9fca31  gcc/testsuite/gcc.target/riscv/zbb-min-max.c
  3ef81d36e50eb61cd5acb30a75c2df00  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-01.c
  ae2eedb5d93df4bf4c2298ef65fc68d4  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-02.c
! bffe7cc5c1dc9a4f97053f435e503a6a  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c
  8ddf5edcf9404b9799022233cca4d49a  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-04.c
  0ce29ce3b4df0cc99645b8e7ed0eb6ab  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-05.c
  64a85d6e239f17171ebcad5e6b979725  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-06.c
--- 92747,92753 ----
  034755623c7d07978a584f1f4a9fca31  gcc/testsuite/gcc.target/riscv/zbb-min-max.c
  3ef81d36e50eb61cd5acb30a75c2df00  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-01.c
  ae2eedb5d93df4bf4c2298ef65fc68d4  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-02.c
! dc6f8b5f80e721870422c74d7b5d0cb2  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c
  8ddf5edcf9404b9799022233cca4d49a  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-04.c
  0ce29ce3b4df0cc99645b8e7ed0eb6ab  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-05.c
  64a85d6e239f17171ebcad5e6b979725  gcc/testsuite/gcc.target/riscv/zbb-rol-ror-06.c
*************** bff4f86cadc34cdb60ab04c217d46dbd  gcc/te
*** 99337,99342 ****
--- 99342,99348 ----
  9f39ddc177a6f3ff474548de040842f7  gcc/testsuite/gfortran.dg/allocate_with_mold_2.f90
  f4cacbb7fc7a73c4dc452abb4169a708  gcc/testsuite/gfortran.dg/allocate_with_mold_3.f90
  7d6318515de269c6859cdb9dea3519ac  gcc/testsuite/gfortran.dg/allocate_with_mold_4.f90
+ 516ab2101e0a7432925ea8c85bbc95d5  gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90
  8525309ee0a25fc4ec16a87c02a27e9a  gcc/testsuite/gfortran.dg/allocate_with_source_1.f90
  31f46b6f8cf8a1610b258ea73d0033de  gcc/testsuite/gfortran.dg/allocate_with_source_10.f08
  3e69f8fb58e06a24fc9934b0040bc33c  gcc/testsuite/gfortran.dg/allocate_with_source_11.f08
diff -Nrcpad gcc-15-20250614/gcc/ChangeLog gcc-15-20250621/gcc/ChangeLog
*** gcc-15-20250614/gcc/ChangeLog	Sat Jun 14 22:32:42 2025
--- gcc-15-20250621/gcc/ChangeLog	Sat Jun 21 22:32:11 2025
***************
*** 1,3 ****
--- 1,62 ----
+ 2025-06-20  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-05-05  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/119971
+ 	* config/riscv/bitmanip.md (rotation with masked count): Rewrite
+ 	as define_insn patterns.  Fix formatting.
+ 	* config/riscv/riscv.md (shift with masked count): Similarly.
+ 
+ 2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120631
+ 	* dfp.cc (decimal_real_to_integer): Use result multiplication not just
+ 	when precision > 128 and dn.exponent > 19, but when precision > 64
+ 	and dn.exponent > 0.
+ 
+ 2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120631
+ 	* real.cc (decimal_from_integer): Add digits argument, if larger than
+ 	256, use XALLOCAVEC allocated buffer.
+ 	(real_from_integer): Pass val_in's precision divided by 3 to
+ 	decimal_from_integer.
+ 	* dfp.cc (decimal_real_to_integer): For precision > 128 if finite
+ 	and exponent is large, decrease exponent and multiply resulting
+ 	wide_int by powers of 10^19.
+ 
+ 2025-06-18  Jan Beulich  <jbeulich@suse.com>
+ 
+ 	* doc/gcov.texi: Drop blank after @anchor.
+ 
+ 2025-06-18  Jan Beulich  <jbeulich@suse.com>
+ 
+ 	* doc/extend.texi: Fill first argument of @xref{}.
+ 
+ 2025-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/120677
+ 	* gimple-crc-optimization.cc (crc_optimization::optimize_crc_loop):
+ 	Insert before gsi_after_labels instead of gsi_start_bb.  Use
+ 	gimple_bb (output_crc) instead of output_crc->bb.  Formatting fix.
+ 
+ 2025-06-14  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR rtl-optimization/120423
+ 	PR rtl-optimization/116389
+ 	* config/avr/avr.md [-mno-lra]: Add pre-reload split to transform
+ 	(left shift of) a paradoxical subreg to a (left shift of) zero-extend.
+ 
  2025-06-13  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250614/gcc/DATESTAMP gcc-15-20250621/gcc/DATESTAMP
*** gcc-15-20250614/gcc/DATESTAMP	Sat Jun 14 22:32:42 2025
--- gcc-15-20250621/gcc/DATESTAMP	Sat Jun 21 22:32:12 2025
***************
*** 1 ****
! 20250614
--- 1 ----
! 20250621
diff -Nrcpad gcc-15-20250614/gcc/config/riscv/bitmanip.md gcc-15-20250621/gcc/config/riscv/bitmanip.md
*** gcc-15-20250614/gcc/config/riscv/bitmanip.md	Sat Jun 14 22:32:43 2025
--- gcc-15-20250621/gcc/config/riscv/bitmanip.md	Sat Jun 21 22:32:13 2025
***************
*** 423,461 ****
    "rolw\t%0,%1,%2"
    [(set_attr "type" "bitmanip")])
  
! (define_insn_and_split "*<bitmanip_optab><GPR:mode>3_mask"
!   [(set (match_operand:GPR     0 "register_operand" "= r")
!         (bitmanip_rotate:GPR
!             (match_operand:GPR 1 "register_operand" "  r")
!             (match_operator 4 "subreg_lowpart_operator"
!              [(and:GPR2
!                (match_operand:GPR2 2 "register_operand"  "r")
!                (match_operand 3 "<GPR:shiftm1>" "<GPR:shiftm1p>"))])))]
    "TARGET_ZBB || TARGET_ZBKB"
!   "#"
!   "&& 1"
!   [(set (match_dup 0)
!         (bitmanip_rotate:GPR (match_dup 1)
!                              (match_dup 2)))]
!   "operands[2] = gen_lowpart (QImode, operands[2]);"
    [(set_attr "type" "bitmanip")
!    (set_attr "mode" "<GPR:MODE>")])
  
! (define_insn_and_split "*<bitmanip_optab>si3_sext_mask"
!   [(set (match_operand:DI     0 "register_operand" "= r")
!   (sign_extend:DI (bitmanip_rotate:SI
!             (match_operand:SI 1 "register_operand" "  r")
!             (match_operator 4 "subreg_lowpart_operator"
!              [(and:GPR
!                (match_operand:GPR 2 "register_operand"  "r")
!                (match_operand 3 "const_si_mask_operand"))]))))]
    "TARGET_64BIT && (TARGET_ZBB || TARGET_ZBKB)"
!   "#"
!   "&& 1"
!   [(set (match_dup 0)
!   (sign_extend:DI (bitmanip_rotate:SI (match_dup 1)
!                            (match_dup 2))))]
!   "operands[2] = gen_lowpart (QImode, operands[2]);"
    [(set_attr "type" "bitmanip")
     (set_attr "mode" "DI")])
  
--- 423,462 ----
    "rolw\t%0,%1,%2"
    [(set_attr "type" "bitmanip")])
  
! (define_insn "*<bitmanip_optab><mode>3_mask"
!   [(set (match_operand:X 0 "register_operand" "=r")
! 	(bitmanip_rotate:X
! 	  (match_operand:X 1 "register_operand" "r")
! 	  (match_operator 4 "subreg_lowpart_operator"
! 	    [(and:X (match_operand:X 2 "register_operand"  "r")
! 		    (match_operand 3 "<X:shiftm1>" "<X:shiftm1p>"))])))]
    "TARGET_ZBB || TARGET_ZBKB"
!   "<bitmanip_insn>\t%0,%1,%2"
    [(set_attr "type" "bitmanip")
!    (set_attr "mode" "<X:MODE>")])
  
! (define_insn "*<bitmanip_optab>3_mask_si"
!   [(set (match_operand:SI 0 "register_operand" "=r")
! 	(bitmanip_rotate:SI
! 	  (match_operand:SI 1 "register_operand" "r")
! 	  (match_operator 3 "subreg_lowpart_operator"
! 	    [(and:X (match_operand:SI 2 "register_operand"  "r")
! 		    (const_int 31))])))]
    "TARGET_64BIT && (TARGET_ZBB || TARGET_ZBKB)"
!   "<bitmanip_insn>w\t%0,%1,%2"
!   [(set_attr "type" "bitmanip")
!    (set_attr "mode" "SI")])
! 
! (define_insn "*<bitmanip_optab>si3_sext_mask"
!   [(set (match_operand:DI 0 "register_operand" "=r")
! 	(sign_extend:DI
! 	  (bitmanip_rotate:SI
! 	    (match_operand:SI 1 "register_operand" "r")
! 	    (match_operator 3 "subreg_lowpart_operator"
! 	      [(and:X (match_operand:GPR 2 "register_operand"  "r")
! 		      (const_int 31))]))))]
!   "TARGET_64BIT && (TARGET_ZBB || TARGET_ZBKB)"
!   "<bitmanip_insn>w\t%0,%1,%2"
    [(set_attr "type" "bitmanip")
     (set_attr "mode" "DI")])
  
diff -Nrcpad gcc-15-20250614/gcc/config/riscv/riscv.md gcc-15-20250621/gcc/config/riscv/riscv.md
*** gcc-15-20250614/gcc/config/riscv/riscv.md	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/config/riscv/riscv.md	Sat Jun 21 22:32:13 2025
***************
*** 2922,2928 ****
    [(set_attr "type" "shift")
     (set_attr "mode" "DI")])
  
! (define_insn_and_split "*<optab><GPR:mode>3_mask_1"
    [(set (match_operand:GPR     0 "register_operand" "= r")
  	(any_shift:GPR
  	    (match_operand:GPR 1 "register_operand" "  r")
--- 2922,2928 ----
    [(set_attr "type" "shift")
     (set_attr "mode" "DI")])
  
! (define_insn "*<optab><GPR:mode>3_mask_1"
    [(set (match_operand:GPR     0 "register_operand" "= r")
  	(any_shift:GPR
  	    (match_operand:GPR 1 "register_operand" "  r")
***************
*** 2931,2942 ****
  	       (match_operand:GPR2 2 "register_operand"  "r")
  	       (match_operand 3 "<GPR:shiftm1>"))])))]
    ""
!   "#"
!   "&& 1"
!   [(set (match_dup 0)
! 	(any_shift:GPR (match_dup 1)
! 		      (match_dup 2)))]
!   "operands[2] = gen_lowpart (QImode, operands[2]);"
    [(set_attr "type" "shift")
     (set_attr "mode" "<GPR:MODE>")])
  
--- 2931,2937 ----
  	       (match_operand:GPR2 2 "register_operand"  "r")
  	       (match_operand 3 "<GPR:shiftm1>"))])))]
    ""
!   "<insn>\t%0,%1,%2"
    [(set_attr "type" "shift")
     (set_attr "mode" "<GPR:MODE>")])
  
***************
*** 2955,2961 ****
    [(set_attr "type" "shift")
     (set_attr "mode" "SI")])
  
! (define_insn_and_split "*<optab>si3_extend_mask"
    [(set (match_operand:DI                   0 "register_operand" "= r")
  	(sign_extend:DI
  	    (any_shift:SI
--- 2950,2956 ----
    [(set_attr "type" "shift")
     (set_attr "mode" "SI")])
  
! (define_insn "*<optab>si3_extend_mask"
    [(set (match_operand:DI                   0 "register_operand" "= r")
  	(sign_extend:DI
  	    (any_shift:SI
***************
*** 2965,2977 ****
  	        (match_operand:GPR 2 "register_operand" " r")
  	        (match_operand 3 "const_si_mask_operand"))]))))]
    "TARGET_64BIT"
!   "#"
!   "&& 1"
!   [(set (match_dup 0)
! 	(sign_extend:DI
! 	 (any_shift:SI (match_dup 1)
! 		       (match_dup 2))))]
!   "operands[2] = gen_lowpart (QImode, operands[2]);"
    [(set_attr "type" "shift")
     (set_attr "mode" "SI")])
  
--- 2960,2966 ----
  	        (match_operand:GPR 2 "register_operand" " r")
  	        (match_operand 3 "const_si_mask_operand"))]))))]
    "TARGET_64BIT"
!   "<insn>w\t%0,%1,%2"
    [(set_attr "type" "shift")
     (set_attr "mode" "SI")])
  
diff -Nrcpad gcc-15-20250614/gcc/dfp.cc gcc-15-20250621/gcc/dfp.cc
*** gcc-15-20250614/gcc/dfp.cc	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/dfp.cc	Sat Jun 21 22:32:13 2025
*************** decimal_real_to_integer (const REAL_VALU
*** 619,629 ****
--- 619,639 ----
    decNumber dn, dn2, dn3;
    REAL_VALUE_TYPE to;
    char string[256];
+   int scale = 0;
  
    decContextDefault (&set, DEC_INIT_DECIMAL128);
    set.traps = 0;
    set.round = DEC_ROUND_DOWN;
    decimal128ToNumber ((const decimal128 *) r->sig, &dn);
+   if (precision > 64 && decNumberIsFinite (&dn) && dn.exponent > 0)
+     {
+       /* libdecNumber doesn't really handle too large integers.
+ 	 So when precision is large and exponent as well, trim the
+ 	 exponent and adjust the resulting wide_int by multiplying
+ 	 it multiple times with powers of ten.  */
+       scale = dn.exponent;
+       dn.exponent = 0;
+     }
  
    decNumberToIntegralValue (&dn2, &dn, &set);
    decNumberZero (&dn3);
*************** decimal_real_to_integer (const REAL_VALU
*** 633,639 ****
       function.  */
    decNumberToString (&dn, string);
    real_from_string (&to, string);
!   return real_to_integer (&to, fail, precision);
  }
  
  /* Perform the decimal floating point operation described by CODE.
--- 643,716 ----
       function.  */
    decNumberToString (&dn, string);
    real_from_string (&to, string);
!   bool failp = false;
!   wide_int w = real_to_integer (&to, &failp, precision);
!   if (failp)
!     *fail = true;
!   if (scale && !failp)
!     {
!       bool isneg = wi::neg_p (w);
!       if (isneg)
! 	w = -w;
!       enum wi::overflow_type ovf = wi::OVF_NONE;
!       unsigned HOST_WIDE_INT pow10s[] = {
! 	HOST_WIDE_INT_UC (10),
! 	HOST_WIDE_INT_UC (100),
! 	HOST_WIDE_INT_UC (1000),
! 	HOST_WIDE_INT_UC (10000),
! 	HOST_WIDE_INT_UC (100000),
! 	HOST_WIDE_INT_UC (1000000),
! 	HOST_WIDE_INT_UC (10000000),
! 	HOST_WIDE_INT_UC (100000000),
! 	HOST_WIDE_INT_UC (1000000000),
! 	HOST_WIDE_INT_UC (10000000000),
! 	HOST_WIDE_INT_UC (100000000000),
! 	HOST_WIDE_INT_UC (1000000000000),
! 	HOST_WIDE_INT_UC (10000000000000),
! 	HOST_WIDE_INT_UC (100000000000000),
! 	HOST_WIDE_INT_UC (1000000000000000),
! 	HOST_WIDE_INT_UC (10000000000000000),
! 	HOST_WIDE_INT_UC (100000000000000000),
! 	HOST_WIDE_INT_UC (1000000000000000000),
! 	HOST_WIDE_INT_UC (10000000000000000000),
!       };
!       int s = scale % 19;
!       if (s)
! 	{
! 	  wide_int wm = wi::uhwi (pow10s[s - 1], w.get_precision ());
! 	  w = wi::umul (w, wm, &ovf);
! 	  if (ovf)
! 	    scale = 0;
! 	}
!       scale /= 19;
!       wide_int wm = wi::uhwi (pow10s[18], w.get_precision ());
!       while (scale)
! 	{
! 	  if (scale & 1)
! 	    {
! 	      w = wi::umul (w, wm, &ovf);
! 	      if (ovf)
! 		break;
! 	    }
! 	  scale >>= 1;
! 	  if (!scale)
! 	    break;
! 	  wm = wi::umul (wm, wm, &ovf);
! 	  if (ovf)
! 	    break;
! 	}
!       if (ovf)
! 	{
! 	  *fail = true;
! 	  if (isneg)
! 	    return wi::set_bit_in_zero (precision - 1, precision);
! 	  else
! 	    return ~wi::set_bit_in_zero (precision - 1, precision);
! 	}
!       if (isneg)
! 	w = -w;
!     }
!   return w;
  }
  
  /* Perform the decimal floating point operation described by CODE.
diff -Nrcpad gcc-15-20250614/gcc/doc/extend.texi gcc-15-20250621/gcc/doc/extend.texi
*** gcc-15-20250614/gcc/doc/extend.texi	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/doc/extend.texi	Sat Jun 21 22:32:13 2025
*************** and @samp{[[omp::sequence(...)]]} in C a
*** 10679,10685 ****
  GCC needs to be invoked with the @option{-fopenmp} option.
  This option also arranges for automatic linking of the OpenMP
  runtime library.
! @xref{,,,libgomp,GNU Offloading and Multi Processing Runtime Library}.
  
  @xref{OpenMP and OpenACC Options}, for additional options useful with
  @option{-fopenmp}.
--- 10679,10685 ----
  GCC needs to be invoked with the @option{-fopenmp} option.
  This option also arranges for automatic linking of the OpenMP
  runtime library.
! @xref{Top,,,libgomp,GNU Offloading and Multi Processing Runtime Library}.
  
  @xref{OpenMP and OpenACC Options}, for additional options useful with
  @option{-fopenmp}.
*************** To enable the processing of OpenACC dire
*** 10701,10707 ****
  in C and C++, GCC needs to be invoked with the @option{-fopenacc} option.
  This option also arranges for automatic linking of the OpenACC runtime
  library.
! @xref{,,,libgomp,GNU Offloading and Multi Processing Runtime Library}.
  
  @xref{OpenMP and OpenACC Options}, for additional options useful with
  @option{-fopenacc}.
--- 10701,10707 ----
  in C and C++, GCC needs to be invoked with the @option{-fopenacc} option.
  This option also arranges for automatic linking of the OpenACC runtime
  library.
! @xref{Top,,,libgomp,GNU Offloading and Multi Processing Runtime Library}.
  
  @xref{OpenMP and OpenACC Options}, for additional options useful with
  @option{-fopenacc}.
diff -Nrcpad gcc-15-20250614/gcc/doc/gcov.texi gcc-15-20250621/gcc/doc/gcov.texi
*** gcc-15-20250614/gcc/doc/gcov.texi	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/doc/gcov.texi	Sat Jun 21 22:32:13 2025
*************** condition  1 not covered (true)
*** 1077,1083 ****
          -:   12:@}
  @end smallexample
  
! @anchor {gcov prime paths example}
  When you compile with @option{--coverage -fpath-coverage} and use the
  option @option{-e} your output looks like this:
  
--- 1077,1083 ----
          -:   12:@}
  @end smallexample
  
! @anchor{gcov prime paths example}
  When you compile with @option{--coverage -fpath-coverage} and use the
  option @option{-e} your output looks like this:
  
diff -Nrcpad gcc-15-20250614/gcc/fortran/ChangeLog gcc-15-20250621/gcc/fortran/ChangeLog
*** gcc-15-20250614/gcc/fortran/ChangeLog	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/fortran/ChangeLog	Sat Jun 21 22:32:13 2025
***************
*** 1,3 ****
--- 1,12 ----
+ 2025-06-18  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-06-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/51961
+ 	* resolve.cc (conformable_arrays): Use modified rank check when
+ 	MOLD= expression is given.
+ 
  2025-06-13  Andre Vehreschild  <vehre@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250614/gcc/fortran/resolve.cc gcc-15-20250621/gcc/fortran/resolve.cc
*** gcc-15-20250614/gcc/fortran/resolve.cc	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/fortran/resolve.cc	Sat Jun 21 22:32:13 2025
*************** static bool
*** 8740,8747 ****
--- 8740,8764 ----
  conformable_arrays (gfc_expr *e1, gfc_expr *e2)
  {
    gfc_ref *tail;
+   bool scalar;
+ 
    for (tail = e2->ref; tail && tail->next; tail = tail->next);
  
+   /* If MOLD= is present and is not scalar, and the allocate-object has an
+      explicit-shape-spec, the ranks need not agree.  This may be unintended,
+      so let's emit a warning if -Wsurprising is given.  */
+   scalar = !tail || tail->type == REF_COMPONENT;
+   if (e1->mold && e1->rank > 0
+       && (scalar || (tail->type == REF_ARRAY && tail->u.ar.type != AR_FULL)))
+     {
+       if (scalar || (tail->u.ar.as && e1->rank != tail->u.ar.as->rank))
+ 	gfc_warning (OPT_Wsurprising, "Allocate-object at %L has rank %d "
+ 		     "but MOLD= expression at %L has rank %d",
+ 		     &e2->where, scalar ? 0 : tail->u.ar.as->rank,
+ 		     &e1->where, e1->rank);
+       return true;
+     }
+ 
    /* First compare rank.  */
    if ((tail && (!tail->u.ar.as || e1->rank != tail->u.ar.as->rank))
        || (!tail && e1->rank != e2->rank))
diff -Nrcpad gcc-15-20250614/gcc/gimple-crc-optimization.cc gcc-15-20250621/gcc/gimple-crc-optimization.cc
*** gcc-15-20250614/gcc/gimple-crc-optimization.cc	Sat Jun 14 22:32:44 2025
--- gcc-15-20250621/gcc/gimple-crc-optimization.cc	Sat Jun 21 22:32:13 2025
*************** crc_optimization::optimize_crc_loop (gph
*** 1261,1275 ****
    loc = EXPR_LOCATION (phi_result);
  
    /* Add IFN call and write the return value in the phi_result.  */
!   gcall *call
!       = gimple_build_call_internal (ifn, 3,
! 				    m_crc_arg,
! 				    m_data_arg,
! 				    polynomial_arg);
  
    gimple_call_set_lhs (call, phi_result);
    gimple_set_location (call, loc);
!   gimple_stmt_iterator si = gsi_start_bb (output_crc->bb);
    gsi_insert_before (&si, call, GSI_SAME_STMT);
  
    /* Remove phi statement, which was holding CRC result.  */
--- 1261,1272 ----
    loc = EXPR_LOCATION (phi_result);
  
    /* Add IFN call and write the return value in the phi_result.  */
!   gcall *call = gimple_build_call_internal (ifn, 3, m_crc_arg, m_data_arg,
! 					    polynomial_arg);
  
    gimple_call_set_lhs (call, phi_result);
    gimple_set_location (call, loc);
!   gimple_stmt_iterator si = gsi_after_labels (gimple_bb (output_crc));
    gsi_insert_before (&si, call, GSI_SAME_STMT);
  
    /* Remove phi statement, which was holding CRC result.  */
diff -Nrcpad gcc-15-20250614/gcc/real.cc gcc-15-20250621/gcc/real.cc
*** gcc-15-20250614/gcc/real.cc	Sat Jun 14 22:32:45 2025
--- gcc-15-20250621/gcc/real.cc	Sat Jun 21 22:32:14 2025
*************** static int do_compare (const REAL_VALUE_
*** 101,107 ****
  static void do_fix_trunc (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *);
  
  static unsigned long rtd_divmod (REAL_VALUE_TYPE *, REAL_VALUE_TYPE *);
! static void decimal_from_integer (REAL_VALUE_TYPE *);
  static void decimal_integer_string (char *, const REAL_VALUE_TYPE *,
  				    size_t);
  
--- 101,107 ----
  static void do_fix_trunc (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *);
  
  static unsigned long rtd_divmod (REAL_VALUE_TYPE *, REAL_VALUE_TYPE *);
! static void decimal_from_integer (REAL_VALUE_TYPE *, int);
  static void decimal_integer_string (char *, const REAL_VALUE_TYPE *,
  				    size_t);
  
*************** real_from_integer (REAL_VALUE_TYPE *r, f
*** 2309,2315 ****
      }
  
    if (fmt.decimal_p ())
!     decimal_from_integer (r);
    if (fmt)
      real_convert (r, fmt, r);
  }
--- 2309,2317 ----
      }
  
    if (fmt.decimal_p ())
!     /* We need at most one decimal digits for each 3 bits of input
!        precision.  */
!     decimal_from_integer (r, val_in.get_precision () / 3);
    if (fmt)
      real_convert (r, fmt, r);
  }
*************** decimal_integer_string (char *str, const
*** 2364,2375 ****
  /* Convert a real with an integral value to decimal float.  */
  
  static void
! decimal_from_integer (REAL_VALUE_TYPE *r)
  {
    char str[256];
  
!   decimal_integer_string (str, r, sizeof (str) - 1);
!   decimal_real_from_string (r, str);
  }
  
  /* Returns 10**2**N.  */
--- 2366,2386 ----
  /* Convert a real with an integral value to decimal float.  */
  
  static void
! decimal_from_integer (REAL_VALUE_TYPE *r, int digits)
  {
    char str[256];
  
!   if (digits <= 256)
!     {
!       decimal_integer_string (str, r, sizeof (str) - 1);
!       decimal_real_from_string (r, str);
!     }
!   else
!     {
!       char *s = XALLOCAVEC (char, digits);
!       decimal_integer_string (s, r, digits - 1);
!       decimal_real_from_string (r, s);
!     }
  }
  
  /* Returns 10**2**N.  */
diff -Nrcpad gcc-15-20250614/gcc/testsuite/ChangeLog gcc-15-20250621/gcc/testsuite/ChangeLog
*** gcc-15-20250614/gcc/testsuite/ChangeLog	Sat Jun 14 22:32:45 2025
--- gcc-15-20250621/gcc/testsuite/ChangeLog	Sat Jun 21 22:32:14 2025
***************
*** 1,3 ****
--- 1,53 ----
+ 2025-06-20  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-05-05  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/119971
+ 	* gcc.target/riscv/pr119971.c: New test.
+ 	* gcc.target/riscv/zbb-rol-ror-03.c: Adjust test slightly.
+ 
+ 2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120631
+ 	* gcc.dg/dfp/bitint-10.c: New test.
+ 	* gcc.dg/dfp/pr120631.c: New test.
+ 
+ 2025-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/120631
+ 	* gcc.dg/dfp/bitint-9.c: New test.
+ 
+ 2025-06-18  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-06-16  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/51961
+ 	* gfortran.dg/allocate_with_mold_5.f90: New test.
+ 
+ 2025-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-06-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/120677
+ 	* gcc.c-torture/execute/pr120677.c: New test.
+ 
+ 2025-06-14  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR rtl-optimization/120423
+ 	PR rtl-optimization/116389
+ 	* gcc.target/avr/torture/pr120423-1.c: New test.
+ 	* gcc.target/avr/torture/pr120423-2.c: New test.
+ 	* gcc.target/avr/torture/pr120423-116389.c: New test.
+ 
  2025-06-13  Georg-Johann Lay  <avr@gjlay.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.c-torture/execute/pr120677.c gcc-15-20250621/gcc/testsuite/gcc.c-torture/execute/pr120677.c
*** gcc-15-20250614/gcc/testsuite/gcc.c-torture/execute/pr120677.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gcc.c-torture/execute/pr120677.c	Sat Jun 21 22:32:18 2025
***************
*** 0 ****
--- 1,31 ----
+ /* PR tree-optimization/120677 */
+ /* { dg-do run { target int32plus } } */
+ 
+ unsigned a;
+ int b, e;
+ 
+ int
+ foo (int d)
+ {
+   switch (d)
+     {
+     case 0:
+     case 2:
+       return 0;
+     default:
+       return 1;
+     }
+ }
+ 
+ int
+ main ()
+ {
+   for (b = 8; b; b--)
+     if (a & 1)
+       a = a >> 1 ^ 20000000;
+     else
+       a >>= 1;
+   e = foo (0);
+   if (e || a)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/bitint-10.c gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/bitint-10.c
*** gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/bitint-10.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/bitint-10.c	Sat Jun 21 22:32:19 2025
***************
*** 0 ****
--- 1,49 ----
+ /* PR middle-end/120631 */
+ /* { dg-do run { target bitint } } */
+ /* { dg-options "-O2" } */
+ 
+ #if __BITINT_MAXWIDTH__ >= 128
+ _Decimal128 a = 123456789135792468012345678900000000000.0dl;
+ _BitInt(128) b = 123456789135792468012345678900000000000wb;
+ _Decimal64 c = 12345678913579000000000000000000000000.0dd;
+ _BitInt(127) d = 12345678913579000000000000000000000000wb;
+ #endif
+ #if __BITINT_MAXWIDTH__ >= 256
+ _Decimal128 m = 1234567891357924680123456789000000000000000000000000000000000000000000000000.0dl;
+ _BitInt(256) n = 1234567891357924680123456789000000000000000000000000000000000000000000000000wb;
+ _Decimal64 o = 1234567891357900000000000000000000000000000000000000000000000000000000000000.0dd;
+ _BitInt(255) p = 1234567891357900000000000000000000000000000000000000000000000000000000000000wb;
+ #endif
+ 
+ int
+ main ()
+ {
+ #if __BITINT_MAXWIDTH__ >= 128
+   if (a != b || (_BitInt(128)) a != b || c != d || (_BitInt(127)) c != d)
+     __builtin_abort ();
+   _Decimal128 e = 123456789135792468012345678900000000000.0dl;
+   _BitInt(128) f = 123456789135792468012345678900000000000wb;
+   _Decimal128 g = 123456789135792468012345678900000000000wb;
+   _BitInt(128) h = 123456789135792468012345678900000000000.0dl;
+   _Decimal64 i = 12345678913579000000000000000000000000.0dd;
+   _BitInt(128) j = 12345678913579000000000000000000000000wb;
+   _Decimal64 k = 12345678913579000000000000000000000000wb;
+   _BitInt(128) l = 12345678913579000000000000000000000000.0dd;
+   if (e != g || f != h || i != k || j != l)
+     __builtin_abort ();
+ #endif
+ #if __BITINT_MAXWIDTH__ >= 256
+   if (m != n || (_BitInt(256)) m != n || o != p || (_BitInt(255)) o != p)
+     __builtin_abort ();
+   _Decimal128 q = 1234567891357924680123456789000000000000000000000000000000000000000000000000.0dl;
+   _BitInt(256) r = 1234567891357924680123456789000000000000000000000000000000000000000000000000wb;
+   _Decimal128 s = 1234567891357924680123456789000000000000000000000000000000000000000000000000wb;
+   _BitInt(256) t = 1234567891357924680123456789000000000000000000000000000000000000000000000000.0dl;
+   _Decimal64 u = 1234567891357900000000000000000000000000000000000000000000000000000000000000.0dd;
+   _BitInt(255) v = 1234567891357900000000000000000000000000000000000000000000000000000000000000wb;
+   _Decimal64 w = 1234567891357900000000000000000000000000000000000000000000000000000000000000wb;
+   _BitInt(255) x = 1234567891357900000000000000000000000000000000000000000000000000000000000000.0dd;
+   if (q != s || r != t || u != w || v != x)
+     __builtin_abort ();
+ #endif
+ }
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/bitint-9.c gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/bitint-9.c
*** gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/bitint-9.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/bitint-9.c	Sat Jun 21 22:32:19 2025
***************
*** 0 ****
--- 1,29 ----
+ /* PR middle-end/120631 */
+ /* { dg-do run { target bitint } } */
+ /* { dg-options "-O2" } */
+ 
+ #if __BITINT_MAXWIDTH__ >= 2048
+ _Decimal128 a =  .0dl;
+ _BitInt(2048) b =  ;
+ _Decimal64 c = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0dd;
+ _BitInt(1536) d = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000wb;
+ #endif
+ 
+ int
+ main ()
+ {
+ #if __BITINT_MAXWIDTH__ >= 2048
+   if (a != b || (_BitInt(2048)) a != b || c != d || (_BitInt(1536)) c != d)
+     __builtin_abort ();
+   _Decimal128 e =  .0dl;
+   _BitInt(2048) f =  ;
+   _Decimal128 g =  ;
+   _BitInt(2048) h =  .0dl;
+   _Decimal64 i = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0dd;
+   _BitInt(1536) j = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000wb;
+   _Decimal64 k = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000wb;
+   _BitInt(1536) l = 123456789135790000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0dd;
+   if (e != g || f != h || i != k || j != l)
+     __builtin_abort ();
+ #endif
+ }
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/pr120631.c gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/pr120631.c
*** gcc-15-20250614/gcc/testsuite/gcc.dg/dfp/pr120631.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gcc.dg/dfp/pr120631.c	Sat Jun 21 22:32:19 2025
***************
*** 0 ****
--- 1,25 ----
+ /* PR middle-end/120631 */
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ _Decimal64 a = 1234567891357900000.0dd;
+ long long b = 1234567891357900000LL;
+ _Decimal32 c = 1234567000000000000.0df;
+ long long d = 1234567000000000000LL;
+ 
+ int
+ main ()
+ {
+   if (a != b || (long long) a != b || c != d || (long long) c != d)
+     __builtin_abort ();
+   _Decimal64 e = 1234567891357900000.0dd;
+   long long f = 1234567891357900000LL;
+   _Decimal64 g = 1234567891357900000LL;
+   long long h = 1234567891357900000.0dd;
+   _Decimal32 i = 1234567000000000000.0df;
+   long long j = 1234567000000000000LL;
+   _Decimal32 k = 1234567000000000000LL;
+   long long l = 1234567000000000000.0df;
+   if (e != g || f != h || i != k || j != l)
+     __builtin_abort ();
+ }
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.target/riscv/pr119971.c gcc-15-20250621/gcc/testsuite/gcc.target/riscv/pr119971.c
*** gcc-15-20250614/gcc/testsuite/gcc.target/riscv/pr119971.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gcc.target/riscv/pr119971.c	Sat Jun 21 22:32:29 2025
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do compile { target rv64 } } */
+ /* { dg-options "-march=rv64gcb -mabi=lp64" } */
+ /* { dg-skip-if "" { *-*-* } { "-O0" "-g" "-Oz" "-Os" } } */
+ 
+ __attribute__ ((noipa)) unsigned
+ foo (unsigned b, unsigned e, unsigned i)
+ {
+   e >>= b;
+   i >>= e & 31;
+   return i & 1;
+ }
+ 
+ int main()
+ {
+   if (foo (0x18, 0xfe000000, 0x40000000) != 1)
+     __builtin_abort ();
+   return 0;
+ }
+ 
+ /* { dg-final { scan-assembler-times "andi\t" 1 } } */
+ /* { dg-final { scan-assembler-times "srlw\t" 2 } } */
+ /* { dg-final { scan-assembler-not "bext\t" } } */
+ 
+ 
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c gcc-15-20250621/gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c
*** gcc-15-20250614/gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c	Sat Jun 14 22:32:57 2025
--- gcc-15-20250621/gcc/testsuite/gcc.target/riscv/zbb-rol-ror-03.c	Sat Jun 21 22:32:39 2025
*************** unsigned int rol(unsigned int rs1, unsig
*** 10,16 ****
  }
  unsigned int ror(unsigned int rs1, unsigned int rs2)
  {
!     int shamt = rs2 & (64 - 1);
      return (rs1 >> shamt) | (rs1 << ((32 - shamt) & (32 - 1)));
  }
  
--- 10,16 ----
  }
  unsigned int ror(unsigned int rs1, unsigned int rs2)
  {
!     int shamt = rs2 & (32 - 1);
      return (rs1 >> shamt) | (rs1 << ((32 - shamt) & (32 - 1)));
  }
  
diff -Nrcpad gcc-15-20250614/gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90 gcc-15-20250621/gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90
*** gcc-15-20250614/gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90	Thu Jan  1 00:00:00 1970
--- gcc-15-20250621/gcc/testsuite/gfortran.dg/allocate_with_mold_5.f90	Sat Jun 21 22:32:40 2025
***************
*** 0 ****
--- 1,51 ----
+ ! { dg-do compile }
+ ! { dg-additional-options "-Wsurprising" }
+ !
+ ! PR fortran/51961 - fix checking of MOLD= in ALLOCATE statements
+ !
+ ! Contributed by Tobias Burnus
+ 
+ program p
+   implicit none
+   type t
+   end type t
+   type u
+      class(t), allocatable :: a(:), b(:,:), c
+   end type u
+   class(T), allocatable :: a(:), b(:,:), c
+   type(u) :: z
+ 
+   allocate (b(2,2))
+   allocate (z% b(2,2))
+ 
+   allocate (a(2),      mold=b(:,1))
+   allocate (a(1:2),    mold=b(1,:))
+   allocate (a(2),      mold=b)        ! { dg-warning "but MOLD= expression at" }
+   allocate (a(1:2),    mold=b)        ! { dg-warning "but MOLD= expression at" }
+   allocate (z% a(2),   mold=b(:,1))
+   allocate (z% a(1:2), mold=b(1,:))
+   allocate (z% a(2),   mold=b)        ! { dg-warning "but MOLD= expression at" }
+   allocate (z% a(1:2), mold=b)        ! { dg-warning "but MOLD= expression at" }
+   allocate (z% a(2),   mold=z% b(:,1))
+   allocate (z% a(1:2), mold=z% b(1,:))
+   allocate (z% a(2),   mold=z% b)     ! { dg-warning "but MOLD= expression at" }
+   allocate (z% a(1:2), mold=z% b)     ! { dg-warning "but MOLD= expression at" }
+ 
+   allocate (c,      mold=b(1,1))
+   allocate (c,      mold=b)           ! { dg-warning "but MOLD= expression at" }
+   allocate (z% c,   mold=b(1,1))
+   allocate (z% c,   mold=b)           ! { dg-warning "but MOLD= expression at" }
+   allocate (z% c,   mold=z% b(1,1))
+   allocate (z% c,   mold=z% b)        ! { dg-warning "but MOLD= expression at" }
+ 
+   allocate (a,      mold=b(:,1))
+   allocate (a,      mold=b(1,:))
+   allocate (z% a,   mold=b(:,1))
+   allocate (z% a,   mold=b(1,:))
+   allocate (z% a,   mold=z% b(:,1))
+   allocate (z% a,   mold=z% b(1,:))
+ 
+   allocate (a,      mold=b)      ! { dg-error "or have the same rank" }
+   allocate (z% a,   mold=b)      ! { dg-error "or have the same rank" }
+   allocate (z% a,   mold=z% b)   ! { dg-error "or have the same rank" }
+ end
