diff -Nrcpad gcc-15-20260131/LAST_UPDATED gcc-15-20260207/LAST_UPDATED
*** gcc-15-20260131/LAST_UPDATED	Sat Jan 31 22:32:19 2026
--- gcc-15-20260207/LAST_UPDATED	Sat Feb  7 22:32:20 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision f0f35f35e3a96dc15bd242e0bbb1db0096b8213f
--- 1 ----
! Obtained from git: releases/gcc-15 revision ababaaf45fa0dc369c07e19ca64862c4eefaadc1
diff -Nrcpad gcc-15-20260131/MD5SUMS gcc-15-20260207/MD5SUMS
*** gcc-15-20260131/MD5SUMS	Sat Jan 31 22:32:24 2026
--- gcc-15-20260207/MD5SUMS	Sat Feb  7 22:32:25 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260131.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-20260207.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
! 6e35c2f4a58118f16189494231375bb9  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 6221cf8017b742c7c736dc27a21704ba  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
! 66a084f4b5574298067bb87a6e67bfe7  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
! 4f248f28a81d21cc509f74430d393bb9  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
! ead3a2bf040bc883aad38690642b535f  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
! ecf9605b50e2da3075560714a3d4e8ec  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! ad330666b72ba316e1688e63666dbe7f  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! d3cb4af09d1ad0450f6df450288f62a8  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** b9d5bddaa9aa52397a9d53cb0da957ed  gcc/ad
*** 776,782 ****
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  00a2257236804c03d1ca7604dc7c55cf  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
! 2ce6d7a5bd5542e718322cb59fafc0d3  gcc/ada/exp_ch5.adb
  3564a044f1e9954ffdd8d3a48643fff9  gcc/ada/exp_ch5.ads
  2263856420a09ab0977660d04793adc4  gcc/ada/exp_ch6.adb
  c22c79787fe7516adb5a4c55613fb6ab  gcc/ada/exp_ch6.ads
--- 776,782 ----
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  00a2257236804c03d1ca7604dc7c55cf  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
! 9dda196327513bf2ff43b720e183d830  gcc/ada/exp_ch5.adb
  3564a044f1e9954ffdd8d3a48643fff9  gcc/ada/exp_ch5.ads
  2263856420a09ab0977660d04793adc4  gcc/ada/exp_ch6.adb
  c22c79787fe7516adb5a4c55613fb6ab  gcc/ada/exp_ch6.ads
*************** b0a3315dce9de8e3bbbb3682c8b0e2ff  gcc/ad
*** 2932,2938 ****
  2471d629be4739ff5135aa87a2ec9166  gcc/ada/sem_ch2.ads
  5c4cd4fb6b50f17df11a7eb313d1dba0  gcc/ada/sem_ch3.adb
  5fd10023b617fc61dce7c2801674285d  gcc/ada/sem_ch3.ads
! 7907830806d307ed23ed1cc83098c116  gcc/ada/sem_ch4.adb
  adba03aae1f439b9e9db8cea05d8e03f  gcc/ada/sem_ch4.ads
  3d2fb7e75bcf5cb7e2f014691fbc1d87  gcc/ada/sem_ch5.adb
  cbfbd3e4737f56717fc2ffda6b38f125  gcc/ada/sem_ch5.ads
--- 2932,2938 ----
  2471d629be4739ff5135aa87a2ec9166  gcc/ada/sem_ch2.ads
  5c4cd4fb6b50f17df11a7eb313d1dba0  gcc/ada/sem_ch3.adb
  5fd10023b617fc61dce7c2801674285d  gcc/ada/sem_ch3.ads
! d662b1429926c70cce061f8c0b6ec5fb  gcc/ada/sem_ch4.adb
  adba03aae1f439b9e9db8cea05d8e03f  gcc/ada/sem_ch4.ads
  3d2fb7e75bcf5cb7e2f014691fbc1d87  gcc/ada/sem_ch5.adb
  cbfbd3e4737f56717fc2ffda6b38f125  gcc/ada/sem_ch5.ads
*************** ddbb7a934f8b8aa068e7b765c4375fbe  gcc/co
*** 3431,3438 ****
  d1e3bcda28d89d23e45fed74c629752a  gcc/config/aarch64/aarch64-c.cc
  ba4e797220b33827e769b09447623896  gcc/config/aarch64/aarch64-cc-fusion.cc
  133f61af7e288fe91ca31c659939c551  gcc/config/aarch64/aarch64-coff.h
! 8b59e9f9bf194c999ccfdbaf58382401  gcc/config/aarch64/aarch64-cores.def
! f0a8397b1e293e23f65674cd004845ae  gcc/config/aarch64/aarch64-cost-tables.h
  bef2a61270424fd606c71d78d20ad675  gcc/config/aarch64/aarch64-d.cc
  36405b6300d5ec6ca8faf17212ad1bc9  gcc/config/aarch64/aarch64-d.h
  d75100bc2f054afcf41a992cdaa5f793  gcc/config/aarch64/aarch64-early-ra.cc
--- 3431,3438 ----
  d1e3bcda28d89d23e45fed74c629752a  gcc/config/aarch64/aarch64-c.cc
  ba4e797220b33827e769b09447623896  gcc/config/aarch64/aarch64-cc-fusion.cc
  133f61af7e288fe91ca31c659939c551  gcc/config/aarch64/aarch64-coff.h
! 506c78ba7d89b5955b977b2ebe899c24  gcc/config/aarch64/aarch64-cores.def
! 9bac3eb906f180e69a0abe65ec229b05  gcc/config/aarch64/aarch64-cost-tables.h
  bef2a61270424fd606c71d78d20ad675  gcc/config/aarch64/aarch64-d.cc
  36405b6300d5ec6ca8faf17212ad1bc9  gcc/config/aarch64/aarch64-d.h
  d75100bc2f054afcf41a992cdaa5f793  gcc/config/aarch64/aarch64-early-ra.cc
*************** d9450e0fa15cd8b8f6659555820ec24e  gcc/co
*** 3457,3463 ****
  7cfa3d0cdd28cdcd73a29c2c8a925548  gcc/config/aarch64/aarch64-simd-builtin-types.def
  f28e7beab7cc8baa0b1a2e5e9efc0597  gcc/config/aarch64/aarch64-simd-builtins.def
  33ce4a896b77324d9be6448637daf9ca  gcc/config/aarch64/aarch64-simd-pragma-builtins.def
! 615a79b4ae20bdfe0cdcb0e0935e441f  gcc/config/aarch64/aarch64-simd.md
  400cf23fe3c345ede58d2194530c6231  gcc/config/aarch64/aarch64-sme.md
  221b858bba4517a3871cb07292c6b216  gcc/config/aarch64/aarch64-speculation.cc
  cab9211ac73c7480b9b4b45833e20d71  gcc/config/aarch64/aarch64-sve-builtins-base.cc
--- 3457,3463 ----
  7cfa3d0cdd28cdcd73a29c2c8a925548  gcc/config/aarch64/aarch64-simd-builtin-types.def
  f28e7beab7cc8baa0b1a2e5e9efc0597  gcc/config/aarch64/aarch64-simd-builtins.def
  33ce4a896b77324d9be6448637daf9ca  gcc/config/aarch64/aarch64-simd-pragma-builtins.def
! c39adde4468dd4defbf7200022246f97  gcc/config/aarch64/aarch64-simd.md
  400cf23fe3c345ede58d2194530c6231  gcc/config/aarch64/aarch64-sme.md
  221b858bba4517a3871cb07292c6b216  gcc/config/aarch64/aarch64-speculation.cc
  cab9211ac73c7480b9b4b45833e20d71  gcc/config/aarch64/aarch64-sve-builtins-base.cc
*************** b5b754958fa1c772f3c6b9961de6bb8d  gcc/co
*** 3478,3492 ****
  f8e53efb41228263faa63280df0a8217  gcc/config/aarch64/aarch64-sve.md
  eb380a954053a41e73e4f6bb1d3572c0  gcc/config/aarch64/aarch64-sve2.md
  94024dd904900fa001fc7e12778c2f22  gcc/config/aarch64/aarch64-sys-regs.def
! b301dc231a69a28202d2b7d79ea75f5d  gcc/config/aarch64/aarch64-tune.md
  06480b67fa44a0b9fa7de2ed778a3df9  gcc/config/aarch64/aarch64-tuning-flags.def
  a2493e870eb12f5d646c24f2949e4cd3  gcc/config/aarch64/aarch64-vxworks.h
! 6c87d0c7da64b139ae59eb4d50097f7b  gcc/config/aarch64/aarch64.cc
  4c2226a017b612867a61db1f7929ad43  gcc/config/aarch64/aarch64.h
  cdb85e9d0d18b13e602e26e81cae1d1b  gcc/config/aarch64/aarch64.md
  84c23cd68c90a9be4b986aa7009ba1c9  gcc/config/aarch64/aarch64.opt
  21fd50b19307096b8be37549ae0f6f77  gcc/config/aarch64/aarch64.opt.urls
! 99f46f1d591aa221b0c93a221ad9dc43  gcc/config/aarch64/arm_acle.h
  d8c2d46b77748c711b5354380ee49819  gcc/config/aarch64/arm_bf16.h
  f2ed4fb25bb00adfd0045bf870d46e50  gcc/config/aarch64/arm_fp16.h
  a40fb6a3f2f9048ea397a2c0936a4b88  gcc/config/aarch64/arm_neon.h
--- 3478,3492 ----
  f8e53efb41228263faa63280df0a8217  gcc/config/aarch64/aarch64-sve.md
  eb380a954053a41e73e4f6bb1d3572c0  gcc/config/aarch64/aarch64-sve2.md
  94024dd904900fa001fc7e12778c2f22  gcc/config/aarch64/aarch64-sys-regs.def
! b03a8cc94abbd83c9ad4852cd8527434  gcc/config/aarch64/aarch64-tune.md
  06480b67fa44a0b9fa7de2ed778a3df9  gcc/config/aarch64/aarch64-tuning-flags.def
  a2493e870eb12f5d646c24f2949e4cd3  gcc/config/aarch64/aarch64-vxworks.h
! 9552f3404f63e1ee33e4fb587d227a0d  gcc/config/aarch64/aarch64.cc
  4c2226a017b612867a61db1f7929ad43  gcc/config/aarch64/aarch64.h
  cdb85e9d0d18b13e602e26e81cae1d1b  gcc/config/aarch64/aarch64.md
  84c23cd68c90a9be4b986aa7009ba1c9  gcc/config/aarch64/aarch64.opt
  21fd50b19307096b8be37549ae0f6f77  gcc/config/aarch64/aarch64.opt.urls
! 7e3d9f33a52f69bf4b52cfc58cea9cb3  gcc/config/aarch64/arm_acle.h
  d8c2d46b77748c711b5354380ee49819  gcc/config/aarch64/arm_bf16.h
  f2ed4fb25bb00adfd0045bf870d46e50  gcc/config/aarch64/arm_fp16.h
  a40fb6a3f2f9048ea397a2c0936a4b88  gcc/config/aarch64/arm_neon.h
*************** c20726a55db2926c898f89280cf7b685  gcc/co
*** 3536,3541 ****
--- 3536,3542 ----
  9f73f9910638c9e0a3139320e38ed6f0  gcc/config/aarch64/tuning_models/generic.h
  3db39fdaa1e6c980b54f842eeff2fa0a  gcc/config/aarch64/tuning_models/generic_armv8_a.h
  cbb7f4c1241626aba880f9f98cf59b4f  gcc/config/aarch64/tuning_models/generic_armv9_a.h
+ 0ff8fa5f2ec82601fe7df026cfd4068a  gcc/config/aarch64/tuning_models/hip12.h
  e3084154e4d8706cd3825dad493faefd  gcc/config/aarch64/tuning_models/neoverse512tvb.h
  ce0f856b5d88ad7f8a33a6e05b88176b  gcc/config/aarch64/tuning_models/neoversen1.h
  a3d9fb503080c4d2fcb58c74d82ef235  gcc/config/aarch64/tuning_models/neoversen2.h
*************** de4e89bc042c6bc7eb093bda5d33a266  gcc/co
*** 4266,4272 ****
  380f2e50c7d803059b0e7617da00460f  gcc/config/i386/sm4intrin.h
  a24296639492577352dd1309b136bc9a  gcc/config/i386/smmintrin.h
  f98c4d94bf04187a2905e9f4ce7d589b  gcc/config/i386/sol2.h
! cd4a8c7a01b036e7aed43eaa9a48b10d  gcc/config/i386/sse.md
  7c6ff828c11c2892168a2e450559dcb6  gcc/config/i386/ssemath.h
  7ada9f54207701e1d29fd03ea990e163  gcc/config/i386/stringop.def
  9f75a2e9a9bf20db0bef264cabe77a29  gcc/config/i386/subst.md
--- 4267,4273 ----
  380f2e50c7d803059b0e7617da00460f  gcc/config/i386/sm4intrin.h
  a24296639492577352dd1309b136bc9a  gcc/config/i386/smmintrin.h
  f98c4d94bf04187a2905e9f4ce7d589b  gcc/config/i386/sol2.h
! 9fc1938b27f850e492fe517b3575639e  gcc/config/i386/sse.md
  7c6ff828c11c2892168a2e450559dcb6  gcc/config/i386/ssemath.h
  7ada9f54207701e1d29fd03ea990e163  gcc/config/i386/stringop.def
  9f75a2e9a9bf20db0bef264cabe77a29  gcc/config/i386/subst.md
*************** b7e955ddfed9efbb0296ef639c095e2a  gcc/co
*** 4917,4924 ****
  52728cfca05017f727570e4e983fc5fa  gcc/config/riscv/multilib-generator
  80e8994ee9e6abf380e68aca6443d157  gcc/config/riscv/peephole.md
  a3d3fa9142d4e2ed34ead146941c574a  gcc/config/riscv/pic.md
! fd976e9dd7410889959b27b332b33e1b  gcc/config/riscv/predicates.md
! d8e9516f231ccfe43055b7c49bd115c7  gcc/config/riscv/riscv-avlprop.cc
  3b5651b95f6a076ccd28e73bae600e52  gcc/config/riscv/riscv-builtins.cc
  d111dbb07d61205c1bdfcb26461d17dc  gcc/config/riscv/riscv-c.cc
  3b7012a7d47b9aaf163e890d3e29013e  gcc/config/riscv/riscv-cmo.def
--- 4918,4925 ----
  52728cfca05017f727570e4e983fc5fa  gcc/config/riscv/multilib-generator
  80e8994ee9e6abf380e68aca6443d157  gcc/config/riscv/peephole.md
  a3d3fa9142d4e2ed34ead146941c574a  gcc/config/riscv/pic.md
! 380c0b75c1a5cff427f22b233e0edbc5  gcc/config/riscv/predicates.md
! 33444caff1e16e1f451b7bcb146d58b7  gcc/config/riscv/riscv-avlprop.cc
  3b5651b95f6a076ccd28e73bae600e52  gcc/config/riscv/riscv-builtins.cc
  d111dbb07d61205c1bdfcb26461d17dc  gcc/config/riscv/riscv-c.cc
  3b7012a7d47b9aaf163e890d3e29013e  gcc/config/riscv/riscv-cmo.def
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5500,5506 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 8b0a12e385595cfa8d7e3e345d10c0d2  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5501,5507 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 96255be3b7dd0faca7c2e33c0023b3d4  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** e7fe06956aada61bcaae5168ad47a9c1  gcc/cp
*** 5587,5593 ****
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  fdc1db2b699ad0d6dcd88aa60de779c2  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 1a98bd34134ff1a76b78ef332bd5747d  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
--- 5588,5594 ----
  813c253a000ee20d8d6598f56edc400e  gcc/cp/optimize.cc
  fdc1db2b699ad0d6dcd88aa60de779c2  gcc/cp/parser.cc
  e8a3a03873c6294ff25a783941b8d8af  gcc/cp/parser.h
! 372ae2cec0eb2dd139b1fb744cff2137  gcc/cp/pt.cc
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
*************** ee4c7654f733cefcb73d4fd24f3e1b82  gcc/do
*** 5952,5958 ****
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  f04e6a409074a2e9427b1265b1a1445e  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 1bd6b1d33f1d1fd0099896eea5e6ed23  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
--- 5953,5959 ----
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
  f04e6a409074a2e9427b1265b1a1445e  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! b9effbfad0b92c32c59ebb131ceb756e  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
*************** b21182651156de7779948fe8ca2c4160  gcc/dw
*** 6022,6028 ****
  186b01005d892edba3b03fc17bd0dc8f  gcc/dwarf2codeview.h
  baaae59ceda4df837a6f62ffb0f29ee7  gcc/dwarf2ctf.cc
  1d0191caafac1774f50a47175d915ea0  gcc/dwarf2ctf.h
! 0ce98f236c02178e582ba41ddb5116bd  gcc/dwarf2out.cc
  a37a84426cea5b6f077117901c0cbc81  gcc/dwarf2out.h
  fdd976759ee89958c91a4010e53c0f02  gcc/early-remat.cc
  e0339faf7da1ffc9030bc3a53b41cc1c  gcc/edit-context.cc
--- 6023,6029 ----
  186b01005d892edba3b03fc17bd0dc8f  gcc/dwarf2codeview.h
  baaae59ceda4df837a6f62ffb0f29ee7  gcc/dwarf2ctf.cc
  1d0191caafac1774f50a47175d915ea0  gcc/dwarf2ctf.h
! 0d07ebae9fb33066cd8b637d54958608  gcc/dwarf2out.cc
  a37a84426cea5b6f077117901c0cbc81  gcc/dwarf2out.h
  fdd976759ee89958c91a4010e53c0f02  gcc/early-remat.cc
  e0339faf7da1ffc9030bc3a53b41cc1c  gcc/edit-context.cc
*************** afa2616e2d58a9137deaabc102d2d7c1  gcc/ip
*** 6475,6481 ****
  229bac80ef5400801cf4edfd97790ef8  gcc/ipa-inline.h
  19c0cbbd70e071bd63dbb0527d02423e  gcc/ipa-locality-cloning.cc
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
! 5146e44af36aa042f1e1098a4e796065  gcc/ipa-modref-tree.cc
  5a1edb91a2b7237c3e946f040a3d9697  gcc/ipa-modref-tree.h
  3f72461d9982b691967c88700eb6d7b8  gcc/ipa-modref.cc
  8fe1972490c1cce5a10c7cdcd57b2361  gcc/ipa-modref.h
--- 6476,6482 ----
  229bac80ef5400801cf4edfd97790ef8  gcc/ipa-inline.h
  19c0cbbd70e071bd63dbb0527d02423e  gcc/ipa-locality-cloning.cc
  e1e331896b86db8a2281657bbb21ac72  gcc/ipa-locality-cloning.h
! 04c488e1d6439252e0fa7047b4426f9c  gcc/ipa-modref-tree.cc
  5a1edb91a2b7237c3e946f040a3d9697  gcc/ipa-modref-tree.h
  3f72461d9982b691967c88700eb6d7b8  gcc/ipa-modref.cc
  8fe1972490c1cce5a10c7cdcd57b2361  gcc/ipa-modref.h
*************** f9608e9005487c369e6c38949ab36fa1  gcc/m2
*** 7639,7645 ****
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! 0973b87744f3442134435f51bc8cf62b  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
--- 7640,7646 ----
  550bdb35d0e034ca0050c574ba896d61  gcc/machmode.h
  486412acbbb6de10b080e31410a14f33  gcc/main.cc
  d053620a6d75e0f59842e390386fd917  gcc/make-unique.h
! b3e6b438da25e621255bcd3759d554be  gcc/match.pd
  63bf182c7c3a100e101b2129976be89b  gcc/mcf.cc
  795fbbc034a60f5af7e79dbe3bac65a0  gcc/mem-stats-traits.h
  295dcd7618653c13dcf063266752d06f  gcc/mem-stats.h
*************** e3f908061f2b051f55381b513a49022b  gcc/pa
*** 7740,7752 ****
  57048d71e78511e69e3d39d60cb2f1b7  gcc/plugin.cc
  995702441547e9826ffaea326d8be617  gcc/plugin.def
  79cd4ea374ded38e9f3ef38c1624db9e  gcc/plugin.h
! ed5863c569d6df5b818c8efeb63d38e2  gcc/po/ChangeLog
  fcae8297fb0c1be8e1502d7ca12c249f  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
  537e98eeb67896ac57d739aeffc9d95c  gcc/po/de.po
  fb211887132af72dd424dd2b31d66047  gcc/po/el.po
! 9b7ec42387221cb5eb618030df69c379  gcc/po/es.po
  748a1d219b34c4206fcf3385510cec82  gcc/po/exgettext
  6bc994ac2cef495e886c17a200067ac8  gcc/po/fi.po
  31fd60289038e7a7968d397f5a4d299f  gcc/po/fr.po
--- 7741,7753 ----
  57048d71e78511e69e3d39d60cb2f1b7  gcc/plugin.cc
  995702441547e9826ffaea326d8be617  gcc/plugin.def
  79cd4ea374ded38e9f3ef38c1624db9e  gcc/plugin.h
! ddc8c49450c1d1cd07228d4ccc9ccf4e  gcc/po/ChangeLog
  fcae8297fb0c1be8e1502d7ca12c249f  gcc/po/EXCLUDES
  276b0e994306e3cdb1f62b8de38fa0e9  gcc/po/be.po
  4ce8480a8ed1c6ea96dcee25f16b5030  gcc/po/da.po
  537e98eeb67896ac57d739aeffc9d95c  gcc/po/de.po
  fb211887132af72dd424dd2b31d66047  gcc/po/el.po
! 8db2cd09f0527a4cc27a7f190fd26a08  gcc/po/es.po
  748a1d219b34c4206fcf3385510cec82  gcc/po/exgettext
  6bc994ac2cef495e886c17a200067ac8  gcc/po/fi.po
  31fd60289038e7a7968d397f5a4d299f  gcc/po/fr.po
*************** addbe678572b00fd728ed5da73f67e36  gcc/po
*** 7764,7770 ****
  6a667463af95654e143e41c99d642c20  gcc/po/vi.po
  70925d4393f1c12426d647b87a2c5a10  gcc/po/zh_CN.po
  8838373e81bbd8baacc3fd661c2b31cc  gcc/po/zh_TW.po
! 449bc0bffc750333208eec740b03a2c4  gcc/pointer-query.cc
  9e3a1ed4de088e9a46c7b6839471d431  gcc/pointer-query.h
  91b6348b1e00d92045418095ae4c75b0  gcc/poly-int-types.h
  49996ef12af53fc104c8c73884c06aa6  gcc/poly-int.h
--- 7765,7771 ----
  6a667463af95654e143e41c99d642c20  gcc/po/vi.po
  70925d4393f1c12426d647b87a2c5a10  gcc/po/zh_CN.po
  8838373e81bbd8baacc3fd661c2b31cc  gcc/po/zh_TW.po
! ab9186866fe2714b87b213bded33a33c  gcc/pointer-query.cc
  9e3a1ed4de088e9a46c7b6839471d431  gcc/pointer-query.h
  91b6348b1e00d92045418095ae4c75b0  gcc/poly-int-types.h
  49996ef12af53fc104c8c73884c06aa6  gcc/poly-int.h
*************** f849345d69b622ff9e7b96095bc2c34e  gcc/sy
*** 8436,8442 ****
  c9829745147a0b8ec026a3c5029fe2ff  gcc/symtab-thunks.h
  aa2f440763246662044c0f16f1c5e858  gcc/symtab.cc
  b3a965e425e6cf7888319667faf58da9  gcc/sync-builtins.def
! b1497a03867668af210c32280876fdd7  gcc/system.h
  480d916fe042a150001ad88e88521c08  gcc/target-def.h
  7e57ef65e3a1144e28765b6e8d7f6cff  gcc/target-globals.cc
  32c99c974fd34089d47160168688da1d  gcc/target-globals.h
--- 8437,8443 ----
  c9829745147a0b8ec026a3c5029fe2ff  gcc/symtab-thunks.h
  aa2f440763246662044c0f16f1c5e858  gcc/symtab.cc
  b3a965e425e6cf7888319667faf58da9  gcc/sync-builtins.def
! 03b273c0c63ca319e07319d25adfb30d  gcc/system.h
  480d916fe042a150001ad88e88521c08  gcc/target-def.h
  7e57ef65e3a1144e28765b6e8d7f6cff  gcc/target-globals.cc
  32c99c974fd34089d47160168688da1d  gcc/target-globals.h
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8447,8453 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 6ebfc6394f6eb6d9b195dfe1fc392a02  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8448,8454 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 65ec51bccba9b79299539300f56e7b49  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** b0f94df77ae1f45f51ea4e2c6bb9691a  gcc/te
*** 21120,21125 ****
--- 21121,21127 ----
  66ff6dfe6ddc544b4653391842e6eae8  gcc/testsuite/g++.dg/cpp26/pack-indexing17.C
  7b55370f3253f2eae6d541ae349b6268  gcc/testsuite/g++.dg/cpp26/pack-indexing17a.C
  dec9cc8d0d460e2cc13f361418bfbd4c  gcc/testsuite/g++.dg/cpp26/pack-indexing18.C
+ 4dfa54f1d3bc2ea91cd06e41813f7f63  gcc/testsuite/g++.dg/cpp26/pack-indexing19.C
  49ef5418646a1f810ced7c9ecba2f5a9  gcc/testsuite/g++.dg/cpp26/pack-indexing2.C
  01e2e390b9329b3e619416e0bf8b3684  gcc/testsuite/g++.dg/cpp26/pack-indexing3.C
  8105a5f8078fd0ba5507cadc224b15ad  gcc/testsuite/g++.dg/cpp26/pack-indexing4.C
*************** d817d87f4590a7694dcb15ea0a0856a3  gcc/te
*** 29617,29622 ****
--- 29619,29625 ----
  af4c6212c5e52bf135c1867c6656d88b  gcc/testsuite/g++.dg/pr117222.C
  907af190ec2f3efd086d2b352c9934cd  gcc/testsuite/g++.dg/pr117919.C
  80867666af42eef238ead0c293e5bc0e  gcc/testsuite/g++.dg/pr121757.C
+ 9b72294c06cceb517f37832e017f79c1  gcc/testsuite/g++.dg/pr123575.C
  2ac64817a39fe1a5c2dc328f4233cda1  gcc/testsuite/g++.dg/pr37742.C
  32b2fbda29ffd2ac2181c43c971f3a7d  gcc/testsuite/g++.dg/pr44328.C
  e43b4ea2d038b181b57782d5d56d22ba  gcc/testsuite/g++.dg/pr44486.C
*************** f298eddbaaad3dfdc15f6cf9683ff08a  gcc/te
*** 31816,31821 ****
--- 31819,31825 ----
  75b55c517ba9c0f47c83851f084cb294  gcc/testsuite/g++.dg/torture/pr121870.C
  4cb804aebd63b708ddcac6b88e4a9b7f  gcc/testsuite/g++.dg/torture/pr123040.C
  fd8e483532e07909315ca8711ef4503b  gcc/testsuite/g++.dg/torture/pr123603.C
+ 045de4cec99c01bff5389660b8937e19  gcc/testsuite/g++.dg/torture/pr123729.C
  161154ed9f6193a2a7da119e068c3f3f  gcc/testsuite/g++.dg/torture/pr27218.C
  a84e9fff95df4801f8e582fbc33303b8  gcc/testsuite/g++.dg/torture/pr30252.C
  e980bf95890544d46879b89f7aa98df6  gcc/testsuite/g++.dg/torture/pr30567.C
*************** ea015573ee8ddabae38c2a615f8228fb  gcc/te
*** 37537,37542 ****
--- 37541,37547 ----
  d127e2f7300195708178a6cec8648544  gcc/testsuite/g++.target/i386/pr122446-amxmovrs.C
  f5a1d06c17cacf90f627c83c8b800a78  gcc/testsuite/g++.target/i386/pr122446-amxtf32.C
  ffbb5e0bd5668625c6d5cef769228118  gcc/testsuite/g++.target/i386/pr122446-amxtile.C
+ fe98d8bd643079ebf7d12496d3189d03  gcc/testsuite/g++.target/i386/pr123779.C
  55fb67abf6517f92b1a0240d2c06b5c5  gcc/testsuite/g++.target/i386/pr35513-1.C
  14dde546e4eefec7aa6d1ac41261cb16  gcc/testsuite/g++.target/i386/pr35513-2.C
  1c706f97b6d93c0124dc4a203c98f6d2  gcc/testsuite/g++.target/i386/pr57362.C
*************** b4bb8ae97fc12f1c66b22b9149ca7a2b  gcc/te
*** 49632,49637 ****
--- 49637,49643 ----
  45f9003776530da05643fd2fcd9640b8  gcc/testsuite/gcc.dg/pr109392.c
  bfcc628fc6999e234d82894274b24215  gcc/testsuite/gcc.dg/pr109393.c
  c84c4385dc7b913c1ab044bf620d7696  gcc/testsuite/gcc.dg/pr109409.c
+ e3305bd5445d5fff018b1f9ab0c905d3  gcc/testsuite/gcc.dg/pr109410-2.c
  8c5ddd68de1ed874eb52f91b7136909e  gcc/testsuite/gcc.dg/pr109410.c
  3399ef12e5625e30f72a928ee7afca74  gcc/testsuite/gcc.dg/pr109412.c
  86a351ab8a6255c1c7e39f673dcac916  gcc/testsuite/gcc.dg/pr109417.c
*************** b975ebfa27ac446e553bacbb75421590  gcc/te
*** 49895,49900 ****
--- 49901,49907 ----
  9fcb8913b9a18055b2a811284d59780e  gcc/testsuite/gcc.dg/pr123018.c
  5fbcf85870a8e9883872a384e3cf5e12  gcc/testsuite/gcc.dg/pr123300.c
  3e218010f127737b8ec6efbf8cb00273  gcc/testsuite/gcc.dg/pr123431.c
+ 2e58c4d553f61913c629f0f4e16cef6c  gcc/testsuite/gcc.dg/pr123537.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** f5aad1409cbbb9e3039cb7da55080bc6  gcc/te
*** 53423,53428 ****
--- 53430,53436 ----
  14f1b7a5c96c7b0b8a599f2567caf3e0  gcc/testsuite/gcc.dg/torture/pr109652.c
  2187f595796e8269bf267180b56e18a8  gcc/testsuite/gcc.dg/torture/pr109689.c
  c1a87948bd38764af99342569982d720  gcc/testsuite/gcc.dg/torture/pr109940.c
+ cfb24796cf777565d6ee8e3cc9faa0c1  gcc/testsuite/gcc.dg/torture/pr110043.c
  c68e0fca588779377278aa9e84380d07  gcc/testsuite/gcc.dg/torture/pr110176.c
  0c0edd5cb473e3baec880eabda166963  gcc/testsuite/gcc.dg/torture/pr110228.c
  37a4a130bd302ce957ac9e65b5949c60  gcc/testsuite/gcc.dg/torture/pr110243.c
*************** a416af0125bad612c0cf46a5d6401e54  gcc/te
*** 53541,53546 ****
--- 53549,53555 ----
  cbf3e9074438c0fc59d7ba99a6377906  gcc/testsuite/gcc.dg/torture/pr116199.c
  781d8c238ddfb27c94a693a296ccb610  gcc/testsuite/gcc.dg/torture/pr116278-run-1.c
  164e88d40fc4ae642a6d4b4c04eb1f53  gcc/testsuite/gcc.dg/torture/pr116278-run-2.c
+ d55420193b502affe4f12bc50e33bc30  gcc/testsuite/gcc.dg/torture/pr116296.c
  2681c6cd00e71033ee5e58d3d2e24776  gcc/testsuite/gcc.dg/torture/pr116343.c
  99a6c1e6285db8d08064cd8aaa300ddd  gcc/testsuite/gcc.dg/torture/pr116380.c
  b0e70276ca1233459713c4c0637f5c31  gcc/testsuite/gcc.dg/torture/pr116409-1.c
*************** a0fb3a08e712a34686912f981529e52a  gcc/te
*** 53632,53637 ****
--- 53641,53648 ----
  256200aae431c6598adbd4613b49ae06  gcc/testsuite/gcc.dg/torture/pr122016.c
  d4560440fd7b3647f8780537a59e4716  gcc/testsuite/gcc.dg/torture/pr122188.c
  10b3b873efcbbc683b1b7bc118deaf44  gcc/testsuite/gcc.dg/torture/pr123107.c
+ 846de4745dc42cf6d9abe36308df2301  gcc/testsuite/gcc.dg/torture/pr123887-2.c
+ 45e84720260c50c6a2acdec6f8eec9ca  gcc/testsuite/gcc.dg/torture/pr123887.c
  ded4330fd1cd52783bd9b1761db038ef  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  fc265ee05da2f29f0e92804661cd1f28  gcc/testsuite/gcc.dg/torture/pr17526.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
*************** bc0f68b226839ed569e371de527479fe  gcc/te
*** 59827,59832 ****
--- 59838,59844 ----
  e0f38a9b3ec0f742abed22cd672aa982  gcc/testsuite/gcc.dg/vect/vect-simd-clone-7.c
  c3250637f281a41b33f82d785f31ae71  gcc/testsuite/gcc.dg/vect/vect-simd-clone-8.c
  068515d98cb76263014fe2d1f01ac267  gcc/testsuite/gcc.dg/vect/vect-simd-clone-9.c
+ ac505120490b0eacba4e6c11d4f832b8  gcc/testsuite/gcc.dg/vect/vect-simd-clone-pr123794.c
  881d4e505bcbd60c6207348fb3385c98  gcc/testsuite/gcc.dg/vect/vect-simd-pr121130.c
  6e90abcda205699fc9e9fbcaeb293a8e  gcc/testsuite/gcc.dg/vect/vect-singleton_1.c
  c007274fcf98c292ac6a9827d7cc665e  gcc/testsuite/gcc.dg/vect/vect-strided-a-mult.c
*************** cc8dc43c5d18de4984503248c86934e4  gcc/te
*** 61959,61964 ****
--- 61971,61977 ----
  83ac293146b05a62ec4a19e52751ebd1  gcc/testsuite/gcc.target/aarch64/pr121253.c
  c34d772e393da040a9ab73442d231d49  gcc/testsuite/gcc.target/aarch64/pr121853_1.c
  bf526d120c538bd714985ac66c46f7bb  gcc/testsuite/gcc.target/aarch64/pr121853_2.c
+ 085f7e2087fb0cf8d5d9a44259bb616c  gcc/testsuite/gcc.target/aarch64/pr123548.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
*************** a6b0a3d46a5a5170f93dc87f2d7171b5  gcc/te
*** 62086,62092 ****
  c5f7398a3319e25a23c9aebb45e8472a  gcc/testsuite/gcc.target/aarch64/ror_2.c
  6a7b4c2858dc4092dd8e5eead61374c3  gcc/testsuite/gcc.target/aarch64/ror_3.c
  d67c6012aab7b0d167366ecd8d9c9f29  gcc/testsuite/gcc.target/aarch64/rot_to_bswap.c
! 6aafdb77d40b133b0cfc4ba802e3088b  gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c
  fd2b51934a9f3b3f1041deacbd4c5429  gcc/testsuite/gcc.target/aarch64/saddw-1.c
  06fac2f51e492eb91f6fdcb6f6baea2f  gcc/testsuite/gcc.target/aarch64/saddw-2.c
  e1cf0d479bffab78f82341c69892e846  gcc/testsuite/gcc.target/aarch64/saturating-arithmetic-signed.c
--- 62099,62105 ----
  c5f7398a3319e25a23c9aebb45e8472a  gcc/testsuite/gcc.target/aarch64/ror_2.c
  6a7b4c2858dc4092dd8e5eead61374c3  gcc/testsuite/gcc.target/aarch64/ror_3.c
  d67c6012aab7b0d167366ecd8d9c9f29  gcc/testsuite/gcc.target/aarch64/rot_to_bswap.c
! 84df7bd8d598e8ef1bbd0fad51087fcc  gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c
  fd2b51934a9f3b3f1041deacbd4c5429  gcc/testsuite/gcc.target/aarch64/saddw-1.c
  06fac2f51e492eb91f6fdcb6f6baea2f  gcc/testsuite/gcc.target/aarch64/saddw-2.c
  e1cf0d479bffab78f82341c69892e846  gcc/testsuite/gcc.target/aarch64/saturating-arithmetic-signed.c
*************** b44e92a535087a99a3ac716388f1c979  gcc/te
*** 62110,62118 ****
  19f17e7dd89f8110e5c9f67f57238f8a  gcc/testsuite/gcc.target/aarch64/sha2_2.c
  ce1f8e207a7a24660c494ecf8dd545c2  gcc/testsuite/gcc.target/aarch64/sha2_3.c
  b6aa615b85ae40b63a22dbc7071fd902  gcc/testsuite/gcc.target/aarch64/sha3.h
! 32f4f51563b0d7be120e5d5009ab1e3e  gcc/testsuite/gcc.target/aarch64/sha3_1.c
! b452d4c86751bd11bf03b8ca21d25bf4  gcc/testsuite/gcc.target/aarch64/sha3_2.c
! 7bbc7a27b67681b713096a7ab9ed18a3  gcc/testsuite/gcc.target/aarch64/sha3_3.c
  720a26afca0daa0c0583c3cbf5f2c7d0  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c
  e35638303a0cd435f199e6e2d3d6e7c6  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_2.c
  426a463bcea5af95b04b1d22b1bbacc9  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_3.c
--- 62123,62131 ----
  19f17e7dd89f8110e5c9f67f57238f8a  gcc/testsuite/gcc.target/aarch64/sha2_2.c
  ce1f8e207a7a24660c494ecf8dd545c2  gcc/testsuite/gcc.target/aarch64/sha2_3.c
  b6aa615b85ae40b63a22dbc7071fd902  gcc/testsuite/gcc.target/aarch64/sha3.h
! 0e1d7a62f7703b3f36fc44bcf4596484  gcc/testsuite/gcc.target/aarch64/sha3_1.c
! 14eadc9c0aa9df2274e0d27fdd199be8  gcc/testsuite/gcc.target/aarch64/sha3_2.c
! 7cd7f2ba7ac06db85b53e098824fe6c9  gcc/testsuite/gcc.target/aarch64/sha3_3.c
  720a26afca0daa0c0583c3cbf5f2c7d0  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_1.c
  e35638303a0cd435f199e6e2d3d6e7c6  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_2.c
  426a463bcea5af95b04b1d22b1bbacc9  gcc/testsuite/gcc.target/aarch64/shadow_call_stack_3.c
*************** df08a7f1b91a8c0f914aab7f291c95e7  gcc/te
*** 62209,62215 ****
  670855cbe72625722e02671619b6566b  gcc/testsuite/gcc.target/aarch64/simd/lut.c
  eee3684fddf95ff5545c7c4454331e54  gcc/testsuite/gcc.target/aarch64/simd/mf8_data_1.c
  7a8dbe7357968ea67da61dae6606ebcd  gcc/testsuite/gcc.target/aarch64/simd/mf8_data_2.c
! 2f6c6fee34ced3b932053a03d9906520  gcc/testsuite/gcc.target/aarch64/simd/pr117048.c
  2797bd4410da16b66ebb2f474c595ee5  gcc/testsuite/gcc.target/aarch64/simd/pr117048_2.c
  67e9f00dffaa6f894241ef054cf29a1e  gcc/testsuite/gcc.target/aarch64/simd/pr121749.c
  f2791d55a2c9ed7182a54a406810cf47  gcc/testsuite/gcc.target/aarch64/simd/pr67896.c
--- 62222,62228 ----
  670855cbe72625722e02671619b6566b  gcc/testsuite/gcc.target/aarch64/simd/lut.c
  eee3684fddf95ff5545c7c4454331e54  gcc/testsuite/gcc.target/aarch64/simd/mf8_data_1.c
  7a8dbe7357968ea67da61dae6606ebcd  gcc/testsuite/gcc.target/aarch64/simd/mf8_data_2.c
! 77bcecb95fea0e774f3b59d6735b0334  gcc/testsuite/gcc.target/aarch64/simd/pr117048.c
  2797bd4410da16b66ebb2f474c595ee5  gcc/testsuite/gcc.target/aarch64/simd/pr117048_2.c
  67e9f00dffaa6f894241ef054cf29a1e  gcc/testsuite/gcc.target/aarch64/simd/pr121749.c
  f2791d55a2c9ed7182a54a406810cf47  gcc/testsuite/gcc.target/aarch64/simd/pr67896.c
*************** b1f13471701b0335894317ae214cc68c  gcc/te
*** 68516,68521 ****
--- 68529,68535 ----
  3fcc51d99dc7ff15a8bb60da25dc470e  gcc/testsuite/gcc.target/aarch64/sve2/pr120999.c
  b2d92d06e51698908b628bbf67a8336b  gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c
  0f6c07a30f53dc4aadca1b9cf6c3a8db  gcc/testsuite/gcc.target/aarch64/sve2/pr121604_pmov.c
+ a1e717c0cbeba75388ce3e7b3922fe64  gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c
  3ddfd16fcbf89890fd9785fec8f0c081  gcc/testsuite/gcc.target/aarch64/sve2/shracc_1.c
  8cd4d6e010de57b57d5d8fb325fa79bb  gcc/testsuite/gcc.target/aarch64/sve2/unpred_mul_1.c
  826ee7c8b41bb7da016220e1f67b1306  gcc/testsuite/gcc.target/aarch64/sve2/uzpq_1.c
*************** df55bfe2c1ce46074b19b4566cedeef4  gcc/te
*** 68623,68628 ****
--- 68637,68643 ----
  6f76f09058dacb2d4652fe23212078dc  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-7.c
  5e87c222f1290ba69d1c720a5d7766b3  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-8.c
  d27cf5c573d83aeb3376b52fa2d42277  gcc/testsuite/gcc.target/aarch64/torture/simd-abi-9.c
+ b7768547f670e0af5185d873e5dbc62e  gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c
  3f00b9061bd4be55dd74c5c3274fd431  gcc/testsuite/gcc.target/aarch64/trunc-vec.c
  243944adb745b523dc89b085c3612ccb  gcc/testsuite/gcc.target/aarch64/tst-1.c
  b408270b084f360295aac255b1236a43  gcc/testsuite/gcc.target/aarch64/tst_1.c
*************** e916fcf0c3130fc5102d03f2d729ff64  gcc/te
*** 68860,68866 ****
  244ffe859281a44df2fa3ac62341bd75  gcc/testsuite/gcc.target/aarch64/with-tune-mcpu.c
  73648276a5cd96f9c11169ae4e70ef9c  gcc/testsuite/gcc.target/aarch64/with-tune-mtune.c
  a5784e5c868ce916e0684493e789ed30  gcc/testsuite/gcc.target/aarch64/xar_neon_modes.c
! ffef2c1734dfa074b538fd983a938858  gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c
  fd934708c3543d8703170d5494395bf0  gcc/testsuite/gcc.target/aarch64/xorsign.c
  69c2e660fb11d6895b17cde723e07c66  gcc/testsuite/gcc.target/aarch64/xorsign_exec.c
  4103f6313846ad5d7e1139c35722cc6c  gcc/testsuite/gcc.target/aarch64/xreg-vec-modes_1.c
--- 68875,68881 ----
  244ffe859281a44df2fa3ac62341bd75  gcc/testsuite/gcc.target/aarch64/with-tune-mcpu.c
  73648276a5cd96f9c11169ae4e70ef9c  gcc/testsuite/gcc.target/aarch64/with-tune-mtune.c
  a5784e5c868ce916e0684493e789ed30  gcc/testsuite/gcc.target/aarch64/xar_neon_modes.c
! 941eafc659fb2e3ecf4eac67350b6d5f  gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c
  fd934708c3543d8703170d5494395bf0  gcc/testsuite/gcc.target/aarch64/xorsign.c
  69c2e660fb11d6895b17cde723e07c66  gcc/testsuite/gcc.target/aarch64/xorsign_exec.c
  4103f6313846ad5d7e1139c35722cc6c  gcc/testsuite/gcc.target/aarch64/xreg-vec-modes_1.c
*************** ec09b316f95699b7f12d9bfa709c9e2a  gcc/te
*** 111711,111716 ****
--- 111726,111732 ----
  b4403186d926b98d81bf74273fbdd747  gcc/testsuite/gnat.dg/iter5.adb
  f755b068c4d637453db94629c3c405ed  gcc/testsuite/gnat.dg/iter5_pkg.ads
  7c24008f7846098944f65c4134ed3975  gcc/testsuite/gnat.dg/iter6.adb
+ f81dad5b681759920793751c1a1799f2  gcc/testsuite/gnat.dg/iter7.adb
  52e284e2eb886ee34b0b3277d11c4499  gcc/testsuite/gnat.dg/itype.adb
  a13cf13b784e8e31eb211878f32d8ac3  gcc/testsuite/gnat.dg/itype.ads
  6e6397753611cdca3dfc55e25547deb9  gcc/testsuite/gnat.dg/itypes.adb
*************** ca98602bd726e6e8ddbebb3c4b65f0a8  gcc/te
*** 112373,112378 ****
--- 112389,112396 ----
  064d12236a5c1215b72e88bd09d6696a  gcc/testsuite/gnat.dg/prefix1.ads
  44b1484811be62cb2477a1085cf56d34  gcc/testsuite/gnat.dg/prefix2.adb
  32f82de6508bf8f6a0d20f850f638498  gcc/testsuite/gnat.dg/prefix2.ads
+ 3372ba396a449f3b5e1394881b6677d1  gcc/testsuite/gnat.dg/prefix4.adb
+ 7d40b6e578a7602141138b7c83607865  gcc/testsuite/gnat.dg/prefix4_pkg.ads
  1cd7dd16873b27f1e5bc896924554185  gcc/testsuite/gnat.dg/private_overriding.adb
  67fc1f73b2e24628841b19a37424a4dd  gcc/testsuite/gnat.dg/profile_warning.adb
  3be6aedb24cbe63f63ad93e27d8946b1  gcc/testsuite/gnat.dg/profile_warning.ads
*************** cde7364d679bf019115a37fca70a6f52  gcc/te
*** 115512,115518 ****
  a658e6e3511698723b87be3277ba706d  gcc/testsuite/lib/go-torture.exp
  450868d4f15f0faade8c693e132ee071  gcc/testsuite/lib/go.exp
  8699bdd60911dccd7ce56e96f4032646  gcc/testsuite/lib/hwasan-dg.exp
! 68f54a06f3ffcbd6b65ca0ed4fa926c5  gcc/testsuite/lib/lto.exp
  645e8af17b334c4e279636a7b47dacbe  gcc/testsuite/lib/mike-g++.exp
  b2d617c3a17f3ed4084a60722369c3a8  gcc/testsuite/lib/mike-gcc.exp
  bf783dcd14ad74babc1bf3e91cc46055  gcc/testsuite/lib/modules.exp
--- 115530,115536 ----
  a658e6e3511698723b87be3277ba706d  gcc/testsuite/lib/go-torture.exp
  450868d4f15f0faade8c693e132ee071  gcc/testsuite/lib/go.exp
  8699bdd60911dccd7ce56e96f4032646  gcc/testsuite/lib/hwasan-dg.exp
! 6ad89789be50e108b9f0af832c0ad9ea  gcc/testsuite/lib/lto.exp
  645e8af17b334c4e279636a7b47dacbe  gcc/testsuite/lib/mike-g++.exp
  b2d617c3a17f3ed4084a60722369c3a8  gcc/testsuite/lib/mike-gcc.exp
  bf783dcd14ad74babc1bf3e91cc46055  gcc/testsuite/lib/modules.exp
*************** b9d636bd9641f3038bbe37a70684e18e  gcc/tr
*** 118035,118041 ****
  beaa17685ead93eee17f6373d004c4c4  gcc/tree-parloops.h
  316bf60cf7fdc1c96eb341a7f0b6bdc2  gcc/tree-pass.h
  3c7e6c651df0a795a0b1b01ca9c75a4d  gcc/tree-phinodes.cc
! 460fc341cb2d78f53e0a27c81de36a7d  gcc/tree-phinodes.h
  ec93059a3a566b33ecd4779d2fd3b4ee  gcc/tree-predcom.cc
  529cb4117fb3ff7fd899c570bd97e944  gcc/tree-pretty-print-markup.h
  de1b16517568fbc9dc329b653c6d6342  gcc/tree-pretty-print.cc
--- 118053,118059 ----
  beaa17685ead93eee17f6373d004c4c4  gcc/tree-parloops.h
  316bf60cf7fdc1c96eb341a7f0b6bdc2  gcc/tree-pass.h
  3c7e6c651df0a795a0b1b01ca9c75a4d  gcc/tree-phinodes.cc
! 2d8a0c0b02a82db0dda078bfd85b3480  gcc/tree-phinodes.h
  ec93059a3a566b33ecd4779d2fd3b4ee  gcc/tree-predcom.cc
  529cb4117fb3ff7fd899c570bd97e944  gcc/tree-pretty-print-markup.h
  de1b16517568fbc9dc329b653c6d6342  gcc/tree-pretty-print.cc
*************** c5c94f731fa48c6557765e712c67aaf5  gcc/tr
*** 118088,118094 ****
  56669b2d0405dccdeb2acb778d058e82  gcc/tree-ssa-pre.cc
  bc94d7017980d97ff957feb308ae771c  gcc/tree-ssa-propagate.cc
  299c5d8dabcb4a4d30bab51fbedc4e68  gcc/tree-ssa-propagate.h
! 233d764ee886ccb3223d08a55f2a1ddc  gcc/tree-ssa-reassoc.cc
  258492cd7ef04be49374ea1e670f3b5b  gcc/tree-ssa-reassoc.h
  16b851d2272426404eb018b5dfe16909  gcc/tree-ssa-sccvn.cc
  4b05103d4706bf37cd0bc9f018b40965  gcc/tree-ssa-sccvn.h
--- 118106,118112 ----
  56669b2d0405dccdeb2acb778d058e82  gcc/tree-ssa-pre.cc
  bc94d7017980d97ff957feb308ae771c  gcc/tree-ssa-propagate.cc
  299c5d8dabcb4a4d30bab51fbedc4e68  gcc/tree-ssa-propagate.h
! 33b23ac0296e477b051caad07dcdfd79  gcc/tree-ssa-reassoc.cc
  258492cd7ef04be49374ea1e670f3b5b  gcc/tree-ssa-reassoc.h
  16b851d2272426404eb018b5dfe16909  gcc/tree-ssa-sccvn.cc
  4b05103d4706bf37cd0bc9f018b40965  gcc/tree-ssa-sccvn.h
*************** cac3afe79bbadb8c304cebff78dbb3df  gcc/tr
*** 118124,118133 ****
  61a9b445a765d6b6d497bc7273d05f64  gcc/tree-vect-data-refs.cc
  7ac587d2dd45a9437f9daa1b6409dca9  gcc/tree-vect-generic.cc
  cc0bdf3f684b251509b8552d2d8549a3  gcc/tree-vect-loop-manip.cc
! a41c3fb8911461149186ff901cf31d4a  gcc/tree-vect-loop.cc
  77240c08cea454c2d4a449206f7930c3  gcc/tree-vect-patterns.cc
  75eb406d11bc2ae9f01cc1e72787b3d5  gcc/tree-vect-slp-patterns.cc
! a090557cdadf056f684074809754a3eb  gcc/tree-vect-slp.cc
  4572489a3aeb1a3163bd6409309fe0c5  gcc/tree-vect-stmts.cc
  c8efeee600d612c4bae8dda4bd45ee54  gcc/tree-vector-builder.cc
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
--- 118142,118151 ----
  61a9b445a765d6b6d497bc7273d05f64  gcc/tree-vect-data-refs.cc
  7ac587d2dd45a9437f9daa1b6409dca9  gcc/tree-vect-generic.cc
  cc0bdf3f684b251509b8552d2d8549a3  gcc/tree-vect-loop-manip.cc
! 6bc2a872ec2c5dda08efa8b277eb7783  gcc/tree-vect-loop.cc
  77240c08cea454c2d4a449206f7930c3  gcc/tree-vect-patterns.cc
  75eb406d11bc2ae9f01cc1e72787b3d5  gcc/tree-vect-slp-patterns.cc
! c417ef312ca64d3d6d752dc4dfbbc195  gcc/tree-vect-slp.cc
  4572489a3aeb1a3163bd6409309fe0c5  gcc/tree-vect-stmts.cc
  c8efeee600d612c4bae8dda4bd45ee54  gcc/tree-vector-builder.cc
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
*************** df85736a75a28f2d961a417c6edbbeeb  gcc/va
*** 118166,118172 ****
  f2c2516eabc3b606655ae57885f6119a  gcc/value-range.h
  549819b3080f1e267be1a0eddd4ba81e  gcc/value-relation.cc
  9ecb4941bf4f8280d045adf518c3a64d  gcc/value-relation.h
! cba4500c3637e1d36913b20f1700d34e  gcc/var-tracking.cc
  8c55316e80e8121cbbb962ad5aa4610e  gcc/varasm.cc
  69f8e035a8548037bc8c8f7f854253c4  gcc/varasm.h
  e96ee31ef62fd5574909f9328fb29af9  gcc/varpool.cc
--- 118184,118190 ----
  f2c2516eabc3b606655ae57885f6119a  gcc/value-range.h
  549819b3080f1e267be1a0eddd4ba81e  gcc/value-relation.cc
  9ecb4941bf4f8280d045adf518c3a64d  gcc/value-relation.h
! e6b2af8aba277661240b816f67505f0a  gcc/var-tracking.cc
  8c55316e80e8121cbbb962ad5aa4610e  gcc/varasm.cc
  69f8e035a8548037bc8c8f7f854253c4  gcc/varasm.h
  e96ee31ef62fd5574909f9328fb29af9  gcc/varpool.cc
*************** a50aaef4b803051d8c8de65277787205  libobj
*** 130511,130517 ****
  1529c9317f23aa02b19c43cda7528d66  libobjc/selector.c
  e48bb3c47cdcb1bfade3ef0007f5a149  libobjc/sendmsg.c
  06be35842165837797461a0db264aeea  libobjc/thr.c
! 81d4c1cbe147d8ff64441a71ac5375fa  libphobos/ChangeLog
  e188e263b43a1566b83ecb298034d491  libphobos/Makefile.am
  156e9416d3f91f179bb662effed69086  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
--- 130529,130535 ----
  1529c9317f23aa02b19c43cda7528d66  libobjc/selector.c
  e48bb3c47cdcb1bfade3ef0007f5a149  libobjc/sendmsg.c
  06be35842165837797461a0db264aeea  libobjc/thr.c
! 2388a1ad286920134037208950949cb0  libphobos/ChangeLog
  e188e263b43a1566b83ecb298034d491  libphobos/Makefile.am
  156e9416d3f91f179bb662effed69086  libphobos/Makefile.in
  ee88c20a7744a2305503e1670f3b7889  libphobos/README.gcc
*************** d415620d052ae1db6d70544c35d1be49  libpho
*** 130589,130595 ****
  4f645e198123145858200ba494eff9a1  libphobos/libdruntime/core/internal/newaa.d
  3da42716a2bb1df75cc2b61bf90a9b2c  libphobos/libdruntime/core/internal/parseoptions.d
  c4a519a49c6da8005c2078035b344cf7  libphobos/libdruntime/core/internal/postblit.d
! 033d129addd5b23c56c0f4e77446b299  libphobos/libdruntime/core/internal/qsort.d
  eb7626a08581a41afe77af77f3194a7a  libphobos/libdruntime/core/internal/spinlock.d
  ae51deb9af8fd5e2af56c159ecda8af6  libphobos/libdruntime/core/internal/string.d
  0e954400ebc20e538cb0df0607daaeca  libphobos/libdruntime/core/internal/switch_.d
--- 130607,130613 ----
  4f645e198123145858200ba494eff9a1  libphobos/libdruntime/core/internal/newaa.d
  3da42716a2bb1df75cc2b61bf90a9b2c  libphobos/libdruntime/core/internal/parseoptions.d
  c4a519a49c6da8005c2078035b344cf7  libphobos/libdruntime/core/internal/postblit.d
! 621df54a1e1f5eaaec23be90f14f7f7d  libphobos/libdruntime/core/internal/qsort.d
  eb7626a08581a41afe77af77f3194a7a  libphobos/libdruntime/core/internal/spinlock.d
  ae51deb9af8fd5e2af56c159ecda8af6  libphobos/libdruntime/core/internal/string.d
  0e954400ebc20e538cb0df0607daaeca  libphobos/libdruntime/core/internal/switch_.d
*************** d680e7307fb59fe24f8431e179191f16  libssp
*** 132171,132177 ****
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 84722f5c64ee73eada3879d01d092271  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
--- 132189,132195 ----
  534c3fb4a88e5c1f70db35c12b7742c3  libssp/vsnprintf-chk.c
  34daeb04a522ee796098df4446d6ce61  libssp/vsprintf-chk.c
  9e2de2e1f20ab0ffa2201164de02824f  libstdc++-v3/.editorconfig
! 90472fcf4c5390926cb2d1ac3beb3344  libstdc++-v3/ChangeLog
  7aa6c40440a44fcf5ec94c066160c2f8  libstdc++-v3/ChangeLog-1998
  7aff86600b6a1ed3fa87305075a92db0  libstdc++-v3/ChangeLog-1999
  a6f28e8fc9bb07696a9e068b439a3a87  libstdc++-v3/ChangeLog-2000
*************** b0c29f09a819ac9aa11c3507409c11ef  libstd
*** 132923,132929 ****
  c4870f814a271600f0c3b220ce577780  libstdc++-v3/include/bits/ranges_algo.h
  2739c66cfdc38cbad18771e2317ce548  libstdc++-v3/include/bits/ranges_algobase.h
  ddeb43e42ef0615042e595a570f7deaf  libstdc++-v3/include/bits/ranges_base.h
! 586727039587b10b560a902b1c7008b1  libstdc++-v3/include/bits/ranges_cmp.h
  4a47bd7ff3afbf353ca7c097f3fda6f8  libstdc++-v3/include/bits/ranges_uninitialized.h
  13ab6526ab5b8cd5e9a7b12e6bf761f6  libstdc++-v3/include/bits/ranges_util.h
  222a1067e3c63fb19ed0996234a84884  libstdc++-v3/include/bits/refwrap.h
--- 132941,132947 ----
  c4870f814a271600f0c3b220ce577780  libstdc++-v3/include/bits/ranges_algo.h
  2739c66cfdc38cbad18771e2317ce548  libstdc++-v3/include/bits/ranges_algobase.h
  ddeb43e42ef0615042e595a570f7deaf  libstdc++-v3/include/bits/ranges_base.h
! 883a0bd952f6950bede431ee3aaa6be1  libstdc++-v3/include/bits/ranges_cmp.h
  4a47bd7ff3afbf353ca7c097f3fda6f8  libstdc++-v3/include/bits/ranges_uninitialized.h
  13ab6526ab5b8cd5e9a7b12e6bf761f6  libstdc++-v3/include/bits/ranges_util.h
  222a1067e3c63fb19ed0996234a84884  libstdc++-v3/include/bits/refwrap.h
*************** bb19c550085b43f6251959e05791f4c6  libstd
*** 132957,132963 ****
  50378fb402a4f63ad663a2763f5cd08a  libstdc++-v3/include/bits/stl_bvector.h
  f65ad579a9fde04c6c8620718aa6be84  libstdc++-v3/include/bits/stl_construct.h
  bf0e42750b9f0a11336d82706c33fedb  libstdc++-v3/include/bits/stl_deque.h
! 8bd7e182b77be76921e6f1bead44217f  libstdc++-v3/include/bits/stl_function.h
  c6b4511debfbf2f7971dbae97dbcc998  libstdc++-v3/include/bits/stl_heap.h
  1863181d6606bfedafc789dd95b2c52d  libstdc++-v3/include/bits/stl_iterator.h
  e377e5172a37470411327d66be24b6a0  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
--- 132975,132981 ----
  50378fb402a4f63ad663a2763f5cd08a  libstdc++-v3/include/bits/stl_bvector.h
  f65ad579a9fde04c6c8620718aa6be84  libstdc++-v3/include/bits/stl_construct.h
  bf0e42750b9f0a11336d82706c33fedb  libstdc++-v3/include/bits/stl_deque.h
! b1eae8c031c2747c271f6dc4197697d5  libstdc++-v3/include/bits/stl_function.h
  c6b4511debfbf2f7971dbae97dbcc998  libstdc++-v3/include/bits/stl_heap.h
  1863181d6606bfedafc789dd95b2c52d  libstdc++-v3/include/bits/stl_iterator.h
  e377e5172a37470411327d66be24b6a0  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
*************** c48928d63732da42056105c33cf860ff  libstd
*** 132976,132982 ****
  e090d043a8cdc4479dde4340af533938  libstdc++-v3/include/bits/stl_tempbuf.h
  c0874190fac1e81e66ba299a8440f4e4  libstdc++-v3/include/bits/stl_tree.h
  39e026c8777c826d5bfa7a763d177052  libstdc++-v3/include/bits/stl_uninitialized.h
! 396190da81f504591c361c73a800287e  libstdc++-v3/include/bits/stl_vector.h
  c021eea8ffb782c5cae76e39deaa7369  libstdc++-v3/include/bits/stream_iterator.h
  69fecd7181ec71c850dba6e19cf9a58c  libstdc++-v3/include/bits/streambuf.tcc
  512415517592a497decfef44b9a855e2  libstdc++-v3/include/bits/streambuf_iterator.h
--- 132994,133000 ----
  e090d043a8cdc4479dde4340af533938  libstdc++-v3/include/bits/stl_tempbuf.h
  c0874190fac1e81e66ba299a8440f4e4  libstdc++-v3/include/bits/stl_tree.h
  39e026c8777c826d5bfa7a763d177052  libstdc++-v3/include/bits/stl_uninitialized.h
! 8490e2fecef4cd7900fd9fb673090379  libstdc++-v3/include/bits/stl_vector.h
  c021eea8ffb782c5cae76e39deaa7369  libstdc++-v3/include/bits/stream_iterator.h
  69fecd7181ec71c850dba6e19cf9a58c  libstdc++-v3/include/bits/streambuf.tcc
  512415517592a497decfef44b9a855e2  libstdc++-v3/include/bits/streambuf_iterator.h
*************** a462fb6c466b34fa25624b7fab6323e3  libstd
*** 132998,133004 ****
  315a9c07b613e42074ea6b8f4df4836a  libstdc++-v3/include/bits/valarray_array.h
  3ddbcccf58411251c2825ae41b697844  libstdc++-v3/include/bits/valarray_array.tcc
  a4c99020fc6d28e94d24a3f60a71b6ec  libstdc++-v3/include/bits/valarray_before.h
! 64f75edbe1420af49b20c6a8641361c4  libstdc++-v3/include/bits/vector.tcc
  12d6dd6628d6b456b3ab66f0b7d36529  libstdc++-v3/include/bits/version.def
  30e2252fcee270c61b56eae8bc9031a6  libstdc++-v3/include/bits/version.h
  0db0dfc5d016435e64398e3bb70098d3  libstdc++-v3/include/bits/version.tpl
--- 133016,133022 ----
  315a9c07b613e42074ea6b8f4df4836a  libstdc++-v3/include/bits/valarray_array.h
  3ddbcccf58411251c2825ae41b697844  libstdc++-v3/include/bits/valarray_array.tcc
  a4c99020fc6d28e94d24a3f60a71b6ec  libstdc++-v3/include/bits/valarray_before.h
! 0d0aa3ff481b12a643187f08a07e9944  libstdc++-v3/include/bits/vector.tcc
  12d6dd6628d6b456b3ab66f0b7d36529  libstdc++-v3/include/bits/version.def
  30e2252fcee270c61b56eae8bc9031a6  libstdc++-v3/include/bits/version.h
  0db0dfc5d016435e64398e3bb70098d3  libstdc++-v3/include/bits/version.tpl
*************** b992fa2a4889a430ba299555276bcf81  libstd
*** 133557,133563 ****
  e484f02a336cd08699671bd956a54a98  libstdc++-v3/include/std/chrono
  a90e2b9ed2c236c92f3f2387a39a0ac8  libstdc++-v3/include/std/codecvt
  73ad0b394fec64fa4f07972401973741  libstdc++-v3/include/std/complex
! c3c1dced3bd41cb17dfb1d65d089f9d3  libstdc++-v3/include/std/concepts
  4d4392c4b49029819ced576ee163366b  libstdc++-v3/include/std/condition_variable
  264518c8a6bbba954d8dfbc74162a7e2  libstdc++-v3/include/std/coroutine
  55eed7b7857afaaeaf8138c0485a60fa  libstdc++-v3/include/std/deque
--- 133575,133581 ----
  e484f02a336cd08699671bd956a54a98  libstdc++-v3/include/std/chrono
  a90e2b9ed2c236c92f3f2387a39a0ac8  libstdc++-v3/include/std/codecvt
  73ad0b394fec64fa4f07972401973741  libstdc++-v3/include/std/complex
! 202856e763349869c3ec034d584405ca  libstdc++-v3/include/std/concepts
  4d4392c4b49029819ced576ee163366b  libstdc++-v3/include/std/condition_variable
  264518c8a6bbba954d8dfbc74162a7e2  libstdc++-v3/include/std/coroutine
  55eed7b7857afaaeaf8138c0485a60fa  libstdc++-v3/include/std/deque
*************** b60f1331eaf500ccce917653c90c02d1  libstd
*** 133706,133712 ****
  2c05bcb0a318121f8deb29df215a1a76  libstdc++-v3/libsupc++/bad_cast.cc
  ed96195b097b5c5644e754342e3159bc  libstdc++-v3/libsupc++/bad_typeid.cc
  d54dac42098e24364e0e8249016c78b8  libstdc++-v3/libsupc++/class_type_info.cc
! 4750a9c27a7c55d2578910cbec3ba47d  libstdc++-v3/libsupc++/compare
  ee57ed7a57d178fce16de2ec28a8340c  libstdc++-v3/libsupc++/cxxabi.h
  563de5baf2c41e9759583af359bb650e  libstdc++-v3/libsupc++/cxxabi_forced.h
  8aae4a67a18f5276de7831d7a44b7b2f  libstdc++-v3/libsupc++/cxxabi_init_exception.h
--- 133724,133730 ----
  2c05bcb0a318121f8deb29df215a1a76  libstdc++-v3/libsupc++/bad_cast.cc
  ed96195b097b5c5644e754342e3159bc  libstdc++-v3/libsupc++/bad_typeid.cc
  d54dac42098e24364e0e8249016c78b8  libstdc++-v3/libsupc++/class_type_info.cc
! 4ac7b10ca519e171d6202c0ac90e052c  libstdc++-v3/libsupc++/compare
  ee57ed7a57d178fce16de2ec28a8340c  libstdc++-v3/libsupc++/cxxabi.h
  563de5baf2c41e9759583af359bb650e  libstdc++-v3/libsupc++/cxxabi_forced.h
  8aae4a67a18f5276de7831d7a44b7b2f  libstdc++-v3/libsupc++/cxxabi_init_exception.h
*************** ca6516aefe54fd40ebaa1dafa0a11255  libstd
*** 134633,134638 ****
--- 134651,134657 ----
  6bab66b664cfd3bdfffcc4a40e8765c9  libstdc++-v3/testsuite/20_util/function_objects/binders/3113.cc
  9eada3d910abb2dab015aedf3bc0d541  libstdc++-v3/testsuite/20_util/function_objects/comparisons.cc
  40c2bbe125de63af1786acb3b1450c2e  libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer.cc
+ ecfb8c4b535e0bf09b4b70c183321205  libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc
  87c00b085541617e0f20937088cd5ecf  libstdc++-v3/testsuite/20_util/function_objects/comparisons_void.cc
  5a3606d23c3021668b59cd384a9efe76  libstdc++-v3/testsuite/20_util/function_objects/constexpr.cc
  3ec127bce751f23d1edd40dc15a421d5  libstdc++-v3/testsuite/20_util/function_objects/constexpr_searcher.cc
*************** a5f7ae14b6844d43b1081a499624f525  libstd
*** 138436,138447 ****
  6aab54959fea87d944b74494b2c45d20  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/insert_range.cc
  35e70ddc10ee243c7ae40dfd6fba7ce6  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc
  8fb5c601f412e71f5977219b7d89f18d  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc
! 2301f3312f26a25c0cecd650693c1ee6  libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
  071692d93dc4cd16ba56c3ef394403d9  libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc
  7499329ab40a3f8d9ec96557afc9fdf5  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
  19a7aa23a562ce123f59840732f99484  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/89130.cc
  39ea516b4e78257b10729b1294b8b0e1  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/89416.cc
  d5a10e609929e6fcd8ef4875e82e9fab  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc
  129e06da1f884b42b2e5f2d423c2fb99  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc
  f7d7b18ce6d96f9d3f0358f60af4bff3  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
  291b9ca09e8fdf6c34b88c801b0b8072  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
--- 138455,138467 ----
  6aab54959fea87d944b74494b2c45d20  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/insert_range.cc
  35e70ddc10ee243c7ae40dfd6fba7ce6  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/self_insert.cc
  8fb5c601f412e71f5977219b7d89f18d  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc
! c2276095d903b4d83e50a2140f3ab830  libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
  071692d93dc4cd16ba56c3ef394403d9  libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable2.cc
  7499329ab40a3f8d9ec96557afc9fdf5  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/49836.cc
  19a7aa23a562ce123f59840732f99484  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/89130.cc
  39ea516b4e78257b10729b1294b8b0e1  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/89416.cc
  d5a10e609929e6fcd8ef4875e82e9fab  libstdc++-v3/testsuite/23_containers/vector/modifiers/push_back/strong_guarantee.cc
+ 4a2f9f9e84018ea58dae284a14d839cd  libstdc++-v3/testsuite/23_containers/vector/modifiers/resize.cc
  129e06da1f884b42b2e5f2d423c2fb99  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/1.cc
  f7d7b18ce6d96f9d3f0358f60af4bff3  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/2.cc
  291b9ca09e8fdf6c34b88c801b0b8072  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap/3.cc
*************** f12da74b317d3e2a5a88c8d48f289674  libstd
*** 141898,141904 ****
  6fc43afff360ceef0b6d73943ee38f61  libstdc++-v3/testsuite/backward/hash_set/1.cc
  89a0e58a522391e68d2680afa635aeb2  libstdc++-v3/testsuite/backward/hash_set/25896.cc
  2c091597008357e678007f407f299a24  libstdc++-v3/testsuite/backward/hash_set/49060.cc
! 2698a443e19f71cbab30ef4754778267  libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
  9fad04735388a6a4650701a8a040e5e5  libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc
  9fe399a1fb42687787771b8cfef37157  libstdc++-v3/testsuite/backward/strstream_members.cc
  f7c72527b115ae77f289202a9e1439ac  libstdc++-v3/testsuite/backward/strstream_move.cc
--- 141918,141924 ----
  6fc43afff360ceef0b6d73943ee38f61  libstdc++-v3/testsuite/backward/hash_set/1.cc
  89a0e58a522391e68d2680afa635aeb2  libstdc++-v3/testsuite/backward/hash_set/25896.cc
  2c091597008357e678007f407f299a24  libstdc++-v3/testsuite/backward/hash_set/49060.cc
! 5f11513e4030ec3b98584d848c7c5490  libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
  9fad04735388a6a4650701a8a040e5e5  libstdc++-v3/testsuite/backward/hash_set/requirements/explicit_instantiation.cc
  9fe399a1fb42687787771b8cfef37157  libstdc++-v3/testsuite/backward/strstream_members.cc
  f7c72527b115ae77f289202a9e1439ac  libstdc++-v3/testsuite/backward/strstream_move.cc
diff -Nrcpad gcc-15-20260131/gcc/ChangeLog gcc-15-20260207/gcc/ChangeLog
*** gcc-15-20260131/gcc/ChangeLog	Sat Jan 31 22:32:05 2026
--- gcc-15-20260207/gcc/ChangeLog	Sat Feb  7 22:32:05 2026
***************
*** 1,3 ****
--- 1,212 ----
+ 2026-02-06  xiezhiheng  <xiezhiheng@huawei.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  xiezhiheng  <xiezhiheng@huawei.com>
+ 		    liyunfei  <liyunfei33@huawei.com>
+ 
+ 	* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add hip12 core
+ 	* config/aarch64/aarch64-cost-tables.h: Add hip12_extra_costs
+ 	* config/aarch64/aarch64-tune.md: Regenerate
+ 	* config/aarch64/aarch64.cc: Include hip12 tuning model
+ 	* doc/invoke.texi: Document -mcpu=hip12
+ 	* config/aarch64/tuning_models/hip12.h: New file.
+ 
+ 2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	* system.h: Avoid redefinition of CONST_CAST2 macro.
+ 
+ 2026-02-05  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* config/aarch64/aarch64-simd.md (aarch64_xarqv2di): Leave zero
+ 	rotate amounts as zero during expansion.
+ 	(*aarch64_xarqv2di_insn): Account for zero rotate amounts.  Print #
+ 	in rotate immediate.
+ 
+ 2026-02-05  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-28  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	PR target/123779
+ 	* config/i386/sse.md (*sse4_1_<code>v8qiv8hi2<mask_name>_2):
+ 	Rename to ...
+ 	(*sse4_1_<code>v8qiv8hi2_2): ... this, and drop mask conditions.
+ 	(*avx2_<code>v8qiv8si2<mask_name>_2): Rename to ...
+ 	(*avx2_<code>v8qiv8si2_2): ... this, and likewise.
+ 	(*sse4_1_<code>v4qiv4si2<mask_name>_2): Rename to ...
+ 	(*sse4_1_<code>v4qiv4si2_2): ... this, and likewise.
+ 	(*sse4_1_<code>v4hiv4si2<mask_name>_2): Rename to ...
+ 	(*sse4_1_<code>v4hiv4si2_2): ... this, and likewise.
+ 	(*avx2_<code>v4qiv4di2<mask_name>_2): Rename to ...
+ 	(*avx2_<code>v4qiv4di2_2): ... this, and likewise.
+ 	(*avx2_<code>v4hiv4di2<mask_name>_2): Rename to ...
+ 	(*avx2_<code>v4hiv4di2_2): ... this, and likewise.
+ 	(*sse4_1_<code>v2hiv2di2<mask_name>_2): Rename to ...
+ 	(*sse4_1_<code>v2hiv2di2_2): ... this, and likewise.
+ 	(*sse4_1_<code>v2siv2di2<mask_name>_2): Rename to ...
+ 	(*sse4_1_<code>v2siv2di2_2): ... this, and likewise.
+ 	(*avx512f_<code>v8qiv8di2<mask_name>_2): Rename to ...
+ 	(*avx512f_<code>v8qiv8di2_2): ... this.
+ 	(*avx512vl_<code>v8qiv8hi2_mask_2): New define_insn_and_split.
+ 	(*avx512vl_<code>v8qiv8si2_mask_2): Likewise.
+ 	(*avx512vl_<code>v4qiv4si2_mask_2): Likewise.
+ 	(*avx512vl_<code>v4hiv4si2_mask_2): Likewise.
+ 	(*avx512f_<code>v8qiv8di2_mask_2): Likewise.
+ 	(*avx512vl_<code>v4qiv4di2_mask_2): Likewise.
+ 	(*avx512vl_<code>v4hiv4di2_mask_2): Likewise.
+ 	(*avx512vl_<code>v2hiv2di2_mask_2): Likewise.
+ 	(*avx512vl_<code>v2siv2di2_mask_2): Likewise.
+ 
+ 2026-02-03  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-10-02  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/122051
+ 	* config/riscv/predicates.md (pmode_reg_or_uimm5_operand): Implement
+ 	directly rather than using vector_length_operand.
+ 
+ 2026-02-03  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-07-09  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/120642
+ 	* config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Do not do
+ 	constant AVL propagation for xtheadvector.
+ 
+ 2026-02-03  Alfie Richards  <alfie.richards@arm.com>
+ 
+ 	PR target/123548
+ 	* config/aarch64/arm_acle.h (__plix): Change arguments to be
+ 	const.
+ 	(__pldx): Change arguments to be const.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR debug/123886
+ 	* dwarf2out.cc (sym_off_pair::sym): Remove GTY((skip)).
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123794
+ 	* tree-vect-slp.cc (vect_remove_slp_scalar_calls): Unlink
+ 	VOPs for all calls.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123775
+ 	* match.pd ((view_convert (vec_cond ...))): Make sure the
+ 	resulting vec_cond can be expanded.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123729
+ 	* tree-vect-loop.cc (vect_create_epilog_for_reduction): Set
+ 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the reduction flows
+ 	across an abnomal edge.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	* tree-phinodes.h (phi_arg_index_from_use): Use gphi *.
+ 	(phi_arg_edge_from_use): New helper composing
+ 	phi_arg_index_from_use and gimple_phi_arg_edge.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123575
+ 	* match.pd (abs ((T)x) -> absu (x)): For vector type
+ 	arguments require the resulting operation is supported.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123537
+ 	* match.pd (REDUC (@0 & @1) -> @0[I] & @1[I]): Restrict
+ 	allowed conversions.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-27  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/116296
+ 	* ipa-modref-tree.cc (modref_access_node::contains): Use
+ 	poly_offset_int for the param offset difference and the
+ 	overlap computation.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/110043
+ 	* pointer-query.cc (get_offset_range): Fail for integer
+ 	types with precision larger than ptrdiff_type_node.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/109410
+ 	* tree-ssa-reassoc.cc (build_and_add_sum): Use
+ 	gsi_start_nondebug_after_labels_bb to look for a possible
+ 	returns-twice call.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR rtl-optimization/106859
+ 	* var-tracking.cc (val_store): Dump -1 as UID if setting_insn
+ 	is NULL.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-31  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123887
+ 	* match.pd ((a ? x : y) !=/== (b ? x : y)): Make sure
+ 	x and y have no side-effects before evaluating them
+ 	unconditionally.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123887
+ 	* match.pd ((zero_one ==/!= 0) ? .. z <op> y .. -> zero_one * z ..):
+ 	Check evaluating z unconditionally has no side-effects, like
+ 	trapping.
+ 
  2026-01-30  Lulu Cheng  <chenglulu@loongson.cn>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260131/gcc/DATESTAMP gcc-15-20260207/gcc/DATESTAMP
*** gcc-15-20260131/gcc/DATESTAMP	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/DATESTAMP	Sat Feb  7 22:32:06 2026
***************
*** 1 ****
! 20260131
--- 1 ----
! 20260207
diff -Nrcpad gcc-15-20260131/gcc/ada/ChangeLog gcc-15-20260207/gcc/ada/ChangeLog
*** gcc-15-20260131/gcc/ada/ChangeLog	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/ada/ChangeLog	Sat Feb  7 22:32:06 2026
***************
*** 1,3 ****
--- 1,19 ----
+ 2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+ 	    Liam Powell  <liam@liampwll.com>
+ 
+ 	PR ada/123902
+ 	* sem_ch4.adb (Analyze_Selected_Component): Also test
+ 	Core_Extensions_Allowed for discriminated private types.
+ 	Rework and augment commentary throughout the procedure.
+ 
+ 2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+ 	    Liam Powell  <liam@liampwll.com>
+ 
+ 	PR ada/121316
+ 	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Minor tweak.
+ 	(Expand_Iterator_Loop_Over_Container): Likewise.
+ 	(Expand_N_Loop_Statement): Use Statements (N) throughout.
+ 
  2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/123867
***************
*** 39,44 ****
--- 55,61 ----
  
  2026-01-21  Eric Botcazou  <ebotcazou@adacore.com>
  
+ 	PR ada/123580
  	* sem_ch13.adb (Analyze_Aspects_At_Freeze_Point): Replace call to
  	Scope_Within_Or_Same (Current_Scope, S) with In_Open_Scopes (S) to
  	test whether S is open in the current scope.
diff -Nrcpad gcc-15-20260131/gcc/ada/exp_ch5.adb gcc-15-20260207/gcc/ada/exp_ch5.adb
*** gcc-15-20260131/gcc/ada/exp_ch5.adb	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/ada/exp_ch5.adb	Sat Feb  7 22:32:06 2026
*************** package body Exp_Ch5 is
*** 4965,4971 ****
        Array_Dim  : constant Pos        := Number_Dimensions (Array_Typ);
        Id         : constant Entity_Id  := Defining_Identifier (I_Spec);
        Loc        : constant Source_Ptr := Sloc (Isc);
!       Stats      : List_Id    := Statements (N);
        Core_Loop  : Node_Id;
        Dim1       : Int;
        Ind_Comp   : Node_Id;
--- 4965,4974 ----
        Array_Dim  : constant Pos        := Number_Dimensions (Array_Typ);
        Id         : constant Entity_Id  := Defining_Identifier (I_Spec);
        Loc        : constant Source_Ptr := Sloc (Isc);
! 
!       Stats : List_Id := Statements (N);
!       --  Maybe wrapped in a conditional if a filter is present
! 
        Core_Loop  : Node_Id;
        Dim1       : Int;
        Ind_Comp   : Node_Id;
*************** package body Exp_Ch5 is
*** 5255,5261 ****
        Id_Kind  : constant Entity_Kind := Ekind (Id);
        Loc      : constant Source_Ptr  := Sloc (N);
  
!       Stats    : List_Id     := Statements (N);
        --  Maybe wrapped in a conditional if a filter is present
  
        Cursor         : Entity_Id;
--- 5258,5264 ----
        Id_Kind  : constant Entity_Kind := Ekind (Id);
        Loc      : constant Source_Ptr  := Sloc (N);
  
!       Stats : List_Id := Statements (N);
        --  Maybe wrapped in a conditional if a filter is present
  
        Cursor         : Entity_Id;
*************** package body Exp_Ch5 is
*** 5776,5782 ****
              Loop_Id : constant Entity_Id := Defining_Identifier (LPS);
              Ltype   : constant Entity_Id := Etype (Loop_Id);
              Btype   : constant Entity_Id := Base_Type (Ltype);
!             Stats   : constant List_Id   := Statements (N);
              Expr    : Node_Id;
              Decls   : List_Id;
              New_Id  : Entity_Id;
--- 5779,5785 ----
              Loop_Id : constant Entity_Id := Defining_Identifier (LPS);
              Ltype   : constant Entity_Id := Etype (Loop_Id);
              Btype   : constant Entity_Id := Base_Type (Ltype);
! 
              Expr    : Node_Id;
              Decls   : List_Id;
              New_Id  : Entity_Id;
*************** package body Exp_Ch5 is
*** 5797,5803 ****
                 Set_Statements (N,
                    New_List (Make_If_Statement (Loc,
                      Condition => Iterator_Filter (LPS),
!                     Then_Statements => Stats)));
                 Analyze_List (Statements (N));
              end if;
  
--- 5800,5806 ----
                 Set_Statements (N,
                    New_List (Make_If_Statement (Loc,
                      Condition => Iterator_Filter (LPS),
!                     Then_Statements => Statements (N))));
                 Analyze_List (Statements (N));
              end if;
  
*************** package body Exp_Ch5 is
*** 5917,5923 ****
                         Declarations => Decls,
                         Handled_Statement_Sequence =>
                           Make_Handled_Sequence_Of_Statements (Loc,
!                            Statements => Stats))),
  
                     End_Label => End_Label (N)));
  
--- 5920,5926 ----
                         Declarations => Decls,
                         Handled_Statement_Sequence =>
                           Make_Handled_Sequence_Of_Statements (Loc,
!                            Statements => Statements (N)))),
  
                     End_Label => End_Label (N)));
  
diff -Nrcpad gcc-15-20260131/gcc/ada/sem_ch4.adb gcc-15-20260207/gcc/ada/sem_ch4.adb
*** gcc-15-20260131/gcc/ada/sem_ch4.adb	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/ada/sem_ch4.adb	Sat Feb  7 22:32:06 2026
*************** package body Sem_Ch4 is
*** 5683,5694 ****
           --  Ada 2005 (AI05-0030): In the case of dispatching requeue, the
           --  selected component should resolve to a name.
  
!          --  Extension feature: Also support calls with prefixed views for
!          --  untagged record types.
  
           if Ada_Version >= Ada_2005
             and then (Is_Tagged_Type (Prefix_Type)
!                        or else Core_Extensions_Allowed)
             and then not Is_Concurrent_Type (Prefix_Type)
           then
              if Nkind (Parent (N)) = N_Generic_Association
--- 5683,5694 ----
           --  Ada 2005 (AI05-0030): In the case of dispatching requeue, the
           --  selected component should resolve to a name.
  
!          --  GNAT extension: Accept calls with prefixed view for untagged
!          --  record types.
  
           if Ada_Version >= Ada_2005
             and then (Is_Tagged_Type (Prefix_Type)
!                       or else Core_Extensions_Allowed)
             and then not Is_Concurrent_Type (Prefix_Type)
           then
              if Nkind (Parent (N)) = N_Generic_Association
*************** package body Sem_Ch4 is
*** 5758,5765 ****
                 --  Before declaring an error, check whether this is tagged
                 --  private type and a call to a primitive operation.
  
                 elsif Ada_Version >= Ada_2005
!                  and then Is_Tagged_Type (Prefix_Type)
                   and then Try_Object_Operation (N)
                 then
                    return;
--- 5758,5769 ----
                 --  Before declaring an error, check whether this is tagged
                 --  private type and a call to a primitive operation.
  
+                --  GNAT extension: Accept calls with prefixed view for
+                --  untagged private types
+ 
                 elsif Ada_Version >= Ada_2005
!                  and then (Is_Tagged_Type (Prefix_Type)
!                             or else Core_Extensions_Allowed)
                   and then Try_Object_Operation (N)
                 then
                    return;
*************** package body Sem_Ch4 is
*** 5777,5784 ****
              Next_Entity (Comp);
           end loop;
  
!          --  Extension feature: Also support calls with prefixed views for
!          --  untagged private types.
  
           if Core_Extensions_Allowed then
              if Try_Object_Operation (N) then
--- 5781,5788 ----
              Next_Entity (Comp);
           end loop;
  
!          --  GNAT extension: Accept calls with prefixed view for untagged
!          --  private types.
  
           if Core_Extensions_Allowed then
              if Try_Object_Operation (N) then
*************** package body Sem_Ch4 is
*** 5960,5968 ****
           --  visible entities are plausible interpretations, check whether
           --  there is some other primitive operation with that name.
  
           if Ada_Version >= Ada_2005 and then Is_Tagged_Type (Prefix_Type) then
!             if (Etype (N) = Any_Type
!                   or else not Has_Candidate)
                and then Try_Object_Operation (N)
              then
                 return;
--- 5964,5976 ----
           --  visible entities are plausible interpretations, check whether
           --  there is some other primitive operation with that name.
  
+          --  Note that, unlike for other types, we do not accept calls with
+          --  prefixed view for untagged concurrent types with -gnatX, since
+          --  this would require associated legality rules to avoid conflict
+          --  with protected operations or entries of the concurrent types.
+ 
           if Ada_Version >= Ada_2005 and then Is_Tagged_Type (Prefix_Type) then
!             if (Etype (N) = Any_Type or else not Has_Candidate)
                and then Try_Object_Operation (N)
              then
                 return;
*************** package body Sem_Ch4 is
*** 6038,6045 ****
  
           Set_Is_Overloaded (N, Is_Overloaded (Sel));
  
!       --  Extension feature: Also support calls with prefixed views for
!       --  untagged types.
  
        elsif Core_Extensions_Allowed
          and then Try_Object_Operation (N)
--- 6046,6052 ----
  
           Set_Is_Overloaded (N, Is_Overloaded (Sel));
  
!       --  GNAT extension: Accept calls with prefixed view for untagged types
  
        elsif Core_Extensions_Allowed
          and then Try_Object_Operation (N)
*************** package body Sem_Ch4 is
*** 10282,10289 ****
           --  type, this is not a prefixed call. Restore the previous type as
           --  the current one is not a legal candidate.
  
!          --  Extension feature: Calls with prefixed views are also supported
!          --  for untagged types, so skip the early return when extensions are
           --  enabled, unless the type doesn't have a primitive operations list
           --  (such as in the case of predefined types).
  
--- 10289,10296 ----
           --  type, this is not a prefixed call. Restore the previous type as
           --  the current one is not a legal candidate.
  
!          --  GNAT extension: Given that calls with prefixed view are accepted
!          --  for untagged types, skip the early return when extensions are
           --  enabled, unless the type doesn't have a primitive operations list
           --  (such as in the case of predefined types).
  
*************** package body Sem_Ch4 is
*** 10309,10315 ****
                     (Call_Node       => New_Call_Node,
                      Node_To_Replace => Node_To_Replace);
  
!                --  Extension feature: In the case where the prefix is of an
                 --  access type, and a primitive wasn't found for the designated
                 --  type, then if the access type has primitives we attempt a
                 --  prefixed call using one of its primitives. (It seems that
--- 10316,10322 ----
                     (Call_Node       => New_Call_Node,
                      Node_To_Replace => Node_To_Replace);
  
!                --  GNAT extension: In the case where the prefix is of an
                 --  access type, and a primitive wasn't found for the designated
                 --  type, then if the access type has primitives we attempt a
                 --  prefixed call using one of its primitives. (It seems that
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/aarch64-cores.def gcc-15-20260207/gcc/config/aarch64/aarch64-cores.def
*** gcc-15-20260131/gcc/config/aarch64/aarch64-cores.def	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/aarch64/aarch64-cores.def	Sat Feb  7 22:32:06 2026
*************** AARCH64_CORE("a64fx", a64fx, a64fx, V8_2
*** 135,140 ****
--- 135,141 ----
  AARCH64_CORE("fujitsu-monaka", fujitsu_monaka, cortexa57, V9_3A, (F16, FAMINMAX, FP8FMA, FP8DOT2, FP8DOT4, LS64, LUT, RNG, CRYPTO, SVE2_AES, SVE2_BITPERM, SVE2_SHA3, SVE2_SM4), fujitsu_monaka, 0x46, 0x003, -1)
  
  /* HiSilicon ('H') cores. */
+ AARCH64_CORE("hip12", hip12, cortexa57, V8_7A, (F16, PROFILE, RNG, SVE2_BITPERM, SVE2_AES, SVE2_SM4, SVE2_SHA3, LS64, RCPC3), hip12, 0x48, 0xd06, -1)
  AARCH64_CORE("tsv110",  tsv110, tsv110, V8_2A,  (CRYPTO, F16), tsv110,   0x48, 0xd01, -1)
  
  /* ARMv8.3-A Architecture Processors.  */
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/aarch64-cost-tables.h gcc-15-20260207/gcc/config/aarch64/aarch64-cost-tables.h
*** gcc-15-20260131/gcc/config/aarch64/aarch64-cost-tables.h	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/aarch64/aarch64-cost-tables.h	Sat Feb  7 22:32:06 2026
*************** const struct cpu_cost_table tsv110_extra
*** 561,566 ****
--- 561,673 ----
    }
  };
  
+ const struct cpu_cost_table hip12_extra_costs =
+ {
+   /* ALU */
+   {
+     0,                 /* arith.  */
+     0,                 /* logical.  */
+     0,                 /* shift.  */
+     0,                 /* shift_reg.  */
+     COSTS_N_INSNS (1), /* arith_shift.  */
+     COSTS_N_INSNS (1), /* arith_shift_reg.  */
+     0,                 /* log_shift.  */
+     0,                 /* log_shift_reg.  */
+     0,                 /* extend.  */
+     COSTS_N_INSNS (1), /* extend_arith.  */
+     0,                 /* bfi.  */
+     0,                 /* bfx.  */
+     0,                 /* clz.  */
+     0,                 /* rev.  */
+     0,                 /* non_exec.  */
+     true               /* non_exec_costs_exec.  */
+   },
+   {
+     /* MULT SImode */
+     {
+       COSTS_N_INSNS (1),       /* simple.  */
+       COSTS_N_INSNS (1),       /* flag_setting.  */
+       COSTS_N_INSNS (1),       /* extend.  */
+       COSTS_N_INSNS (2),       /* add.  */
+       COSTS_N_INSNS (2),       /* extend_add.  */
+       COSTS_N_INSNS (5)        /* idiv.  */
+     },
+     /* MULT DImode */
+     {
+       COSTS_N_INSNS (2),       /* simple.  */
+       0,                       /* flag_setting (N/A).  */
+       COSTS_N_INSNS (2),       /* extend.  */
+       COSTS_N_INSNS (3),       /* add.  */
+       COSTS_N_INSNS (3),       /* extend_add.  */
+       COSTS_N_INSNS (7)        /* idiv.  */
+     }
+   },
+   /* LD/ST */
+   {
+     COSTS_N_INSNS (3),         /* load.  */
+     COSTS_N_INSNS (3),         /* load_sign_extend.  */
+     COSTS_N_INSNS (3),         /* ldrd.  */
+     0,                         /* ldm_1st.  */
+     0,                         /* ldm_regs_per_insn_1st.  */
+     0,                         /* ldm_regs_per_insn_subsequent.  */
+     COSTS_N_INSNS (5),         /* loadf.  */
+     COSTS_N_INSNS (5),         /* loadd.  */
+     COSTS_N_INSNS (4),         /* load_unaligned.  */
+     0,                         /* store.  */
+     0,                         /* strd.  */
+     0,                         /* stm_1st.  */
+     0,                         /* stm_regs_per_insn_1st.  */
+     0,                         /* stm_regs_per_insn_subsequent.  */
+     0,                         /* storef.  */
+     0,                         /* stored.  */
+     COSTS_N_INSNS (1),         /* store_unaligned.  */
+     COSTS_N_INSNS (5),         /* loadv.  */
+     COSTS_N_INSNS (1)          /* storev.  */
+   },
+   {
+     /* FP SFmode */
+     {
+       COSTS_N_INSNS (5),       /* div.  */
+       COSTS_N_INSNS (2),       /* mult.  */
+       COSTS_N_INSNS (4),       /* mult_addsub.  */
+       COSTS_N_INSNS (3),       /* fma.  */
+       COSTS_N_INSNS (1),       /* addsub.  */
+       COSTS_N_INSNS (1),       /* fpconst.  */
+       0,                       /* neg.  */
+       COSTS_N_INSNS (1),       /* compare.  */
+       COSTS_N_INSNS (2),       /* widen.  */
+       COSTS_N_INSNS (2),       /* narrow.  */
+       COSTS_N_INSNS (2),       /* toint.  */
+       COSTS_N_INSNS (3),       /* fromint.  */
+       COSTS_N_INSNS (2)        /* roundint.  */
+     },
+     /* FP DFmode */
+     {
+       COSTS_N_INSNS (7),       /* div.  */
+       COSTS_N_INSNS (2),       /* mult.  */
+       COSTS_N_INSNS (4),       /* mult_addsub.  */
+       COSTS_N_INSNS (3),       /* fma.  */
+       COSTS_N_INSNS (1),       /* addsub.  */
+       COSTS_N_INSNS (1),       /* fpconst.  */
+       0,                       /* neg.  */
+       COSTS_N_INSNS (1),       /* compare.  */
+       COSTS_N_INSNS (2),       /* widen.  */
+       COSTS_N_INSNS (2),       /* narrow.  */
+       COSTS_N_INSNS (2),       /* toint.  */
+       COSTS_N_INSNS (3),       /* fromint.  */
+       COSTS_N_INSNS (2)        /* roundint.  */
+     }
+   },
+   /* Vector */
+   {
+     COSTS_N_INSNS (1),  /* alu.  */
+     COSTS_N_INSNS (2),  /* mult.  */
+     COSTS_N_INSNS (1),  /* movi.  */
+     COSTS_N_INSNS (1),  /* dup.  */
+     COSTS_N_INSNS (1)   /* extract.  */
+   }
+ };
+ 
  const struct cpu_cost_table a64fx_extra_costs =
  {
    /* ALU */
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/aarch64-simd.md gcc-15-20260207/gcc/config/aarch64/aarch64-simd.md
*** gcc-15-20260131/gcc/config/aarch64/aarch64-simd.md	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/aarch64/aarch64-simd.md	Sat Feb  7 22:32:06 2026
***************
*** 9166,9174 ****
  	 (match_operand:V2DI 3 "aarch64_simd_lshift_imm" "Dl")))]
    "TARGET_SHA3"
    {
      operands[3]
!       = GEN_INT (64 - INTVAL (unwrap_const_vec_duplicate (operands[3])));
!     return "xar\\t%0.2d, %1.2d, %2.2d, %3";
    }
    [(set_attr "type" "crypto_sha3")]
  )
--- 9166,9178 ----
  	 (match_operand:V2DI 3 "aarch64_simd_lshift_imm" "Dl")))]
    "TARGET_SHA3"
    {
+     /* Translate the RTL left-rotate amount into the assembly right-rotate
+        amount.  Modulo by 64 to ensure that a left-rotate of 0 is emitted
+        as a right-rotate of 0 as accepted by the assembly instruction.  */
      operands[3]
!       = GEN_INT ((64 - INTVAL (unwrap_const_vec_duplicate (operands[3])))
! 		  % 64);
!     return "xar\\t%0.2d, %1.2d, %2.2d, #%3";
    }
    [(set_attr "type" "crypto_sha3")]
  )
***************
*** 9188,9196 ****
  	 (match_operand:SI 3 "aarch64_simd_shift_imm_di")))]
    "TARGET_SHA3"
    {
!     operands[3]
!       = aarch64_simd_gen_const_vector_dup (V2DImode,
! 					   64 - INTVAL (operands[3]));
    }
  )
  
--- 9192,9203 ----
  	 (match_operand:SI 3 "aarch64_simd_shift_imm_di")))]
    "TARGET_SHA3"
    {
!       operands[3]
!         = aarch64_simd_gen_const_vector_dup (V2DImode,
! 					     /* In the edge case of a 0 rotate
! 						amount leave as is.  */
! 					     operands[3] == CONST0_RTX (SImode)
! 					       ? 0 : 64 - INTVAL (operands[3]));
    }
  )
  
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/aarch64-tune.md gcc-15-20260207/gcc/config/aarch64/aarch64-tune.md
*** gcc-15-20260131/gcc/config/aarch64/aarch64-tune.md	Sat Jan 31 22:32:18 2026
--- gcc-15-20260207/gcc/config/aarch64/aarch64-tune.md	Sat Feb  7 22:32:18 2026
***************
*** 1,5 ****
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,applem2_0,applem2_1,applem2_2,applem2_3,applem3_0,cortexa510,cortexa520,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,demeter,olympus,gb10,generic,generic_armv8_a,generic_armv9_a"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
--- 1,5 ----
  ;; -*- buffer-read-only: t -*-
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
! 	"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88,thunderxt88p1,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,hip12,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,oryon1,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexr82ae,applea12,applem1_0,applem1_1,applem1_2,applem1_3,applem2_0,applem2_1,applem2_2,applem2_3,applem3_0,cortexa510,cortexa520,cortexa520ae,cortexa710,cortexa715,cortexa720,cortexa720ae,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,demeter,olympus,gb10,generic,generic_armv8_a,generic_armv9_a"
  	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/aarch64.cc gcc-15-20260207/gcc/config/aarch64/aarch64.cc
*** gcc-15-20260131/gcc/config/aarch64/aarch64.cc	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/aarch64/aarch64.cc	Sat Feb  7 22:32:06 2026
*************** static const struct aarch64_flag_desc aa
*** 407,412 ****
--- 407,413 ----
  #include "tuning_models/thunderxt88.h"
  #include "tuning_models/thunderx.h"
  #include "tuning_models/tsv110.h"
+ #include "tuning_models/hip12.h"
  #include "tuning_models/xgene1.h"
  #include "tuning_models/emag.h"
  #include "tuning_models/qdf24xx.h"
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/arm_acle.h gcc-15-20260207/gcc/config/aarch64/arm_acle.h
*** gcc-15-20260131/gcc/config/aarch64/arm_acle.h	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/aarch64/arm_acle.h	Sat Feb  7 22:32:06 2026
*************** __pli (void const volatile *__addr)
*** 94,109 ****
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! __plix (unsigned int __cache, unsigned int __rettn,
  	void const volatile *__addr)
  {
    return __builtin_aarch64_plix (__cache, __rettn, __addr);
  }
  
  __extension__ extern __inline void
! __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! __pldx (unsigned int __access, unsigned int __cache, unsigned int __rettn,
! 	void const volatile *__addr)
  {
    return __builtin_aarch64_pldx (__access, __cache, __rettn, __addr);
  }
--- 94,109 ----
  
  __extension__ extern __inline void
  __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
! __plix (const unsigned int __cache, const unsigned int __rettn,
  	void const volatile *__addr)
  {
    return __builtin_aarch64_plix (__cache, __rettn, __addr);
  }
  
  __extension__ extern __inline void
!   __attribute__ ((__always_inline__, __gnu_inline__, __artificial__))
!   __pldx (const unsigned int __access, const unsigned int __cache,
! 	  const unsigned int __rettn, void const volatile *__addr)
  {
    return __builtin_aarch64_pldx (__access, __cache, __rettn, __addr);
  }
diff -Nrcpad gcc-15-20260131/gcc/config/aarch64/tuning_models/hip12.h gcc-15-20260207/gcc/config/aarch64/tuning_models/hip12.h
*** gcc-15-20260131/gcc/config/aarch64/tuning_models/hip12.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/config/aarch64/tuning_models/hip12.h	Sat Feb  7 22:32:06 2026
***************
*** 0 ****
--- 1,226 ----
+ /* Tuning model description for AArch64 architecture.
+    Copyright (C) 2009-2026 Free Software Foundation, Inc.
+ 
+    This file is part of GCC.
+ 
+    GCC is free software; you can redistribute it and/or modify it
+    under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3, or (at your option)
+    any later version.
+ 
+    GCC is distributed in the hope that it will be useful, but
+    WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    General Public License for more details.
+ 
+    You should have received a copy of the GNU General Public License
+    along with GCC; see the file COPYING3.  If not see
+    <http://www.gnu.org/licenses/>.  */
+ 
+ #ifndef GCC_AARCH64_H_HIP12
+ #define GCC_AARCH64_H_HIP12
+ 
+ #include "generic.h"
+ 
+ static const struct cpu_addrcost_table hip12_addrcost_table =
+ {
+     {
+       0, /* hi  */
+       0, /* si  */
+       0, /* di  */
+       2, /* ti  */
+     },
+   0, /* pre_modify  */
+   0, /* post_modify  */
+   2, /* post_modify_ld3_st3  */
+   2, /* post_modify_ld4_st4  */
+   0, /* register_offset  */
+   0, /* register_sextend  */
+   0, /* register_zextend  */
+   0, /* imm_offset  */
+ };
+ 
+ static const struct cpu_regmove_cost hip12_regmove_cost =
+ {
+   1, /* GP2GP  */
+   /* Spilling to int<->fp instead of memory is recommended so set
+      realistic costs compared to memmov_cost.  */
+   5, /* GP2FP  */
+   2, /* FP2GP  */
+   2  /* FP2FP  */
+ };
+ 
+ static const advsimd_vec_cost hip12_advsimd_vector_cost =
+ {
+   2, /* int_stmt_cost  */
+   2, /* fp_stmt_cost  */
+   2, /* ld2_st2_permute_cost  */
+   2, /* ld3_st3_permute_cost  */
+   3, /* ld4_st4_permute_cost  */
+   2, /* permute_cost  */
+   9, /* reduc_i8_cost  */
+   7, /* reduc_i16_cost  */
+   5, /* reduc_i32_cost  */
+   3, /* reduc_i64_cost  */
+   9, /* reduc_f16_cost  */
+   6, /* reduc_f32_cost  */
+   3, /* reduc_f64_cost  */
+   2, /* store_elt_extra_cost  */
+   2, /* vec_to_scalar_cost  */
+   4, /* scalar_to_vec_cost  */
+   6, /* align_load_cost  */
+   6, /* unalign_load_cost  */
+   1, /* unalign_store_cost  */
+   1  /* store_cost  */
+ };
+ 
+ static const sve_vec_cost hip12_sve_vector_cost =
+ {
+   {
+     2, /* int_stmt_cost  */
+     2, /* fp_stmt_cost  */
+     2, /* ld2_st2_permute_cost  */
+     3, /* ld3_st3_permute_cost  */
+     3, /* ld4_st4_permute_cost  */
+     2, /* permute_cost  */
+     /* Theoretically, a reduction involving 31 scalar ADDs could
+        complete in ~6 cycles and would have a cost of 31.  [SU]ADDV
+        completes in 13 cycles, so give it a cost of 31 + 7.  */
+     38, /* reduc_i8_cost  */
+     /* Likewise for 15 scalar ADDs (~3 cycles) vs. 10: 15 + 7.  */
+     22, /* reduc_i16_cost  */
+     /* Likewise for 7 scalar ADDs (~2 cycles) vs. 7: 7 + 5.  */
+     12, /* reduc_i32_cost  */
+     /* Likewise for 3 scalar ADDs (~1 cycles) vs. 4: 3 + 3.  */
+     6, /* reduc_i64_cost  */
+     /* Theoretically, a reduction involving 15 scalar FADDs could
+        complete in ~8 cycles and would have a cost of 30.  FADDV
+        completes in 15 cycles, so give it a cost of 30 + 7.  */
+     37, /* reduc_f16_cost  */
+     /* Likewise for 7 scalar FADDs (~4 cycles) vs. 12: 14 + 8.  */
+     22, /* reduc_f32_cost  */
+     /* Likewise for 3 scalar FADDs (~2 cycles) vs. 9: 6 + 7.  */
+     13, /* reduc_f64_cost  */
+     2, /* store_elt_extra_cost  */
+     2, /* vec_to_scalar_cost  */
+     4, /* scalar_to_vec_cost  */
+     6, /* align_load_cost  */
+     6, /* unalign_load_cost  */
+     1, /* unalign_store_cost  */
+     1  /* store_cost  */
+   },
+   3, /* clast_cost  */
+   42, /* fadda_f16_cost  */
+   26, /* fadda_f32_cost  */
+   20, /* fadda_f64_cost  */
+   32, /* gather_load_x32_cost  */
+   16, /* gather_load_x64_cost  */
+   96, /* gather_load_x32_init_cost  */
+   32, /* gather_load_x64_init_cost  */
+   3 /* scatter_store_elt_cost  */
+ };
+ 
+ static const aarch64_scalar_vec_issue_info hip12_scalar_issue_info =
+ {
+   5, /* loads_stores_per_cycle  */
+   2, /* stores_per_cycle  */
+   6, /* general_ops_per_cycle  */
+   0, /* fp_simd_load_general_ops  */
+   1 /* fp_simd_store_general_ops  */
+ };
+ 
+ static const aarch64_advsimd_vec_issue_info hip12_advsimd_issue_info =
+ {
+   {
+     5, /* loads_stores_per_cycle  */
+     2, /* stores_per_cycle  */
+     4, /* general_ops_per_cycle  */
+     0, /* fp_simd_load_general_ops  */
+     1 /* fp_simd_store_general_ops  */
+   },
+   2, /* ld2_st2_general_ops  */
+   2, /* ld3_st3_general_ops  */
+   3 /* ld4_st4_general_ops  */
+ };
+ 
+ static const aarch64_sve_vec_issue_info hip12_sve_issue_info =
+ {
+   {
+     {
+       5, /* loads_stores_per_cycle  */
+       2, /* stores_per_cycle  */
+       2, /* general_ops_per_cycle  */
+       0, /* fp_simd_load_general_ops  */
+       1 /* fp_simd_store_general_ops  */
+     },
+     2, /* ld2_st2_general_ops  */
+     2, /* ld3_st3_general_ops  */
+     3 /* ld4_st4_general_ops  */
+   },
+   2, /* pred_ops_per_cycle  */
+   2, /* while_pred_ops  */
+   2, /* int_cmp_pred_ops  */
+   1, /* fp_cmp_pred_ops  */
+   1, /* gather_scatter_pair_general_ops  */
+   1 /* gather_scatter_pair_pred_ops  */
+ };
+ 
+ static const aarch64_vec_issue_info hip12_vec_issue_info =
+ {
+   &hip12_scalar_issue_info,
+   &hip12_advsimd_issue_info,
+   &hip12_sve_issue_info
+ };
+ 
+ static const struct cpu_vector_cost hip12_vector_cost =
+ {
+   1, /* scalar_int_stmt_cost  */
+   2, /* scalar_fp_stmt_cost  */
+   4, /* scalar_load_cost  */
+   1, /* scalar_store_cost  */
+   1, /* cond_taken_branch_cost  */
+   1, /* cond_not_taken_branch_cost  */
+   &hip12_advsimd_vector_cost, /* advsimd  */
+   &hip12_sve_vector_cost, /* sve  */
+   &hip12_vec_issue_info /* issue_info  */
+ };
+ 
+ static const struct tune_params hip12_tunings =
+ {
+   &hip12_extra_costs,
+   &hip12_addrcost_table,
+   &hip12_regmove_cost,
+   &hip12_vector_cost,
+   &generic_branch_cost,
+   &generic_approx_modes,
+   SVE_256, /* sve_width  */
+   { 4, /* load_int.  */
+     1, /* store_int.  */
+     6, /* load_fp.  */
+     1, /* store_fp.  */
+     8, /* load_pred.  */
+     4 /* store_pred.  */
+   }, /* memmov_cost.  */
+   8,    /* issue_rate  */
+   (AARCH64_FUSE_BASE
+    | AARCH64_FUSE_CMP_CSEL
+    | AARCH64_FUSE_CMP_CSET), /* fusible_ops  */
+   "16", /* function_align.  */
+   "4",  /* jump_align.  */
+   "8",  /* loop_align.  */
+   2,    /* int_reassoc_width.  */
+   4,    /* fp_reassoc_width.  */
+   2,    /* fma_reassoc_width.  */
+   2,    /* vec_reassoc_width.  */
+   2,    /* min_div_recip_mul_sf.  */
+   2,    /* min_div_recip_mul_df.  */
+   0,    /* max_case_values.  */
+   tune_params::AUTOPREFETCHER_WEAK,    /* autoprefetcher_model.  */
+   (AARCH64_EXTRA_TUNE_BASE
+    | AARCH64_EXTRA_TUNE_MATCHED_VECTOR_THROUGHPUT),    /* tune_flags.  */
+   &generic_armv8_a_prefetch_tune,
+   AARCH64_LDP_STP_POLICY_ALWAYS,    /* ldp_policy_model.  */
+   AARCH64_LDP_STP_POLICY_ALWAYS     /* stp_policy_model.  */
+ };
+ 
+ #endif /* GCC_AARCH64_H_HIP12.  */
diff -Nrcpad gcc-15-20260131/gcc/config/i386/sse.md gcc-15-20260207/gcc/config/i386/sse.md
*** gcc-15-20260131/gcc/config/i386/sse.md	Sat Jan 31 22:32:06 2026
--- gcc-15-20260207/gcc/config/i386/sse.md	Sat Feb  7 22:32:07 2026
***************
*** 24254,24260 ****
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v8qiv8hi2<mask_name>_2"
    [(set (match_operand:V8HI 0 "register_operand")
  	(any_extend:V8HI
  	  (vec_select:V8QI
--- 24254,24260 ----
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v8qiv8hi2_2"
    [(set (match_operand:V8HI 0 "register_operand")
  	(any_extend:V8HI
  	  (vec_select:V8QI
***************
*** 24266,24272 ****
  		       (const_int 2) (const_int 3)
  		       (const_int 4) (const_int 5)
  		       (const_int 6) (const_int 7)]))))]
!   "TARGET_SSE4_1 && <mask_avx512bw_condition> && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 24266,24272 ----
  		       (const_int 2) (const_int 3)
  		       (const_int 4) (const_int 5)
  		       (const_int 6) (const_int 7)]))))]
!   "TARGET_SSE4_1
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 24274,24279 ****
--- 24274,24305 ----
  	(any_extend:V8HI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v8qiv8hi2_mask_2"
+   [(set (match_operand:V8HI 0 "register_operand")
+ 	(vec_merge:V8HI
+ 	  (any_extend:V8HI
+ 	    (vec_select:V8QI
+ 	      (subreg:V16QI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)
+ 		         (const_int 4) (const_int 5)
+ 		         (const_int 6) (const_int 7)])))
+ 	  (match_operand:V8HI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL && TARGET_AVX512BW
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V8HI
+ 	  (any_extend:V8HI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
+ 
  (define_insn_and_split "*sse4_1_zero_extendv8qiv8hi2_3"
    [(set (match_operand:V16QI 0 "register_operand" "=Yr,*x,Yw")
  	(vec_select:V16QI
***************
*** 24406,24412 ****
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v8qiv8si2<mask_name>_2"
    [(set (match_operand:V8SI 0 "register_operand")
  	(any_extend:V8SI
  	  (vec_select:V8QI
--- 24432,24438 ----
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v8qiv8si2_2"
    [(set (match_operand:V8SI 0 "register_operand")
  	(any_extend:V8SI
  	  (vec_select:V8QI
***************
*** 24418,24424 ****
  		       (const_int 2) (const_int 3)
  		       (const_int 4) (const_int 5)
  		       (const_int 6) (const_int 7)]))))]
!   "TARGET_AVX2 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 24444,24450 ----
  		       (const_int 2) (const_int 3)
  		       (const_int 4) (const_int 5)
  		       (const_int 6) (const_int 7)]))))]
!   "TARGET_AVX2
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 24426,24431 ****
--- 24452,24484 ----
  	(any_extend:V8SI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v8qiv8si2_mask_2"
+   [(set (match_operand:V8SI 0 "register_operand")
+ 	(vec_merge:V8SI
+ 	  (any_extend:V8SI
+ 	    (vec_select:V8QI
+ 	      (subreg:V16QI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)
+ 			 (const_int 4) (const_int 5)
+ 			 (const_int 6) (const_int 7)])))
+ 	  (match_operand:V8SI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V8SI
+ 	  (any_extend:V8SI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
+ 
+ 
  (define_expand "<insn>v8qiv8si2"
    [(set (match_operand:V8SI 0 "register_operand")
  	(any_extend:V8SI
***************
*** 24469,24475 ****
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v4qiv4si2<mask_name>_2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
  	  (vec_select:V4QI
--- 24522,24528 ----
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v4qiv4si2_2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
  	  (vec_select:V4QI
***************
*** 24491,24496 ****
--- 24544,24578 ----
  	(any_extend:V4SI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V4QImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v4qiv4si2_mask_2"
+   [(set (match_operand:V4SI 0 "register_operand")
+ 	(vec_merge:V4SI
+ 	  (any_extend:V4SI
+ 	    (vec_select:V4QI
+ 	      (subreg:V16QI
+ 		(vec_merge:V4SI
+ 		  (vec_duplicate:V4SI
+ 		    (match_operand:SI 1 "memory_operand"))
+ 		  (const_vector:V4SI
+ 		    [(const_int 0) (const_int 0)
+ 		     (const_int 0) (const_int 0)])
+ 		  (const_int 1)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)])))
+ 	  (match_operand:V4SI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V4SI
+ 	  (any_extend:V4SI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V4QImode, 0);")
+ 
+ 
  (define_expand "<insn>v4qiv4si2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
***************
*** 24642,24648 ****
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v4hiv4si2<mask_name>_2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
  	  (vec_select:V4HI
--- 24724,24730 ----
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v4hiv4si2_2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
  	  (vec_select:V4HI
***************
*** 24652,24658 ****
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_SSE4_1 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 24734,24740 ----
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_SSE4_1
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 24660,24665 ****
--- 24742,24772 ----
  	(any_extend:V4SI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V4HImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v4hiv4si2_mask_2"
+   [(set (match_operand:V4SI 0 "register_operand")
+ 	(vec_merge:V4SI
+ 	  (any_extend:V4SI
+ 	    (vec_select:V4HI
+ 	      (subreg:V8HI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)])))
+ 	  (match_operand:V4SI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V4SI
+ 	  (any_extend:V4SI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V4HImode, 0);")
+ 
+ 
  (define_expand "<insn>v4hiv4si2"
    [(set (match_operand:V4SI 0 "register_operand")
  	(any_extend:V4SI
***************
*** 24770,24776 ****
     (set_attr "prefix" "evex")
     (set_attr "mode" "XI")])
  
! (define_insn_and_split "*avx512f_<code>v8qiv8di2<mask_name>_2"
    [(set (match_operand:V8DI 0 "register_operand")
  	(any_extend:V8DI
  	  (vec_select:V8QI
--- 24877,24883 ----
     (set_attr "prefix" "evex")
     (set_attr "mode" "XI")])
  
! (define_insn_and_split "*avx512f_<code>v8qiv8di2_2"
    [(set (match_operand:V8DI 0 "register_operand")
  	(any_extend:V8DI
  	  (vec_select:V8QI
***************
*** 24789,24794 ****
--- 24896,24927 ----
  	(any_extend:V8DI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
  
+ (define_insn_and_split "*avx512f_<code>v8qiv8di2_mask_2"
+   [(set (match_operand:V8DI 0 "register_operand")
+ 	(vec_merge:V8DI
+ 	  (any_extend:V8DI
+ 	    (vec_select:V8QI
+ 	      (subreg:V16QI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)
+ 		         (const_int 4) (const_int 5)
+ 		         (const_int 6) (const_int 7)])))
+ 	  (match_operand:V8DI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512F && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V8DI
+ 	  (any_extend:V8DI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V8QImode, 0);")
+ 
+ 
  (define_expand "<insn>v8qiv8di2"
    [(set (match_operand:V8DI 0 "register_operand")
  	(any_extend:V8DI
***************
*** 24829,24835 ****
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v4qiv4di2<mask_name>_2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
  	  (vec_select:V4QI
--- 24962,24968 ----
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v4qiv4di2_2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
  	  (vec_select:V4QI
***************
*** 24843,24849 ****
  		(const_int 1)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_AVX2 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 24976,24982 ----
  		(const_int 1)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_AVX2
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 24851,24856 ****
--- 24984,25018 ----
  	(any_extend:V4DI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V4QImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v4qiv4di2_mask_2"
+   [(set (match_operand:V4DI 0 "register_operand")
+ 	(vec_merge:V4DI
+ 	  (any_extend:V4DI
+ 	    (vec_select:V4QI
+ 	      (subreg:V16QI
+ 		(vec_merge:V4SI
+ 		  (vec_duplicate:V4SI
+ 		    (match_operand:SI 1 "memory_operand"))
+ 		  (const_vector:V4SI
+ 		    [(const_int 0) (const_int 0)
+ 		     (const_int 0) (const_int 0)])
+ 		  (const_int 1)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 			 (const_int 2) (const_int 3)])))
+ 	  (match_operand:V4DI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V4DI
+ 	  (any_extend:V4DI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V4QImode, 0);")
+ 
+ 
  (define_expand "<insn>v4qiv4di2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
***************
*** 24972,24978 ****
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v4hiv4di2<mask_name>_2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
  	  (vec_select:V4HI
--- 25134,25140 ----
     (set_attr "prefix" "maybe_evex")
     (set_attr "mode" "OI")])
  
! (define_insn_and_split "*avx2_<code>v4hiv4di2_2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
  	  (vec_select:V4HI
***************
*** 24982,24988 ****
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_AVX2 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 25144,25150 ----
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)
  		       (const_int 2) (const_int 3)]))))]
!   "TARGET_AVX2
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 24990,24995 ****
--- 25152,25182 ----
  	(any_extend:V4DI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V4HImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v4hiv4di2_mask_2"
+   [(set (match_operand:V4DI 0 "register_operand")
+ 	(vec_merge:V4DI
+ 	  (any_extend:V4DI
+ 	    (vec_select:V4HI
+ 	      (subreg:V8HI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)
+ 		         (const_int 2) (const_int 3)])))
+ 	  (match_operand:V4DI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V4DI
+ 	  (any_extend:V4DI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V4HImode, 0);")
+ 
+ 
  (define_expand "<insn>v4hiv4di2"
    [(set (match_operand:V4DI 0 "register_operand")
  	(any_extend:V4DI
***************
*** 25032,25038 ****
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v2hiv2di2<mask_name>_2"
    [(set (match_operand:V2DI 0 "register_operand")
  	(any_extend:V2DI
  	  (vec_select:V2HI
--- 25219,25225 ----
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v2hiv2di2_2"
    [(set (match_operand:V2DI 0 "register_operand")
  	(any_extend:V2DI
  	  (vec_select:V2HI
***************
*** 25045,25051 ****
  		    (const_int 0) (const_int 0)])
  		(const_int 1)) 0)
  	    (parallel [(const_int 0) (const_int 1)]))))]
!   "TARGET_SSE4_1 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 25232,25238 ----
  		    (const_int 0) (const_int 0)])
  		(const_int 1)) 0)
  	    (parallel [(const_int 0) (const_int 1)]))))]
!   "TARGET_SSE4_1
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 25053,25058 ****
--- 25240,25273 ----
  	(any_extend:V2DI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V2HImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v2hiv2di2_mask_2"
+   [(set (match_operand:V2DI 0 "register_operand")
+ 	(vec_merge:V2DI
+ 	  (any_extend:V2DI
+ 	    (vec_select:V2HI
+ 	      (subreg:V8HI
+ 		(vec_merge:V4SI
+ 		  (vec_duplicate:V4SI
+ 		    (match_operand:SI 1 "memory_operand"))
+ 		  (const_vector:V4SI
+ 		    [(const_int 0) (const_int 0)
+ 		     (const_int 0) (const_int 0)])
+ 		  (const_int 1)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)])))
+ 	  (match_operand:V2DI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V2DI
+ 	  (any_extend:V2DI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V2HImode, 0);")
+ 
+ 
  (define_expand "<insn>v2hiv2di2"
    [(set (match_operand:V2DI 0 "register_operand")
  	(any_extend:V2DI
***************
*** 25198,25204 ****
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v2siv2di2<mask_name>_2"
    [(set (match_operand:V2DI 0 "register_operand")
  	(any_extend:V2DI
  	  (vec_select:V2SI
--- 25413,25419 ----
     (set_attr "prefix" "orig,orig,maybe_evex")
     (set_attr "mode" "TI")])
  
! (define_insn_and_split "*sse4_1_<code>v2siv2di2_2"
    [(set (match_operand:V2DI 0 "register_operand")
  	(any_extend:V2DI
  	  (vec_select:V2SI
***************
*** 25207,25213 ****
  		(match_operand:DI 1 "memory_operand")
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)]))))]
!   "TARGET_SSE4_1 && <mask_avx512vl_condition>
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
--- 25422,25428 ----
  		(match_operand:DI 1 "memory_operand")
  		(const_int 0)) 0)
  	    (parallel [(const_int 0) (const_int 1)]))))]
!   "TARGET_SSE4_1
     && ix86_pre_reload_split ()"
    "#"
    "&& 1"
***************
*** 25215,25220 ****
--- 25430,25458 ----
  	(any_extend:V2DI (match_dup 1)))]
    "operands[1] = adjust_address_nv (operands[1], V2SImode, 0);")
  
+ (define_insn_and_split "*avx512vl_<code>v2siv2di2_mask_2"
+   [(set (match_operand:V2DI 0 "register_operand")
+ 	(vec_merge:V2DI
+ 	  (any_extend:V2DI
+ 	    (vec_select:V2SI
+ 	      (subreg:V4SI
+ 		(vec_concat:V2DI
+ 		  (match_operand:DI 1 "memory_operand")
+ 		  (const_int 0)) 0)
+ 	      (parallel [(const_int 0) (const_int 1)])))
+ 	  (match_operand:V2DI 2 "nonimm_or_0_operand")
+ 	  (match_operand:QI 3 "register_operand")))]
+   "TARGET_AVX512VL
+    && ix86_pre_reload_split ()"
+   "#"
+   "&& 1"
+   [(set (match_dup 0)
+ 	(vec_merge:V2DI
+ 	  (any_extend:V2DI (match_dup 1))
+ 	  (match_dup 2)
+ 	  (match_dup 3)))]
+   "operands[1] = adjust_address_nv (operands[1], V2SImode, 0);")
+ 
  (define_insn_and_split "*sse4_1_zero_extendv2siv2di2_3"
    [(set (match_operand:V4SI 0 "register_operand" "=Yr,*x,v")
  	(vec_select:V4SI
diff -Nrcpad gcc-15-20260131/gcc/config/riscv/predicates.md gcc-15-20260207/gcc/config/riscv/predicates.md
*** gcc-15-20260131/gcc/config/riscv/predicates.md	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/config/riscv/predicates.md	Sat Feb  7 22:32:07 2026
***************
*** 589,601 ****
  (define_predicate "ge_operator"
    (match_code "ge,geu"))
  
! ;; pmode_reg_or_uimm5_operand can be used by vsll.vx/vsrl.vx/vsra.vx instructions.
! ;; Since it has the same predicate with vector_length_operand which allows register
! ;; or immediate (0 ~ 31), we define this predicate same as vector_length_operand here.
! ;; We don't use vector_length_operand directly to predicate vsll.vx/vsrl.vx/vsra.vx
! ;; since it may be confusing.
  (define_special_predicate "pmode_reg_or_uimm5_operand"
!   (match_operand 0 "vector_length_operand"))
  
  (define_special_predicate "pmode_reg_or_0_operand"
    (ior (match_operand 0 "const_0_operand")
--- 589,600 ----
  (define_predicate "ge_operator"
    (match_code "ge,geu"))
  
! ;; pmode_reg_or_uimm5_operand can be used by vsll.vx/vsrl.vx/vsra.vx instructions
! ;; It is *not* equivalent to vector_length_operand due to the vector_length_operand
! ;; needing to conditionalize some behavior on XTHEADVECTOR.
  (define_special_predicate "pmode_reg_or_uimm5_operand"
!   (ior (match_operand 0 "pmode_register_operand")
!        (match_operand 0 "const_csr_operand")))
  
  (define_special_predicate "pmode_reg_or_0_operand"
    (ior (match_operand 0 "const_0_operand")
diff -Nrcpad gcc-15-20260131/gcc/config/riscv/riscv-avlprop.cc gcc-15-20260207/gcc/config/riscv/riscv-avlprop.cc
*** gcc-15-20260131/gcc/config/riscv/riscv-avlprop.cc	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/config/riscv/riscv-avlprop.cc	Sat Feb  7 22:32:07 2026
*************** pass_avlprop::execute (function *fn)
*** 512,518 ****
        simplify_replace_vlmax_avl (rinsn, prop.second);
      }
  
!   if (rvv_vector_bits == RVV_VECTOR_BITS_ZVL)
      {
        /* Simplify VLMAX AVL into immediate AVL.
  	 E.g. Simplify this following case:
--- 512,518 ----
        simplify_replace_vlmax_avl (rinsn, prop.second);
      }
  
!   if (rvv_vector_bits == RVV_VECTOR_BITS_ZVL && !TARGET_XTHEADVECTOR)
      {
        /* Simplify VLMAX AVL into immediate AVL.
  	 E.g. Simplify this following case:
diff -Nrcpad gcc-15-20260131/gcc/cp/ChangeLog gcc-15-20260207/gcc/cp/ChangeLog
*** gcc-15-20260131/gcc/cp/ChangeLog	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/cp/ChangeLog	Sat Feb  7 22:32:07 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-02-05  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/122169
+ 	* pt.cc (tsubst_pack_index): Propagate cv-qualifiers of
+ 	PACK_INDEX_TYPE.
+ 
  2026-01-27  Patrick Palka  <ppalka@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260131/gcc/cp/pt.cc gcc-15-20260207/gcc/cp/pt.cc
*** gcc-15-20260131/gcc/cp/pt.cc	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/cp/pt.cc	Sat Feb  7 22:32:07 2026
*************** tsubst_pack_index (tree t, tree args, ts
*** 14141,14150 ****
    tree index = tsubst_expr (PACK_INDEX_INDEX (t), args, complain, in_decl);
    const bool parenthesized_p = (TREE_CODE (t) == PACK_INDEX_EXPR
  				&& PACK_INDEX_PARENTHESIZED_P (t));
    if (!value_dependent_expression_p (index) && TREE_CODE (pack) == TREE_VEC)
!     return pack_index_element (index, pack, parenthesized_p, complain);
    else
!     return make_pack_index (pack, index);
  }
  
  /* Make an argument pack out of the TREE_VEC VEC.  */
--- 14141,14155 ----
    tree index = tsubst_expr (PACK_INDEX_INDEX (t), args, complain, in_decl);
    const bool parenthesized_p = (TREE_CODE (t) == PACK_INDEX_EXPR
  				&& PACK_INDEX_PARENTHESIZED_P (t));
+   tree r;
    if (!value_dependent_expression_p (index) && TREE_CODE (pack) == TREE_VEC)
!     r = pack_index_element (index, pack, parenthesized_p, complain);
    else
!     r = make_pack_index (pack, index);
!   if (TREE_CODE (t) == PACK_INDEX_TYPE)
!     r = cp_build_qualified_type (r, cp_type_quals (t) | cp_type_quals (r),
! 				 complain | tf_ignore_bad_quals);
!   return r;
  }
  
  /* Make an argument pack out of the TREE_VEC VEC.  */
diff -Nrcpad gcc-15-20260131/gcc/doc/invoke.texi gcc-15-20260207/gcc/doc/invoke.texi
*** gcc-15-20260131/gcc/doc/invoke.texi	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/doc/invoke.texi	Sat Feb  7 22:32:07 2026
*************** performance of the code.  Permissible va
*** 22016,22022 ****
  @samp{octeontx2f95mm},
  @samp{a64fx}, @samp{fujitsu-monaka},
  @samp{thunderx}, @samp{thunderxt88},
! @samp{thunderxt88p1}, @samp{thunderxt81}, @samp{tsv110},
  @samp{thunderxt83}, @samp{thunderx2t99}, @samp{thunderx3t110}, @samp{zeus},
  @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
--- 22016,22022 ----
  @samp{octeontx2f95mm},
  @samp{a64fx}, @samp{fujitsu-monaka},
  @samp{thunderx}, @samp{thunderxt88},
! @samp{thunderxt88p1}, @samp{thunderxt81}, @samp{tsv110}, @samp{hip12},
  @samp{thunderxt83}, @samp{thunderx2t99}, @samp{thunderx3t110}, @samp{zeus},
  @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
  @samp{cortex-a73.cortex-a35}, @samp{cortex-a73.cortex-a53},
diff -Nrcpad gcc-15-20260131/gcc/dwarf2out.cc gcc-15-20260207/gcc/dwarf2out.cc
*** gcc-15-20260131/gcc/dwarf2out.cc	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/dwarf2out.cc	Sat Feb  7 22:32:07 2026
*************** equate_type_number_to_die (tree type, dw
*** 5942,5948 ****
  static dw_die_ref maybe_create_die_with_external_ref (tree);
  struct GTY(()) sym_off_pair
  {
!   const char * GTY((skip)) sym;
    unsigned HOST_WIDE_INT off;
  };
  static GTY(()) hash_map<tree, sym_off_pair> *external_die_map;
--- 5942,5948 ----
  static dw_die_ref maybe_create_die_with_external_ref (tree);
  struct GTY(()) sym_off_pair
  {
!   const char *sym;
    unsigned HOST_WIDE_INT off;
  };
  static GTY(()) hash_map<tree, sym_off_pair> *external_die_map;
diff -Nrcpad gcc-15-20260131/gcc/ipa-modref-tree.cc gcc-15-20260207/gcc/ipa-modref-tree.cc
*** gcc-15-20260131/gcc/ipa-modref-tree.cc	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/ipa-modref-tree.cc	Sat Feb  7 22:32:07 2026
*************** modref_access_node::operator == (modref_
*** 59,65 ****
  bool
  modref_access_node::contains (const modref_access_node &a) const
  {
!   poly_int64 aoffset_adj = 0;
    if (parm_index != MODREF_UNKNOWN_PARM)
      {
        if (parm_index != a.parm_index)
--- 59,65 ----
  bool
  modref_access_node::contains (const modref_access_node &a) const
  {
!   poly_offset_int aoffset_adj = 0;
    if (parm_index != MODREF_UNKNOWN_PARM)
      {
        if (parm_index != a.parm_index)
*************** modref_access_node::contains (const modr
*** 80,86 ****
  	      a.offset may result in non-negative offset again.
  	      Ubsan fails on val << LOG_BITS_PER_UNIT where val
  	      is negative.  */
! 	   aoffset_adj = (a.parm_offset - parm_offset)
  			 * BITS_PER_UNIT;
  	}
      }
--- 80,87 ----
  	      a.offset may result in non-negative offset again.
  	      Ubsan fails on val << LOG_BITS_PER_UNIT where val
  	      is negative.  */
! 	   aoffset_adj = (poly_offset_int::from (a.parm_offset, SIGNED)
! 			  - poly_offset_int::from (parm_offset, SIGNED))
  			 * BITS_PER_UNIT;
  	}
      }
*************** modref_access_node::contains (const modr
*** 96,105 ****
  	      || !known_le (size, a.size)))
  	return false;
        if (known_size_p (max_size))
! 	return known_subrange_p (a.offset + aoffset_adj,
! 				 a.max_size, offset, max_size);
        else
! 	return known_le (offset, a.offset + aoffset_adj);
      }
    return true;
  }
--- 97,110 ----
  	      || !known_le (size, a.size)))
  	return false;
        if (known_size_p (max_size))
! 	return known_subrange_p (poly_offset_int::from (a.offset, SIGNED)
! 				 + aoffset_adj, a.max_size,
! 				 poly_offset_int::from (offset, SIGNED),
! 				 max_size);
        else
! 	return known_le (poly_offset_int::from (offset, SIGNED),
! 			 poly_offset_int::from (a.offset, SIGNED)
! 			 + aoffset_adj);
      }
    return true;
  }
diff -Nrcpad gcc-15-20260131/gcc/match.pd gcc-15-20260207/gcc/match.pd
*** gcc-15-20260131/gcc/match.pd	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/match.pd	Sat Feb  7 22:32:07 2026
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 214,220 ****
  (simplify (abs (convert @0))
   (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
        && !TYPE_UNSIGNED (TREE_TYPE (@0))
!       && element_precision (type) > element_precision (TREE_TYPE (@0)))
    (with { tree utype = unsigned_type_for (TREE_TYPE (@0)); }
     (convert (absu:utype @0)))))
  
--- 214,222 ----
  (simplify (abs (convert @0))
   (if (ANY_INTEGRAL_TYPE_P (TREE_TYPE (@0))
        && !TYPE_UNSIGNED (TREE_TYPE (@0))
!       && element_precision (type) > element_precision (TREE_TYPE (@0))
!       && (!VECTOR_TYPE_P (type)
! 	  || target_supports_op_p (TREE_TYPE (@0), ABSU_EXPR, optab_vector)))
    (with { tree utype = unsigned_type_for (TREE_TYPE (@0)); }
     (convert (absu:utype @0)))))
  
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 4810,4816 ****
          (op:c @2 @1))
    (if (INTEGRAL_TYPE_P (type)
         && TYPE_PRECISION (type) > 1
!        && (INTEGRAL_TYPE_P (TREE_TYPE (@0))))
         (op (mult (convert:type @0) @2) @1))))
  
  /* (zero_one != 0) ? z <op> y : y -> ((typeof(y))zero_one * z) <op> y */
--- 4812,4819 ----
          (op:c @2 @1))
    (if (INTEGRAL_TYPE_P (type)
         && TYPE_PRECISION (type) > 1
!        && INTEGRAL_TYPE_P (TREE_TYPE (@0))
!        && expr_no_side_effects_p (@2))
         (op (mult (convert:type @0) @2) @1))))
  
  /* (zero_one != 0) ? z <op> y : y -> ((typeof(y))zero_one * z) <op> y */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 4822,4828 ****
          @1)
    (if (INTEGRAL_TYPE_P (type)
         && TYPE_PRECISION (type) > 1
!        && (INTEGRAL_TYPE_P (TREE_TYPE (@0))))
         (op (mult (convert:type @0) @2) @1))))
  
  /* ?: Value replacement. */
--- 4825,4832 ----
          @1)
    (if (INTEGRAL_TYPE_P (type)
         && TYPE_PRECISION (type) > 1
!        && INTEGRAL_TYPE_P (TREE_TYPE (@0))
!        && expr_no_side_effects_p (@2))
         (op (mult (convert:type @0) @2) @1))))
  
  /* ?: Value replacement. */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 5864,5870 ****
   (if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (@1))
        && known_eq (TYPE_VECTOR_SUBPARTS (type),
  		   TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1)))
!       && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (@1))))
    (vec_cond @0 (view_convert! @1) (view_convert! @2))))
  
  /* Sink binary operation to branches, but only if we can fold it.  */
--- 5868,5876 ----
   (if (VECTOR_TYPE_P (type) && VECTOR_TYPE_P (TREE_TYPE (@1))
        && known_eq (TYPE_VECTOR_SUBPARTS (type),
  		   TYPE_VECTOR_SUBPARTS (TREE_TYPE (@1)))
!       && tree_nop_conversion_p (TREE_TYPE (type), TREE_TYPE (TREE_TYPE (@1)))
!       && (expand_vec_cond_expr_p (type, TREE_TYPE (@0))
! 	  || !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0))))
    (vec_cond @0 (view_convert! @1) (view_convert! @2))))
  
  /* Sink binary operation to branches, but only if we can fold it.  */
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6059,6065 ****
     (eqne (cnd @0 @1 @2) (cnd @3 @1 @2))
      (if (!HONOR_NANS (@1)
  	 && types_match (TREE_TYPE (@0), TREE_TYPE (@3))
!          && types_match (type, TREE_TYPE (@0)))
       (cnd (bit_and (bit_xor @0 @3) (ne:type @1 @2))
        { constant_boolean_node (eqne == NE_EXPR, type); }
        { constant_boolean_node (eqne != NE_EXPR, type); })))
--- 6065,6073 ----
     (eqne (cnd @0 @1 @2) (cnd @3 @1 @2))
      (if (!HONOR_NANS (@1)
  	 && types_match (TREE_TYPE (@0), TREE_TYPE (@3))
!          && types_match (type, TREE_TYPE (@0))
! 	 && expr_no_side_effects_p (@1)
! 	 && expr_no_side_effects_p (@2))
       (cnd (bit_and (bit_xor @0 @3) (ne:type @1 @2))
        { constant_boolean_node (eqne == NE_EXPR, type); }
        { constant_boolean_node (eqne != NE_EXPR, type); })))
*************** DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
*** 6067,6073 ****
     (eqne (cnd @0 @1 @2) (cnd @3 @2 @1))
      (if (!HONOR_NANS (@1)
  	 && types_match (TREE_TYPE (@0), TREE_TYPE (@3))
!          && types_match (type, TREE_TYPE (@0)))
       (cnd (bit_ior (bit_xor @0 @3) (eq:type @1 @2))
        { constant_boolean_node (eqne != NE_EXPR, type); }
        { constant_boolean_node (eqne == NE_EXPR, type); })))))
--- 6075,6083 ----
     (eqne (cnd @0 @1 @2) (cnd @3 @2 @1))
      (if (!HONOR_NANS (@1)
  	 && types_match (TREE_TYPE (@0), TREE_TYPE (@3))
!          && types_match (type, TREE_TYPE (@0))
! 	 && expr_no_side_effects_p (@1)
! 	 && expr_no_side_effects_p (@2))
       (cnd (bit_ior (bit_xor @0 @3) (eq:type @1 @2))
        { constant_boolean_node (eqne != NE_EXPR, type); }
        { constant_boolean_node (eqne == NE_EXPR, type); })))))
*************** and,
*** 10816,10825 ****
  	    unsigned int elt_bits = tree_to_uhwi (TYPE_SIZE (elt_type));
  	    tree size = bitsize_int (elt_bits);
  	    tree pos = bitsize_int (elt_bits * i); }
!      (view_convert
!       (bit_and:elt_type
!        (BIT_FIELD_REF:elt_type @0 { size; } { pos; })
!        { elt; })))))))
  
  /* Fold reduction of a single nonzero element constructor.  */
  (for reduc (IFN_REDUC_PLUS IFN_REDUC_IOR IFN_REDUC_XOR)
--- 10826,10836 ----
  	    unsigned int elt_bits = tree_to_uhwi (TYPE_SIZE (elt_type));
  	    tree size = bitsize_int (elt_bits);
  	    tree pos = bitsize_int (elt_bits * i); }
!      (if (compare_tree_int (TYPE_SIZE (type), elt_bits) == 0)
!       (view_convert
!        (bit_and:elt_type
!         (BIT_FIELD_REF:elt_type @0 { size; } { pos; })
!         { elt; }))))))))
  
  /* Fold reduction of a single nonzero element constructor.  */
  (for reduc (IFN_REDUC_PLUS IFN_REDUC_IOR IFN_REDUC_XOR)
diff -Nrcpad gcc-15-20260131/gcc/po/ChangeLog gcc-15-20260207/gcc/po/ChangeLog
*** gcc-15-20260131/gcc/po/ChangeLog	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/po/ChangeLog	Sat Feb  7 22:32:07 2026
***************
*** 1,3 ****
--- 1,7 ----
+ 2026-02-05  Joseph Myers  <josmyers@redhat.com>
+ 
+ 	* es.po: Update.
+ 
  2026-01-27  Joseph Myers  <josmyers@redhat.com>
  
  	* sv.po: Update.
diff -Nrcpad gcc-15-20260131/gcc/po/es.po gcc-15-20260207/gcc/po/es.po
*** gcc-15-20260131/gcc/po/es.po	Sat Jan 31 22:32:07 2026
--- gcc-15-20260207/gcc/po/es.po	Sat Feb  7 22:32:08 2026
***************
*** 2,8 ****
  # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2016, 2017, 2018, 2019, 2020 Free Software Foundation, Inc.
  # This file is distributed under the same license as the gcc package.
  # Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
! # Antonio Ceballos Roa <aceballos@gmail.com>, 2016, 2017, 2018, 2019, 2020, 2025
  #
  # Agradezco a Juan Cuquejo Mira por sus comentarios sobre esta traducción
  #
--- 2,8 ----
  # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2016, 2017, 2018, 2019, 2020 Free Software Foundation, Inc.
  # This file is distributed under the same license as the gcc package.
  # Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
! # Antonio Ceballos Roa <aceballos@gmail.com>, 2016, 2017, 2018, 2019, 2020, 2025, 2026
  #
  # Agradezco a Juan Cuquejo Mira por sus comentarios sobre esta traducción
  #
*************** msgstr ""
*** 45,51 ****
  "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2026-01-17 19:30+0100\n"
  "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n"
  "Language-Team: Spanish <es@tp.org.es>\n"
  "Language: es\n"
--- 45,51 ----
  "Project-Id-Version: gcc 15.2.0\n"
  "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
  "POT-Creation-Date: 2025-08-01 17:58+0000\n"
! "PO-Revision-Date: 2026-02-05 22:30+0100\n"
  "Last-Translator: Antonio Ceballos Roa <aceballos@gmail.com>\n"
  "Language-Team: Spanish <es@tp.org.es>\n"
  "Language: es\n"
*************** msgid "Specify the target architecture."
*** 11602,11771 ****
  msgstr "Especifica la arquitectura de destino."
  
  #: config/csky/csky.opt:38
! #, fuzzy, no-c-format
! #| msgid "Specify the target CPU."
  msgid "Specify the target processor."
! msgstr "Selecciona el CPU destino."
  
  #: config/csky/csky.opt:90
! #, fuzzy, no-c-format
! #| msgid "Specify the name of the target floating point hardware/format."
  msgid "Specify the target floating-point hardware/format."
! msgstr "Especifica el nombre del hardware/formato de coma flotante destino."
  
  #: config/csky/csky.opt:94
! #, fuzzy, no-c-format
! #| msgid "Generate debug information in default format."
  msgid "Generate C-SKY FPU double float instructions (default for hard float)."
! msgstr "Genera información de depuración en el formato por defecto."
  
  #: config/csky/csky.opt:98
! #, fuzzy, no-c-format
! #| msgid "Generate prefetch instructions, if available, for arrays in loops."
  msgid "Generate frecipd/fsqrtd/fdivd instructions (default for hard float)."
! msgstr "Genera instrucciones de precargado, si están disponibles, para matrices en bucles."
  
  #: config/csky/csky.opt:106
! #, fuzzy, no-c-format
! #| msgid "Do not use the callt instruction (default)."
  msgid "Enable the extended LRW instruction (default for CK801)."
! msgstr "No usa la instrucción callt (predeterminado)."
  
  #: config/csky/csky.opt:110
! #, fuzzy, no-c-format
! #| msgid "Enable clip instructions."
  msgid "Enable interrupt stack instructions."
! msgstr "Activa las instrucciones clip."
  
  #: config/csky/csky.opt:114
! #, fuzzy, no-c-format
! #| msgid "Enable multiply instructions."
  msgid "Enable multiprocessor instructions."
! msgstr "Activa las instrucciones multiply."
  
  #: config/csky/csky.opt:118
! #, fuzzy, no-c-format
! #| msgid "Enable clip instructions."
  msgid "Enable coprocessor instructions."
! msgstr "Activa las instrucciones clip."
  
  #: config/csky/csky.opt:122
! #, fuzzy, no-c-format
! #| msgid "Enable average instructions."
  msgid "Enable cache prefetch instructions."
! msgstr "Activa las instrucciones promedio."
  
  #: config/csky/csky.opt:126
! #, fuzzy, no-c-format
! #| msgid "Enable MUL instructions."
  msgid "Enable C-SKY SECURE instructions."
! msgstr "Activa las instrucciones MUL."
  
  #: config/csky/csky.opt:133
! #, fuzzy, no-c-format
! #| msgid "Enable MUL instructions."
  msgid "Enable C-SKY TRUST instructions."
! msgstr "Activa las instrucciones MUL."
  
  #: config/csky/csky.opt:137
! #, fuzzy, no-c-format
! #| msgid "Enable MUL instructions."
  msgid "Enable C-SKY DSP instructions."
! msgstr "Activa las instrucciones MUL."
  
  #: config/csky/csky.opt:141
! #, fuzzy, no-c-format
! #| msgid "Enable atomic instructions."
  msgid "Enable C-SKY Enhanced DSP instructions."
! msgstr "Activa instrucciones atómicas."
  
  #: config/csky/csky.opt:145
! #, fuzzy, no-c-format
! #| msgid "Enable atomic instructions."
  msgid "Enable C-SKY Vector DSP instructions."
! msgstr "Activa instrucciones atómicas."
  
  #: config/csky/csky.opt:151
! #, fuzzy, no-c-format
! #| msgid "Generate isel instructions."
  msgid "Generate divide instructions."
! msgstr "Genera instrucciones isel."
  
  #: config/csky/csky.opt:155
! #, fuzzy, no-c-format
! #| msgid "Generate code for a 5206e."
  msgid "Generate code for Smart Mode."
! msgstr "Genera código para el 5206e."
  
  #: config/csky/csky.opt:159
  #, no-c-format
  msgid "Enable use of R16-R31 (default)."
! msgstr ""
  
  #: config/csky/csky.opt:163
! #, fuzzy, no-c-format
! #| msgid "Generate code in little endian mode."
  msgid "Generate code using global anchor symbol addresses."
! msgstr "Genera código en modo little endian."
  
  #: config/csky/csky.opt:167
! #, fuzzy, no-c-format
! #| msgid "Generate v3 push25/pop25 instructions."
  msgid "Generate push/pop instructions (default)."
! msgstr "Genera instrucciones v3 push25/pop25."
  
  #: config/csky/csky.opt:171
! #, fuzzy, no-c-format
! #| msgid "Generate isel instructions."
  msgid "Generate stm/ldm instructions (default)."
! msgstr "Genera instrucciones isel."
  
  #: config/csky/csky.opt:178
  #, no-c-format
  msgid "Generate constant pools in the compiler instead of assembler."
! msgstr ""
  
  #: config/csky/csky.opt:182
! #, fuzzy, no-c-format
! #| msgid "Do not generate .size directives."
  msgid "Emit .stack_size directives."
! msgstr "No genera directivas .size."
  
  #: config/csky/csky.opt:186
! #, fuzzy, no-c-format
! #| msgid "Generate code for GNU runtime environment."
  msgid "Generate code for C-SKY compiler runtime instead of libgcc."
! msgstr "Genera código para el entorno de tiempo de ejecución GNU."
  
  #: config/csky/csky.opt:190
! #, fuzzy, no-c-format
! #| msgid "Set the branch costs for conditional branch instructions.  Reasonable"
  msgid "Set the branch costs to roughly the specified number of instructions."
! msgstr "Establece los costos de ramificación para las instrucciones de ramificación condicional.  Razonable"
  
  #: config/csky/csky.opt:194
! #, fuzzy, no-c-format
! #| msgid "Permit scheduling of a function's prologue sequence."
  msgid "Permit scheduling of function prologue and epilogue sequences."
! msgstr "Permite la planificación de la secuencia de prólogo de funciones."
  
  #: config/csky/csky_tables.opt:24
! #, fuzzy, no-c-format
! #| msgid "Known ARC CPUs (for use with the -mcpu= option):"
  msgid "Known CSKY CPUs (for use with the -mcpu= options):"
! msgstr "CPUs ARC conocidas (para usar con la opción -mcpu=):"
  
  #: config/csky/csky_tables.opt:205
! #, fuzzy, no-c-format
! #| msgid "Known SCORE architectures (for use with the -march= option):"
  msgid "Known CSKY architectures (for use with the -march= option):"
! msgstr "Arquitecturas SCORE conocidas (para uso con la opción -march=):"
  
  #: config/csky/csky_tables.opt:227
! #, fuzzy, no-c-format
! #| msgid "Known ARM FPUs (for use with the -mfpu= option):"
  msgid "Known CSKY FPUs (for use with the -mfpu= option):"
! msgstr "FPUs ARM conocidos (para usar con la opción -mfpu=):"
  
  #: config/c6x/c6x-tables.opt:24
  #, no-c-format
--- 11602,11745 ----
  msgstr "Especifica la arquitectura de destino."
  
  #: config/csky/csky.opt:38
! #, no-c-format
  msgid "Specify the target processor."
! msgstr "Selecciona el procesador destino."
  
  #: config/csky/csky.opt:90
! #, no-c-format
  msgid "Specify the target floating-point hardware/format."
! msgstr "Especifica el hardware/formato de coma flotante destino."
  
  #: config/csky/csky.opt:94
! #, no-c-format
  msgid "Generate C-SKY FPU double float instructions (default for hard float)."
! msgstr "Genera instrucciones de flotantes de doble precisión C-SKY FPU (lo predefinido para flotante hardware)."
  
  #: config/csky/csky.opt:98
! #, no-c-format
  msgid "Generate frecipd/fsqrtd/fdivd instructions (default for hard float)."
! msgstr "Genera instrucciones frecipd/fsqrtd/fdivd (lo predefinido para flotante hardware)."
  
  #: config/csky/csky.opt:106
! #, no-c-format
  msgid "Enable the extended LRW instruction (default for CK801)."
! msgstr "Activa la instrucción LRW extendida (predeterminado para CK801)."
  
  #: config/csky/csky.opt:110
! #, no-c-format
  msgid "Enable interrupt stack instructions."
! msgstr "Activa las instrucciones de la pila de interrupciones."
  
  #: config/csky/csky.opt:114
! #, no-c-format
  msgid "Enable multiprocessor instructions."
! msgstr "Activa las instrucciones del multiprocesador."
  
  #: config/csky/csky.opt:118
! #, no-c-format
  msgid "Enable coprocessor instructions."
! msgstr "Activa las instrucciones del coprocesador ."
  
  #: config/csky/csky.opt:122
! #, no-c-format
  msgid "Enable cache prefetch instructions."
! msgstr "Activa las instrucciones prefech de la caché."
  
  #: config/csky/csky.opt:126
! #, no-c-format
  msgid "Enable C-SKY SECURE instructions."
! msgstr "Activa las instrucciones SECURE de C-SKY."
  
  #: config/csky/csky.opt:133
! #, no-c-format
  msgid "Enable C-SKY TRUST instructions."
! msgstr "Activa las instrucciones TRUST de C-SKY."
  
  #: config/csky/csky.opt:137
! #, no-c-format
  msgid "Enable C-SKY DSP instructions."
! msgstr "Activa las instrucciones DSP de C-SKY."
  
  #: config/csky/csky.opt:141
! #, no-c-format
  msgid "Enable C-SKY Enhanced DSP instructions."
! msgstr "Activa las instrucciones DSP mejoradas de C-SKY."
  
  #: config/csky/csky.opt:145
! #, no-c-format
  msgid "Enable C-SKY Vector DSP instructions."
! msgstr "Activa las instrucciones DSP vectoriales de C-SKY."
  
  #: config/csky/csky.opt:151
! #, no-c-format
  msgid "Generate divide instructions."
! msgstr "Genera instrucciones de división."
  
  #: config/csky/csky.opt:155
! #, no-c-format
  msgid "Generate code for Smart Mode."
! msgstr "Genera código para el modo inteligente."
  
  #: config/csky/csky.opt:159
  #, no-c-format
  msgid "Enable use of R16-R31 (default)."
! msgstr "Activa el uso de R16-R31 (lo predeterminado)."
  
  #: config/csky/csky.opt:163
! #, no-c-format
  msgid "Generate code using global anchor symbol addresses."
! msgstr "Genera código utilizando direcciones de símbolo de anclaje global."
  
  #: config/csky/csky.opt:167
! #, no-c-format
  msgid "Generate push/pop instructions (default)."
! msgstr "Genera instrucciones push/pop (lo predeterminado)."
  
  #: config/csky/csky.opt:171
! #, no-c-format
  msgid "Generate stm/ldm instructions (default)."
! msgstr "Genera instrucciones stm/ldm (lo predeterminado)."
  
  #: config/csky/csky.opt:178
  #, no-c-format
  msgid "Generate constant pools in the compiler instead of assembler."
! msgstr "Genera grupso de constantes en el compilador en lugar del ensamblador."
  
  #: config/csky/csky.opt:182
! #, no-c-format
  msgid "Emit .stack_size directives."
! msgstr "Emite directivas .stack_size."
  
  #: config/csky/csky.opt:186
! #, no-c-format
  msgid "Generate code for C-SKY compiler runtime instead of libgcc."
! msgstr "Genera código para el entorno de tiempo de ejecución del compilador de C-SKY en lugar de libgcc."
  
  #: config/csky/csky.opt:190
! #, no-c-format
  msgid "Set the branch costs to roughly the specified number of instructions."
! msgstr "Establece los costos de bifurcación en aproximadamente el número de instrucciones especificado."
  
  #: config/csky/csky.opt:194
! #, no-c-format
  msgid "Permit scheduling of function prologue and epilogue sequences."
! msgstr "Permite la planificación de las secuencias de prólogo y epílogo de funciones."
  
  #: config/csky/csky_tables.opt:24
! #, no-c-format
  msgid "Known CSKY CPUs (for use with the -mcpu= options):"
! msgstr "CPUs CSKY conocidas (para usar con las opciones -mcpu=):"
  
  #: config/csky/csky_tables.opt:205
! #, no-c-format
  msgid "Known CSKY architectures (for use with the -march= option):"
! msgstr "Arquitecturas CSKY conocidas (para uso con la opción -march=):"
  
  #: config/csky/csky_tables.opt:227
! #, no-c-format
  msgid "Known CSKY FPUs (for use with the -mfpu= option):"
! msgstr "FPUs CSKY conocidas (para usar con la opción -mfpu=):"
  
  #: config/c6x/c6x-tables.opt:24
  #, no-c-format
*************** msgid "Select method for sdata handling.
*** 11788,11797 ****
  msgstr "Selecciona el método para el manejo de sdata."
  
  #: config/c6x/c6x.opt:46
! #, fuzzy, no-c-format
! #| msgid "Valid arguments for the -msdata= option."
  msgid "Valid arguments for the -msdata= option:"
! msgstr "Argumentos válidos para la opción -msdata=."
  
  #: config/c6x/c6x.opt:59
  #, no-c-format
--- 11762,11770 ----
  msgstr "Selecciona el método para el manejo de sdata."
  
  #: config/c6x/c6x.opt:46
! #, no-c-format
  msgid "Valid arguments for the -msdata= option:"
! msgstr "Argumentos válidos para la opción -msdata=:"
  
  #: config/c6x/c6x.opt:59
  #, no-c-format
*************** msgid "Increase the IEEE compliance for
*** 12134,12141 ****
  msgstr "Incrementa el cumplimiento con IEEE para las comparaciones de coma flotante."
  
  #: config/sh/sh.opt:239
! #, fuzzy, no-c-format
! #| msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines."
  msgid "Inline code to invalidate instruction cache entries after setting up nested function trampolines."
  msgstr "Código inline para invalidar las entradas de caché de instruciones después de establecerer los trampolines de funciones anidadas."
  
--- 12107,12113 ----
  msgstr "Incrementa el cumplimiento con IEEE para las comparaciones de coma flotante."
  
  #: config/sh/sh.opt:239
! #, no-c-format
  msgid "Inline code to invalidate instruction cache entries after setting up nested function trampolines."
  msgstr "Código inline para invalidar las entradas de caché de instruciones después de establecerer los trampolines de funciones anidadas."
  
*************** msgstr "Activa el uso de la instrucción
*** 12207,12219 ****
  #: config/gcn/gcn-tables.opt:25
  #, no-c-format
  msgid "GCN GPU type to use:"
! msgstr ""
  
  #: config/gcn/gcn.opt:26 config/gcn/gcn.opt:30
! #, fuzzy, no-c-format
! #| msgid "Specify the name of the target CPU."
  msgid "Specify the name of the target GPU."
! msgstr "Especifica el nombre de la CPU destino."
  
  #: config/gcn/gcn.opt:34
  #, no-c-format
--- 12179,12190 ----
  #: config/gcn/gcn-tables.opt:25
  #, no-c-format
  msgid "GCN GPU type to use:"
! msgstr "Tipo de GPU GCN que se utilizará:"
  
  #: config/gcn/gcn.opt:26 config/gcn/gcn.opt:30
! #, no-c-format
  msgid "Specify the name of the target GPU."
! msgstr "Especifica el nombre de la GPU destino."
  
  #: config/gcn/gcn.opt:34
  #, no-c-format
*************** msgstr "Genera código para ABI de 64 bi
*** 12228,12270 ****
  #: config/gcn/gcn.opt:42
  #, no-c-format
  msgid "Enable OpenMP GPU offloading."
! msgstr ""
  
  #: config/gcn/gcn.opt:53
  #, no-c-format
  msgid "Obsolete; use GCN_STACK_SIZE at runtime."
! msgstr ""
  
  #: config/gcn/gcn.opt:59
  #, no-c-format
  msgid "Amount of local data-share (LDS) memory to reserve for gang-private variables."
! msgstr ""
  
  #: config/gcn/gcn.opt:63
! #, fuzzy, no-c-format
! #| msgid "Warn about an invalid DO loop."
  msgid "Warn about invalid OpenACC dimensions."
! msgstr "Avisa sobre bucles DO no válidos."
  
  #: config/gcn/gcn.opt:67
  #, no-c-format
  msgid "SRAM-ECC and XNACK modes:"
! msgstr ""
  
  #: config/gcn/gcn.opt:83
  #, no-c-format
  msgid "Compile for devices requiring XNACK enabled. Default \"any\" if USM is supported."
! msgstr ""
  
  #: config/gcn/gcn.opt:87
  #, no-c-format
  msgid "Compile for devices with the SRAM ECC feature enabled, or not. Default \"any\"."
! msgstr ""
  
  #: config/gcn/gcn.opt:91
  #, no-c-format
  msgid "--param=gcn-preferred-vectorization-factor=[default,32,64]\tPreferred vectorization factor."
! msgstr ""
  
  #: config/fr30/fr30.opt:23
  #, no-c-format
--- 12199,12240 ----
  #: config/gcn/gcn.opt:42
  #, no-c-format
  msgid "Enable OpenMP GPU offloading."
! msgstr "Habilita descarga de GPU OpenMP."
  
  #: config/gcn/gcn.opt:53
  #, no-c-format
  msgid "Obsolete; use GCN_STACK_SIZE at runtime."
! msgstr "Obsoloeto; utiliza GCN_STACK_SIZE en tiempo de ejecución."
  
  #: config/gcn/gcn.opt:59
  #, no-c-format
  msgid "Amount of local data-share (LDS) memory to reserve for gang-private variables."
! msgstr "Cantidad de memoria de datos compartidos local (LDS) que se reservará para variables gang privadas."
  
  #: config/gcn/gcn.opt:63
! #, no-c-format
  msgid "Warn about invalid OpenACC dimensions."
! msgstr "Advierte de dimensiones de OpenACC no válidas."
  
  #: config/gcn/gcn.opt:67
  #, no-c-format
  msgid "SRAM-ECC and XNACK modes:"
! msgstr "Modos SRAM-ECC y XNACK:"
  
  #: config/gcn/gcn.opt:83
  #, no-c-format
  msgid "Compile for devices requiring XNACK enabled. Default \"any\" if USM is supported."
! msgstr "Compila para dispositivos que requieren XNACK habilitado. Predeterminado «any» si se soporta USM."
  
  #: config/gcn/gcn.opt:87
  #, no-c-format
  msgid "Compile for devices with the SRAM ECC feature enabled, or not. Default \"any\"."
! msgstr "Compila para dispositivos con la característica ECC de SRAM habilitada, o no. Predeterminado «any»."
  
  #: config/gcn/gcn.opt:91
  #, no-c-format
  msgid "--param=gcn-preferred-vectorization-factor=[default,32,64]\tPreferred vectorization factor."
! msgstr "--param=gcn-preferred-vectorization-factor=[default,32,64]\tFactor de vectorización preferido."
  
  #: config/fr30/fr30.opt:23
  #, no-c-format
*************** msgid "Assume small address space."
*** 12272,12367 ****
  msgstr "Asume espacio de direcciones small."
  
  #: config/bpf/bpf.opt:28
! #, fuzzy, no-c-format
! #| msgid "Generate big-endian code."
  msgid "Generate xBPF."
! msgstr "Genera código big-endian."
  
  #: config/bpf/bpf.opt:34
! #, fuzzy, no-c-format
! #| msgid "Generate big-endian code."
  msgid "Generate big-endian eBPF."
! msgstr "Genera código big-endian."
  
  #: config/bpf/bpf.opt:38
! #, fuzzy, no-c-format
! #| msgid "Generate little-endian code."
  msgid "Generate little-endian eBPF."
! msgstr "Genera código little-endian."
  
  #: config/bpf/bpf.opt:42
  #, no-c-format
  msgid "Set a hard limit for the size of each stack frame, in bytes."
! msgstr ""
  
  #: config/bpf/bpf.opt:46
  #, no-c-format
  msgid "Generate all necessary information for BPF Compile Once - Run Everywhere."
! msgstr ""
  
  #: config/bpf/bpf.opt:52
! #, fuzzy, no-c-format
! #| msgid "enable conditional move instruction usage."
  msgid "Enable extra conditional-branch instructions j(s)lt and j(s)le."
! msgstr "activa el uso de la instrucción move condicional."
  
  #: config/bpf/bpf.opt:56
! #, fuzzy, no-c-format
! #| msgid "Enable 32-bit divide instructions."
  msgid "Enable 32-bit ALU instructions."
! msgstr "Activa las instrucciones divide de 32-bit."
  
  #: config/bpf/bpf.opt:60
! #, fuzzy, no-c-format
! #| msgid "Enable 32-bit multiply instructions."
  msgid "Enable 32-bit jump instructions."
! msgstr "Activa las instrucciones multiply de 32-bit."
  
  #: config/bpf/bpf.opt:64
! #, fuzzy, no-c-format
! #| msgid "Enable saturation instructions"
  msgid "Enable general atomic operations introduced in v3 ISA."
! msgstr "Activa las instrucciones de saturación."
  
  #: config/bpf/bpf.opt:68
! #, fuzzy, no-c-format
! #| msgid "Enable barrel shift instructions."
  msgid "Enable byte swap instructions."
! msgstr "Activa las instrucciones barrel shift."
  
  #: config/bpf/bpf.opt:72
! #, fuzzy, no-c-format
! #| msgid "Enable divide and modulus instructions."
  msgid "Enable signed division and modulus instructions."
! msgstr "Activa las instrucciones divide y modulus."
  
  #: config/bpf/bpf.opt:76
! #, fuzzy, no-c-format
! #| msgid "Enable divide and modulus instructions."
  msgid "Enable signed move and memory load instructions."
! msgstr "Activa las instrucciones divide y modulus."
  
  #: config/bpf/bpf.opt:80
  #, no-c-format
  msgid "Select the eBPF ISA version to target in code generation."
! msgstr ""
  
  #: config/bpf/bpf.opt:84
! #, fuzzy, no-c-format
! #| msgid "Known MIPS ISA levels (for use with the -mips option):"
  msgid "Valid ISA versions (for use with the -mcpu= option)"
! msgstr "Niveles ISA MIPS conocidos (para uso con la opción -mips):"
  
  #: config/bpf/bpf.opt:104
! #, fuzzy, no-c-format
! #| msgid "Known assembler dialects (for use with the -masm= option):"
  msgid "Known assembler dialects (for use with the -masm= option)"
! msgstr "Dialectos de ensamblador conocidos (para uso con la opción -masm=):"
  
  #: config/bpf/bpf.opt:114
  #, no-c-format
  msgid "-minline-memops-threshold=<number> Maximum size of memset/memmove/memcpy to inline, larger sizes will use a library call."
! msgstr ""
  
  #: config/mips/mips.opt:32
  #, no-c-format
--- 12242,12325 ----
  msgstr "Asume espacio de direcciones small."
  
  #: config/bpf/bpf.opt:28
! #, no-c-format
  msgid "Generate xBPF."
! msgstr "Genera xBPF."
  
  #: config/bpf/bpf.opt:34
! #, no-c-format
  msgid "Generate big-endian eBPF."
! msgstr "Genera eBPF «big-endian»."
  
  #: config/bpf/bpf.opt:38
! #, no-c-format
  msgid "Generate little-endian eBPF."
! msgstr "Genera e BPF «little-endian»."
  
  #: config/bpf/bpf.opt:42
  #, no-c-format
  msgid "Set a hard limit for the size of each stack frame, in bytes."
! msgstr "Establece un límite duro al tamaño de cada marco de pila, en bytes."
  
  #: config/bpf/bpf.opt:46
  #, no-c-format
  msgid "Generate all necessary information for BPF Compile Once - Run Everywhere."
! msgstr "Genera toda la información necesaria para Compilar Una Vez BPF - Ejecutar en Cualquier Sitio."
  
  #: config/bpf/bpf.opt:52
! #, no-c-format
  msgid "Enable extra conditional-branch instructions j(s)lt and j(s)le."
! msgstr "Activa las instrucciones j(s)lt y j(s)le de bifurcación condicional extra."
  
  #: config/bpf/bpf.opt:56
! #, no-c-format
  msgid "Enable 32-bit ALU instructions."
! msgstr "Activa las instrucciones de la ALU de 32 bits."
  
  #: config/bpf/bpf.opt:60
! #, no-c-format
  msgid "Enable 32-bit jump instructions."
! msgstr "Activa las instrucciones de salto de 32 bits."
  
  #: config/bpf/bpf.opt:64
! #, no-c-format
  msgid "Enable general atomic operations introduced in v3 ISA."
! msgstr "Activa las operaciones atómicas generales introducidas en ISA v3."
  
  #: config/bpf/bpf.opt:68
! #, no-c-format
  msgid "Enable byte swap instructions."
! msgstr "Activa las instrucciones de intercambio de bytes."
  
  #: config/bpf/bpf.opt:72
! #, no-c-format
  msgid "Enable signed division and modulus instructions."
! msgstr "Activa las instrucciones de división y módulo con signo."
  
  #: config/bpf/bpf.opt:76
! #, no-c-format
  msgid "Enable signed move and memory load instructions."
! msgstr "Activa las instrucciones de mover con signo y carga de memoria."
  
  #: config/bpf/bpf.opt:80
  #, no-c-format
  msgid "Select the eBPF ISA version to target in code generation."
! msgstr "Selecciona la versión de ISA de eBPF de destino en la generación de código."
  
  #: config/bpf/bpf.opt:84
! #, no-c-format
  msgid "Valid ISA versions (for use with the -mcpu= option)"
! msgstr "Versiones de ISA válidas (para uso con la opción -mcpu=)"
  
  #: config/bpf/bpf.opt:104
! #, no-c-format
  msgid "Known assembler dialects (for use with the -masm= option)"
! msgstr "Dialectos de ensamblador conocidos (para uso con la opción -masm=)"
  
  #: config/bpf/bpf.opt:114
  #, no-c-format
  msgid "-minline-memops-threshold=<number> Maximum size of memset/memmove/memcpy to inline, larger sizes will use a library call."
! msgstr "-minline-memops-threshold=<número> Tamaño máximo de memset/memmove/memcpy en línea; tamaños mayores utilizarán llamada de biblioteca."
  
  #: config/mips/mips.opt:32
  #, no-c-format
*************** msgid "Use Enhanced Virtual Addressing i
*** 12444,12453 ****
  msgstr "Usa las instrucciones de direccionamiento virtual mejorado."
  
  #: config/mips/mips.opt:171
! #, fuzzy, no-c-format
! #| msgid "Does nothing.  Preserved for backward compatibility."
  msgid "Don't use %reloc() assembly operators (for backward compatibility)."
! msgstr "No hace nada.  Se preserva por compatibilidad hacia atrás."
  
  #: config/mips/mips.opt:175
  #, no-c-format
--- 12402,12410 ----
  msgstr "Usa las instrucciones de direccionamiento virtual mejorado."
  
  #: config/mips/mips.opt:171
! #, no-c-format
  msgid "Don't use %reloc() assembly operators (for backward compatibility)."
! msgstr "No utilizar operadores de esamblador %reloc() (por compatibilidad hacia atrás)."
  
  #: config/mips/mips.opt:175
  #, no-c-format
*************** msgid "Work around certain R4400 errata.
*** 12470,12479 ****
  msgstr "Evita ciertos errores de R4400."
  
  #: config/mips/mips.opt:191
! #, fuzzy, no-c-format
! #| msgid "Work around certain R4000 errata."
  msgid "Work around the R5900 short loop erratum."
! msgstr "Evita ciertos errores de R4000."
  
  #: config/mips/mips.opt:195
  #, no-c-format
--- 12427,12435 ----
  msgstr "Evita ciertos errores de R4400."
  
  #: config/mips/mips.opt:191
! #, no-c-format
  msgid "Work around the R5900 short loop erratum."
! msgstr "Evita errores de blucle corto de R5900."
  
  #: config/mips/mips.opt:195
  #, no-c-format
*************** msgid "Optimize lui/addiu address loads.
*** 12711,12720 ****
  msgstr "Optimiza las cargas de las direcciones lui/addiu."
  
  #: config/mips/mips.opt:406
! #, fuzzy, no-c-format
! #| msgid "Enable MUL instructions."
  msgid "Enable the MIPS16e V2 instructions."
! msgstr "Activa las instrucciones MUL."
  
  #: config/mips/mips.opt:410
  #, no-c-format
--- 12667,12675 ----
  msgstr "Optimiza las cargas de las direcciones lui/addiu."
  
  #: config/mips/mips.opt:406
! #, no-c-format
  msgid "Enable the MIPS16e V2 instructions."
! msgstr "Activa las instrucciones V2 de MIPS16e."
  
  #: config/mips/mips.opt:410
  #, no-c-format
*************** msgstr "Usa operandos cuaternarios madd.
*** 12739,12756 ****
  #: config/mips/mips.opt:430
  #, no-c-format
  msgid "Don't generate code with unaligned load store, only valid for MIPS R6."
! msgstr ""
  
  #: config/mips/mips.opt:434
! #, fuzzy, no-c-format
! #| msgid "Generate code which uses hardware floating point instructions."
  msgid "Generate code with unaligned load store for R6 (alias of -mno-strict-align)."
! msgstr "Genera código que use las instrucciones de coma flotante de hardware."
  
  #: config/mips/mips.opt:438
  #, no-c-format
  msgid "Don't generate code with unaligned load store for R6 (alias of -mstrict-align)."
! msgstr ""
  
  #: config/mips/mips.opt:446
  #, no-c-format
--- 12694,12710 ----
  #: config/mips/mips.opt:430
  #, no-c-format
  msgid "Don't generate code with unaligned load store, only valid for MIPS R6."
! msgstr "No genera código con carga almacenamiento desalineados, solo válido para MIPS R6."
  
  #: config/mips/mips.opt:434
! #, no-c-format
  msgid "Generate code with unaligned load store for R6 (alias of -mno-strict-align)."
! msgstr "Genera código con carga almacenamiento desalineados para R6 (alias de -mno-strict-align)."
  
  #: config/mips/mips.opt:438
  #, no-c-format
  msgid "Don't generate code with unaligned load store for R6 (alias of -mstrict-align)."
! msgstr "No genera código con carga almacenamiento desalineados para R6 (alias de -mstrict-align)."
  
  #: config/mips/mips.opt:446
  #, no-c-format
*************** msgid "Use eXtended Physical Address (XP
*** 12763,12778 ****
  msgstr "Usa instrucciones de direcciones físicas extendidas (XPA)."
  
  #: config/mips/mips.opt:454
! #, fuzzy, no-c-format
! #| msgid "Use ll, sc and sync instructions."
  msgid "Use Cyclic Redundancy Check (CRC) instructions."
! msgstr "Usa las instrucciones ll, sc y sync."
  
  #: config/mips/mips.opt:458
! #, fuzzy, no-c-format
! #| msgid "Use Virtualization (VZ) instructions."
  msgid "Use Global INValidate (GINV) instructions."
! msgstr "Usa instrucciones virtualización (VZ)."
  
  #: config/mips/mips.opt:462
  #, no-c-format
--- 12717,12730 ----
  msgstr "Usa instrucciones de direcciones físicas extendidas (XPA)."
  
  #: config/mips/mips.opt:454
! #, no-c-format
  msgid "Use Cyclic Redundancy Check (CRC) instructions."
! msgstr "Usa las instrucciones de comprobación de redundancia cíclico (CRC)."
  
  #: config/mips/mips.opt:458
! #, no-c-format
  msgid "Use Global INValidate (GINV) instructions."
! msgstr "Usa instrucciones INValidate (GINV)."
  
  #: config/mips/mips.opt:462
  #, no-c-format
*************** msgid "Optimize frame header."
*** 12795,12804 ****
  msgstr "Optimiza la cabecera de marco."
  
  #: config/mips/mips.opt:481
! #, fuzzy, no-c-format
! #| msgid "Enable dead store elimination"
  msgid "Enable load/store bonding."
! msgstr "Activa la eliminación de almacenamiento muerto."
  
  #: config/mips/mips.opt:485
  #, no-c-format
--- 12747,12755 ----
  msgstr "Optimiza la cabecera de marco."
  
  #: config/mips/mips.opt:481
! #, no-c-format
  msgid "Enable load/store bonding."
! msgstr "Activa unión de carga/almacenamiento."
  
  #: config/mips/mips.opt:485
  #, no-c-format
*************** msgid "Use Loongson MultiMedia extension
*** 12816,12831 ****
  msgstr ""
  
  #: config/mips/mips.opt:506
! #, fuzzy, no-c-format
! #| msgid "Use MIPS MSA Extension instructions."
  msgid "Use Loongson EXTension (EXT) instructions."
! msgstr "Usa instrucciones de la Extensión MIPS MSA."
  
  #: config/mips/mips.opt:510
! #, fuzzy, no-c-format
! #| msgid "Use MIPS MSA Extension instructions."
  msgid "Use Loongson EXTension R2 (EXT2) instructions."
! msgstr "Usa instrucciones de la Extensión MIPS MSA."
  
  #: config/mips/mips-tables.opt:24
  #, no-c-format
--- 12767,12780 ----
  msgstr ""
  
  #: config/mips/mips.opt:506
! #, no-c-format
  msgid "Use Loongson EXTension (EXT) instructions."
! msgstr "Usa instrucciones de la EXTensión Loongson (EXT)."
  
  #: config/mips/mips.opt:510
! #, no-c-format
  msgid "Use Loongson EXTension R2 (EXT2) instructions."
! msgstr "Usa instrucciones de la EXTensión Loongson R2 (EXT2)."
  
  #: config/mips/mips-tables.opt:24
  #, no-c-format
*************** msgstr "Igual que -mA7."
*** 12885,12897 ****
  #: config/arc/arc.opt:58
  #, no-c-format
  msgid "Force all calls to be made via a jli instruction."
! msgstr ""
  
  #: config/arc/arc.opt:62
! #, fuzzy, no-c-format
! #| msgid "-mmpy-option=MPY Compile ARCv2 code with a multiplier design option."
  msgid "-mmpy-option=MPY\tCompile ARCv2 code with a multiplier design option."
! msgstr "-mmpy-option=MPY Compila código ARCv2 con una opción de diseño de multiplicador."
  
  #: config/arc/arc.opt:132
  #, no-c-format
--- 12834,12845 ----
  #: config/arc/arc.opt:58
  #, no-c-format
  msgid "Force all calls to be made via a jli instruction."
! msgstr "Fuerza a que todas las llamadas se hagan mediante instrucción jli."
  
  #: config/arc/arc.opt:62
! #, no-c-format
  msgid "-mmpy-option=MPY\tCompile ARCv2 code with a multiplier design option."
! msgstr "-mmpy-option=MPY\tCompila código ARCv2 con una opción de diseño de multiplicador."
  
  #: config/arc/arc.opt:132
  #, no-c-format
*************** msgid "Do not generate mpy instructions
*** 12939,12948 ****
  msgstr "No generar instrucciones mpy para ARC700."
  
  #: config/arc/arc.opt:174
! #, fuzzy, no-c-format
! #| msgid "Generate Extended arithmetic instructions.  Currently only divaw, adds, subs and sat16 are supported."
  msgid "Generate extended arithmetic instructions, only valid for ARC700."
! msgstr "Genera instrucciones de aritmética extendida.  Actualmente solo se dispone de divaw, adds, subs y sat16."
  
  #: config/arc/arc.opt:178
  #, no-c-format
--- 12887,12895 ----
  msgstr "No generar instrucciones mpy para ARC700."
  
  #: config/arc/arc.opt:174
! #, no-c-format
  msgid "Generate extended arithmetic instructions, only valid for ARC700."
! msgstr "Genera instrucciones de aritmética extendida, solo válido para ARC700."
  
  #: config/arc/arc.opt:178
  #, no-c-format
*************** msgid "Generate sdata references.  This
*** 12965,12974 ****
  msgstr "Generar referencias de sdata.  Es lo predefinido, salvo que se compile para PIC."
  
  #: config/arc/arc.opt:194
! #, fuzzy, no-c-format
! #| msgid "Generate Cell microcode."
  msgid "Generate millicode thunks."
! msgstr "Genera microcódigo Cell."
  
  #: config/arc/arc.opt:198 config/arc/arc.opt:202
  #, no-c-format
--- 12912,12920 ----
  msgstr "Generar referencias de sdata.  Es lo predefinido, salvo que se compile para PIC."
  
  #: config/arc/arc.opt:194
! #, no-c-format
  msgid "Generate millicode thunks."
! msgstr "Genera «thunks» de milicódigo."
  
  #: config/arc/arc.opt:198 config/arc/arc.opt:202
  #, no-c-format
*************** msgid "-mcpu=CPU\tCompile code for ARC v
*** 13011,13020 ****
  msgstr "-mcpu=CPU\tCompila código para la CPU de variante ARC."
  
  #: config/arc/arc.opt:238
! #, fuzzy, no-c-format
! #| msgid "size optimization level: 0:none 1:opportunistic 2: regalloc 3:drop align, -Os."
  msgid "Size optimization level: 0:none 1:opportunistic 2: regalloc 3:drop align, -Os."
! msgstr "nivel de optimización del tamaño: 0:nada 1:oportunista 2:regalloc 3:alineación libre, -Os."
  
  #: config/arc/arc.opt:246
  #, no-c-format
--- 12957,12965 ----
  msgstr "-mcpu=CPU\tCompila código para la CPU de variante ARC."
  
  #: config/arc/arc.opt:238
! #, no-c-format
  msgid "Size optimization level: 0:none 1:opportunistic 2: regalloc 3:drop align, -Os."
! msgstr "Nivel de optimización del tamaño: 0:nada 1:oportunista 2:regalloc 3:alineación libre, -Os."
  
  #: config/arc/arc.opt:246
  #, no-c-format
*************** msgid "Cost to assume for a multiply ins
*** 13022,13031 ****
  msgstr "Costo de asumir una instrucción multiply, siendo 4 el de una instrucción normal."
  
  #: config/arc/arc.opt:250
! #, fuzzy, no-c-format
! #| msgid "-mcpu=TUNE Tune code for given ARC variant."
  msgid "-mtune=TUNE\tTune code for given ARC variant."
! msgstr "-mcpu=TUNE Ajusta el código para la variante ARC dada."
  
  #: config/arc/arc.opt:284
  #, no-c-format
--- 12967,12975 ----
  msgstr "Costo de asumir una instrucción multiply, siendo 4 el de una instrucción normal."
  
  #: config/arc/arc.opt:250
! #, no-c-format
  msgid "-mtune=TUNE\tTune code for given ARC variant."
! msgstr "-mtune=TUNE\tAjusta el código para la variante ARC dada."
  
  #: config/arc/arc.opt:284
  #, no-c-format
*************** msgid "Enable 16-entry register file."
*** 13198,13223 ****
  msgstr "Activa fichero de registros de 16 entradas."
  
  #: config/arc/arc.opt:536
! #, fuzzy, no-c-format
! #| msgid "Enable the use of RX FPU instructions.  This is the default."
  msgid "Enable use of BI/BIH instructions when available."
! msgstr "Activa el uso de las instrucciones de FPU RX.  Este es el valor por defecto."
  
  #: config/arc/arc.opt:540
  #, no-c-format
  msgid "Enable ENTER_S and LEAVE_S opcodes for ARCv2."
! msgstr ""
  
  #: config/vxworks-smp.opt:25
  #, no-c-format
  msgid "Select VxWorks SMP C runtimes for linking."
! msgstr ""
  
  #: lto/lang.opt:50
! #, fuzzy, no-c-format
! #| msgid "Set linker output type (used internally during LTO optimization)"
  msgid "Set linker output type (used internally during LTO optimization)."
! msgstr "Establece el tipo de salida del enlazador (usado internamente durante la optimización LTO)"
  
  #: lto/lang.opt:54
  #, no-c-format
--- 13142,13165 ----
  msgstr "Activa fichero de registros de 16 entradas."
  
  #: config/arc/arc.opt:536
! #, no-c-format
  msgid "Enable use of BI/BIH instructions when available."
! msgstr "Activa el uso de las instrucciones BI/BIH cuando están disponibles."
  
  #: config/arc/arc.opt:540
  #, no-c-format
  msgid "Enable ENTER_S and LEAVE_S opcodes for ARCv2."
! msgstr "Activa los códigos de operación ENTER_S y LEAVE_S para ARCv2."
  
  #: config/vxworks-smp.opt:25
  #, no-c-format
  msgid "Select VxWorks SMP C runtimes for linking."
! msgstr "Selecciona entornos de ejecución VxWorks SMP C para enlazado."
  
  #: lto/lang.opt:50
! #, no-c-format
  msgid "Set linker output type (used internally during LTO optimization)."
! msgstr "Establece el tipo de salida del enlazador (usado internamente durante la optimización LTO)."
  
  #: lto/lang.opt:54
  #, no-c-format
*************** msgstr "Modo de análisis del programa c
*** 13247,13322 ****
  #: lto/lang.opt:78
  #, no-c-format
  msgid "Call the dump function for variables and function in IL."
! msgstr ""
  
  #: lto/lang.opt:82
  #, no-c-format
  msgid "Dump the demangled output."
! msgstr ""
  
  #: lto/lang.opt:86
! #, fuzzy, no-c-format
! #| msgid "%q+D aliased to undefined symbol %qE"
  msgid "Dump only the defined symbols."
! msgstr "%q+D es un alias del símbolo sin definir %qE"
  
  #: lto/lang.opt:90
! #, fuzzy, no-c-format
! #| msgid "Can't reassign a value to the final variable %qs"
  msgid "Print the initial values of the variables."
! msgstr "No se puede reasignar un valor a la variable final %qs"
  
  #: lto/lang.opt:94
  #, no-c-format
  msgid "Sort the symbols alphabetically."
! msgstr ""
  
  #: lto/lang.opt:98
  #, no-c-format
  msgid "Sort the symbols according to size."
! msgstr ""
  
  #: lto/lang.opt:102
! #, fuzzy, no-c-format
! #| msgid "Display the compiler's version."
  msgid "Display the symbols in reverse order."
! msgstr "Muestra la versión del compilador."
  
  #: lto/lang.opt:109
  #, no-c-format
  msgid "Dump the details of LTO objects."
! msgstr ""
  
  #: lto/lang.opt:113
  #, no-c-format
  msgid "Dump the statistics of tree types."
! msgstr ""
  
  #: lto/lang.opt:117
  #, no-c-format
  msgid "Dump the statistics of trees."
! msgstr ""
  
  #: lto/lang.opt:121
  #, no-c-format
  msgid "Dump the statistics of gimple statements."
! msgstr ""
  
  #: lto/lang.opt:131
! #, fuzzy, no-c-format
! #| msgid "unrecognized command line option %qs"
  msgid "Dump the dump tool command line options."
! msgstr "no se reconoce la opción de línea de órdenes %qs"
  
  #: lto/lang.opt:135
  #, no-c-format
  msgid "Dump the symtab callgraph."
! msgstr ""
  
  #: common.opt:243
  #, no-c-format
  msgid "Provide bash completion for options starting with provided string."
! msgstr ""
  
  #: common.opt:295
  #, no-c-format
--- 13189,13260 ----
  #: lto/lang.opt:78
  #, no-c-format
  msgid "Call the dump function for variables and function in IL."
! msgstr "Llama a la función de volcado para variables y función en IL."
  
  #: lto/lang.opt:82
  #, no-c-format
  msgid "Dump the demangled output."
! msgstr "Vuelca la salida sin desofuscar."
  
  #: lto/lang.opt:86
! #, no-c-format
  msgid "Dump only the defined symbols."
! msgstr "Vuelca solo los símbolos definidos."
  
  #: lto/lang.opt:90
! #, no-c-format
  msgid "Print the initial values of the variables."
! msgstr "Imprime los valores iniciales de las variables."
  
  #: lto/lang.opt:94
  #, no-c-format
  msgid "Sort the symbols alphabetically."
! msgstr "Ordena los símbolos alfabéticamente."
  
  #: lto/lang.opt:98
  #, no-c-format
  msgid "Sort the symbols according to size."
! msgstr "Ordena los símbolos por tamaño."
  
  #: lto/lang.opt:102
! #, no-c-format
  msgid "Display the symbols in reverse order."
! msgstr "Muestra los símbolos en orden inverso."
  
  #: lto/lang.opt:109
  #, no-c-format
  msgid "Dump the details of LTO objects."
! msgstr "Vuelca los detalles de los objetos LTO."
  
  #: lto/lang.opt:113
  #, no-c-format
  msgid "Dump the statistics of tree types."
! msgstr "Vuelca las estadísticas de tipos árbol."
  
  #: lto/lang.opt:117
  #, no-c-format
  msgid "Dump the statistics of trees."
! msgstr "Vuelca las estadísticas de árboles."
  
  #: lto/lang.opt:121
  #, no-c-format
  msgid "Dump the statistics of gimple statements."
! msgstr "Vuelca las estadísticas de sentencias «gimple»."
  
  #: lto/lang.opt:131
! #, no-c-format
  msgid "Dump the dump tool command line options."
! msgstr "Vuelca las opciones de la línea de órdenes de la herramienta de volcado."
  
  #: lto/lang.opt:135
  #, no-c-format
  msgid "Dump the symtab callgraph."
! msgstr "Vuelca el grafo de llamadas de «symtab»."
  
  #: common.opt:243
  #, no-c-format
  msgid "Provide bash completion for options starting with provided string."
! msgstr "Proporciona completado bash para las opciones que comienzan por la cadena dada."
  
  #: common.opt:295
  #, no-c-format
*************** msgid "Optimize for debugging experience
*** 13354,13363 ****
  msgstr "Optimiza para experiencia de depuración en lugar de velocidad o tamaño."
  
  #: common.opt:488
! #, fuzzy, no-c-format
! #| msgid "Optimize for space rather than speed."
  msgid "Optimize for space aggressively rather than speed."
! msgstr "Optimiza para espacio en lugar de velocidad."
  
  #: common.opt:528
  #, no-c-format
--- 13292,13300 ----
  msgstr "Optimiza para experiencia de depuración en lugar de velocidad o tamaño."
  
  #: common.opt:488
! #, no-c-format
  msgid "Optimize for space aggressively rather than speed."
! msgstr "Optimiza agresivamente por espacio en lugar de por velocidad."
  
  #: common.opt:528
  #, no-c-format
*************** msgstr "Avisa si se accede a una matriz
*** 13382,13388 ****
  #: common.opt:556 common.opt:560
  #, no-c-format
  msgid "Warn for uses of pointers to deallocated storage."
! msgstr ""
  
  #: common.opt:564
  #, no-c-format
--- 13319,13325 ----
  #: common.opt:556 common.opt:560
  #, no-c-format
  msgid "Warn for uses of pointers to deallocated storage."
! msgstr "Avisa de usos de punteros a almacenamiento desasignado."
  
  #: common.opt:564
  #, no-c-format
*************** msgid "Warn about inappropriate attribut
*** 13390,13409 ****
  msgstr "Avisa sobre la aritmética de punteros de funciones."
  
  #: common.opt:568
! #, fuzzy, no-c-format
! #| msgid "wrong number of arguments specified for %qE attribute"
  msgid "Do not warn about specified attributes."
! msgstr "se especificó el número equivocado de argumentos para el atributo %qE"
  
  #: common.opt:572 common.opt:576
  #, no-c-format
  msgid "Warn about type safety and similar errors and mismatches in declarations with alias attributes."
! msgstr ""
  
  #: common.opt:580
  #, no-c-format
  msgid "Warn when profiling instrumentation was requested, but could not be applied to a certain function."
! msgstr ""
  
  #: common.opt:585 common.opt:589
  #, no-c-format
--- 13327,13345 ----
  msgstr "Avisa sobre la aritmética de punteros de funciones."
  
  #: common.opt:568
! #, no-c-format
  msgid "Do not warn about specified attributes."
! msgstr "No avisa sobre los atributos especificados."
  
  #: common.opt:572 common.opt:576
  #, no-c-format
  msgid "Warn about type safety and similar errors and mismatches in declarations with alias attributes."
! msgstr "Avisa sobre seguridad de tipo y errores similares y sobre discordancia en declaraciones con astributos alias."
  
  #: common.opt:580
  #, no-c-format
  msgid "Warn when profiling instrumentation was requested, but could not be applied to a certain function."
! msgstr "Avisa cuando se ha solicitado instrumentación de perfilado que no pudo aplicarse a cierta función."
  
  #: common.opt:585 common.opt:589
  #, no-c-format
*************** msgstr "Avisa sobre conversión de punte
*** 13413,13419 ****
  #: common.opt:593
  #, no-c-format
  msgid "Complain when a command-line option is valid, but not applicable to the current front end."
! msgstr ""
  
  #: common.opt:597
  #, no-c-format
--- 13349,13355 ----
  #: common.opt:593
  #, no-c-format
  msgid "Complain when a command-line option is valid, but not applicable to the current front end."
! msgstr "Se queja cuando una opción de la línea de órdenes es válida pero no aplicable al interfaz actual."
  
  #: common.opt:597
  #, no-c-format
*************** msgid "Warn when a #warning directive is
*** 13421,13430 ****
  msgstr "Avisa cuando se encuentra una directiva #warning."
  
  #: common.opt:601
! #, fuzzy, no-c-format
! #| msgid "Warn about uses of __attribute__((deprecated)) declarations."
  msgid "Warn about uses of __attribute__((warning)) declarations."
! msgstr "Avisa sobre usos de declaraciones __attribute__((obsoleto))."
  
  #: common.opt:605
  #, no-c-format
--- 13357,13365 ----
  msgstr "Avisa cuando se encuentra una directiva #warning."
  
  #: common.opt:601
! #, no-c-format
  msgid "Warn about uses of __attribute__((warning)) declarations."
! msgstr "Avisa sobre usos de declaraciones __attribute__((aviso))."
  
  #: common.opt:605
  #, no-c-format
*************** msgid "Warn when an optimization pass is
*** 13442,13457 ****
  msgstr "Avisa cuando se desactiva un paso de optimización."
  
  #: common.opt:617
! #, fuzzy, no-c-format
! #| msgid "Treat all warnings as errors."
  msgid "Turn all warnings into errors."
! msgstr "Trata todos los avisos como errores."
  
  #: common.opt:621
! #, fuzzy, no-c-format
! #| msgid "Treat specified warning as error."
  msgid "Turn the specified warning into an error."
! msgstr "Trata el aviso especificado como error."
  
  #: common.opt:625
  #, no-c-format
--- 13377,13390 ----
  msgstr "Avisa cuando se desactiva un paso de optimización."
  
  #: common.opt:617
! #, no-c-format
  msgid "Turn all warnings into errors."
! msgstr "Convierte todos los avisos en errores."
  
  #: common.opt:621
! #, no-c-format
  msgid "Turn the specified warning into an error."
! msgstr "Convierte el aviso especificado en error."
  
  #: common.opt:625
  #, no-c-format
*************** msgid "Exit on the first error occurred.
*** 13464,13479 ****
  msgstr "Termina cuando sucede el primer error."
  
  #: common.opt:633
! #, fuzzy, no-c-format
! #| msgid "-Wframe-larger-than=<number>\tWarn if a function's stack frame requires more than <number> bytes."
  msgid "-Wframe-larger-than=<byte-size>\tWarn if a function's stack frame requires in excess of <byte-size>."
! msgstr "-Wframe-larger-than=<número>\tAvisa si el marco de la pila de una función requiere más de <número> bytes."
  
  #: common.opt:637
! #, fuzzy, no-c-format
! #| msgid "-Wno-vla-larger-than Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-than=<SIZE_MAX> or larger."
  msgid "Disable -Wframe-larger-than= warning.  Equivalent to -Wframe-larger-than=<SIZE_MAX> or larger."
! msgstr "-Wno-vla-larger-than Desactiva el aviso Wvla-larger-than=.  Equivalente a Wvla-larger-than=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:641
  #, no-c-format
--- 13397,13410 ----
  msgstr "Termina cuando sucede el primer error."
  
  #: common.opt:633
! #, no-c-format
  msgid "-Wframe-larger-than=<byte-size>\tWarn if a function's stack frame requires in excess of <byte-size>."
! msgstr "-Wframe-larger-than=<tamaño-bytes>\tAvisa si el marco de la pila de una función requiere en exceso de <tamaño-bytes> bytes."
  
  #: common.opt:637
! #, no-c-format
  msgid "Disable -Wframe-larger-than= warning.  Equivalent to -Wframe-larger-than=<SIZE_MAX> or larger."
! msgstr "Deshabilita el aviso -Wframe-larger-than=.  Equivalente a -Wframe-larger-than=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:641
  #, no-c-format
*************** msgstr ""
*** 13488,13494 ****
  #: common.opt:656
  #, no-c-format
  msgid "Warn when a switch case falls through."
! msgstr ""
  
  #: common.opt:664
  #, no-c-format
--- 13419,13425 ----
  #: common.opt:656
  #, no-c-format
  msgid "Warn when a switch case falls through."
! msgstr "Avisa cuando un switch case pasa de largo."
  
  #: common.opt:664
  #, no-c-format
*************** msgid "Warn when an atomic memory model
*** 13501,13516 ****
  msgstr "Avisa cuando un parámetro de modelo de memoria atomic se reconoce que está fuera del rango válido."
  
  #: common.opt:675
! #, fuzzy, no-c-format
! #| msgid "-Wlarger-than=<number>\tWarn if an object is larger than <number> bytes."
  msgid "-Wlarger-than=<byte-size>\tWarn if an object's size exceeds <byte-size>."
! msgstr "-Wlarger-than=<número>\tAvisa si un objeto es más grande que <número> bytes."
  
  #: common.opt:679
! #, fuzzy, no-c-format
! #| msgid "-Wno-vla-larger-than Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-than=<SIZE_MAX> or larger."
  msgid "Disable -Wlarger-than= warning.  Equivalent to -Wlarger-than=<SIZE_MAX> or larger."
! msgstr "-Wno-vla-larger-than Desactiva el aviso Wvla-larger-than=.  Equivalente a Wvla-larger-than=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:683
  #, no-c-format
--- 13432,13445 ----
  msgstr "Avisa cuando un parámetro de modelo de memoria atomic se reconoce que está fuera del rango válido."
  
  #: common.opt:675
! #, no-c-format
  msgid "-Wlarger-than=<byte-size>\tWarn if an object's size exceeds <byte-size>."
! msgstr "-Wlarger-than=<tamaño-bytes>\tAvisa si el tamaño de un objeto excede <tamaño-bytes>."
  
  #: common.opt:679
! #, no-c-format
  msgid "Disable -Wlarger-than= warning.  Equivalent to -Wlarger-than=<SIZE_MAX> or larger."
! msgstr "Desactiva el aviso -Wlarger-than=.  Equivalente a -Wlarger-than=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:683
  #, no-c-format
*************** msgid "Warn if dereferencing a NULL poin
*** 13523,13538 ****
  msgstr "Avisa si la desreferencia de un puntero NULL puede llevar a un comportamiento erróneo o indefinido."
  
  #: common.opt:698
! #, fuzzy, no-c-format
! #| msgid "Warn about returning a pointer/reference to a local or temporary variable."
  msgid "Warn about passing a pointer/reference to a local or temporary variable to a musttail call argument."
! msgstr "Advierte del retorno de puntero/referencia a variable local o temporal."
  
  #: common.opt:702
! #, fuzzy, no-c-format
! #| msgid "Warn about returning a pointer/reference to a local or temporary variable."
  msgid "Warn about pointer/reference to a local or temporary variable possibly escaping to a musttail call."
! msgstr "Advierte del retorno de puntero/referencia a variable local o temporal."
  
  #: common.opt:706
  #, no-c-format
--- 13452,13465 ----
  msgstr "Avisa si la desreferencia de un puntero NULL puede llevar a un comportamiento erróneo o indefinido."
  
  #: common.opt:698
! #, no-c-format
  msgid "Warn about passing a pointer/reference to a local or temporary variable to a musttail call argument."
! msgstr "Advierte del paso de puntero/referencia a variable local o temporal en argumento de llamada «musttail»."
  
  #: common.opt:702
! #, no-c-format
  msgid "Warn about pointer/reference to a local or temporary variable possibly escaping to a musttail call."
! msgstr "Advierte de puntero/referencia a variable local o temporal posiblemente escapando a una llamada «musttail»."
  
  #: common.opt:706
  #, no-c-format
*************** msgid "Warn when not issuing stack smash
*** 13595,13610 ****
  msgstr "Avisa cuando no se está usando la protección contra destrucción de la pila por alguna razón."
  
  #: common.opt:760
! #, fuzzy, no-c-format
! #| msgid "-Wstack-usage=<number>\tWarn if stack usage might be larger than specified amount."
  msgid "-Wstack-usage=<byte-size>\tWarn if stack usage might exceed <byte-size>."
! msgstr "-Wstack-usage=<number>\tAvisa si el uso de pila puede ser mayor que el monto especificado."
  
  #: common.opt:764
! #, fuzzy, no-c-format
! #| msgid "-Wno-vla-larger-than Disable Wvla-larger-than= warning.  Equivalent to Wvla-larger-than=<SIZE_MAX> or larger."
  msgid "Disable Wstack-usage= warning.  Equivalent to Wstack-usage=<SIZE_MAX> or larger."
! msgstr "-Wno-vla-larger-than Desactiva el aviso Wvla-larger-than=.  Equivalente a Wvla-larger-than=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:768 common.opt:772
  #, no-c-format
--- 13522,13535 ----
  msgstr "Avisa cuando no se está usando la protección contra destrucción de la pila por alguna razón."
  
  #: common.opt:760
! #, no-c-format
  msgid "-Wstack-usage=<byte-size>\tWarn if stack usage might exceed <byte-size>."
! msgstr "-Wstack-usage=<tamaño-bytes>\tAvisa si el uso de pila puede exceder <tamaño-bytes>."
  
  #: common.opt:764
! #, no-c-format
  msgid "Disable Wstack-usage= warning.  Equivalent to Wstack-usage=<SIZE_MAX> or larger."
! msgstr "Desactiva el aviso Wstack-usage=.  Equivalente a Wstack-usage=<MAX_TAMAÑO> o mayor."
  
  #: common.opt:768 common.opt:772
  #, no-c-format
*************** msgid "Warn about functions which might
*** 13642,13651 ****
  msgstr "Avisa sobre funciones que pueden ser candidatas para __attribute__((malloc))."
  
  #: common.opt:804
! #, fuzzy, no-c-format
! #| msgid "Warn about functions which might be candidates for __attribute__((noreturn))."
  msgid "Warn about functions which might be candidates for __attribute__((returns_nonnull))."
! msgstr "Avisa sobre funciones que pueden ser candidatas para __attribute((noreturn))."
  
  #: common.opt:808
  #, no-c-format
--- 13567,13575 ----
  msgstr "Avisa sobre funciones que pueden ser candidatas para __attribute__((malloc))."
  
  #: common.opt:804
! #, no-c-format
  msgid "Warn about functions which might be candidates for __attribute__((returns_nonnull))."
! msgstr "Avisa sobre funciones que pueden ser candidatas para __attribute__((returns_nonnull))."
  
  #: common.opt:808
  #, no-c-format
*************** msgid "Warn whenever a trampoline is gen
*** 13678,13687 ****
  msgstr "Avisa siempre que se genera un trampolín."
  
  #: common.opt:833
! #, fuzzy, no-c-format
! #| msgid "Warn about maybe uninitialized automatic variables."
  msgid "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto variable."
! msgstr "Avisa sobre variables automáticas probablemente sin inicializar."
  
  #: common.opt:837
  #, no-c-format
--- 13602,13610 ----
  msgstr "Avisa siempre que se genera un trampolín."
  
  #: common.opt:833
! #, no-c-format
  msgid "Warn about cases where -ftrivial-auto-var-init cannot initialize an auto variable."
! msgstr "Avisa sobre casos en los que -ftrivial-auto-var-init no puede inicializar una auto variable."
  
  #: common.opt:837
  #, no-c-format
*************** msgstr "Avisa en perfiles case en -fprof
*** 13746,13773 ****
  #: common.opt:889
  #, no-c-format
  msgid "Warn in case a function ends earlier than it begins due to an invalid linenum macros."
! msgstr ""
  
  #: common.opt:893
  #, no-c-format
  msgid "Warn when a conditional has too many terms and condition coverage profiling gives up instrumenting the expression."
! msgstr ""
  
  #: common.opt:898
  #, no-c-format
  msgid "-fpath-coverage-limit=<number> Don't instrument functions path count exceeding <number>."
! msgstr ""
  
  #: common.opt:903
  #, no-c-format
  msgid "Warn if a function exceeds the number of paths (controlled by -fpath-coverage-limit) and path coverage give up instrumenting the function. The limit is approximate and conservative and coverage might give up even if the actual number is slightly below the limit."
! msgstr ""
  
  #: common.opt:910
! #, fuzzy, no-c-format
! #| msgid "Warn in case profiles in -fprofile-use do not match."
  msgid "Warn in case profiles in -fprofile-use do not exist."
! msgstr "Avisa en perfiles case en -fprofile-use que no coincidan."
  
  #: common.opt:914
  #, no-c-format
--- 13669,13695 ----
  #: common.opt:889
  #, no-c-format
  msgid "Warn in case a function ends earlier than it begins due to an invalid linenum macros."
! msgstr "Avisa en caso de que una función termine antes de empezar a causa de macros con número de línea no válido."
  
  #: common.opt:893
  #, no-c-format
  msgid "Warn when a conditional has too many terms and condition coverage profiling gives up instrumenting the expression."
! msgstr "Avisa cuando un condicional tiene demasiados términos y el perfilado de cobertura de condiciones renuncia a instrumentar la expresión."
  
  #: common.opt:898
  #, no-c-format
  msgid "-fpath-coverage-limit=<number> Don't instrument functions path count exceeding <number>."
! msgstr "-fpath-coverage-limit=<número> No instrumenta funciones donde el cómputo de la ruta excede <número>"
  
  #: common.opt:903
  #, no-c-format
  msgid "Warn if a function exceeds the number of paths (controlled by -fpath-coverage-limit) and path coverage give up instrumenting the function. The limit is approximate and conservative and coverage might give up even if the actual number is slightly below the limit."
! msgstr "Avisa si una función excede el número de rutas (controladas por -fpath-coverage-limit) y la cobertura de ruta renuncia a instrumentar la función. El límite es aproximado y conservador y la cobertura podría renunciar incluso si el número real es ligeralmente inferior al límite."
  
  #: common.opt:910
! #, no-c-format
  msgid "Warn in case profiles in -fprofile-use do not exist."
! msgstr "Avisa en caso de que los perfiles no existan en -fprofile-use."
  
  #: common.opt:914
  #, no-c-format
*************** msgid "Warn when a vector operation is c
*** 13775,13784 ****
  msgstr "Avisar cuando una operación vectorial se compila fuera del SIMD."
  
  #: common.opt:918
! #, fuzzy, no-c-format
! #| msgid "Warn about unprototyped function declarations."
  msgid "Warn about unsupported features in ThreadSanitizer."
! msgstr "Avisa sobre declaraciones de función sin prototipo."
  
  #: common.opt:934
  #, no-c-format
--- 13697,13705 ----
  msgstr "Avisar cuando una operación vectorial se compila fuera del SIMD."
  
  #: common.opt:918
! #, no-c-format
  msgid "Warn about unsupported features in ThreadSanitizer."
! msgstr "Avisa sobre características no disponibles en ThreadSanitizer."
  
  #: common.opt:934
  #, no-c-format
*************** msgid "Align the start of loops."
*** 13836,13851 ****
  msgstr "Alinea el inicio de los bucles."
  
  #: common.opt:1104
! #, fuzzy, no-c-format
! #| msgid "Allow the store merging pass to introduce unaligned stores if it is legal to do so."
  msgid "Allow the compiler to introduce new data races on stores."
! msgstr "Permitir que el paso de mezcla de almacenamientos introduzca almacenamientos desalineados si es legal hacerlo."
  
  #: common.opt:1108
! #, fuzzy, no-c-format
! #| msgid "Enable traditional preprocessing."
  msgid "Enable static analysis pass."
! msgstr "Habilita el preprocesamiento tradicional."
  
  #: common.opt:1128
  #, no-c-format
--- 13757,13770 ----
  msgstr "Alinea el inicio de los bucles."
  
  #: common.opt:1104
! #, no-c-format
  msgid "Allow the compiler to introduce new data races on stores."
! msgstr "Permite que el compilador introduzca carreras de datos en almacenes."
  
  #: common.opt:1108
! #, no-c-format
  msgid "Enable static analysis pass."
! msgstr "Habilita el paso de análisis estático."
  
  #: common.opt:1128
  #, no-c-format
*************** msgstr "Selecciona el tipo de saneamient
*** 13860,13866 ****
  #: common.opt:1145
  #, no-c-format
  msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
! msgstr ""
  
  #: common.opt:1149
  #, no-c-format
--- 13779,13785 ----
  #: common.opt:1145
  #, no-c-format
  msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
! msgstr "-fasan-shadow-offset=<número>\tUtiliza desplazamiento personalizado para la memoria «shadow»."
  
  #: common.opt:1149
  #, no-c-format
*************** msgid "This switch is deprecated; use -f
*** 13878,13893 ****
  msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-recover=."
  
  #: common.opt:1162
! #, fuzzy, no-c-format
! #| msgid "Use trap instead of a library function for undefined behavior sanitization."
  msgid "Use traps instead of diagnostics of undefined behavior sanitizers."
! msgstr "Usa trap en lugar de una función de biblioteca para sanear el comportamiento indefinido."
  
  #: common.opt:1172
! #, fuzzy, no-c-format
! #| msgid "This switch is deprecated; use -fsanitize-recover= instead."
  msgid "This switch is deprecated; use -fsanitize-trap= instead."
! msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-recover=."
  
  #: common.opt:1176
  #, no-c-format
--- 13797,13810 ----
  msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-recover=."
  
  #: common.opt:1162
! #, no-c-format
  msgid "Use traps instead of diagnostics of undefined behavior sanitizers."
! msgstr "Usa traps en lugar de diagnósticos de saneadores de comportamiento indefinido."
  
  #: common.opt:1172
! #, no-c-format
  msgid "This switch is deprecated; use -fsanitize-trap= instead."
! msgstr "Esta opción es obsoleta; utilice en su lugar -fsanitize-trap=."
  
  #: common.opt:1176
  #, no-c-format
*************** msgid "Use profiling information for bra
*** 13925,13940 ****
  msgstr "Usa la información de análisis de perfil para las probabilidades de ramificación."
  
  #: common.opt:1222
! #, fuzzy, no-c-format
! #| msgid "Output stack usage information on a per-function basis."
  msgid "Output callgraph information on a per-file basis."
! msgstr "Información de uso de pila de salida basada por función."
  
  #: common.opt:1226
! #, fuzzy, no-c-format
! #| msgid "Output stack usage information on a per-function basis."
  msgid "Output callgraph information on a per-file basis with decorations."
! msgstr "Información de uso de pila de salida basada por función."
  
  #: common.opt:1230
  #, no-c-format
--- 13842,13855 ----
  msgstr "Usa la información de análisis de perfil para las probabilidades de ramificación."
  
  #: common.opt:1222
! #, no-c-format
  msgid "Output callgraph information on a per-file basis."
! msgstr "Saca información del grafo de llamadas organizado por ficheros."
  
  #: common.opt:1226
! #, no-c-format
  msgid "Output callgraph information on a per-file basis with decorations."
! msgstr "Saca información del grafo de llamadas organizado por ficheros con decoraciones."
  
  #: common.opt:1230
  #, no-c-format
*************** msgstr "Realiza comprobaciones de consis
*** 13969,13975 ****
  #: common.opt:1261
  #, no-c-format
  msgid "For -f*-prefix-map= options compare canonicalized pathnames rather than just strings."
! msgstr ""
  
  #: common.opt:1265
  #, no-c-format
--- 13884,13890 ----
  #: common.opt:1261
  #, no-c-format
  msgid "For -f*-prefix-map= options compare canonicalized pathnames rather than just strings."
! msgstr "Para las opciones -f*-prefix-map= compara nombres de ruta canónicos en lugar de simplemente cadenas."
  
  #: common.opt:1265
  #, no-c-format
*************** msgid "Looks for opportunities to reduce
*** 13982,13991 ****
  msgstr "Busca oportunidades para reducir los ajustes de pila y las referencias de pila."
  
  #: common.opt:1273
! #, fuzzy, no-c-format
! #| msgid "Do not put uninitialized globals in the common section."
  msgid "Put uninitialized globals in the common section."
! msgstr "No pone globales sin inicializar en la sección común."
  
  #: common.opt:1281
  #, no-c-format
--- 13897,13905 ----
  msgstr "Busca oportunidades para reducir los ajustes de pila y las referencias de pila."
  
  #: common.opt:1273
! #, no-c-format
  msgid "Put uninitialized globals in the common section."
! msgstr "Pone globales sin inicializar en la sección común."
  
  #: common.opt:1281
  #, no-c-format
*************** msgid "List all available debugging coun
*** 14048,14069 ****
  msgstr "Enumera todos los contadores de depuración disponibles con sus límites y cuentas."
  
  #: common.opt:1333
! #, fuzzy, no-c-format
! #| msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...]\tSet the debug counter limit."
  msgid "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
! msgstr "-fdbg-cnt=<contador>:<límite>[,<contador>:<límite>,...]\tEstablece el límite del contador de depuración."
  
  #: common.opt:1337
! #, fuzzy, no-c-format
! #| msgid "-fdebug-prefix-map=<old>=<new> Map one directory name to another in debug information."
  msgid "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug information."
! msgstr "-fdebug-prefix-map=<antiguo>=<nuevo> Asocia un nombre de directorio a otro en la información de depuración."
  
  #: common.opt:1341
! #, fuzzy, no-c-format
! #| msgid "-ffile-prefix-map=<old>=<new> Map one directory name to another in compilation result."
  msgid "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in compilation result."
! msgstr "-ffile-prefix-map=<antiguo>=<nuevo> Asocia un nombre de directorio a otro en la información de depuración."
  
  #: common.opt:1345
  #, no-c-format
--- 13962,13980 ----
  msgstr "Enumera todos los contadores de depuración disponibles con sus límites y cuentas."
  
  #: common.opt:1333
! #, no-c-format
  msgid "-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
! msgstr "-fdbg-cnt=<contador>[:<límite_inferior1>-]<límite_superior1>[:<límite_inferior2>-<límite_superior2>:...][,<contador>:...]\tEstablece el límite del contador de depuración."
  
  #: common.opt:1337
! #, no-c-format
  msgid "-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug information."
! msgstr "-fdebug-prefix-map=<antiguo>=<nuevo>\tAsocia un nombre de directorio a otro en la información de depuración."
  
  #: common.opt:1341
! #, no-c-format
  msgid "-ffile-prefix-map=<old>=<new>\tMap one directory name to another in compilation result."
! msgstr "-ffile-prefix-map=<antiguo>=<nuevo>\tAsocia un nombre de directorio a otro en la información de depuración."
  
  #: common.opt:1345
  #, no-c-format
*************** msgstr "Muestra la línea de código con
*** 14118,14134 ****
  #: common.opt:1400
  #, no-c-format
  msgid "Show lines linking related events in diagnostic paths."
! msgstr ""
  
  #: common.opt:1404
  #, no-c-format
  msgid "Show labels annotating ranges of source code when showing source."
! msgstr ""
  
  #: common.opt:1408
  #, no-c-format
  msgid "Show line numbers in the left margin when showing source."
! msgstr ""
  
  #: common.opt:1416
  #, no-c-format
--- 14029,14045 ----
  #: common.opt:1400
  #, no-c-format
  msgid "Show lines linking related events in diagnostic paths."
! msgstr "Muestra líneas que enlazan elementos relacionados en rutas de diagnóstico."
  
  #: common.opt:1404
  #, no-c-format
  msgid "Show labels annotating ranges of source code when showing source."
! msgstr "Muestra etiquetas que anotan rangos de código fuente cuando se muestra el fuente."
  
  #: common.opt:1408
  #, no-c-format
  msgid "Show line numbers in the left margin when showing source."
! msgstr "Muestra números de línea en el margen izquierdo cuando se muestra el fuente."
  
  #: common.opt:1416
  #, no-c-format
*************** msgid "-fdiagnostics-color=[never|always
*** 14136,14181 ****
  msgstr "-fdiagnostics-color=[never|always|auto]\tColorea los diagnósticos."
  
  #: common.opt:1436
! #, fuzzy, no-c-format
! #| msgid "Enable verbose output."
  msgid "Enable formatting of JSON output."
! msgstr "Activa la salida detallada."
  
  #: common.opt:1440
! #, fuzzy, no-c-format
! #| msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
  msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
! msgstr "-fdiagnostics-color=[never|always|auto]\tColorea los diagnósticos."
  
  #: common.opt:1460
  #, no-c-format
  msgid "-fdiagnostics-column-unit=[display|byte]\tSelect whether column numbers are output as display columns (default) or raw bytes."
! msgstr ""
  
  #: common.opt:1464
  #, no-c-format
  msgid "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  The default is 1-based as per GNU style, but some utilities may expect 0-based, for example."
! msgstr ""
  
  #: common.opt:1468
  #, no-c-format
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelect output format."
! msgstr ""
  
  #: common.opt:1472
  #, no-c-format
  msgid "Add output format."
! msgstr ""
  
  #: common.opt:1476
  #, no-c-format
  msgid "Set output format."
! msgstr ""
  
  #: common.opt:1480
  #, no-c-format
  msgid "-fdiagnostics-escape-format=[unicode|bytes]\tSelect how to escape non-printable-ASCII bytes in the source for diagnostics that suggest it."
! msgstr ""
  
  #: common.opt:1527
  #, no-c-format
--- 14047,14090 ----
  msgstr "-fdiagnostics-color=[never|always|auto]\tColorea los diagnósticos."
  
  #: common.opt:1436
! #, no-c-format
  msgid "Enable formatting of JSON output."
! msgstr "Activa la salida en formato JSON."
  
  #: common.opt:1440
! #, no-c-format
  msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
! msgstr "-fdiagnostics-urls=[never|always|auto]\tInserta URLS en los diagnósticos."
  
  #: common.opt:1460
  #, no-c-format
  msgid "-fdiagnostics-column-unit=[display|byte]\tSelect whether column numbers are output as display columns (default) or raw bytes."
! msgstr "-fdiagnostics-column-unit=[display|byte]\tSelecciona si los números de columna se sacan como columnas (predeterminado) o bytes crudos."
  
  #: common.opt:1464
  #, no-c-format
  msgid "-fdiagnostics-column-origin=<number>\tSet the number of the first column.  The default is 1-based as per GNU style, but some utilities may expect 0-based, for example."
! msgstr "-fdiagnostics-column-origin=<número>\tEstablece el número de la primera columna.  El origen predefinido es 1 al estilo GNU, pero algunas utilidades pueden esperar que empiece en 0, por ejemplo."
  
  #: common.opt:1468
  #, no-c-format
  msgid "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelect output format."
! msgstr "-fdiagnostics-format=[text|sarif-stderr|sarif-file|json|json-stderr|json-file]\tSelecciona el formato de salida."
  
  #: common.opt:1472
  #, no-c-format
  msgid "Add output format."
! msgstr "Añade el formato de salida."
  
  #: common.opt:1476
  #, no-c-format
  msgid "Set output format."
! msgstr "Establece el formato de salida."
  
  #: common.opt:1480
  #, no-c-format
  msgid "-fdiagnostics-escape-format=[unicode|bytes]\tSelect how to escape non-printable-ASCII bytes in the source for diagnostics that suggest it."
! msgstr "-fdiagnostics-escape-format=[unicode|bytes]\tSelecciona cómo escapar los bytes ASCII no imprimibles en el fuente para el diagnóstico que lo sugiera."
  
  #: common.opt:1527
  #, no-c-format
*************** msgstr "Asocia adecuadamente los mensaje
*** 14195,14248 ****
  #: common.opt:1539
  #, no-c-format
  msgid "Print CWE identifiers for diagnostic messages, where available."
! msgstr ""
  
  #: common.opt:1543
  #, no-c-format
  msgid "Print any rules associated with diagnostic messages."
! msgstr ""
  
  #: common.opt:1547
  #, no-c-format
  msgid "Use color within diagnostic messages to highlight pertinent information."
! msgstr ""
  
  #: common.opt:1551
  #, no-c-format
  msgid "Specify how to print any control-flow path associated with a diagnostic."
! msgstr ""
  
  #: common.opt:1555
  #, no-c-format
  msgid "Turn off any diagnostics features that complicate the output, such as line numbers, color, and warning URLs."
! msgstr ""
  
  #: common.opt:1559
! #, fuzzy, no-c-format
! #| msgid "-ftabstop=<number>\tDistance between tab stops for column reporting."
  msgid "-ftabstop=<number>      Distance between tab stops for column reporting."
! msgstr "-ftabstop=<número>\tDistancia entre topes de tabulador para informes en columnas."
  
  #: common.opt:1575
  #, no-c-format
  msgid "Show stack depths of events in paths."
! msgstr ""
  
  #: common.opt:1579
  #, no-c-format
  msgid "-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]\tDetermine which characters to use in text arg diagrams."
! msgstr ""
  
  #: common.opt:1598
  #, no-c-format
  msgid "Set minimum width of left margin of source code when showing source."
! msgstr ""
  
  #: common.opt:1602
! #, fuzzy, no-c-format
! #| msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2 disables an optimization pass."
  msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
! msgstr "-fdisable-[tree|rtl|ipa]-<paso>=rango1+rango2 desactiva un paso de optimización."
  
  #: common.opt:1606
  #, fuzzy, no-c-format
--- 14104,14155 ----
  #: common.opt:1539
  #, no-c-format
  msgid "Print CWE identifiers for diagnostic messages, where available."
! msgstr "Imprime identificadores CWE para mensajes de diagnóstico, cuando están disponibles."
  
  #: common.opt:1543
  #, no-c-format
  msgid "Print any rules associated with diagnostic messages."
! msgstr "Imprime las reglas asociadas a mensajes de diagnóstico."
  
  #: common.opt:1547
  #, no-c-format
  msgid "Use color within diagnostic messages to highlight pertinent information."
! msgstr "Utiliza colores en mensajes de diagnóstico para resaltar información pertinente."
  
  #: common.opt:1551
  #, no-c-format
  msgid "Specify how to print any control-flow path associated with a diagnostic."
! msgstr "Especifica cómo imprimir ruta de control de flujo asociada a diagnóstico."
  
  #: common.opt:1555
  #, no-c-format
  msgid "Turn off any diagnostics features that complicate the output, such as line numbers, color, and warning URLs."
! msgstr "Desactiva capacidades de diagnóstico que compliquen la salida, tal como números de línea, colores y URLs de avisos."
  
  #: common.opt:1559
! #, no-c-format
  msgid "-ftabstop=<number>      Distance between tab stops for column reporting."
! msgstr "-ftabstop=<número>      Distancia entre topes de tabulador para informes en columnas."
  
  #: common.opt:1575
  #, no-c-format
  msgid "Show stack depths of events in paths."
! msgstr "Muestra las profundidades de la pila de eventos en las rutas."
  
  #: common.opt:1579
  #, no-c-format
  msgid "-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]\tDetermine which characters to use in text arg diagrams."
! msgstr "-fdiagnostics-text-art-charset=[none|ascii|unicode|emoji]\tDetermina qué caracteres utilizar en diagramas artísticos de texto."
  
  #: common.opt:1598
  #, no-c-format
  msgid "Set minimum width of left margin of source code when showing source."
! msgstr "Establece la anchura mínima del margen izquierdo del código fuente cuando se muestra código."
  
  #: common.opt:1602
! #, no-c-format
  msgid "-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
! msgstr "-fdisable-[tree|rtl|ipa]-<paso>=rango1+rango2\tDesactiva un paso de optimización."
  
  #: common.opt:1606
  #, fuzzy, no-c-format
diff -Nrcpad gcc-15-20260131/gcc/pointer-query.cc gcc-15-20260207/gcc/pointer-query.cc
*** gcc-15-20260131/gcc/pointer-query.cc	Sat Jan 31 22:32:08 2026
--- gcc-15-20260207/gcc/pointer-query.cc	Sat Feb  7 22:32:08 2026
*************** get_offset_range (tree x, gimple *stmt,
*** 74,80 ****
      x = TREE_OPERAND (x, 0);
  
    tree type = TREE_TYPE (x);
!   if (!INTEGRAL_TYPE_P (type) && !POINTER_TYPE_P (type))
      return false;
  
     if (TREE_CODE (x) != INTEGER_CST
--- 74,85 ----
      x = TREE_OPERAND (x, 0);
  
    tree type = TREE_TYPE (x);
!   if ((!INTEGRAL_TYPE_P (type)
!        /* ???  We get along without caring about overflow by using
! 	  offset_int, but that falls apart when indexes are bigger
! 	  than pointer differences.  */
!        || TYPE_PRECISION (type) > TYPE_PRECISION (ptrdiff_type_node))
!       && !POINTER_TYPE_P (type))
      return false;
  
     if (TREE_CODE (x) != INTEGER_CST
diff -Nrcpad gcc-15-20260131/gcc/system.h gcc-15-20260207/gcc/system.h
*** gcc-15-20260131/gcc/system.h	Sat Jan 31 22:32:08 2026
--- gcc-15-20260207/gcc/system.h	Sat Feb  7 22:32:08 2026
*************** extern int fprintf_unlocked (FILE *, con
*** 226,231 ****
--- 226,236 ----
  # include <sstream>
  #endif
  # include <memory>
+ 
+ /* Some versions of GCC exposes an internal copy of the CONST_CAST2 macro that
+    might be incompatible with the current version of the GCC sources.  */
+ #undef CONST_CAST2
+ 
  # include <cstring>
  # include <initializer_list>
  # include <new>
diff -Nrcpad gcc-15-20260131/gcc/testsuite/ChangeLog gcc-15-20260207/gcc/testsuite/ChangeLog
*** gcc-15-20260131/gcc/testsuite/ChangeLog	Sat Jan 31 22:32:08 2026
--- gcc-15-20260207/gcc/testsuite/ChangeLog	Sat Feb  7 22:32:08 2026
***************
*** 1,3 ****
--- 1,192 ----
+ 2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	* lib/lto.exp (lto-build-archive): Forward extra command line
+ 	arguments from $GCC_UNDER_TEST to gcc-ar.
+ 
+ 2026-02-05  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/117048
+ 	PR target/123584
+ 	* gcc.target/aarch64/simd/pr117048.c: Scan for # in assembly immediate.
+ 
+ 2026-02-05  Karl Meakin  <karl.meakin@arm.com>
+ 
+ 	Backported from master:
+ 	2026-01-26  Karl Meakin  <karl.meakin@arm.com>
+ 
+ 	* gcc.target/aarch64/rotate_xar_1.c
+ 	* gcc.target/aarch64/sha3_1.c
+ 	* gcc.target/aarch64/sha3_2.c
+ 	* gcc.target/aarch64/sha3_3.c
+ 	* gcc.target/aarch64/xar_v2di_nonsve.c: Fix tests.
+ 
+ 2026-02-05  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	Backported from master:
+ 	2026-01-20  Kyrylo Tkachov  <ktkachov@nvidia.com>
+ 
+ 	PR target/123584
+ 	* gcc.target/aarch64/torture/xar-zero.c: New test.
+ 
+ 2026-02-05  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/122169
+ 	* g++.dg/cpp26/pack-indexing19.C: New test.
+ 
+ 2026-02-05  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	Backported from master:
+ 	2026-02-05  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
+ 
+ 	* lib/lto.exp (lto-build-archive): Transform gcc-ar binary name.
+ 
+ 2026-02-05  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-28  Hongyu Wang  <hongyu.wang@intel.com>
+ 
+ 	PR target/123779
+ 	* g++.target/i386/pr123779.C: New test.
+ 
+ 2026-02-05  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR target/122051
+ 	PR target/120642
+ 	* gcc.target/riscv/pr122051.c: Remove.
+ 	* gcc.target/riscv/rvv/xtheadvector/pr120642.c: Remove.
+ 
+ 2026-02-05  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR tree-optimization/123729
+ 	* g++.dg/torture/pr123729.C: Require hostedlib.
+ 
+ 2026-02-05  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR middle-end/123775
+ 	* gcc.target/aarch64/sve2/pr123775.c: Add sve128 and sve2 hw
+ 	requirements.
+ 
+ 2026-02-03  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-10-02  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/122051
+ 	* gcc.target/riscv/pr122051.c: New test.
+ 
+ 2026-02-03  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	Backported from master:
+ 	2025-07-09  Jeff Law  <jlaw@ventanamicro.com>
+ 
+ 	PR target/120642
+ 	* gcc.target/riscv/rvv/xtheadvector/pr120642.c: New test.
+ 
+ 2026-02-03  Alfie Richards  <alfie.richards@arm.com>
+ 
+ 	PR target/123548
+ 	* gcc.target/aarch64/pr123548.c: New test.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-26  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123794
+ 	* gcc.dg/vect/vect-simd-clone-pr123794.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-23  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123775
+ 	* gcc.target/aarch64/sve2/pr123775.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-20  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123729
+ 	* g++.dg/torture/pr123729.C: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123575
+ 	* g++.dg/pr123575.C: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/123537
+ 	* gcc.dg/pr123537.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-27  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR ipa/116296
+ 	* gcc.dg/torture/pr116296.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-28  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/110043
+ 	* gcc.dg/torture/pr110043.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR tree-optimization/109410
+ 	* gcc.dg/pr109410-2.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-31  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123887
+ 	* gcc.dg/torture/pr123887-2.c: New testcase.
+ 
+ 2026-02-02  Richard Biener  <rguenther@suse.de>
+ 
+ 	Backported from master:
+ 	2026-01-30  Richard Biener  <rguenther@suse.de>
+ 
+ 	PR middle-end/123887
+ 	* gcc.dg/torture/pr123887.c: New testcase.
+ 
+ 2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+ 	    Liam Powell  <liam@liampwll.com>
+ 
+ 	* gnat.dg/prefix4.adb: New test.
+ 	* gnat.dg/prefix4_pkg.ads: New helper.
+ 
+ 2026-02-01  Eric Botcazou  <ebotcazou@adacore.com>
+ 	    Liam Powell  <liam@liampwll.com>
+ 
+ 	* gnat.dg/iter7.adb: New test.
+ 
  2026-01-30  Eric Botcazou  <ebotcazou@adacore.com>
  
  	* gnat.dg/specs/limited_with3.ads: New test.
diff -Nrcpad gcc-15-20260131/gcc/testsuite/g++.dg/cpp26/pack-indexing19.C gcc-15-20260207/gcc/testsuite/g++.dg/cpp26/pack-indexing19.C
*** gcc-15-20260131/gcc/testsuite/g++.dg/cpp26/pack-indexing19.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/g++.dg/cpp26/pack-indexing19.C	Sat Feb  7 22:32:09 2026
***************
*** 0 ****
--- 1,32 ----
+ // PR c++/122169
+ // { dg-do compile { target c++26 } }
+ 
+ template<class T, class U>
+ concept same_as = __is_same(T, U);
+ 
+ template<class... Ts>
+ void f() {
+   using T = Ts...[0];
+   static_assert(same_as<const T, const int>);
+ 
+   []<int I>() {
+     using U = Ts...[I];
+     static_assert(same_as<const U, const int>);
+   }.template operator()<0>();
+ }
+ 
+ template void f<int>();
+ 
+ 
+ template<class... Ts>
+ void g() {
+   using T = Ts...[0];
+   static_assert(same_as<const T, const volatile int>);
+ 
+   []<int I>() {
+     using U = Ts...[I];
+     static_assert(same_as<const U, const volatile int>);
+   }.template operator()<0>();
+ }
+ 
+ template void g<volatile int>();
diff -Nrcpad gcc-15-20260131/gcc/testsuite/g++.dg/pr123575.C gcc-15-20260207/gcc/testsuite/g++.dg/pr123575.C
*** gcc-15-20260131/gcc/testsuite/g++.dg/pr123575.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/g++.dg/pr123575.C	Sat Feb  7 22:32:09 2026
***************
*** 0 ****
--- 1,12 ----
+ // { dg-do compile }
+ // { dg-options "-O -Wno-psabi" }
+ 
+ typedef int __attribute__((vector_size(sizeof(int)*2))) v2i;
+ typedef long __attribute__((vector_size(sizeof(long)*2))) v2l;
+ 
+ v2l f(v2i a)
+ {
+   v2l  t = __builtin_convertvector(a, v2l);
+   t = t > 0 ? t : -t;
+   return t;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/g++.dg/torture/pr123729.C gcc-15-20260207/gcc/testsuite/g++.dg/torture/pr123729.C
*** gcc-15-20260131/gcc/testsuite/g++.dg/torture/pr123729.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/g++.dg/torture/pr123729.C	Sat Feb  7 22:32:09 2026
***************
*** 0 ****
--- 1,61 ----
+ // { dg-do compile }
+ // { dg-additional-options "-std=gnu++20" }
+ // { dg-skip-if "requires hosted libstdc++ for csetjmp and iostream" { ! hostedlib } }
+ 
+ #include <csetjmp>
+ #include <iostream>
+ 
+ template <typename T> struct A { using type = int; };
+ template <typename F, typename... G> struct B {};
+ template <typename F> struct B<F> { using type = F; };
+ struct {
+   template <typename... F,
+             typename Overload = typename B<typename A<F>::type...>::type>
+   int operator()(F...) {
+     int iArrFld_0_0;
+     for (int i = 7; i < 28; ++i)
+       ;
+     int i1 = 3;
+     try {
+       for (int i = 7; i < 28; ++i) {
+         for (int j = 0; j < 7; ++j)
+           if (iArrFld_0_0 == 0) {
+             for (int k = 0; k < 20000; ++k)
+               std::cout << "Hello, world!" << std::endl;
+           }
+         jmp_buf env2;
+         for (int i2 = 16; i2 < 350; ++i2)
+           for (int j2 = 1; j2 < 75; ++j2)
+             for (int k2 = 0; k2 < 16; ++k2) {
+               int temp2 = i2 + j2 + k2;
+               int mod2 = temp2 % 8;
+               {
+                 setjmp(env2) == 0;
+                 ;
+               }
+             }
+       }
+     } catch (const std::exception &e) {
+     }
+     auto lambda = [](int x) {
+       return [x](int y) {
+         int z = 0;
+         if (y > 0)
+           z = 1;
+         return z + x;
+       };
+     };
+     for (int i = 0; i < 1000; ++i) {
+       int m = 0;
+       auto f = lambda(i);
+       for (int j = 0; j < 100; ++j)
+         m += f(j);
+       i1 += m;
+     }
+     std::cout << "Final value of i1: " << i1 << std::endl;
+     return 0;
+   }
+ } a;
+ int main() {
+   auto f = a([] {});
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/g++.target/i386/pr123779.C gcc-15-20260207/gcc/testsuite/g++.target/i386/pr123779.C
*** gcc-15-20260131/gcc/testsuite/g++.target/i386/pr123779.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/g++.target/i386/pr123779.C	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,56 ----
+ /* PR target/123779 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mavx512vl -mavx512bw" } */
+ 
+ typedef char __v16qi __attribute__((__vector_size__(16)));
+ typedef short __v8hi __attribute__((__vector_size__(16)));
+ typedef int __v4si __attribute__((__vector_size__(16)));
+ typedef long long __v2di __attribute__((__vector_size__(16)));
+ 
+ typedef int __v8si __attribute__((__vector_size__(32)));
+ typedef long long __v4di __attribute__((__vector_size__(32)));
+ typedef long long __v8di __attribute__((__vector_size__(64)));
+ typedef unsigned char __mmask8;
+ 
+ long long g_mem;
+ 
+ #define MAKE_TEST_BLEND(NAME, DEST_T, SRC_INIT_T, PMOV_INPUT_CAST_T, \
+ 			PMOV_FUNC, BLEND_FUNC, BLEND_CAST_T, LOAD_VAL_TYPE, ...) \
+     DEST_T dest_##NAME, mask_src1_##NAME, mask_src2_##NAME, mask_##NAME, res_##NAME; \
+     void test_##NAME() \
+       { \
+         mask_##NAME = mask_src1_##NAME < mask_src2_##NAME; \
+         LOAD_VAL_TYPE val = (LOAD_VAL_TYPE)g_mem; \
+         SRC_INIT_T src_vec = { __VA_ARGS__ }; \
+         DEST_T extended = (DEST_T)PMOV_FUNC ((PMOV_INPUT_CAST_T)src_vec); \
+         res_##NAME = (DEST_T)BLEND_FUNC ( \
+             (BLEND_CAST_T)dest_##NAME, \
+             (BLEND_CAST_T)extended, \
+             (BLEND_CAST_T)mask_##NAME); \
+       }
+ 
+ #define MAKE_TEST_MASK(NAME, DEST_T, SRC_INIT_T, PMOV_INPUT_CAST_T, \
+ 		       PMOV_MASK_FUNC, LOAD_VAL_TYPE, ...) \
+     DEST_T dest_##NAME, res_##NAME; \
+     __mmask8 mask_##NAME; \
+     void test_##NAME() \
+       { \
+ 	LOAD_VAL_TYPE val = (LOAD_VAL_TYPE) g_mem; \
+ 	SRC_INIT_T src_vec = { __VA_ARGS__ }; \
+ 	res_##NAME = PMOV_MASK_FUNC ((PMOV_INPUT_CAST_T)src_vec, \
+ 				     dest_##NAME, \
+ 				     mask_##NAME);\
+       }  
+ 
+ 
+ MAKE_TEST_BLEND(v8qi_v8hi, __v8hi, __v2di, __v16qi, __builtin_ia32_pmovzxbw128, __builtin_ia32_pblendvb128, __v16qi, long long, val, 0)
+ MAKE_TEST_BLEND(v4qi_v4si, __v4si, __v4si, __v16qi, __builtin_ia32_pmovzxbd128, __builtin_ia32_pblendvb128, __v16qi, int, val, 0, 0, 0)
+ MAKE_TEST_BLEND(v4hi_v4si, __v4si, __v2di, __v8hi, __builtin_ia32_pmovzxwd128, __builtin_ia32_pblendvb128, __v16qi, long long, val, 0)
+ MAKE_TEST_BLEND(v2hi_v2di, __v2di, __v4si, __v8hi, __builtin_ia32_pmovzxwq128, __builtin_ia32_pblendvb128, __v16qi, int, val, 0, 0, 0)
+ MAKE_TEST_BLEND(v2si_v2di, __v2di, __v2di, __v4si, __builtin_ia32_pmovzxdq128, __builtin_ia32_pblendvb128, __v16qi, long long, val, 0)
+ 
+ 
+ MAKE_TEST_MASK(v8qi_v8si, __v8si, __v2di, __v16qi, __builtin_ia32_pmovzxbd256_mask, long long, val, 0)
+ MAKE_TEST_MASK(v4qi_v4di, __v4di, __v4si, __v16qi, __builtin_ia32_pmovzxbq256_mask, int, val, 0, 0, 0)
+ MAKE_TEST_MASK(v4hi_v4di, __v4di, __v2di, __v8hi, __builtin_ia32_pmovzxwq256_mask, long long, val, 0)
+ MAKE_TEST_MASK(v8qi_v8di, __v8di, __v2di, __v16qi, __builtin_ia32_pmovzxbq512_mask, long long, val, 0)
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/pr109410-2.c gcc-15-20260207/gcc/testsuite/gcc.dg/pr109410-2.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/pr109410-2.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/pr109410-2.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,5 ----
+ /* PR tree-optimization/109410 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -g" } */
+ 
+ #include "pr109410.c"
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/pr123537.c gcc-15-20260207/gcc/testsuite/gcc.dg/pr123537.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/pr123537.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/pr123537.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,20 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target int128 } */
+ /* { dg-options "-O2" } */
+ 
+ typedef __attribute__((__vector_size__(16))) __int128 V;
+ 
+ union {
+   _Complex long c;
+   V v;
+ } u;
+ 
+ __int128 j;
+ int i;
+ 
+ void
+ foo()
+ {
+   u.v &= 4;
+   i %= u.c ? 3 : j;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr110043.c gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr110043.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr110043.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr110043.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target int128 } */
+ 
+ __int128 g_116_1;
+ extern char g_521[][8];
+ void func_24() {
+   for (; g_116_1 >= 0;)
+     g_521[g_116_1][g_116_1] &= 0;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr116296.c gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr116296.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr116296.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr116296.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target int32plus } */
+ 
+ short g(unsigned long h, int i[11][11], short c)
+ {
+   for (unsigned long j = 0; j < h; j -= 0x105f000000000000ull)
+     c = c > i[j][j];
+   return c;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr123887-2.c gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr123887-2.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr123887-2.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr123887-2.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,12 ----
+ /* { dg-do run } */
+ 
+ [[gnu::noipa]]
+ int f(int a, int b, int *x)
+ {
+   return (a ? *x : 0) != (b ? *x : 0);
+ }
+ int main()
+ {
+   f(0, 0, 0);
+   return 0;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr123887.c gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr123887.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/torture/pr123887.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/torture/pr123887.c	Sat Feb  7 22:32:10 2026
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do run } */
+ 
+ typedef struct {
+     unsigned s;
+ } struct_t;
+ 
+ struct_t *p;
+ bool cond;
+ int v = 1;
+ int main()
+ {
+   int u = 1 + (cond ? p->s : 0);
+   return u - v;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.dg/vect/vect-simd-clone-pr123794.c gcc-15-20260207/gcc/testsuite/gcc.dg/vect/vect-simd-clone-pr123794.c
*** gcc-15-20260131/gcc/testsuite/gcc.dg/vect/vect-simd-clone-pr123794.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.dg/vect/vect-simd-clone-pr123794.c	Sat Feb  7 22:32:11 2026
***************
*** 0 ****
--- 1,13 ----
+ /* { dg-do compile } */
+ /* { dg-require-effective-target vect_simd_clones } */
+ /* { dg-additional-options "-fopenmp-simd" } */
+ 
+ extern long a[];
+ #pragma omp declare simd
+ long my_fun(long);
+ long foo_i;
+ void foo() {
+ #pragma omp simd
+   for (foo_i = 0; foo_i < 3; foo_i += 1)
+     a[foo_i] = my_fun(foo_i);
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/pr123548.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/pr123548.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/pr123548.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/pr123548.c	Sat Feb  7 22:32:11 2026
***************
*** 0 ****
--- 1,18 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O0" } */
+ /* { dg-final { check-function-bodies "**" "" "" } } */
+ 
+ #include <arm_acle.h>
+ 
+ void
+ test (void *a)
+ {
+   __pldx (1, 1, 1, a);
+ }
+ /*
+ ** test:
+ **...
+ **	prfm\tPSTL2STRM, \[x[0-9]+\]
+ **...
+ **	ret
+ */
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/rotate_xar_1.c	Sat Feb  7 22:32:11 2026
*************** typedef unsigned int __attribute__ ((vec
*** 15,21 ****
  /*
  ** G1:
  **	movi?	[vdz][0-9]+\.?(?:[0-9]*[bhsd])?, #?0
! ** 	xar	v0\.2d, v[0-9]+\.2d, v[0-9]+\.2d, 39
  **      ret
  */
  v2di
--- 15,21 ----
  /*
  ** G1:
  **	movi?	[vdz][0-9]+\.?(?:[0-9]*[bhsd])?, #?0
! ** 	xar	v0\.2d, v[0-9]+\.2d, v[0-9]+\.2d, #39
  **      ret
  */
  v2di
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_1.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_1.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_1.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_1.c	Sat Feb  7 22:32:11 2026
***************
*** 6,10 ****
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, 15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
--- 6,10 ----
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, #?15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_2.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_2.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_2.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_2.c	Sat Feb  7 22:32:11 2026
***************
*** 5,9 ****
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, 15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
--- 5,9 ----
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, #?15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_3.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_3.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sha3_3.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sha3_3.c	Sat Feb  7 22:32:11 2026
***************
*** 5,9 ****
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, 15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
--- 5,9 ----
  
  /* { dg-final { scan-assembler-times "eor3\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
  /* { dg-final { scan-assembler-times "rax1\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d" 1 } } */
! /* { dg-final { scan-assembler-times "xar\\tv\[0-9\]+\.2d, v\[0-9\]+\.2d, v\[0-9\]+\.2d, #?15" 1 } } */
  /* { dg-final { scan-assembler-times "bcax\\tv\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b, v\[0-9\]+\.16b" 8 } } */
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/simd/pr117048.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/simd/pr117048.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/simd/pr117048.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/simd/pr117048.c	Sat Feb  7 22:32:11 2026
***************
*** 8,14 ****
  
  /*
  ** func_shl_eor:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 8,14 ----
  
  /*
  ** func_shl_eor:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
*************** func_shl_eor (uint64x2_t a, uint64x2_t b
*** 19,25 ****
  
  /*
  ** func_add_eor:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 19,25 ----
  
  /*
  ** func_add_eor:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
*************** func_add_eor (uint64x2_t a, uint64x2_t b
*** 30,36 ****
  
  /*
  ** func_shl_orr:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 30,36 ----
  
  /*
  ** func_shl_orr:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
*************** func_shl_orr (uint64x2_t a, uint64x2_t b
*** 41,47 ****
  
  /*
  ** func_add_orr:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 41,47 ----
  
  /*
  ** func_add_orr:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
*************** func_add_orr (uint64x2_t a, uint64x2_t b
*** 52,58 ****
  
  /*
  ** func_shl_add:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 52,58 ----
  
  /*
  ** func_shl_add:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
*************** func_shl_add (uint64x2_t a, uint64x2_t b
*** 63,69 ****
  
  /*
  ** func_add_add:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, 63
  **	ret 
  */
  uint64x2_t
--- 63,69 ----
  
  /*
  ** func_add_add:
! **	xar	v0\.2d, v([0-9]+)\.2d, v([0-9]+)\.2d, #63
  **	ret 
  */
  uint64x2_t
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/sve2/pr123775.c	Sat Feb  7 22:32:11 2026
***************
*** 0 ****
--- 1,37 ----
+ /* { dg-do run { target { aarch64_sve128_hw && aarch64_sve2_hw } } } */
+ /* { dg-additional-options "-O3 -march=armv9-a+sve2 -msve-vector-bits=128 --param aarch64-autovec-preference=sve-only" } */
+ 
+ int main(int argc, char *argv[]) {
+ 
+     __attribute__((vector_size((4) * sizeof(int)))) int i0;
+     __attribute__((vector_size((4) * sizeof(int)))) int i1;
+     __attribute__((vector_size((4) * sizeof(int)))) int ires;
+     int i;
+ 
+     i0 = (__attribute__((vector_size((4) * sizeof(int)))) int){(int)argc, 1, 2,
+                                                                10};
+     i1 = (__attribute__((vector_size((4) * sizeof(int)))) int){0, 3, 2,
+                                                                (int)-23};
+     ;
+     do {
+         ires = (i0 > i1);
+         do {
+             int __i;
+             for (__i = 0; __i < 4; __i++) {
+                 if ((ires)[__i] != ((i0)[__i] > (i1)[__i] ? -1 : 0)) {
+                     __builtin_printf("%i != (("
+                                      "%i"
+                                      " "
+                                      ">"
+                                      " "
+                                      "%i"
+                                      " ? -1 : 0) ",
+                                      (ires)[__i], (i0)[__i], (i1)[__i]);
+                     __builtin_abort();
+                 }
+             }
+         } while (0);
+     } while (0);
+ 
+     return 0;
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/torture/xar-zero.c	Sat Feb  7 22:32:11 2026
***************
*** 0 ****
--- 1,9 ----
+ /* PR target/123584.  */
+ /* { dg-do compile } */
+ /* { dg-options "-march=armv8.2-a+sha3" } */
+ 
+ #include <arm_neon.h>
+ uint64x2_t
+ simde_vld1q_u64(uint64x2_t simde_vld1q_u64_a, uint64x2_t simde_vld1q_u64_b) {
+   return vxarq_u64(simde_vld1q_u64_a, simde_vld1q_u64_b, 0);
+ }
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c
*** gcc-15-20260131/gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c	Sat Jan 31 22:32:11 2026
--- gcc-15-20260207/gcc/testsuite/gcc.target/aarch64/xar_v2di_nonsve.c	Sat Feb  7 22:32:11 2026
*************** xar_v2di (v2di a, v2di b) {
*** 12,16 ****
    v2di c = a ^ b;
    return (c << 22) ^ (c >> 42);
  }
! /* { dg-final { scan-assembler {\txar\tv0.2d, v[0-9]+.2d, v[0-9]+.2d, 42} } } */
  
--- 12,16 ----
    v2di c = a ^ b;
    return (c << 22) ^ (c >> 42);
  }
! /* { dg-final { scan-assembler {\txar\tv0.2d, v[0-9]+.2d, v[0-9]+.2d, #?42} } } */
  
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gnat.dg/iter7.adb gcc-15-20260207/gcc/testsuite/gnat.dg/iter7.adb
*** gcc-15-20260131/gcc/testsuite/gnat.dg/iter7.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gnat.dg/iter7.adb	Sat Feb  7 22:32:14 2026
***************
*** 0 ****
--- 1,15 ----
+ --  { dg-do run }
+ --  { dg-options "-gnat2022" }
+ 
+ procedure Iter7 is
+ 
+    type Enum is (A, B, C);
+    for Enum use (A => 1, B => 2, C => 3);
+ 
+    Enum_Filter : array (Enum) of Boolean := (others => False);
+ 
+ begin
+    for F in Enum when Enum_Filter (F) loop
+       raise Program_Error;
+    end loop;
+ end;
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gnat.dg/prefix4.adb gcc-15-20260207/gcc/testsuite/gnat.dg/prefix4.adb
*** gcc-15-20260131/gcc/testsuite/gnat.dg/prefix4.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gnat.dg/prefix4.adb	Sat Feb  7 22:32:14 2026
***************
*** 0 ****
--- 1,14 ----
+ --  { dg-do run }
+ --  { dg-options "-gnatX" }
+ 
+ with Prefix4_Pkg; use Prefix4_Pkg;
+ 
+ procedure Prefix4 is
+ 
+   Val : T (1);
+ 
+ begin
+   if not Val.F then
+     raise Program_Error;
+   end if;
+ end;
diff -Nrcpad gcc-15-20260131/gcc/testsuite/gnat.dg/prefix4_pkg.ads gcc-15-20260207/gcc/testsuite/gnat.dg/prefix4_pkg.ads
*** gcc-15-20260131/gcc/testsuite/gnat.dg/prefix4_pkg.ads	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/gcc/testsuite/gnat.dg/prefix4_pkg.ads	Sat Feb  7 22:32:14 2026
***************
*** 0 ****
--- 1,13 ----
+ package Prefix4_Pkg is
+ 
+   type T (D : Integer) is private;
+ 
+   function F (X : T) return Boolean is (True);
+ 
+ private
+ 
+   type T (D : Integer) is record
+     F : Boolean := False;
+   end record;
+ 
+ end Prefix4_Pkg;
diff -Nrcpad gcc-15-20260131/gcc/testsuite/lib/lto.exp gcc-15-20260207/gcc/testsuite/lib/lto.exp
*** gcc-15-20260131/gcc/testsuite/lib/lto.exp	Sat Jan 31 22:32:13 2026
--- gcc-15-20260207/gcc/testsuite/lib/lto.exp	Sat Feb  7 22:32:14 2026
*************** proc lto-build-archive { testname objlis
*** 313,318 ****
--- 313,319 ----
      global testcase
      global tool
      global GCC_UNDER_TEST
+     global GCC_AR_UNDER_TEST
  
      upvar dg-messages-by-file dg-messages-by-file
  
*************** proc lto-build-archive { testname objlis
*** 327,335 ****
  	}
      }
  
!     # Hack up the gcc-ar command from $GCC_UNDER_TEST.
!     set ar_cmd [file dirname [lindex $GCC_UNDER_TEST 0]]
!     set ar_cmd "$ar_cmd/gcc-ar [lrange $GCC_UNDER_TEST 1 end]"
      set ar_output [remote_exec host "$ar_cmd rcs $dest $objlist"]
      set retval [lindex $ar_output 0]
      set retmsg [lindex $ar_output 1]
--- 328,347 ----
  	}
      }
  
!     # For now find gcc-ar in the same directory as $GCC_UNDER_TEST, unless
!     # GCC_AR_UNDER_TEST is defined.
! 
!     if ![info exists GCC_AR_UNDER_TEST] {
! 	if { ![is_remote host] && [string match "*/*" [lindex $GCC_UNDER_TEST 0]] } {
! 	    set ar_cmd [file dirname [lindex $GCC_UNDER_TEST 0]]/[gcc-transform-out-of-tree gcc-ar]
! 	} else {
! 	    set ar_cmd [gcc-transform-out-of-tree gcc-ar]
! 	}
! 	set ar_cmd "$ar_cmd [lrange $GCC_UNDER_TEST 1 end]"
!     } else {
!         set ar_cmd $GCC_AR_UNDER_TEST
!     }
! 
      set ar_output [remote_exec host "$ar_cmd rcs $dest $objlist"]
      set retval [lindex $ar_output 0]
      set retmsg [lindex $ar_output 1]
diff -Nrcpad gcc-15-20260131/gcc/tree-phinodes.h gcc-15-20260207/gcc/tree-phinodes.h
*** gcc-15-20260131/gcc/tree-phinodes.h	Sat Jan 31 22:32:14 2026
--- gcc-15-20260207/gcc/tree-phinodes.h	Sat Feb  7 22:32:14 2026
*************** phi_arg_index_from_use (use_operand_p us
*** 50,62 ****
  {
    struct phi_arg_d *element, *root;
    size_t index;
!   gimple *phi;
  
    /* Since the use is the first thing in a PHI argument element, we can
       calculate its index based on casting it to an argument, and performing
       pointer arithmetic.  */
  
!   phi = USE_STMT (use);
  
    element = (struct phi_arg_d *)use;
    root = gimple_phi_arg (phi, 0);
--- 50,62 ----
  {
    struct phi_arg_d *element, *root;
    size_t index;
!   gphi *phi;
  
    /* Since the use is the first thing in a PHI argument element, we can
       calculate its index based on casting it to an argument, and performing
       pointer arithmetic.  */
  
!   phi = as_a <gphi *> (USE_STMT (use));
  
    element = (struct phi_arg_d *)use;
    root = gimple_phi_arg (phi, 0);
*************** phi_arg_index_from_use (use_operand_p us
*** 71,74 ****
--- 71,83 ----
   return index;
  }
  
+ /* Return the edge into the PHI node USE.  */
+ 
+ inline edge
+ phi_arg_edge_from_use (use_operand_p use)
+ {
+   gphi *phi = as_a <gphi *> (USE_STMT (use));
+   return gimple_phi_arg_edge (phi, phi_arg_index_from_use (use));
+ }
+ 
  #endif /* GCC_TREE_PHINODES_H */
diff -Nrcpad gcc-15-20260131/gcc/tree-ssa-reassoc.cc gcc-15-20260207/gcc/tree-ssa-reassoc.cc
*** gcc-15-20260131/gcc/tree-ssa-reassoc.cc	Sat Jan 31 22:32:14 2026
--- gcc-15-20260207/gcc/tree-ssa-reassoc.cc	Sat Feb  7 22:32:14 2026
*************** build_and_add_sum (tree type, tree op1,
*** 1568,1574 ****
    if ((!op1def || gimple_nop_p (op1def))
        && (!op2def || gimple_nop_p (op2def)))
      {
!       gsi = gsi_after_labels (single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
        if (!gsi_end_p (gsi)
  	  && is_gimple_call (gsi_stmt (gsi))
  	  && (gimple_call_flags (gsi_stmt (gsi)) & ECF_RETURNS_TWICE))
--- 1568,1575 ----
    if ((!op1def || gimple_nop_p (op1def))
        && (!op2def || gimple_nop_p (op2def)))
      {
!       gsi = gsi_start_nondebug_after_labels_bb
! 		(single_succ (ENTRY_BLOCK_PTR_FOR_FN (cfun)));
        if (!gsi_end_p (gsi)
  	  && is_gimple_call (gsi_stmt (gsi))
  	  && (gimple_call_flags (gsi_stmt (gsi)) & ECF_RETURNS_TWICE))
diff -Nrcpad gcc-15-20260131/gcc/tree-vect-loop.cc gcc-15-20260207/gcc/tree-vect-loop.cc
*** gcc-15-20260131/gcc/tree-vect-loop.cc	Sat Jan 31 22:32:14 2026
--- gcc-15-20260207/gcc/tree-vect-loop.cc	Sat Feb  7 22:32:14 2026
*************** vect_create_epilog_for_reduction (loop_v
*** 7030,7037 ****
            scalar_result = scalar_results[k];
            FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
  	    {
  	      FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 		SET_USE (use_p, scalar_result);
  	      update_stmt (use_stmt);
  	    }
          }
--- 7030,7046 ----
            scalar_result = scalar_results[k];
            FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, orig_name)
  	    {
+ 	      gphi *use_phi = dyn_cast <gphi *> (use_stmt);
  	      FOR_EACH_IMM_USE_ON_STMT (use_p, imm_iter)
! 		{
! 		  if (use_phi
! 		      && (phi_arg_edge_from_use (use_p)->flags & EDGE_ABNORMAL))
! 		    {
! 		      gcc_assert (SSA_NAME_OCCURS_IN_ABNORMAL_PHI (orig_name));
! 		      SSA_NAME_OCCURS_IN_ABNORMAL_PHI (scalar_result) = 1;
! 		    }
! 		  SET_USE (use_p, scalar_result);
! 		}
  	      update_stmt (use_stmt);
  	    }
          }
diff -Nrcpad gcc-15-20260131/gcc/tree-vect-slp.cc gcc-15-20260207/gcc/tree-vect-slp.cc
*** gcc-15-20260131/gcc/tree-vect-slp.cc	Sat Jan 31 22:32:14 2026
--- gcc-15-20260207/gcc/tree-vect-slp.cc	Sat Feb  7 22:32:14 2026
*************** vect_remove_slp_scalar_calls (vec_info *
*** 11454,11463 ****
        if (lhs)
  	new_stmt = gimple_build_assign (lhs, build_zero_cst (TREE_TYPE (lhs)));
        else
! 	{
! 	  new_stmt = gimple_build_nop ();
! 	  unlink_stmt_vdef (stmt_info->stmt);
! 	}
        gsi = gsi_for_stmt (stmt);
        vinfo->replace_stmt (&gsi, stmt_info, new_stmt);
        if (lhs)
--- 11454,11461 ----
        if (lhs)
  	new_stmt = gimple_build_assign (lhs, build_zero_cst (TREE_TYPE (lhs)));
        else
! 	new_stmt = gimple_build_nop ();
!       unlink_stmt_vdef (stmt_info->stmt);
        gsi = gsi_for_stmt (stmt);
        vinfo->replace_stmt (&gsi, stmt_info, new_stmt);
        if (lhs)
diff -Nrcpad gcc-15-20260131/gcc/var-tracking.cc gcc-15-20260207/gcc/var-tracking.cc
*** gcc-15-20260131/gcc/var-tracking.cc	Sat Jan 31 22:32:14 2026
--- gcc-15-20260207/gcc/var-tracking.cc	Sat Feb  7 22:32:14 2026
*************** val_store (dataflow_set *set, rtx val, r
*** 2519,2525 ****
  	  struct elt_loc_list *l;
  	  for (l = v->locs; l; l = l->next)
  	    {
! 	      fprintf (dump_file, "\n%i: ", INSN_UID (l->setting_insn));
  	      print_inline_rtx (dump_file, l->loc, 0);
  	    }
  	}
--- 2519,2526 ----
  	  struct elt_loc_list *l;
  	  for (l = v->locs; l; l = l->next)
  	    {
! 	      fprintf (dump_file, "\n%i: ",
! 		       l->setting_insn ? INSN_UID (l->setting_insn) : -1);
  	      print_inline_rtx (dump_file, l->loc, 0);
  	    }
  	}
diff -Nrcpad gcc-15-20260131/libphobos/ChangeLog gcc-15-20260207/libphobos/ChangeLog
*** gcc-15-20260131/libphobos/ChangeLog	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libphobos/ChangeLog	Sat Feb  7 22:32:15 2026
***************
*** 1,3 ****
--- 1,8 ----
+ 2026-02-06  Iain Buclaw  <ibuclaw@gdcproject.org>
+ 
+ 	PR d/123633
+ 	* libdruntime/core/internal/qsort.d: Remove __qsort_r_compat.
+ 
  2025-09-07  Sam James  <sam@gentoo.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260131/libphobos/libdruntime/core/internal/qsort.d gcc-15-20260207/libphobos/libdruntime/core/internal/qsort.d
*** gcc-15-20260131/libphobos/libdruntime/core/internal/qsort.d	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libphobos/libdruntime/core/internal/qsort.d	Sat Feb  7 22:32:15 2026
*************** else version (FreeBSD)
*** 60,80 ****
  
      static if (__FreeBSD_version >= 1400000)
      {
          alias extern (C) int function(scope const void*, scope const void*, scope void*) Cmp;
          extern (C) void qsort_r(scope void* base, size_t nmemb, size_t size, Cmp cmp, scope void* thunk);
  
-         // https://cgit.freebsd.org/src/tree/include/stdlib.h?h=stable/14#n350
-         pragma(mangle, "qsort_r@FBSD_1.0")
-         private extern (C) void __qsort_r_compat(scope void* base, size_t nmemb, size_t size, scope void* thunk, OldCmp cmp);
-         alias extern (C) int function(scope void*, scope const void*, scope const void*) OldCmp;
- 
-         deprecated("In FreeBSD 14, qsort_r's signature was fixed to match POSIX. This extern(D) overload has been " ~
-                    "provided to avoid breaking code, but code should be updated to use the POSIX version.")
-         extern (D) void qsort_r(scope void* base, size_t nmemb, size_t size, scope void* thunk, OldCmp cmp)
-         {
-             __qsort_r_compat(base, nmemb, size, thunk, cmp);
-         }
- 
          extern (C) void[] _adSort(return scope void[] a, TypeInfo ti)
          {
              extern (C) int cmp(scope const void* p1, scope const void* p2, scope void* ti)
--- 60,69 ----
  
      static if (__FreeBSD_version >= 1400000)
      {
+         // FreeBSD changed qsort_r function signature to POSIX in FreeBSD 14.0
          alias extern (C) int function(scope const void*, scope const void*, scope void*) Cmp;
          extern (C) void qsort_r(scope void* base, size_t nmemb, size_t size, Cmp cmp, scope void* thunk);
  
          extern (C) void[] _adSort(return scope void[] a, TypeInfo ti)
          {
              extern (C) int cmp(scope const void* p1, scope const void* p2, scope void* ti)
diff -Nrcpad gcc-15-20260131/libstdc++-v3/ChangeLog gcc-15-20260207/libstdc++-v3/ChangeLog
*** gcc-15-20260131/libstdc++-v3/ChangeLog	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libstdc++-v3/ChangeLog	Sat Feb  7 22:32:16 2026
***************
*** 1,3 ****
--- 1,45 ----
+ 2026-02-06  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-26  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/90192
+ 	* include/bits/stl_vector.h (vector<T>::_M_fill_append): Declare.
+ 	(vector<T>::fill): Use _M_fill_append instead of _M_fill_insert.
+ 	* include/bits/vector.tcc (vector<T>::_M_fill_append): Define
+ 	(vector<T>::_M_fill_insert): Delegate to _M_fill_append when
+ 	elements are appended.
+ 	* testsuite/23_containers/vector/modifiers/moveable.cc: Updated
+ 	copycount for inserting at the end (appending).
+ 	* testsuite/23_containers/vector/modifiers/resize.cc: New test.
+ 	* testsuite/backward/hash_set/check_construct_destroy.cc: Updated
+ 	copycount, the hash_set constructor uses insert to fill buckets
+ 	with nullptrs.
+ 
+ 2026-02-05  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-19  Tomasz Kamiński  <tkaminsk@redhat.com>
+ 
+ 	PR libstdc++/114153
+ 	* include/bits/ranges_cmp.h (__detail::__less_builtin_ptr_cmp):
+ 	Add __not_overloaded_spaceship spaceship check.
+ 	* include/bits/stl_function.h (greater<void>::operator())
+ 	(less<void>::operator(), greater_equal<void>::operator())
+ 	(less_equal<void>::operator()): Implement using if constexpr.
+ 	(greater<void>::__S_cmp, less<void>::__S_cmp)
+ 	(greater_equal<void>::__ptr_comp, less_equal<void>::S_cmp):
+ 	Remove.
+ 	(greater<void>::__ptr_cmp, less<void>::__ptr_cmp)
+ 	(greater_equal<void>::__ptr_comp, less_equal<void>::ptr_cmp): Change
+ 	tostatic constexpr variable. Define in terms of requires expressions
+ 	and __not_overloaded_spaceship check.
+ 	* include/std/concepts: (__detail::__not_overloaded_spaceship):
+ 	Define.
+ 	* libsupc++/compare: (__detail::__3way_builtin_ptr_cmp): Use
+ 	__not_overloaded_spaceship concept.
+ 	* testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc: New test.
+ 
  2026-01-22  Frank Scheiner  <frank.scheiner@web.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260131/libstdc++-v3/include/bits/ranges_cmp.h gcc-15-20260207/libstdc++-v3/include/bits/ranges_cmp.h
*** gcc-15-20260131/libstdc++-v3/include/bits/ranges_cmp.h	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libstdc++-v3/include/bits/ranges_cmp.h	Sat Feb  7 22:32:16 2026
*************** namespace ranges
*** 68,77 ****
  	= requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as<bool>; }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && (! requires(_Tp&& __t, _Up&& __u)
  	      { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); }
! 	      && ! requires(_Tp&& __t, _Up&& __u)
! 	      { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); });
    } // namespace __detail
  
    // [range.cmp] Concept-constrained comparisons
--- 68,78 ----
  	= requires (_Tp&& __t, _Up&& __u) { { __t < __u } -> same_as<bool>; }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && ! requires(_Tp&& __t, _Up&& __u)
  	      { operator<(std::forward<_Tp>(__t), std::forward<_Up>(__u)); }
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	      { std::forward<_Tp>(__t).operator<(std::forward<_Up>(__u)); }
! 	  && std::__detail::__not_overloaded_spaceship<_Tp, _Up>;
    } // namespace __detail
  
    // [range.cmp] Concept-constrained comparisons
diff -Nrcpad gcc-15-20260131/libstdc++-v3/include/bits/stl_function.h gcc-15-20260207/libstdc++-v3/include/bits/stl_function.h
*** gcc-15-20260131/libstdc++-v3/include/bits/stl_function.h	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libstdc++-v3/include/bits/stl_function.h	Sat Feb  7 22:32:16 2026
***************
*** 59,64 ****
--- 59,67 ----
  #if __cplusplus > 201103L
  #include <bits/move.h>
  #endif
+ #if __cplusplus >= 202002L
+ #include <concepts>
+ #endif
  
  namespace std _GLIBCXX_VISIBILITY(default)
  {
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 525,532 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 528,542 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) > std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) > std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return greater<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) > std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 537,556 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) > std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return greater<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator> member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 547,566 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator>(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator>(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator> member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 572,580 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 582,592 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 587,594 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 599,613 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) < std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) < std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return less<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) < std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 599,618 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) < std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return less<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator< member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 618,637 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator<(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator<(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator< member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 634,642 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 653,663 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 649,656 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 670,684 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) >= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) >= std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return greater_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) >= std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 661,680 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) >= std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return greater_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator>= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 689,708 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator>=(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator>=(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator>= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 696,704 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
--- 724,734 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  
    /// One of the @link comparison_functors comparison functors@endlink.
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 711,718 ****
  	noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
  	{
! 	  return _S_cmp(std::forward<_Tp>(__t), std::forward<_Up>(__u),
! 			__ptr_cmp<_Tp, _Up>{});
  	}
  
        template<typename _Tp, typename _Up>
--- 741,755 ----
  	noexcept(noexcept(std::forward<_Tp>(__t) <= std::forward<_Up>(__u)))
  	-> decltype(std::forward<_Tp>(__t) <= std::forward<_Up>(__u))
  	{
! #pragma GCC diagnostic push
! #pragma GCC diagnostic ignored "-Wc++17-extensions" // if constexpr
! 	  if constexpr (__ptr_cmp<_Tp, _Up>)
! 	    return less_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	  else
! 	    return std::forward<_Tp>(__t) <= std::forward<_Up>(__u);
! #pragma GCC diagnostic pop
  	}
  
        template<typename _Tp, typename _Up>
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 723,742 ****
        typedef __is_transparent is_transparent;
  
      private:
!       template <typename _Tp, typename _Up>
! 	static constexpr decltype(auto)
! 	_S_cmp(_Tp&& __t, _Up&& __u, false_type)
! 	{ return std::forward<_Tp>(__t) <= std::forward<_Up>(__u); }
! 
!       template <typename _Tp, typename _Up>
! 	static constexpr bool
! 	_S_cmp(_Tp&& __t, _Up&& __u, true_type) noexcept
  	{
! 	  return less_equal<const volatile void*>{}(
! 	      static_cast<const volatile void*>(std::forward<_Tp>(__t)),
! 	      static_cast<const volatile void*>(std::forward<_Up>(__u)));
! 	}
! 
        // True if there is no viable operator<= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
--- 760,779 ----
        typedef __is_transparent is_transparent;
  
      private:
! #if __cplusplus >= 202002L
!       template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = requires
  	{
! 	  requires
! 	       ! requires
! 		{ operator<=(std::declval<_Tp>(), std::declval<_Up>()); }
! 	    && ! requires
! 		{ std::declval<_Tp>().operator<=(std::declval<_Up>()); }
! 	    && __detail::__not_overloaded_spaceship<_Tp, _Up>
! 	    && is_convertible_v<_Tp, const volatile void*>
! 	    && is_convertible_v<_Up, const volatile void*>;
! 	};
! #else
        // True if there is no viable operator<= member function.
        template<typename _Tp, typename _Up, typename = void>
  	struct __not_overloaded2 : true_type { };
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 758,766 ****
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	using __ptr_cmp = __and_<__not_overloaded<_Tp, _Up>,
! 	      is_convertible<_Tp, const volatile void*>,
! 	      is_convertible<_Up, const volatile void*>>;
      };
  #endif // __glibcxx_transparent_operators
    /** @}  */
--- 795,805 ----
  	: false_type { };
  
        template<typename _Tp, typename _Up>
! 	static constexpr bool __ptr_cmp = __and_<
! 	  __not_overloaded<_Tp, _Up>,
! 	  is_convertible<_Tp, const volatile void*>,
! 	  is_convertible<_Up, const volatile void*>>::value;
! #endif
      };
  #endif // __glibcxx_transparent_operators
    /** @}  */
diff -Nrcpad gcc-15-20260131/libstdc++-v3/include/bits/stl_vector.h gcc-15-20260207/libstdc++-v3/include/bits/stl_vector.h
*** gcc-15-20260131/libstdc++-v3/include/bits/stl_vector.h	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libstdc++-v3/include/bits/stl_vector.h	Sat Feb  7 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 1164,1170 ****
        resize(size_type __new_size, const value_type& __x)
        {
  	if (__new_size > size())
! 	  _M_fill_insert(end(), __new_size - size(), __x);
  	else if (__new_size < size())
  	  _M_erase_at_end(this->_M_impl._M_start + __new_size);
        }
--- 1164,1170 ----
        resize(size_type __new_size, const value_type& __x)
        {
  	if (__new_size > size())
! 	  _M_fill_append(__new_size - size(), __x);
  	else if (__new_size < size())
  	  _M_erase_at_end(this->_M_impl._M_start + __new_size);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 1185,1191 ****
        resize(size_type __new_size, value_type __x = value_type())
        {
  	if (__new_size > size())
! 	  _M_fill_insert(end(), __new_size - size(), __x);
  	else if (__new_size < size())
  	  _M_erase_at_end(this->_M_impl._M_start + __new_size);
        }
--- 1185,1191 ----
        resize(size_type __new_size, value_type __x = value_type())
        {
  	if (__new_size > size())
! 	  _M_fill_append(__new_size - size(), __x);
  	else if (__new_size < size())
  	  _M_erase_at_end(this->_M_impl._M_start + __new_size);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 2098,2103 ****
--- 2098,2108 ----
        void
        _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
  
+       // Called by resize(n,x), and the _M_fill_insert(end(), n, x)
+       _GLIBCXX20_CONSTEXPR
+       void
+       _M_fill_append(size_type __n, const value_type& __x);
+ 
  #if __cplusplus >= 201103L
        // Called by resize(n).
        _GLIBCXX20_CONSTEXPR
diff -Nrcpad gcc-15-20260131/libstdc++-v3/include/bits/vector.tcc gcc-15-20260207/libstdc++-v3/include/bits/vector.tcc
*** gcc-15-20260131/libstdc++-v3/include/bits/vector.tcc	Sat Jan 31 22:32:15 2026
--- gcc-15-20260207/libstdc++-v3/include/bits/vector.tcc	Sat Feb  7 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 654,661 ****
      {
        if (__n != 0)
  	{
! 	  if (size_type(this->_M_impl._M_end_of_storage
! 			- this->_M_impl._M_finish) >= __n)
  	    {
  #if __cplusplus < 201103L
  	      value_type __x_copy = __x;
--- 654,663 ----
      {
        if (__n != 0)
  	{
! 	  if (__position.base() == this->_M_impl._M_finish)
! 	    _M_fill_append(__n, __x);
! 	  else if (size_type(this->_M_impl._M_end_of_storage
! 			       - this->_M_impl._M_finish) >= __n)
  	    {
  #if __cplusplus < 201103L
  	      value_type __x_copy = __x;
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 750,755 ****
--- 752,811 ----
  	}
      }
  
+   template<typename _Tp, typename _Alloc>
+     _GLIBCXX20_CONSTEXPR
+     void
+     vector<_Tp, _Alloc>::
+     _M_fill_append(size_type __n, const value_type& __x)
+     {
+        if (size_type(this->_M_impl._M_end_of_storage
+ 		     - this->_M_impl._M_finish) >= __n)
+ 	 {
+ 	   _GLIBCXX_ASAN_ANNOTATE_GROW(__n);
+ 	   this->_M_impl._M_finish =
+ 	     std::__uninitialized_fill_n_a(this->_M_impl._M_finish, __n, __x,
+ 					   _M_get_Tp_allocator());
+ 	   _GLIBCXX_ASAN_ANNOTATE_GREW(__n);
+ 	 }
+        else
+ 	 {
+ 	   // Make local copies of these members because the compiler thinks
+ 	   // the allocator can alter them if 'this' is globally reachable.
+ 	   pointer __old_start = this->_M_impl._M_start;
+ 	   pointer __old_finish = this->_M_impl._M_finish;
+ 	   const size_type __old_size = __old_finish - __old_start;
+ 
+ 	   const size_type __len =
+ 	     _M_check_len(__n, "vector::_M_fill_append");
+ 	   pointer __new_start(this->_M_allocate(__len));
+ 	   pointer __new_finish(__new_start + __old_size);
+ 	   __try
+ 	     {
+ 	       // See _M_realloc_insert above.
+ 	       __new_finish = std::__uninitialized_fill_n_a(
+ 				__new_finish, __n, __x,
+ 				_M_get_Tp_allocator());
+ 	       std::__uninitialized_move_if_noexcept_a(
+ 		 __old_start, __old_finish, __new_start,
+ 		 _M_get_Tp_allocator());
+ 	     }
+ 	   __catch(...)
+ 	     {
+ 		std::_Destroy(__new_start + __old_size, __new_finish,
+ 			      _M_get_Tp_allocator());
+ 		_M_deallocate(__new_start, __len);
+ 		__throw_exception_again;
+ 	      }
+ 	   std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
+ 	   _GLIBCXX_ASAN_ANNOTATE_REINIT;
+ 	   _M_deallocate(__old_start,
+ 			 this->_M_impl._M_end_of_storage - __old_start);
+ 	   this->_M_impl._M_start = __new_start;
+ 	   this->_M_impl._M_finish = __new_finish;
+ 	   this->_M_impl._M_end_of_storage = __new_start + __len;
+ 	 }
+     }
+ 
  #if __cplusplus >= 201103L
    template<typename _Tp, typename _Alloc>
      _GLIBCXX20_CONSTEXPR
diff -Nrcpad gcc-15-20260131/libstdc++-v3/include/std/concepts gcc-15-20260207/libstdc++-v3/include/std/concepts
*** gcc-15-20260131/libstdc++-v3/include/std/concepts	Sat Jan 31 22:32:16 2026
--- gcc-15-20260207/libstdc++-v3/include/std/concepts	Sat Feb  7 22:32:16 2026
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 384,389 ****
--- 384,405 ----
    template<typename _Rel, typename _Tp, typename _Up>
      concept strict_weak_order = relation<_Rel, _Tp, _Up>;
  
+   namespace __detail
+   {
+     // operator<=> are automatically reversed, so we need to consider
+     // both directions if types are different.
+     template<typename _Tp, typename _Up>
+       concept __not_overloaded_spaceship
+         =  ! requires(_Tp&& __t, _Up&& __u)
+ 	    { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); }
+ 	&& ! requires(_Tp&& __t, _Up&& __u)
+ 	    { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); }
+ 	&& (is_same_v<_Tp, _Up>
+ 	    || (! requires(_Tp&& __t, _Up&& __u)
+ 	         { operator<=>(static_cast<_Up&&>(__u), static_cast<_Tp&&>(__t)); }
+ 	       && ! requires(_Tp&& __t, _Up&& __u)
+ 	         { static_cast<_Up&&>(__u).operator<=>(static_cast<_Tp&&>(__t)); }));
+   }
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace
  #endif // __cpp_lib_concepts
diff -Nrcpad gcc-15-20260131/libstdc++-v3/libsupc++/compare gcc-15-20260207/libstdc++-v3/libsupc++/compare
*** gcc-15-20260131/libstdc++-v3/libsupc++/compare	Sat Jan 31 22:32:16 2026
--- gcc-15-20260207/libstdc++-v3/libsupc++/compare	Sat Feb  7 22:32:16 2026
*************** namespace std _GLIBCXX_VISIBILITY(defaul
*** 537,546 ****
  	  { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	  { operator<=>(static_cast<_Tp&&>(__t), static_cast<_Up&&>(__u)); }
! 	  && ! requires(_Tp&& __t, _Up&& __u)
! 	  { static_cast<_Tp&&>(__t).operator<=>(static_cast<_Up&&>(__u)); };
    } // namespace __detail
  
    // _GLIBCXX_RESOLVE_LIB_DEFECTS
--- 537,543 ----
  	  { static_cast<_Tp&&>(__t) <=> static_cast<_Up&&>(__u); }
  	  && convertible_to<_Tp, const volatile void*>
  	  && convertible_to<_Up, const volatile void*>
! 	  && __not_overloaded_spaceship<_Tp, _Up>;
    } // namespace __detail
  
    // _GLIBCXX_RESOLVE_LIB_DEFECTS
diff -Nrcpad gcc-15-20260131/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc gcc-15-20260207/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc
*** gcc-15-20260131/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/libstdc++-v3/testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc	Sat Feb  7 22:32:16 2026
***************
*** 0 ****
--- 1,336 ----
+ // { dg-do run { target c++20 } }
+ 
+ #include <compare>
+ #include <cstring>
+ #include <functional>
+ #include <testsuite_hooks.h>
+ 
+ constexpr const char arr[] = "efgh\0abcd\0ijkl";
+ constexpr const char* s1 = arr;
+ constexpr const char* s2 = arr+5;
+ constexpr const char* s3 = arr+6;
+ 
+ struct CStrNone
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrMem
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ 
+   auto operator<=>(CStrMem const& rhs) const
+   { return ResultCreator::create(std::strcmp(this->str, rhs.str)); }
+ 
+   auto operator<=>(const char* rhs) const
+   { return ResultCreator::create(std::strcmp(this->str, rhs)); }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrFriend
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ 
+   friend auto operator<=>(CStrFriend lhs, CStrFriend rhs)
+   { return ResultCreator::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+   friend auto operator<=>(CStrFriend lhs, const char* rhs)
+   { return ResultCreator::create(std::strcmp(lhs.str, rhs)); }
+ };
+ 
+ template<typename ResultCreator>
+ struct CStrFree
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename RC>
+ auto operator<=>(CStrFree<RC> lhs, CStrFree<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ template<typename RC>
+ auto operator<=>(CStrFree<RC> lhs, const char* rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs)); }
+ 
+ template<typename ResultCreator>
+ struct CStrMixed
+ {
+   const char* str;
+ 
+   constexpr
+   operator const char*() const
+   { return str; }
+ };
+ 
+ template<typename RC>
+ auto operator<=>(CStrMixed<RC> lhs, CStrMixed<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ template<typename RC>
+ auto operator<=>(CStrMixed<RC> lhs, CStrFree<RC> rhs)
+ { return RC::create(std::strcmp(lhs.str, rhs.str)); }
+ 
+ // If the type returned from shapeship does not support relational
+ // operators, then synthesized operators are ill-formed, SFINAEable.
+ struct ReturnVoid
+ {
+   constexpr static void
+   create(int) { }
+ };
+ 
+ struct NoOperators
+ {
+   constexpr static NoOperators
+   create(int)
+   { return NoOperators(); }
+ };
+ 
+ // std defined ordering types are expected
+ template<typename Ord = std::strong_ordering>
+ struct ReturnOrd
+ {
+   constexpr static Ord
+   create(int cmp)
+   { return cmp <=> 0; }
+ };
+ 
+ // However, other types that provide required
+ // operators are supported.
+ struct ReturnInt
+ {
+   constexpr static int
+   create(int cmp)
+   { return cmp; }
+ };
+ 
+ struct CustomOrd
+ {
+   constexpr static CustomOrd
+   create(int cmp)
+   { return CustomOrd(cmp); }
+ 
+   CustomOrd() = default;
+ 
+   explicit constexpr
+   CustomOrd(int cmp)
+   : v(cmp) {}
+ 
+   friend constexpr bool
+   operator<(CustomOrd c, std::nullptr_t)
+   { return c.v < 0; }
+ 
+   friend constexpr bool
+   operator<(std::nullptr_t, CustomOrd c)
+   { return 0 < c.v; }
+ 
+   friend constexpr bool
+   operator>(CustomOrd c, std::nullptr_t)
+   { return c.v > 0; }
+ 
+   friend constexpr bool
+   operator>(std::nullptr_t, CustomOrd c)
+   { return 0 > c.v; }
+ 
+   friend constexpr bool
+   operator<=(CustomOrd c, std::nullptr_t)
+   { return c.v <= 0; }
+ 
+   friend constexpr bool
+   operator<=(std::nullptr_t, CustomOrd c)
+   { return 0 <= c.v; }
+ 
+   friend constexpr bool
+   operator>=(CustomOrd c, std::nullptr_t)
+   { return c.v >= 0; }
+ 
+   friend constexpr bool
+   operator>=(std::nullptr_t, CustomOrd c)
+   { return 0 >= c.v; }
+ 
+   friend constexpr CustomOrd
+   operator<=>(CustomOrd c, std::nullptr_t)
+   { return c; }
+ 
+   friend constexpr CustomOrd
+   operator<=>(std::nullptr_t, CustomOrd c)
+   { return CustomOrd(-c.v); }
+ 
+ private:
+   int v = 0;
+ };
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_relational(bool use_overloaded)
+ {
+   CStr1 cs1{s1}; CStr2 cs2{s2};
+ 
+   if (use_overloaded)
+   {
+     // Overloaded operaetors compare content of the string,
+     // and cs1 > cs2;
+ 
+     VERIFY( !(cs1 < cs2) );
+     VERIFY( !std::less<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::less{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 > cs2) );
+     VERIFY( std::greater<>{}(cs1, cs2) );
+     VERIFY( std::ranges::greater{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 < cs2) );
+     VERIFY( !std::less_equal<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::less_equal{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 > cs2) );
+     VERIFY( std::greater_equal<>{}(cs1, cs2) );
+     VERIFY( std::ranges::greater_equal{}(cs1, cs2) );
+   }
+   else
+   {
+     // Without overloaded operators, we comapre pointers,
+     // and cs1 < cs2;
+ 
+     VERIFY( (cs1 < cs2) );
+     VERIFY( std::less<>{}(cs1, cs2) );
+     VERIFY( std::ranges::less{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 > cs2) );
+     VERIFY( !std::greater<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::greater{}(cs1, cs2) );
+ 
+     VERIFY( (cs1 < cs2) );
+     VERIFY( std::less_equal<>{}(cs1, cs2) );
+     VERIFY( std::ranges::less_equal{}(cs1, cs2) );
+ 
+     VERIFY( !(cs1 > cs2) );
+     VERIFY( !std::greater_equal<>{}(cs1, cs2) );
+     VERIFY( !std::ranges::greater_equal{}(cs1, cs2) );
+   }
+ }
+ 
+ template<typename CStr>
+ void
+ test_relational_type(bool use_overloaded)
+ {
+   test_relational<CStr, CStr>(use_overloaded);
+   test_relational<CStr, const char*>(use_overloaded);
+   test_relational<const char*, CStr>(use_overloaded);
+ }
+ 
+ template<typename RC>
+ void
+ test_relational_return()
+ {
+   test_relational_type<CStrMem<RC>>(true);
+   test_relational_type<CStrFriend<RC>>(true);
+   test_relational_type<CStrFree<RC>>(true);
+   test_relational<CStrMixed<RC>, CStrFree<RC>>(true);
+   test_relational<CStrFree<RC>, CStrMixed<RC>>(true);
+ }
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_spaceship(bool use_overloaded)
+ {
+   CStr1 cs1{s1}; CStr2 cs2{s2};
+ 
+   if (use_overloaded)
+   {
+     // Overloaded operaetors compare content of the string,
+     // and cs1 > cs2;
+     VERIFY( (cs1 <=> cs2) > 0 );
+     VERIFY( std::compare_three_way{}(cs1, cs2) > 0 );
+   }
+   else
+   {
+     // Without overloaded operators, we comapre pointers,
+     // and cs1 < cs2;
+     VERIFY( (cs1 <=> cs2) < 0 );
+     VERIFY( std::compare_three_way{}(cs1, cs2) < 0 );
+   }
+ }
+ 
+ template<typename CStr>
+ void
+ test_spaceship_type(bool use_overloaded)
+ {
+   test_spaceship<CStr, CStr>(use_overloaded);
+   test_spaceship<CStr, const char*>(use_overloaded);
+   test_spaceship<const char*, CStr>(use_overloaded);
+ }
+ 
+ template<typename Ordering>
+ void
+ test_std_ordering()
+ {
+   using RC = ReturnOrd<Ordering>;
+   test_relational_return<RC>();
+   test_spaceship_type<CStrMem<RC>>(true);
+   test_spaceship_type<CStrFriend<RC>>(true);
+   test_spaceship_type<CStrFree<RC>>(true);
+   test_spaceship<CStrMixed<RC>, CStrFree<RC>>(true);
+   test_spaceship<CStrFree<RC>, CStrMixed<RC>>(true);
+ }
+ 
+ template<typename CStr1, typename CStr2>
+ void
+ test_no_relational()
+ {
+   CStr1 c1{}; CStr2 c2{};
+   static_assert(!requires { c1 < c2; });
+   static_assert(!requires { c1 > c2; });
+   static_assert(!requires { c1 <= c2; });
+   static_assert(!requires { c1 >= c2; });
+ }
+ 
+ template<typename CStr>
+ void
+ test_no_relational_type()
+ {
+   test_no_relational<CStr, CStr>();
+   test_no_relational<CStr, const char*>();
+   test_no_relational<const char*, CStr>();
+ }
+ 
+ template<typename RC>
+ void
+ test_no_relational_return()
+ {
+   test_no_relational_type<CStrMem<RC>>();
+   test_no_relational_type<CStrFriend<RC>>();
+   test_no_relational_type<CStrFree<RC>>();
+   test_no_relational<CStrMixed<RC>, CStrFree<RC>>();
+   test_no_relational<CStrFree<RC>, CStrMixed<RC>>();
+ }
+ 
+ int main()
+ {
+   test_std_ordering<std::strong_ordering>();
+   test_std_ordering<std::weak_ordering>();
+   test_std_ordering<std::partial_ordering>();
+ 
+   test_relational_type<CStrNone>(false);
+   test_relational_return<ReturnInt>();
+   test_relational_return<CustomOrd>();
+ 
+   test_no_relational_return<ReturnVoid>();
+   test_no_relational_return<NoOperators>();
+ }
diff -Nrcpad gcc-15-20260131/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc gcc-15-20260207/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc
*** gcc-15-20260131/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc	Sat Jan 31 22:32:16 2026
--- gcc-15-20260207/libstdc++-v3/testsuite/23_containers/vector/modifiers/moveable.cc	Sat Feb  7 22:32:16 2026
*************** test05()
*** 109,117 ****
    // when it doesn't reallocate the buffer.
    VERIFY(copycounter::copycount == 20 + 1);
    a.insert(a.end(), 50, c);
!   VERIFY(copycounter::copycount == 70 + 2);
    a.insert(a.begin() + 50, 100, c);
!   VERIFY(copycounter::copycount == 170 + 3);
  }
  
  
--- 109,119 ----
    // when it doesn't reallocate the buffer.
    VERIFY(copycounter::copycount == 20 + 1);
    a.insert(a.end(), 50, c);
!   // expect when inserting at the end (appending), where existing
!   // elements are not modified
!   VERIFY(copycounter::copycount == 70 + 1);
    a.insert(a.begin() + 50, 100, c);
!   VERIFY(copycounter::copycount == 170 + 2);
  }
  
  
diff -Nrcpad gcc-15-20260131/libstdc++-v3/testsuite/23_containers/vector/modifiers/resize.cc gcc-15-20260207/libstdc++-v3/testsuite/23_containers/vector/modifiers/resize.cc
*** gcc-15-20260131/libstdc++-v3/testsuite/23_containers/vector/modifiers/resize.cc	Thu Jan  1 00:00:00 1970
--- gcc-15-20260207/libstdc++-v3/testsuite/23_containers/vector/modifiers/resize.cc	Sat Feb  7 22:32:16 2026
***************
*** 0 ****
--- 1,69 ----
+ // { dg-do run }
+ 
+ #include <vector>
+ #include <testsuite_hooks.h>
+ 
+ struct NoAssign
+ {
+   NoAssign(int p) : val(p) {}
+   const int val;
+ };
+ 
+ struct PrivateAssign
+ {
+   PrivateAssign(int p) : val(p) {}
+   PrivateAssign(const PrivateAssign& rhs) : val(rhs.val) {}
+ 
+   int val;
+ 
+ private:
+   PrivateAssign& operator=(const PrivateAssign&);
+ };
+ 
+ #if __cplusplus >= 201102L
+ struct DeletedAssign
+ {
+   DeletedAssign(int p) : val(p) {}
+   DeletedAssign(const DeletedAssign& rhs) : val(rhs.val) {}
+ 
+   DeletedAssign& operator=(const DeletedAssign&) = delete;
+ 
+   int val;
+ };
+ #endif
+ 
+ template<typename T>
+ void
+ testPR90129()
+ {
+   std::vector<T> v;
+   v.resize(5, T(5));
+   VERIFY( v.size() == 5 );
+   VERIFY( v.front().val == 5 );
+   VERIFY( v.back().val == 5 );
+ 
+   v.resize(10, T(10));
+   VERIFY( v.size() == 10 );
+   VERIFY( v.front().val == 5 );
+   VERIFY( v.back().val == 10 );
+ 
+   v.resize(7, T(7));
+   VERIFY( v.size() == 7 );
+   VERIFY( v.front().val == 5 );
+   VERIFY( v.back().val == 10 );
+ 
+   v.resize(3, T(3));
+   VERIFY( v.size() == 3 );
+   VERIFY( v.front().val == 5 );
+   VERIFY( v.back().val == 5 );
+ }
+ 
+ int main()
+ {
+   testPR90129<NoAssign>();
+   testPR90129<PrivateAssign>();
+ #if __cplusplus >= 201102L
+   testPR90129<DeletedAssign>();
+ #endif
+   return 0;
+ }
diff -Nrcpad gcc-15-20260131/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc gcc-15-20260207/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc
*** gcc-15-20260131/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc	Sat Jan 31 22:32:16 2026
--- gcc-15-20260207/libstdc++-v3/testsuite/backward/hash_set/check_construct_destroy.cc	Sat Feb  7 22:32:17 2026
*************** int main()
*** 39,88 ****
  
    int buckets;
  
-   // For C++11 and later add 1 to all counts, because the std::vector used
-   // internally by the hashtable creates and destroys a temporary object
-   // using its allocator.
-   const int extra = __cplusplus >= 201102L ? 1 : 0;
- 
    tracker_allocator_counter::reset();
    {
      Container c;
      buckets = c.bucket_count();
!     ok = check_construct_destroy("empty container", buckets+extra, extra) && ok;
    }
!   ok = check_construct_destroy("empty container", buckets+extra, buckets+extra) && ok;
  
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
!     ok = check_construct_destroy("Construct from range", buckets+10+extra, extra) && ok;
    }
!   ok = check_construct_destroy("Construct from range", buckets+10+extra, buckets+10+extra) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a[0]);
!     ok = check_construct_destroy("Insert element", buckets+11+extra, extra) && ok;
    }
!   ok = check_construct_destroy("Insert element", buckets+11+extra, buckets+11+extra) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a, arr10a+3);
!     ok = check_construct_destroy("Insert short range", buckets+13+extra, extra) && ok;
    }
!   ok = check_construct_destroy("Insert short range", buckets+13+extra, buckets+13+extra) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a, arr10a+10);
!     ok = check_construct_destroy("Insert long range", buckets+20+extra, extra) && ok;
    }
!   ok = check_construct_destroy("Insert long range", buckets+20+extra, buckets+20+extra) && ok;
  
    return ok ? 0 : 1;
  }
--- 39,83 ----
  
    int buckets;
  
    tracker_allocator_counter::reset();
    {
      Container c;
      buckets = c.bucket_count();
!     ok = check_construct_destroy("empty container", buckets, 0) && ok;
    }
!   ok = check_construct_destroy("empty container", buckets, buckets) && ok;
  
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
!     ok = check_construct_destroy("Construct from range", buckets+10, 0) && ok;
    }
!   ok = check_construct_destroy("Construct from range", buckets+10, buckets+10) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a[0]);
!     ok = check_construct_destroy("Insert element", buckets+11, 0) && ok;
    }
!   ok = check_construct_destroy("Insert element", buckets+11, buckets+11) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a, arr10a+3);
!     ok = check_construct_destroy("Insert short range", buckets+13, 0) && ok;
    }
!   ok = check_construct_destroy("Insert short range", buckets+13, buckets+13) && ok;
  
    tracker_allocator_counter::reset();
    {
      Container c(arr10, arr10 + 10);
      c.insert(arr10a, arr10a+10);
!     ok = check_construct_destroy("Insert long range", buckets+20, 0) && ok;
    }
!   ok = check_construct_destroy("Insert long range", buckets+20, buckets+20) && ok;
  
    return ok ? 0 : 1;
  }
