diff -Nrcpad gcc-14-20250815/LAST_UPDATED gcc-14-20250822/LAST_UPDATED
*** gcc-14-20250815/LAST_UPDATED	Fri Aug 15 22:33:04 2025
--- gcc-14-20250822/LAST_UPDATED	Fri Aug 22 22:33:21 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision b41115c1907f9277e91367700b9da429d1aaa49f
--- 1 ----
! Obtained from git: releases/gcc-14 revision 087fe1daf1024c3d481b708c40cf47cc26b06a3a
diff -Nrcpad gcc-14-20250815/MD5SUMS gcc-14-20250822/MD5SUMS
*** gcc-14-20250815/MD5SUMS	Fri Aug 15 22:33:07 2025
--- gcc-14-20250822/MD5SUMS	Fri Aug 22 22:33:24 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20250815.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-14-20250822.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
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 3b1087c20dc9ab13cf56b36bdc04dbd8  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 07c410d5ea030ab1420edebb9ca57815  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 79b11c0f1ba1cbec5e8713a1519f5b33  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! bdf8089a5773e349f16504b85212ab1d  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! a1960d66b157ad656b0e85252eb1dd57  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! d1812ce45d0c994da4c17dc4dbf7e6d3  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** b8ea4d0fbacd00d61908ce1633d440fb  gcc/co
*** 3370,3376 ****
  e74b8aa51ed0a0fd74ec97bb4009c55f  gcc/config/aarch64/aarch64-tune.md
  6ede31fb52cae2cf590b667c55706637  gcc/config/aarch64/aarch64-tuning-flags.def
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
! 8b6881d70d6fd5d0fd7a0a0e8386a8f2  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
  f73881040bcc95fcfef6c8adbb4d3e6d  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
--- 3370,3376 ----
  e74b8aa51ed0a0fd74ec97bb4009c55f  gcc/config/aarch64/aarch64-tune.md
  6ede31fb52cae2cf590b667c55706637  gcc/config/aarch64/aarch64-tuning-flags.def
  93d2ce2396c397f594f146a9d7d80c52  gcc/config/aarch64/aarch64-vxworks.h
! d5d1b940a8c66aeb356b4782536d3412  gcc/config/aarch64/aarch64.cc
  be8a897650902ba46d1df7cb3a50ca2c  gcc/config/aarch64/aarch64.h
  f73881040bcc95fcfef6c8adbb4d3e6d  gcc/config/aarch64/aarch64.md
  3948f2f1b7b27ca528cac06ae5fe36ff  gcc/config/aarch64/aarch64.opt
*************** ca321a5148953102f755e05b59b7bb1a  gcc/co
*** 3669,3675 ****
  18da6b098212aae9f6f9b0200eeb9134  gcc/config/avr/gen-avr-mmcu-texi.cc
  b3573dd42f78369fa82623b922370aa4  gcc/config/avr/genmultilib.awk
  28e6f4462ed42a18b0270e5755e73dc4  gcc/config/avr/predicates.md
! edcd8c674a9d3952a4c3d848649efd56  gcc/config/avr/specs.h
  b676cbf410071d39adf1d2dbab2defe3  gcc/config/avr/stdfix.h
  3b770b008cc51d652a8983a5dd8c2597  gcc/config/avr/t-avr
  8bf2f66c0bc639581bb4cbe96a90c238  gcc/config/bfin/bfin-modes.def
--- 3669,3675 ----
  18da6b098212aae9f6f9b0200eeb9134  gcc/config/avr/gen-avr-mmcu-texi.cc
  b3573dd42f78369fa82623b922370aa4  gcc/config/avr/genmultilib.awk
  28e6f4462ed42a18b0270e5755e73dc4  gcc/config/avr/predicates.md
! 29e935f7e5df174e2e2bb5827c990c24  gcc/config/avr/specs.h
  b676cbf410071d39adf1d2dbab2defe3  gcc/config/avr/stdfix.h
  3b770b008cc51d652a8983a5dd8c2597  gcc/config/avr/t-avr
  8bf2f66c0bc639581bb4cbe96a90c238  gcc/config/bfin/bfin-modes.def
*************** f12471f71a85ea43d5295d1190faf890  gcc/fo
*** 5924,5930 ****
  6cecb2157794589b129027cac8e94684  gcc/fortran/gfortran.h
  57ff50b64741422eb357b86659a8afc8  gcc/fortran/gfortran.texi
  cc84451cbcaa91ddd59babe04bda0b1a  gcc/fortran/gfortranspec.cc
! fcf2287a5b0a40d47a2049c4d9188644  gcc/fortran/interface.cc
  df46b68ac2bc3086485916347795a6e2  gcc/fortran/intrinsic.cc
  7c5c308109e781e905a4606be634b46f  gcc/fortran/intrinsic.h
  3f7081a11cbca781ba26400c16f44044  gcc/fortran/intrinsic.texi
--- 5924,5930 ----
  6cecb2157794589b129027cac8e94684  gcc/fortran/gfortran.h
  57ff50b64741422eb357b86659a8afc8  gcc/fortran/gfortran.texi
  cc84451cbcaa91ddd59babe04bda0b1a  gcc/fortran/gfortranspec.cc
! e8869e5dae32915cb590df6cff07ab46  gcc/fortran/interface.cc
  df46b68ac2bc3086485916347795a6e2  gcc/fortran/intrinsic.cc
  7c5c308109e781e905a4606be634b46f  gcc/fortran/intrinsic.h
  3f7081a11cbca781ba26400c16f44044  gcc/fortran/intrinsic.texi
*************** c0fda053eecaf4f55c32d4fe8c8db3e5  gcc/fo
*** 5963,5969 ****
  c420f80da3e0e794311a9b90c49abce5  gcc/fortran/trans-const.cc
  5644e20cd4aa0324875834a377cf89a4  gcc/fortran/trans-const.h
  a13796bc19ee899957fa78d9652f5ff5  gcc/fortran/trans-decl.cc
! dcabcc3c45d48b48a898b1ae88dd1fd5  gcc/fortran/trans-expr.cc
  7376d3754fcb67bb3d440eedfce78b31  gcc/fortran/trans-intrinsic.cc
  cd62c1c77bf122047b8b1222354a9b5b  gcc/fortran/trans-io.cc
  be2abe61b914863c8dce5e37cb7f1491  gcc/fortran/trans-openmp.cc
--- 5963,5969 ----
  c420f80da3e0e794311a9b90c49abce5  gcc/fortran/trans-const.cc
  5644e20cd4aa0324875834a377cf89a4  gcc/fortran/trans-const.h
  a13796bc19ee899957fa78d9652f5ff5  gcc/fortran/trans-decl.cc
! 21a44c257ad7cf25a62a230c8e619afb  gcc/fortran/trans-expr.cc
  7376d3754fcb67bb3d440eedfce78b31  gcc/fortran/trans-intrinsic.cc
  cd62c1c77bf122047b8b1222354a9b5b  gcc/fortran/trans-io.cc
  be2abe61b914863c8dce5e37cb7f1491  gcc/fortran/trans-openmp.cc
*************** a5dcb5f38620ab51c2408b1d0fade263  gcc/fo
*** 5981,5987 ****
  b21ae9e84969c22c844658e40c64cc2d  gcc/function-tests.cc
  53d7bf0daedf2047decf7f8253796bf5  gcc/function.cc
  2c579d1fa729263df07005d4f111c7c1  gcc/function.h
! 848d42ef9bcae535474b0754f93e4266  gcc/fwprop.cc
  4cf32700135520df98871f3d7552f316  gcc/gcc-ar.cc
  53e961fe521d8feb57a1b0245faf9e5b  gcc/gcc-main.cc
  1c6e5ddd7e0f700d52d0d9a865b7ad0f  gcc/gcc-plugin.h
--- 5981,5987 ----
  b21ae9e84969c22c844658e40c64cc2d  gcc/function-tests.cc
  53d7bf0daedf2047decf7f8253796bf5  gcc/function.cc
  2c579d1fa729263df07005d4f111c7c1  gcc/function.h
! f1ceef1bb1097329f87a008a69f0f147  gcc/fwprop.cc
  4cf32700135520df98871f3d7552f316  gcc/gcc-ar.cc
  53e961fe521d8feb57a1b0245faf9e5b  gcc/gcc-main.cc
  1c6e5ddd7e0f700d52d0d9a865b7ad0f  gcc/gcc-plugin.h
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8060,8066 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! b7a74432ccf28a4f809d520df1761f20  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8060,8066 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 30c8778369d85a4dbed5ebd2b91247f0  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** beccfabbbe0e25820c8a0bf1789cad24  gcc/te
*** 52695,52700 ****
--- 52695,52702 ----
  d044056d4248cb78637686f3d28272bb  gcc/testsuite/gcc.dg/tree-ssa/pr114009.c
  8710d339fbc689e052900f47a175994e  gcc/testsuite/gcc.dg/tree-ssa/pr114864.c
  5dd2285e0a64c83e08b6d68b6cd36eba  gcc/testsuite/gcc.dg/tree-ssa/pr117142.c
+ 5f36d3d6eda4211f506ed2e65fc779c4  gcc/testsuite/gcc.dg/tree-ssa/pr117423.c
+ b0891b1dddf226da47f4f976abdd7cb0  gcc/testsuite/gcc.dg/tree-ssa/pr119085.c
  78e6c5fe63f7305009c8a79840fe20dc  gcc/testsuite/gcc.dg/tree-ssa/pr13146.c
  eab19e0c04884cd782c9879cbe292109  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
  9945ed7002a5f7d4918e8ff5eb4cb647  gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c
*************** e95d7302a79bebe0c38e93d641a753d8  gcc/te
*** 58387,58392 ****
--- 58389,58395 ----
  66fd5df571798b50c635d6e8c98d2a43  gcc/testsuite/gcc.target/aarch64/pr115258_2.c
  aad77ff8d57a3f0e3712d2f32526716c  gcc/testsuite/gcc.target/aarch64/pr116258.c
  b9ca6f13a261db1602a13a0c96147059  gcc/testsuite/gcc.target/aarch64/pr117186.c
+ 83ac293146b05a62ec4a19e52751ebd1  gcc/testsuite/gcc.target/aarch64/pr121253.c
  9adb42733d9f5e2b1f2dbb364b62100d  gcc/testsuite/gcc.target/aarch64/pr37780_1.c
  e668fb9e0d32efadd671247467dc90db  gcc/testsuite/gcc.target/aarch64/pr58460.c
  9023f817c07ddec673c5b546525fc184  gcc/testsuite/gcc.target/aarch64/pr60034.c
*************** bbf236bb282c245918ff1bae0a9bdf3f  gcc/te
*** 62072,62077 ****
--- 62075,62081 ----
  b47de1519a1ea6d899c2a6cd56b65cba  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr114577_2.c
  4be435ec882c5745457b0a6378296096  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr115464.c
  a37d20c2585b9553233fb42e281e9b03  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr115464_2.c
+ c1f0d92266055a62f8c3a0b32cffca32  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c
  cd84e485b3fa7a0d50f2ee5113eca33d  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr94683.c
  111a35b5bdbe877086a99d29b13dc65b  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr94700.c
  dd9873ff910539b000561a51ccc3a52f  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr96146.c
*************** f33dc60c1fb7c60416c98e3b6fca20cc  gcc/te
*** 97453,97458 ****
--- 97457,97463 ----
  a954172d62f645dc77c1c91e1be92316  gcc/testsuite/gfortran.dg/interface_5.f90
  36309090fca9f4524f3ffaaa789fa173  gcc/testsuite/gfortran.dg/interface_50.f90
  a63ff5460cdc25350f43a09d899581db  gcc/testsuite/gfortran.dg/interface_6.f90
+ 76682e1bef00b9b6f7bd74baac09b7f4  gcc/testsuite/gfortran.dg/interface_63.f90
  b4d472d28fc0ac004218dc87eb241306  gcc/testsuite/gfortran.dg/interface_7.f90
  9b6e2c6769e8d31142faefbb1e2b8fa0  gcc/testsuite/gfortran.dg/interface_8.f90
  741aacf0bd439f6874a87ea56712aadc  gcc/testsuite/gfortran.dg/interface_9.f90
*************** eb194938d2c2fe84d215ede719f501c0  gcc/te
*** 98437,98442 ****
--- 98442,98448 ----
  4db68e1eec67942dd893a17d7e547d6e  gcc/testsuite/gfortran.dg/pointer_check_12.f90
  ccf9944fa34b0e93e5415a91ad21e966  gcc/testsuite/gfortran.dg/pointer_check_13.f90
  1c6366ef774f50102935b627497ffda0  gcc/testsuite/gfortran.dg/pointer_check_14.f90
+ 95c3fc2b08b12abf7b0b8eede20fee74  gcc/testsuite/gfortran.dg/pointer_check_15.f90
  7fd59810205e453c2a75b8a7f1ed13b0  gcc/testsuite/gfortran.dg/pointer_check_2.f90
  9e0a1ed208d6678d1a32750be9c66ce8  gcc/testsuite/gfortran.dg/pointer_check_3.f90
  24e0ade37dff0f1eb6006ee3395e17a6  gcc/testsuite/gfortran.dg/pointer_check_4.f90
*************** ac7a115cd070672d90d6479104a15e65  gcc/tr
*** 110339,110345 ****
  fa283611866c6ad433cfe860538eb2b3  gcc/tree-profile.cc
  d3a97bac3f5a8af3b12be65f79b18c9d  gcc/tree-scalar-evolution.cc
  fe964e6bef89af1a79d00c19713660bd  gcc/tree-scalar-evolution.h
! 0a6856abf36462eaef49525e6047524e  gcc/tree-sra.cc
  1e9cd044620373c14038fbd39740fd14  gcc/tree-sra.h
  76ef7a403eba76cb39fe06d695ab266a  gcc/tree-ssa-address.cc
  a35227be3c2b85c69d7e31275f1f7092  gcc/tree-ssa-address.h
--- 110345,110351 ----
  fa283611866c6ad433cfe860538eb2b3  gcc/tree-profile.cc
  d3a97bac3f5a8af3b12be65f79b18c9d  gcc/tree-scalar-evolution.cc
  fe964e6bef89af1a79d00c19713660bd  gcc/tree-scalar-evolution.h
! 575182f5b69b9843cc5bf0be98c24267  gcc/tree-sra.cc
  1e9cd044620373c14038fbd39740fd14  gcc/tree-sra.h
  76ef7a403eba76cb39fe06d695ab266a  gcc/tree-ssa-address.cc
  a35227be3c2b85c69d7e31275f1f7092  gcc/tree-ssa-address.h
*************** a3eb5dee2788fe0a6c42502ba658eddd  libffi
*** 111283,111289 ****
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! d63f6cd29b0f56223387f13eb9b34f29  libgcc/ChangeLog
  3320df74831ba5bd1c34f226b49cc935  libgcc/Makefile.in
  23fc6c0b801b3b6af6581c2a632dc732  libgcc/c++-minimal/README
  90a82b364e40fe9eb1972d8000451364  libgcc/c++-minimal/guard.c
--- 111289,111295 ----
  0f3c94e520870e194cf525de7ec404dc  libffi/testsuite/libffi.go/ffitest.h
  6cfb66c1c00023abb2c2276d85f16e77  libffi/testsuite/libffi.go/go.exp
  189dc193fd0e627a2d55b2e84871edc5  libffi/testsuite/libffi.go/static-chain.h
! e0f3bd1759e015b4ba10e28ccb86dd47  libgcc/ChangeLog
  3320df74831ba5bd1c34f226b49cc935  libgcc/Makefile.in
  23fc6c0b801b3b6af6581c2a632dc732  libgcc/c++-minimal/README
  90a82b364e40fe9eb1972d8000451364  libgcc/c++-minimal/guard.c
diff -Nrcpad gcc-14-20250815/gcc/ChangeLog gcc-14-20250822/gcc/ChangeLog
*** gcc-14-20250815/gcc/ChangeLog	Fri Aug 15 22:32:06 2025
--- gcc-14-20250822/gcc/ChangeLog	Fri Aug 22 22:32:18 2025
***************
*** 1,3 ****
--- 1,72 ----
+ 2025-08-20  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-07-23  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/119085
+ 	* tree-sra.cc (sort_and_splice_var_accesses): Prevent total
+ 	scalarization if two incompatible aggregates access the same place.
+ 
+ 2025-08-20  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-07-18  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/117423
+ 	* tree-sra.cc (analyze_access_subtree): Fix computation of grp_covered
+ 	flag.
+ 
+ 2025-08-20  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2025-08-20  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/121608
+ 	* config/avr/specs.h (LINK_RELAX_SPEC): Wrap in %{!r...}.
+ 
+ 2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/121118
+ 	* config/aarch64/aarch64.cc (aarch64_sve_move_pred_via_while):
+ 	Return a VNx16BI predicate.
+ 
+ 2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-08-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR rtl-optimization/121253
+ 	* fwprop.cc (forward_propagate_into): Don't propagate asm defs.
+ 
+ 2025-08-15  Pengfei Li  <Pengfei.Li2@arm.com>
+ 
+ 	PR target/121449
+ 	* config/aarch64/aarch64-sve.md
+ 	(mask_gather_load<mode><v_int_container>): Use vg<Vesize>
+ 	constraints for alternatives with immediate offset.
+ 	(mask_scatter_store<mode><v_int_container>): Likewise.
+ 
+ 2025-08-15  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+ 		    Yury Khrustalev  <yury.khrustalev@arm.com>
+ 
+ 	* doc/sourcebuild.texi (aarch64_sme_hw): Document.
+ 
+ 2025-08-15  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-08-15  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/121542
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_vector_costs::add_stmt_cost): When using vectype,
+ 	first determine whether it is NULL.
+ 
  2025-08-14  Richard Sandiford  <richard.sandiford@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20250815/gcc/DATESTAMP gcc-14-20250822/gcc/DATESTAMP
*** gcc-14-20250815/gcc/DATESTAMP	Fri Aug 15 22:32:06 2025
--- gcc-14-20250822/gcc/DATESTAMP	Fri Aug 22 22:32:19 2025
***************
*** 1 ****
! 20250815
--- 1 ----
! 20250822
diff -Nrcpad gcc-14-20250815/gcc/config/aarch64/aarch64.cc gcc-14-20250822/gcc/config/aarch64/aarch64.cc
*** gcc-14-20250815/gcc/config/aarch64/aarch64.cc	Fri Aug 15 22:32:07 2025
--- gcc-14-20250822/gcc/config/aarch64/aarch64.cc	Fri Aug 22 22:32:19 2025
*************** aarch64_sve_move_pred_via_while (rtx tar
*** 5679,5685 ****
    target = aarch64_target_reg (target, mode);
    emit_insn (gen_while (UNSPEC_WHILELO, DImode, mode,
  			target, const0_rtx, limit));
!   return target;
  }
  
  static rtx
--- 5679,5685 ----
    target = aarch64_target_reg (target, mode);
    emit_insn (gen_while (UNSPEC_WHILELO, DImode, mode,
  			target, const0_rtx, limit));
!   return gen_lowpart (VNx16BImode, target);
  }
  
  static rtx
diff -Nrcpad gcc-14-20250815/gcc/config/avr/specs.h gcc-14-20250822/gcc/config/avr/specs.h
*** gcc-14-20250815/gcc/config/avr/specs.h	Fri Aug 15 22:32:07 2025
--- gcc-14-20250822/gcc/config/avr/specs.h	Fri Aug 22 22:32:19 2025
*************** along with GCC; see the file COPYING3.
*** 57,63 ****
    "%(asm_errata_skip) "
  
  #define LINK_RELAX_SPEC                         \
!   "%{mrelax:--relax} "
  
  #undef  LINK_SPEC
  #define LINK_SPEC                               \
--- 57,63 ----
    "%(asm_errata_skip) "
  
  #define LINK_RELAX_SPEC                         \
!   "%{!r:%{mrelax:--relax}} "
  
  #undef  LINK_SPEC
  #define LINK_SPEC                               \
diff -Nrcpad gcc-14-20250815/gcc/fortran/interface.cc gcc-14-20250822/gcc/fortran/interface.cc
*** gcc-14-20250815/gcc/fortran/interface.cc	Fri Aug 15 22:32:08 2025
--- gcc-14-20250822/gcc/fortran/interface.cc	Fri Aug 22 22:32:20 2025
*************** gfc_match_end_interface (void)
*** 452,462 ****
  
      case INTERFACE_DTIO:
      case INTERFACE_GENERIC:
        if (type != current_interface.type
! 	  || strcmp (current_interface.sym->name, name) != 0)
  	{
! 	  gfc_error ("Expecting %<END INTERFACE %s%> at %C",
! 		     current_interface.sym->name);
  	  m = MATCH_ERROR;
  	}
  
--- 452,471 ----
  
      case INTERFACE_DTIO:
      case INTERFACE_GENERIC:
+       /* If a use-associated symbol is renamed, check the local_name.   */
+       const char *local_name = current_interface.sym->name;
+ 
+       if (current_interface.sym->attr.use_assoc
+ 	  && current_interface.sym->attr.use_rename
+ 	  && current_interface.sym->ns->use_stmts->rename
+ 	  && (current_interface.sym->ns->use_stmts->rename->local_name[0]
+ 	      != '\0'))
+ 	local_name = current_interface.sym->ns->use_stmts->rename->local_name;
+ 
        if (type != current_interface.type
! 	  || strcmp (local_name, name) != 0)
  	{
! 	  gfc_error ("Expecting %<END INTERFACE %s%> at %C", local_name);
  	  m = MATCH_ERROR;
  	}
  
diff -Nrcpad gcc-14-20250815/gcc/fortran/trans-expr.cc gcc-14-20250822/gcc/fortran/trans-expr.cc
*** gcc-14-20250815/gcc/fortran/trans-expr.cc	Fri Aug 15 22:32:08 2025
--- gcc-14-20250822/gcc/fortran/trans-expr.cc	Fri Aug 22 22:32:20 2025
*************** gfc_conv_procedure_call (gfc_se * se, gf
*** 7717,7723 ****
  		msg = xasprintf ("Pointer actual argument '%s' is not "
  				 "associated", e->symtree->n.sym->name);
  	      else if (attr.proc_pointer && !e->value.function.actual
! 		       && (fsym == NULL || !fsym_attr.proc_pointer))
  		msg = xasprintf ("Proc-pointer actual argument '%s' is not "
  				 "associated", e->symtree->n.sym->name);
  	      else
--- 7717,7724 ----
  		msg = xasprintf ("Pointer actual argument '%s' is not "
  				 "associated", e->symtree->n.sym->name);
  	      else if (attr.proc_pointer && !e->value.function.actual
! 		       && (fsym == NULL
! 			   || (!fsym_attr.proc_pointer && !fsym_attr.optional)))
  		msg = xasprintf ("Proc-pointer actual argument '%s' is not "
  				 "associated", e->symtree->n.sym->name);
  	      else
diff -Nrcpad gcc-14-20250815/gcc/fwprop.cc gcc-14-20250822/gcc/fwprop.cc
*** gcc-14-20250815/gcc/fwprop.cc	Fri Aug 15 22:32:08 2025
--- gcc-14-20250822/gcc/fwprop.cc	Fri Aug 22 22:32:20 2025
*************** forward_propagate_into (use_info *use, b
*** 842,847 ****
--- 842,861 ----
    if (def_insn->is_artificial ())
      return false;
  
+   /* Do not propagate asms.  The only kind of propagation that would
+      succeed is propagation into a register move.  Such a propagation
+      is neutral if the destination of the move is a pseudo and unnecessarily
+      restricts the register allocator if the destination of the move is
+      a hard register.
+ 
+      Furthermore, unlike for a normal instruction, we cannot take a SET from an
+      asm and try dropping the CLOBBERs.  The recog process does not (and should
+      not try to) second-guess whether what the user wrote can be changed and
+      so it has to assume that any asm given to it is a fair reflection of
+      what the user wrote.  */
+   if (def_insn->is_asm ())
+     return false;
+ 
    rtx_insn *def_rtl = def_insn->rtl ();
    if (!NONJUMP_INSN_P (def_rtl))
      return false;
diff -Nrcpad gcc-14-20250815/gcc/testsuite/ChangeLog gcc-14-20250822/gcc/testsuite/ChangeLog
*** gcc-14-20250815/gcc/testsuite/ChangeLog	Fri Aug 15 22:32:09 2025
--- gcc-14-20250822/gcc/testsuite/ChangeLog	Fri Aug 22 22:32:21 2025
***************
*** 1,3 ****
--- 1,59 ----
+ 2025-08-20  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-07-23  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/119085
+ 	* gcc.dg/tree-ssa/pr119085.c: New test.
+ 
+ 2025-08-20  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	Backported from master:
+ 	2025-07-18  Martin Jambor  <mjambor@suse.cz>
+ 
+ 	PR tree-optimization/117423
+ 	* gcc.dg/tree-ssa/pr117423.c: New test.
+ 
+ 2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR target/121118
+ 	* gcc.target/aarch64/sve/acle/general/pr121118_1.c: New test.
+ 
+ 2025-08-18  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-08-12  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	PR rtl-optimization/121253
+ 	* gcc.target/aarch64/pr121253.c: New test.
+ 
+ 2025-08-15  Pengfei Li  <Pengfei.Li2@arm.com>
+ 
+ 	PR target/121449
+ 	* g++.target/aarch64/sve/pr121449.C: New test.
+ 
+ 2025-08-15  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+ 		    Yury Khrustalev  <yury.khrustalev@arm.com>
+ 
+ 	* lib/target-supports.exp (add_options_for_aarch64_sme)
+ 	(check_effective_target_aarch64_sme_hw): New procedures.
+ 	* g++.target/aarch64/sme/sme_throw_1.C: New test.
+ 	* g++.target/aarch64/sme/sme_throw_2.C: Likewise.
+ 
+ 2025-08-15  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-08-15  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/121542
+ 	* gcc.target/loongarch/pr121542.c: New test.
+ 
  2025-08-14  Richard Sandiford  <richard.sandiford@arm.com>
  
  	Backported from master:
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gcc.dg/tree-ssa/pr117423.c gcc-14-20250822/gcc/testsuite/gcc.dg/tree-ssa/pr117423.c
*** gcc-14-20250815/gcc/testsuite/gcc.dg/tree-ssa/pr117423.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gcc.dg/tree-ssa/pr117423.c	Fri Aug 22 22:32:30 2025
***************
*** 0 ****
--- 1,49 ----
+ /* { dg-do run } */
+ /* { dg-options "-O1" } */
+ 
+ struct s4 {
+     int _0;
+ };
+ struct s1 {
+     unsigned char _4;
+     long _1;
+ };
+ struct s2 {
+     union {
+         struct s3 {
+             unsigned char _1;
+             struct s4 _0;
+         } var_0;
+         struct s1 var_1;
+     } DATA;
+ };
+ int f1(int arg0) { return arg0 > 12345; }
+ __attribute__((noinline))
+ struct s4 f2(int arg0) {
+     struct s4 rv = {arg0};
+     return rv;
+ }
+ struct s2 f3(int arg0) {
+     struct s2 rv;
+     struct s1 var6 = {0};
+     struct s4 var7;
+     if (f1(arg0)) {
+         rv.DATA.var_1 = var6;
+         return rv;
+     } else {
+         rv.DATA.var_0._1 = 2;
+         var7 = f2(arg0);
+         rv.DATA.var_0._0 = var7;
+         return rv;
+     }
+ }
+ int main() {
+   if (f3(12345).DATA.var_0._0._0 == 12345)
+     ;
+   else
+     __builtin_abort();
+   if (f3(12344).DATA.var_0._0._0 == 12344)
+     ;
+   else
+     __builtin_abort();
+ }
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gcc.dg/tree-ssa/pr119085.c gcc-14-20250822/gcc/testsuite/gcc.dg/tree-ssa/pr119085.c
*** gcc-14-20250815/gcc/testsuite/gcc.dg/tree-ssa/pr119085.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gcc.dg/tree-ssa/pr119085.c	Fri Aug 22 22:32:30 2025
***************
*** 0 ****
--- 1,37 ----
+ /* { dg-do run } */
+ /* { dg-options "-O1" } */
+ 
+ struct with_hole {
+   int x;
+   long y;
+ };
+ struct without_hole {
+   int x;
+   int y;
+ };
+ union u {
+   struct with_hole with_hole;
+   struct without_hole without_hole;
+ };
+ 
+ void __attribute__((noinline))
+ test (union u *up, union u u)
+ {
+   union u u2;
+   volatile int f = 0;
+   u2 = u;
+   if (f)
+     u2.with_hole = u.with_hole;
+   *up = u2;
+ }
+ 
+ int main(void)
+ {
+   union u u;
+   union u u2;
+   u2.without_hole.y = -1;
+   test (&u, u2);
+   if (u.without_hole.y != -1)
+     __builtin_abort ();
+   return 0;
+ }
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gcc.target/aarch64/pr121253.c gcc-14-20250822/gcc/testsuite/gcc.target/aarch64/pr121253.c
*** gcc-14-20250815/gcc/testsuite/gcc.target/aarch64/pr121253.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gcc.target/aarch64/pr121253.c	Fri Aug 22 22:32:31 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-options "-O" } */
+ 
+ struct s128 {
+     long a, b;
+ };
+ 
+ struct s128 foo(void) {
+     struct s128 ret;
+     asm("mov %0, #0 \n\t"
+         "mov %R0, #0 \n\t"
+         "mov x0, #12345"
+         : "=r" (ret) : : "x0");
+     return ret;
+ }
+ 
+ /* { dg-final { scan-assembler-not {mov x0, #0} } } */
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c gcc-14-20250822/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c
*** gcc-14-20250815/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c	Fri Aug 22 22:32:32 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-options "-O2 -msve-vector-bits=512" } */
+ 
+ typedef __SVBool_t fixed_bool __attribute__((arm_sve_vector_bits(512)));
+ 
+ #define TEST_CONST(NAME, CONST)						\
+   fixed_bool								\
+   NAME ()								\
+   {									\
+     union { unsigned long long i; fixed_bool pg; } u = { CONST };	\
+     return u.pg;							\
+   }
+ 
+ TEST_CONST (test1, 0x02aaaaaaaa)
+ TEST_CONST (test2, 0x0155555557)
+ TEST_CONST (test3, 0x0013333333333333ULL)
+ TEST_CONST (test4, 0x0011111111111113ULL)
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gfortran.dg/interface_63.f90 gcc-14-20250822/gcc/testsuite/gfortran.dg/interface_63.f90
*** gcc-14-20250815/gcc/testsuite/gfortran.dg/interface_63.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gfortran.dg/interface_63.f90	Fri Aug 22 22:32:37 2025
***************
*** 0 ****
--- 1,97 ----
+ ! { dg-do compile }
+ ! PR fortran/120784 - fix checking of renamed-on-use interface name
+ !
+ ! Contributed by Matt Thompson  <matthew.thompson at nasa dot gov>
+ 
+ module A_mod
+   implicit none
+ 
+   interface Get
+      procedure :: get_1
+      procedure :: get_2
+   end interface Get
+ 
+ contains
+ 
+   subroutine get_1(i)
+     integer :: i
+     i = 5
+   end subroutine get_1
+ 
+   subroutine get_2(x)
+     real :: x
+     x = 4
+   end subroutine get_2
+ end module A_mod
+ 
+ module B_mod
+   use A_mod, only : MyGet => Get
+   implicit none
+ 
+   interface MyGet
+      procedure :: other_get
+   end interface MyGet
+ 
+ contains
+ 
+   subroutine other_get(c)
+     character(1) :: c
+     c = 'a'
+   end subroutine other_get
+ 
+   subroutine check_get ()
+     character :: c
+     integer   :: i
+     real      :: r
+     call myget (c)
+     call myget (i)
+     call myget (r)
+   end subroutine check_get
+ 
+ end module B_MOD
+ 
+ program p
+   use b_mod, only: myget
+   implicit none
+   character :: c
+   integer   :: i
+   real      :: r
+   call myget (c)
+   call myget (i)
+   call myget (r)
+ end
+ 
+ ! Check that we do not regress on the following:
+ 
+ module mod1
+   implicit none
+ 
+   interface local
+     module procedure local_data
+   end interface local
+ 
+ contains
+ 
+   logical function local_data (data) result (local)
+     real, intent(in) :: data
+     local = .true.
+   end function local_data
+ 
+ end module mod1
+ 
+ module mod2
+   use mod1, only: local
+   implicit none
+ 
+   interface local
+      module procedure local_invt
+   end interface local
+ 
+ contains
+ 
+   logical function local_invt (invt) result (local)
+     integer, intent(in) :: invt
+     local = .true.
+   end function local_invt
+ 
+ end module mod2
diff -Nrcpad gcc-14-20250815/gcc/testsuite/gfortran.dg/pointer_check_15.f90 gcc-14-20250822/gcc/testsuite/gfortran.dg/pointer_check_15.f90
*** gcc-14-20250815/gcc/testsuite/gfortran.dg/pointer_check_15.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20250822/gcc/testsuite/gfortran.dg/pointer_check_15.f90	Fri Aug 22 22:32:38 2025
***************
*** 0 ****
--- 1,46 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O -fcheck=pointer -fdump-tree-original" }
+ !
+ ! PR fortran/121145
+ ! Erroneous runtime error: Proc-pointer actual argument 'ptr' is not associated
+ !
+ ! Contributed by Federico Perini.
+ 
+ module m
+   implicit none
+ 
+   abstract interface
+      subroutine fun(x)
+        real, intent(in) :: x
+      end subroutine fun
+   end interface   
+ 
+ contains
+ 
+   subroutine with_fun(sub)
+     procedure(fun), optional :: sub
+     if (present(sub)) stop 1
+   end subroutine   
+ 
+   subroutine with_non_optional(sub)
+     procedure(fun) :: sub
+   end subroutine   
+ 
+ end module m
+ 
+ program p
+   use m
+   implicit none
+ 
+   procedure(fun), pointer :: ptr1 => null()
+   procedure(fun), pointer :: ptr2 => null()
+   
+   call with_fun()
+   call with_fun(sub=ptr1)               ! no runtime check here
+ 
+   if (associated (ptr2)) then
+      call with_non_optional(sub=ptr2)   ! runtime check here
+   end if
+ end  
+ 
+ ! { dg-final { scan-tree-dump-times "Proc-pointer actual argument .'ptr2.'" 1 "original" } }
diff -Nrcpad gcc-14-20250815/gcc/tree-sra.cc gcc-14-20250822/gcc/tree-sra.cc
*** gcc-14-20250815/gcc/tree-sra.cc	Fri Aug 15 22:32:43 2025
--- gcc-14-20250822/gcc/tree-sra.cc	Fri Aug 22 22:32:41 2025
*************** sort_and_splice_var_accesses (tree var)
*** 2480,2485 ****
--- 2480,2491 ----
  		}
  	      unscalarizable_region = true;
  	    }
+ 	  /* If there the same place is accessed with two incompatible
+ 	     aggregate types, trying to base total scalarization on either of
+ 	     them can be wrong.  */
+ 	  if (!first_scalar && !types_compatible_p (access->type, ac2->type))
+ 	    bitmap_set_bit (cannot_scalarize_away_bitmap,
+ 			    DECL_UID (access->base));
  
  	  if (grp_same_access_path
  	      && (!ac2->grp_same_access_path
*************** analyze_access_subtree (struct access *r
*** 2865,2871 ****
  
    for (child = root->first_child; child; child = child->next_sibling)
      {
!       hole |= covered_to < child->offset;
        sth_created |= analyze_access_subtree (child, root,
  					     allow_replacements && !scalar
  					     && !root->grp_partial_lhs,
--- 2871,2880 ----
  
    for (child = root->first_child; child; child = child->next_sibling)
      {
!       if (totally)
! 	covered_to = child->offset;
!       else
! 	hole |= covered_to < child->offset;
        sth_created |= analyze_access_subtree (child, root,
  					     allow_replacements && !scalar
  					     && !root->grp_partial_lhs,
*************** analyze_access_subtree (struct access *r
*** 2876,2881 ****
--- 2885,2892 ----
  	covered_to += child->size;
        else
  	hole = true;
+       if (totally && !hole)
+ 	covered_to = limit;
      }
  
    if (allow_replacements && scalar && !root->first_child
*************** analyze_access_subtree (struct access *r
*** 2948,2954 ****
  	root->grp_total_scalarization = 0;
      }
  
!   if (!hole || totally)
      root->grp_covered = 1;
    else if (root->grp_write || comes_initialized_p (root->base))
      root->grp_unscalarized_data = 1; /* not covered and written to */
--- 2959,2965 ----
  	root->grp_total_scalarization = 0;
      }
  
!   if (!hole)
      root->grp_covered = 1;
    else if (root->grp_write || comes_initialized_p (root->base))
      root->grp_unscalarized_data = 1; /* not covered and written to */
diff -Nrcpad gcc-14-20250815/libgcc/ChangeLog gcc-14-20250822/libgcc/ChangeLog
*** gcc-14-20250815/libgcc/ChangeLog	Fri Aug 15 22:32:44 2025
--- gcc-14-20250822/libgcc/ChangeLog	Fri Aug 22 22:32:42 2025
***************
*** 1,3 ****
--- 1,13 ----
+ 2025-08-15  Richard Sandiford  <richard.sandiford@arm.com>
+ 
+ 	Backported from master:
+ 	2025-07-17  Richard Sandiford  <richard.sandiford@arm.com>
+ 		    Yury Khrustalev  <yury.khrustalev@arm.com>
+ 
+ 	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):
+ 	If a signal was raised while there was an uncommitted lazy save,
+ 	commit the save as part of the unwind process.
+ 
  2025-05-23  Release Manager
  
  	* GCC 14.3.0 released.
