diff -Nrcpad gcc-15-20260110/LAST_UPDATED gcc-15-20260117/LAST_UPDATED
*** gcc-15-20260110/LAST_UPDATED	Sat Jan 10 22:32:18 2026
--- gcc-15-20260117/LAST_UPDATED	Sat Jan 17 22:32:19 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 1abc44f25141b1cbb49e24ce0244415947966cb6
--- 1 ----
! Obtained from git: releases/gcc-15 revision 1a248bbc02cd595ac342723aff3c2e5d31b7188e
diff -Nrcpad gcc-15-20260110/MD5SUMS gcc-15-20260117/MD5SUMS
*** gcc-15-20260110/MD5SUMS	Sat Jan 10 22:32:23 2026
--- gcc-15-20260117/MD5SUMS	Sat Jan 17 22:32:24 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260110.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-20260117.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
! 490304912ddd4f5062d66ebff66cfe7a  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! ed4aad8b36b61df95dcf62abe0cf010f  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** e2dc6b4fd62b77bff96b7951ef74f78f  config
*** 153,159 ****
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
  03e84607a1c4478aa65bd53937ed3aea  configure
  a10daf98a334165ec89e62510a1eb0a0  configure.ac
! 485cb6acfe45fd1d86facd7ffa527544  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  13605e5ba7b533ecbe3a902b8ebe4079  contrib/analyze_brprob.py
--- 153,159 ----
  db74a73c3c9c3cc71edec37c2436e082  config/zstd.m4
  03e84607a1c4478aa65bd53937ed3aea  configure
  a10daf98a334165ec89e62510a1eb0a0  configure.ac
! e7a1d8f88cbe18b6514b9a8c99e3e37f  contrib/ChangeLog
  5fc435c7928f858246df931ea3f3ece7  contrib/ChangeLog.jit
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
  13605e5ba7b533ecbe3a902b8ebe4079  contrib/analyze_brprob.py
*************** abb4adeec48b5e472bc4fc459600de76  contri
*** 190,196 ****
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  d577ea19d05f19a8364f73c9901223b7  contrib/filter_params.py
  1f09615feb91c049cbf46b27ea159c58  contrib/gcc-changelog/git_check_commit.py
! 1c82c39ec07b95e02c998d4285dac60c  contrib/gcc-changelog/git_commit.py
  6a772ce384751a560f60790681e6fc41  contrib/gcc-changelog/git_email.py
  039963086e96c2e9fdf8ae5643394a9c  contrib/gcc-changelog/git_repository.py
  dc2794d8add22497f9d729b995f5ef44  contrib/gcc-changelog/git_update_version.py
--- 190,196 ----
  db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
  d577ea19d05f19a8364f73c9901223b7  contrib/filter_params.py
  1f09615feb91c049cbf46b27ea159c58  contrib/gcc-changelog/git_check_commit.py
! 3ad680b6760dee460bc3d72644671f57  contrib/gcc-changelog/git_commit.py
  6a772ce384751a560f60790681e6fc41  contrib/gcc-changelog/git_email.py
  039963086e96c2e9fdf8ae5643394a9c  contrib/gcc-changelog/git_repository.py
  dc2794d8add22497f9d729b995f5ef44  contrib/gcc-changelog/git_update_version.py
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 31c3576ab96139be5958183a7346e4da  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
! 22a258347907b2c3947568df9419ad4e  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
! 44a8824e9e0b2191c1d2ddf3086daef6  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
! 65b47c8e2f2c3eaba28ec3dfa46998cc  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** fce186389d317dec9c580f569a2a845a  gcc/ad
*** 772,778 ****
  c6728830f0888dc3385e474b5925c01f  gcc/ada/exp_ch13.ads
  b9d5bddaa9aa52397a9d53cb0da957ed  gcc/ada/exp_ch2.adb
  476e299ea88b583859604d0071046143  gcc/ada/exp_ch2.ads
! 656f7f9a4620005675d57e198ee6c092  gcc/ada/exp_ch3.adb
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  00a2257236804c03d1ca7604dc7c55cf  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
--- 772,778 ----
  c6728830f0888dc3385e474b5925c01f  gcc/ada/exp_ch13.ads
  b9d5bddaa9aa52397a9d53cb0da957ed  gcc/ada/exp_ch2.adb
  476e299ea88b583859604d0071046143  gcc/ada/exp_ch2.ads
! 36e13a85b0752c1df5b9f17291cf3d1e  gcc/ada/exp_ch3.adb
  53e0d855cd76aedff48a9e6266db49e8  gcc/ada/exp_ch3.ads
  00a2257236804c03d1ca7604dc7c55cf  gcc/ada/exp_ch4.adb
  689dbf89ad9d44a03b54f8ce05455a31  gcc/ada/exp_ch4.ads
*************** df3f6c6882fc8f715d4cc537af0f6442  gcc/ad
*** 3081,3087 ****
  a13250e9011949e791f210139f4c4323  gcc/align.h
  192d075c6984da6ef1e282fd63829079  gcc/alloc-pool.cc
  b2194a7136db5f26272ca6162d858997  gcc/alloc-pool.h
! 3508fa21f94580fa968e5f0996b93a23  gcc/analyzer/ChangeLog
  0d3befc0b4bf59d902e1cf42adbe4bbf  gcc/analyzer/access-diagram.cc
  d06b0bdd3e866e801261efae99b70197  gcc/analyzer/access-diagram.h
  32d9f668dd8c176f7281357c6176be49  gcc/analyzer/analysis-plan.cc
--- 3081,3087 ----
  a13250e9011949e791f210139f4c4323  gcc/align.h
  192d075c6984da6ef1e282fd63829079  gcc/alloc-pool.cc
  b2194a7136db5f26272ca6162d858997  gcc/alloc-pool.h
! d5768028124d69d0ed6c16c13a6719db  gcc/analyzer/ChangeLog
  0d3befc0b4bf59d902e1cf42adbe4bbf  gcc/analyzer/access-diagram.cc
  d06b0bdd3e866e801261efae99b70197  gcc/analyzer/access-diagram.h
  32d9f668dd8c176f7281357c6176be49  gcc/analyzer/analysis-plan.cc
*************** f0acfecca8767075f2b2e9bc04089741  gcc/an
*** 3146,3156 ****
  b10c92c6239ddb913269f044b7d241fa  gcc/analyzer/record-layout.cc
  137aeb98f719cee5d7abad8c51521e21  gcc/analyzer/record-layout.h
  fa88325d37a8f29becb9c6c05c81e953  gcc/analyzer/region-model-asm.cc
! 0fcb22e93f8816308419a2b4f4da8f86  gcc/analyzer/region-model-manager.cc
  9195fc0db12dd5628901e3d6615a1f44  gcc/analyzer/region-model-manager.h
  f99e78bf7ad4840c0d8cc59eaf034771  gcc/analyzer/region-model-reachability.cc
  34ab719ce08057bb88f8bf20e7c3c959  gcc/analyzer/region-model-reachability.h
! 140bad88f5384bce734e81e2ff0444da  gcc/analyzer/region-model.cc
  c216ef12a26b7d69c08a4c5f60470c0d  gcc/analyzer/region-model.h
  78ee896887a9d4ebd0a256671b8add8e  gcc/analyzer/region.cc
  6e644055b512784328073293c1d0a0c7  gcc/analyzer/region.h
--- 3146,3156 ----
  b10c92c6239ddb913269f044b7d241fa  gcc/analyzer/record-layout.cc
  137aeb98f719cee5d7abad8c51521e21  gcc/analyzer/record-layout.h
  fa88325d37a8f29becb9c6c05c81e953  gcc/analyzer/region-model-asm.cc
! 8c67eeb95bd4cac85627d248d0ba39dd  gcc/analyzer/region-model-manager.cc
  9195fc0db12dd5628901e3d6615a1f44  gcc/analyzer/region-model-manager.h
  f99e78bf7ad4840c0d8cc59eaf034771  gcc/analyzer/region-model-reachability.cc
  34ab719ce08057bb88f8bf20e7c3c959  gcc/analyzer/region-model-reachability.h
! afa49cf2a4164264b72ac44ff50741e1  gcc/analyzer/region-model.cc
  c216ef12a26b7d69c08a4c5f60470c0d  gcc/analyzer/region-model.h
  78ee896887a9d4ebd0a256671b8add8e  gcc/analyzer/region.cc
  6e644055b512784328073293c1d0a0c7  gcc/analyzer/region.h
*************** dce5f9aa135bb3752695f3103daa686a  gcc/cf
*** 3282,3288 ****
  0d52ee7360736bb3d0306e66c1f3a9ce  gcc/cfgbuild.h
  39bbd18fab17b2880094aa317111df50  gcc/cfgcleanup.cc
  0761d2fe0a8e51aa7ed662e27b66747a  gcc/cfgcleanup.h
! 9996689c7ae5fb1fa1363217697db9d6  gcc/cfgexpand.cc
  b0df45fc1562ee51ee67ed5f30feb96e  gcc/cfgexpand.h
  748c8fca5e6dfe774ff333205ea9f9be  gcc/cfghooks.cc
  bbad65845fcf9cdbc5137d96f92eacab  gcc/cfghooks.h
--- 3282,3288 ----
  0d52ee7360736bb3d0306e66c1f3a9ce  gcc/cfgbuild.h
  39bbd18fab17b2880094aa317111df50  gcc/cfgcleanup.cc
  0761d2fe0a8e51aa7ed662e27b66747a  gcc/cfgcleanup.h
! df158f0755ed128c7f2c3bbdb0cc7200  gcc/cfgexpand.cc
  b0df45fc1562ee51ee67ed5f30feb96e  gcc/cfgexpand.h
  748c8fca5e6dfe774ff333205ea9f9be  gcc/cfghooks.cc
  bbad65845fcf9cdbc5137d96f92eacab  gcc/cfghooks.h
*************** d0fd2d6b92855f5ea2dcf1212cdff3ec  gcc/co
*** 3357,3363 ****
  f55010fab8b9aabea82c3ac50d031028  gcc/collect2.h
  47b3611844b583f418ce3aaf051c492a  gcc/color-macros.h
  7041e62f0f582b09331732fef4bb9545  gcc/combine-stack-adj.cc
! de3ef09dcf7fe0dca9ebbf10c83f4681  gcc/combine.cc
  2b9ccf7fc2473ef7e36aee9bcf170843  gcc/common.md
  12678e433ce3ad504a9bc371e63681ae  gcc/common.opt
  310d10d5092de3cf9710fc4c346b1549  gcc/common.opt.urls
--- 3357,3363 ----
  f55010fab8b9aabea82c3ac50d031028  gcc/collect2.h
  47b3611844b583f418ce3aaf051c492a  gcc/color-macros.h
  7041e62f0f582b09331732fef4bb9545  gcc/combine-stack-adj.cc
! d2be9a56d72387a99c4b8c53c66f1b27  gcc/combine.cc
  2b9ccf7fc2473ef7e36aee9bcf170843  gcc/common.md
  12678e433ce3ad504a9bc371e63681ae  gcc/common.opt
  310d10d5092de3cf9710fc4c346b1549  gcc/common.opt.urls
*************** b5a916bb9dd788754ac9e4ad7174ee74  gcc/co
*** 3420,3426 ****
  b209201703dd766f76ff5e16b99191e5  gcc/compare-elim.cc
  618780fbce0ce0cb6f9b86e079ce4e54  gcc/conditions.h
  1b4bc58c657bf910929d06d51bc8fa6c  gcc/config.build
! e5f14314b50c402188e9584b1eaa3965  gcc/config.gcc
  053bb14b428d0f073932e88b9a29a8bd  gcc/config.host
  1d528f9807496430cc01191e59f745d3  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
--- 3420,3426 ----
  b209201703dd766f76ff5e16b99191e5  gcc/compare-elim.cc
  618780fbce0ce0cb6f9b86e079ce4e54  gcc/conditions.h
  1b4bc58c657bf910929d06d51bc8fa6c  gcc/config.build
! 3a9482ecd7b2be15fa26c030a0ba5515  gcc/config.gcc
  053bb14b428d0f073932e88b9a29a8bd  gcc/config.host
  1d528f9807496430cc01191e59f745d3  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
*************** c0d3ca3f62caf30238675b1b8479aadc  gcc/co
*** 4068,4079 ****
  d5344f5586a4fdddcf32cfad79672651  gcc/config/i386/athlon.md
  c7639653fc509c53955783e5c3d3ed63  gcc/config/i386/atom.md
  e4ad129bfdb387d691c45180574d648e  gcc/config/i386/att.h
! 530845165e814163a34b6e6782763ea6  gcc/config/i386/avx10_2-512bf16intrin.h
  ecc1c16f801882fa2e1ed99c97694993  gcc/config/i386/avx10_2-512convertintrin.h
  36c896a4416082bcb046eb2b200a71c3  gcc/config/i386/avx10_2-512mediaintrin.h
  c2d107314aa5790478bb819993a09aa9  gcc/config/i386/avx10_2-512minmaxintrin.h
  a9c0fdd5dbcb4b5619b2b59aff7f21ff  gcc/config/i386/avx10_2-512satcvtintrin.h
! d9fb23a5076ec2994e9413c0c6ad9627  gcc/config/i386/avx10_2bf16intrin.h
  c2a3fe52895b1689c1c46af985a10daa  gcc/config/i386/avx10_2convertintrin.h
  284b65d9f14985fcf610d8d1a59a3b88  gcc/config/i386/avx10_2copyintrin.h
  e982b5c4c994f88d7dbf190bc95d301a  gcc/config/i386/avx10_2mediaintrin.h
--- 4068,4079 ----
  d5344f5586a4fdddcf32cfad79672651  gcc/config/i386/athlon.md
  c7639653fc509c53955783e5c3d3ed63  gcc/config/i386/atom.md
  e4ad129bfdb387d691c45180574d648e  gcc/config/i386/att.h
! d81f396b6bbbb5865185c6b88e047ed1  gcc/config/i386/avx10_2-512bf16intrin.h
  ecc1c16f801882fa2e1ed99c97694993  gcc/config/i386/avx10_2-512convertintrin.h
  36c896a4416082bcb046eb2b200a71c3  gcc/config/i386/avx10_2-512mediaintrin.h
  c2d107314aa5790478bb819993a09aa9  gcc/config/i386/avx10_2-512minmaxintrin.h
  a9c0fdd5dbcb4b5619b2b59aff7f21ff  gcc/config/i386/avx10_2-512satcvtintrin.h
! 499f6ff224b187236132c0d06d41e97f  gcc/config/i386/avx10_2bf16intrin.h
  c2a3fe52895b1689c1c46af985a10daa  gcc/config/i386/avx10_2convertintrin.h
  284b65d9f14985fcf610d8d1a59a3b88  gcc/config/i386/avx10_2copyintrin.h
  e982b5c4c994f88d7dbf190bc95d301a  gcc/config/i386/avx10_2mediaintrin.h
*************** fdf4ae0ccca294b8f1ce4d53f2bbf5fa  gcc/co
*** 4181,4193 ****
  c527fd639b424e1e0a95494e13e8cad2  gcc/config/i386/hresetintrin.h
  597ec35a360b8b37f5d1e4483b508834  gcc/config/i386/i386-builtin-types.awk
  5090ae3207d0bedc79ecdcec7c2cb71b  gcc/config/i386/i386-builtin-types.def
! 5d41403b2bcce8b60a14478d49fc1d63  gcc/config/i386/i386-builtin.def
  e772636bf04161d74c6568f788415fe3  gcc/config/i386/i386-builtins.cc
  d3fb594d11281112ff8d8f304a000c4e  gcc/config/i386/i386-builtins.h
  b1d3b888c9cd80df50837a2c205587f2  gcc/config/i386/i386-c.cc
  54909bb70e074c14dcf4499a5baedc54  gcc/config/i386/i386-d.cc
  172dcd61afc5800b61ebb688838d9adc  gcc/config/i386/i386-d.h
! 5d84182bd78cfb050ac8fb2366271cc9  gcc/config/i386/i386-expand.cc
  c9c3969c00808c9b6809fbeab3e4a1d2  gcc/config/i386/i386-expand.h
  ba79dc9cffbca47e10d361aeb3d716f3  gcc/config/i386/i386-features.cc
  94adc181549d171cf2618530e3b49ff7  gcc/config/i386/i386-features.h
--- 4181,4193 ----
  c527fd639b424e1e0a95494e13e8cad2  gcc/config/i386/hresetintrin.h
  597ec35a360b8b37f5d1e4483b508834  gcc/config/i386/i386-builtin-types.awk
  5090ae3207d0bedc79ecdcec7c2cb71b  gcc/config/i386/i386-builtin-types.def
! 06b9eb4bb29066c8e417daa395d993a6  gcc/config/i386/i386-builtin.def
  e772636bf04161d74c6568f788415fe3  gcc/config/i386/i386-builtins.cc
  d3fb594d11281112ff8d8f304a000c4e  gcc/config/i386/i386-builtins.h
  b1d3b888c9cd80df50837a2c205587f2  gcc/config/i386/i386-c.cc
  54909bb70e074c14dcf4499a5baedc54  gcc/config/i386/i386-d.cc
  172dcd61afc5800b61ebb688838d9adc  gcc/config/i386/i386-d.h
! b44da4b2d3aa31065c68dde766063260  gcc/config/i386/i386-expand.cc
  c9c3969c00808c9b6809fbeab3e4a1d2  gcc/config/i386/i386-expand.h
  ba79dc9cffbca47e10d361aeb3d716f3  gcc/config/i386/i386-features.cc
  94adc181549d171cf2618530e3b49ff7  gcc/config/i386/i386-features.h
*************** b19c27e8a900f9eeb7d73e2bb4b8d313  gcc/co
*** 4203,4209 ****
  24065393854cd1e08e3285bd707210fe  gcc/config/i386/i386-rust.h
  1f51de377d2201760580af4caad2f020  gcc/config/i386/i386.cc
  0150b759a527c67bf0c83ed700545456  gcc/config/i386/i386.h
! e72ce73b30bb308ee3dc731ee16cad8e  gcc/config/i386/i386.md
  5a3c6fa6266505bbc0789e269da6e250  gcc/config/i386/i386.opt
  56dd2039e03b3ae92142eb68be464b98  gcc/config/i386/i386.opt.urls
  f22876926ff4a2cb67b105ac266c72ea  gcc/config/i386/i386elf.h
--- 4203,4209 ----
  24065393854cd1e08e3285bd707210fe  gcc/config/i386/i386-rust.h
  1f51de377d2201760580af4caad2f020  gcc/config/i386/i386.cc
  0150b759a527c67bf0c83ed700545456  gcc/config/i386/i386.h
! 014dc3dc3322cb1807e11f873cb335e5  gcc/config/i386/i386.md
  5a3c6fa6266505bbc0789e269da6e250  gcc/config/i386/i386.opt
  56dd2039e03b3ae92142eb68be464b98  gcc/config/i386/i386.opt.urls
  f22876926ff4a2cb67b105ac266c72ea  gcc/config/i386/i386elf.h
*************** a0eef2ed8deb81df9cde53071094d3ff  gcc/co
*** 4229,4235 ****
  55b88c976269e37a537664690c4fab53  gcc/config/i386/mingw-w64.opt.urls
  b68f60806cbb24b711d235b8e446a62a  gcc/config/i386/mm3dnow.h
  783259947fde0f03f564d0e19ad27e23  gcc/config/i386/mmintrin.h
! 9cfe853ffa46db93a7b220aa724b4fbd  gcc/config/i386/mmx.md
  800d6b8630ece4412e7cc8572552812a  gcc/config/i386/movdirintrin.h
  a60aa400230276b237aace7baf1becdb  gcc/config/i386/movrsintrin.h
  0a902dd4d4e82e9bf2831a3848a102ed  gcc/config/i386/mwaitintrin.h
--- 4229,4235 ----
  55b88c976269e37a537664690c4fab53  gcc/config/i386/mingw-w64.opt.urls
  b68f60806cbb24b711d235b8e446a62a  gcc/config/i386/mm3dnow.h
  783259947fde0f03f564d0e19ad27e23  gcc/config/i386/mmintrin.h
! 0bfe63899c97e6d0701a66b4e810d3d8  gcc/config/i386/mmx.md
  800d6b8630ece4412e7cc8572552812a  gcc/config/i386/movdirintrin.h
  a60aa400230276b237aace7baf1becdb  gcc/config/i386/movrsintrin.h
  0a902dd4d4e82e9bf2831a3848a102ed  gcc/config/i386/mwaitintrin.h
*************** acfa3e6ce1f37bbad35e49e06b663ea9  gcc/co
*** 4325,4331 ****
  709155b5a0371d397baf22295493b77b  gcc/config/i386/xm-cygwin.h
  defa9e0464eba862bed3764716650f29  gcc/config/i386/xm-djgpp.h
  bae94af26195c7e64a5f59018ab9df85  gcc/config/i386/xm-mingw32.h
! 9463d0d50e39a1dff707b4a422f44f1d  gcc/config/i386/xmmintrin.h
  368186e4aee42c25c7031e2fcaa4c3fd  gcc/config/i386/xopintrin.h
  c59d69078b2dfb5edefbca0d79268e54  gcc/config/i386/xsavecintrin.h
  97f252ad13e5079471073dcf6ad3030c  gcc/config/i386/xsaveintrin.h
--- 4325,4331 ----
  709155b5a0371d397baf22295493b77b  gcc/config/i386/xm-cygwin.h
  defa9e0464eba862bed3764716650f29  gcc/config/i386/xm-djgpp.h
  bae94af26195c7e64a5f59018ab9df85  gcc/config/i386/xm-mingw32.h
! f0e2f038176680312a6cf7d3c8359dd2  gcc/config/i386/xmmintrin.h
  368186e4aee42c25c7031e2fcaa4c3fd  gcc/config/i386/xopintrin.h
  c59d69078b2dfb5edefbca0d79268e54  gcc/config/i386/xsavecintrin.h
  97f252ad13e5079471073dcf6ad3030c  gcc/config/i386/xsaveintrin.h
*************** d3ad067b1fa15bbce42fd3cc4499966e  gcc/co
*** 4437,4445 ****
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 0ee82048ba1ce7a626ff20137b3713e8  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
! ec46785efb7afdd2deb34ce71a037c59  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
  264f23ee79258ff82bda293d093dd06b  gcc/config/loongarch/loongarch.opt.urls
  062b7b5552d6a6640631f79b43b8ad3c  gcc/config/loongarch/lsx.md
--- 4437,4445 ----
  688cd325dbeb853413435f029e712cb2  gcc/config/loongarch/loongarch-str.h
  a8cd9a4a3d712802475e91e0ec9a3274  gcc/config/loongarch/loongarch-target-attr.cc
  f539c2da7e8d7a3ef7c741bceee19eed  gcc/config/loongarch/loongarch-tune.h
! 0e6e23acf6357efcf781703822860d21  gcc/config/loongarch/loongarch.cc
  cac7a4f19361731647870d2210078a9e  gcc/config/loongarch/loongarch.h
! 20d6419804da0f3e740614d707d5918d  gcc/config/loongarch/loongarch.md
  bcc951e237d5501fc2acd6ef3141724c  gcc/config/loongarch/loongarch.opt
  264f23ee79258ff82bda293d093dd06b  gcc/config/loongarch/loongarch.opt.urls
  062b7b5552d6a6640631f79b43b8ad3c  gcc/config/loongarch/lsx.md
*************** a9c3cddee4e237141062720b72fe38cd  gcc/co
*** 5500,5506 ****
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! 27ea18d28fa41e7465884ce0baa21bac  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
--- 5500,5506 ----
  5d31df44fc0a5b17beb74ce0ff38e214  gcc/coroutine-passes.cc
  2a5216aefb9cdf4b270ef8e599cc794f  gcc/coverage.cc
  722fb5fda78e55c5af5da72cad78751f  gcc/coverage.h
! a4abb5e1c498890299264c1bbb2faadd  gcc/cp/ChangeLog
  70c059f2b75a2fc1bb95a526b21b8cd7  gcc/cp/ChangeLog-1993
  7cbd106e10a0ba7c052bee3fe20671c2  gcc/cp/ChangeLog-1994
  3b1e3ed23ad4363f75e6fd2fbb583dee  gcc/cp/ChangeLog-1995
*************** bcf7c5d02934e40f17edeb18d58c4d4d  gcc/cp
*** 5536,5547 ****
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  08c713f559f658009bf94d139a24c2b6  gcc/cp/Make-lang.in
! 542a93f4998290d0a8ae59ccfdd20775  gcc/cp/call.cc
  fce8de27014c109814b3f69be6a5d4f6  gcc/cp/cfns.gperf
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! e912e1bdb3285dc9a79517751a152b21  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
--- 5536,5547 ----
  c1c7801b9b0f379e702a4f6cb83972e7  gcc/cp/ChangeLog.ptr
  9aa3cd9f75c785de9f51446e3f295515  gcc/cp/ChangeLog.tree-ssa
  08c713f559f658009bf94d139a24c2b6  gcc/cp/Make-lang.in
! 20b4161ebb0e461c9a98ca8ea837da49  gcc/cp/call.cc
  fce8de27014c109814b3f69be6a5d4f6  gcc/cp/cfns.gperf
  68fc21d4889b1c70ccf89747b98b1fb4  gcc/cp/cfns.h
  65891fa261ce5aa3474ed32683a124d3  gcc/cp/class.cc
  ee3fb2cc9b9557d3895f527353160bd4  gcc/cp/config-lang.in
! 024be5aee83fc1a9950752a9d3052fa7  gcc/cp/constexpr.cc
  d132f7f4c080ce3048977e23e33b9b1c  gcc/cp/constraint.cc
  a4c4f7387ee41213f5d0113f9e78d30c  gcc/cp/contracts.cc
  1f1cd3a021a2cd25741e252145ee8282  gcc/cp/contracts.h
*************** ce341777e96c61cc65edb99c05f70f62  gcc/cp
*** 5591,5602 ****
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
! 48ed0bb4fa778a3b5f67ba653a2c2e72  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
! f22dc1d4773b3dfbfb42dbd5b1418984  gcc/cp/tree.cc
  bb1304379ac1bf9a568942bc7e976e8a  gcc/cp/type-utils.h
! 1bf95758f700eb2864247d2a58e4934b  gcc/cp/typeck.cc
  1fea2b59dbf93b59626d7546b3c1f738  gcc/cp/typeck2.cc
  aa6906e22dc44502ca268580e5b8dfdd  gcc/cp/vtable-class-hierarchy.cc
  c74d2f6cc5dcb1bf1953c093eb903b37  gcc/cppbuiltin.cc
--- 5591,5602 ----
  a121c0a45933b618832614be1fbfd5c7  gcc/cp/ptree.cc
  318c5e4a338363a8183b4a01222aa800  gcc/cp/rtti.cc
  a4930c49ed8f9e6b019399bd1faf86d0  gcc/cp/search.cc
! 183ca5fa4b899c7887d5717e2c603ce3  gcc/cp/semantics.cc
  b58bf61fbfed45af179b7104e72a9486  gcc/cp/std-name-hint.gperf
  67c8ace75ad63aabe8efb9f9c016b437  gcc/cp/std-name-hint.h
! e77c70620e28d7fa19ce229195327958  gcc/cp/tree.cc
  bb1304379ac1bf9a568942bc7e976e8a  gcc/cp/type-utils.h
! 7dd1279369e348c7b0a8075f937fab35  gcc/cp/typeck.cc
  1fea2b59dbf93b59626d7546b3c1f738  gcc/cp/typeck2.cc
  aa6906e22dc44502ca268580e5b8dfdd  gcc/cp/vtable-class-hierarchy.cc
  c74d2f6cc5dcb1bf1953c093eb903b37  gcc/cppbuiltin.cc
*************** b14c12c33aee36a4d29601627a1a67da  gcc/di
*** 5889,5895 ****
  be405b20597be971120eee5709db8c4a  gcc/diagnostic-diagram.h
  a24233a009f0c9d29e034e6ba63082de  gcc/diagnostic-event-id.h
  541be36efb19722196822437b834609d  gcc/diagnostic-format-json.cc
! 4820ce24c1774a9e97b247c6f278a014  gcc/diagnostic-format-sarif.cc
  3bb62254fe1be687eefe0e5a24ac93bd  gcc/diagnostic-format-sarif.h
  1b2d0d3102cf6a56bdf867930a56be70  gcc/diagnostic-format-text.cc
  66be909d880de2f75a896a45bf395ab6  gcc/diagnostic-format-text.h
--- 5889,5895 ----
  be405b20597be971120eee5709db8c4a  gcc/diagnostic-diagram.h
  a24233a009f0c9d29e034e6ba63082de  gcc/diagnostic-event-id.h
  541be36efb19722196822437b834609d  gcc/diagnostic-format-json.cc
! 1de230e753f9ddc8035bc24b27165516  gcc/diagnostic-format-sarif.cc
  3bb62254fe1be687eefe0e5a24ac93bd  gcc/diagnostic-format-sarif.h
  1b2d0d3102cf6a56bdf867930a56be70  gcc/diagnostic-format-text.cc
  66be909d880de2f75a896a45bf395ab6  gcc/diagnostic-format-text.h
*************** f076eff7f3e051217ab4840269c685f8  gcc/di
*** 5907,5913 ****
  81a24429bc8eb52cbe24d574c6ec7e53  gcc/diagnostic-spec.cc
  375a39d1eff397ae7fcdce6e05c76d50  gcc/diagnostic-spec.h
  dabd477d68c54372f8519e7c917d4a11  gcc/diagnostic-url.h
! 76e1818553aea722563982b603872236  gcc/diagnostic.cc
  03b04b0fb78353ca76570e5ef92cf756  gcc/diagnostic.def
  21632ab2885104ea10689f397a217121  gcc/diagnostic.h
  bec68218d528467fd119bf2cd02bc358  gcc/digraph.cc
--- 5907,5913 ----
  81a24429bc8eb52cbe24d574c6ec7e53  gcc/diagnostic-spec.cc
  375a39d1eff397ae7fcdce6e05c76d50  gcc/diagnostic-spec.h
  dabd477d68c54372f8519e7c917d4a11  gcc/diagnostic-url.h
! 63db67e83cdb5679f562c6d74f609699  gcc/diagnostic.cc
  03b04b0fb78353ca76570e5ef92cf756  gcc/diagnostic.def
  21632ab2885104ea10689f397a217121  gcc/diagnostic.h
  bec68218d528467fd119bf2cd02bc358  gcc/digraph.cc
*************** ee4c7654f733cefcb73d4fd24f3e1b82  gcc/do
*** 5950,5958 ****
  9512a9fe27682edff7dd2ed171bbb853  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  e9b8122841fbfbbc30fee8ed6613c399  gcc/doc/include/texinfo.tex
! 4cf31ce9dc9e7079c1c99e7dd07215ae  gcc/doc/install.texi
  0f98706361e63fac2c35c2c4491eaac4  gcc/doc/install.texi2html
! 33e0c4670eb42cacf8978b6a0c4551b9  gcc/doc/invoke.texi
  47f1f55b3595acf670eb6193a0cbd933  gcc/doc/languages.texi
  5200cc28a2ab912efe66f0944995c45b  gcc/doc/libgcc.texi
  ef4f00c423089323edef1d3cff31a4a2  gcc/doc/libgdiagnostics/Makefile
--- 5950,5958 ----
  9512a9fe27682edff7dd2ed171bbb853  gcc/doc/include/gcc-common.texi
  95c90bf85d3eab67f348ee3ce0bf4050  gcc/doc/include/gpl_v3.texi
  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
*************** d0e39d30292d3cb008ec7fb9517c3032  gcc/gi
*** 6279,6289 ****
  c8dd21ff63045c1a13e516534e9f26c8  gcc/gimple-range-edge.h
  59442dfc5a203baf74202d93da2c83ad  gcc/gimple-range-fold.cc
  6077f71d4f6a79ed60d0e24f247133a3  gcc/gimple-range-fold.h
! 2ab6e680fbd55d50bfc4690e2ecf8a4f  gcc/gimple-range-gori.cc
! db61cb44af184c491426f70b14b72f64  gcc/gimple-range-gori.h
  12b0f3b16b06728cdeddc2aaee126661  gcc/gimple-range-infer.cc
  d1b8fdd0fd8c738683e5995bf45cda94  gcc/gimple-range-infer.h
! e90a8c8db3c3bb2c54a6618e8ef278c4  gcc/gimple-range-op.cc
  c33a426eeaa6da07a474caf81b43a278  gcc/gimple-range-op.h
  33d3c148e1b6f1df39688e27f3511fe1  gcc/gimple-range-path.cc
  55a80a9f04099be643d37e29c9ac7d10  gcc/gimple-range-path.h
--- 6279,6289 ----
  c8dd21ff63045c1a13e516534e9f26c8  gcc/gimple-range-edge.h
  59442dfc5a203baf74202d93da2c83ad  gcc/gimple-range-fold.cc
  6077f71d4f6a79ed60d0e24f247133a3  gcc/gimple-range-fold.h
! d3d6074e5bf4591d5ad4f10d2e4ef053  gcc/gimple-range-gori.cc
! b5d47af740298e1ed81a515b363e0106  gcc/gimple-range-gori.h
  12b0f3b16b06728cdeddc2aaee126661  gcc/gimple-range-infer.cc
  d1b8fdd0fd8c738683e5995bf45cda94  gcc/gimple-range-infer.h
! 856185827a062e7bfcfe9dcc8af364f4  gcc/gimple-range-op.cc
  c33a426eeaa6da07a474caf81b43a278  gcc/gimple-range-op.h
  33d3c148e1b6f1df39688e27f3511fe1  gcc/gimple-range-path.cc
  55a80a9f04099be643d37e29c9ac7d10  gcc/gimple-range-path.h
*************** ed475e0212369987bb572e7eabb4b4d7  gcc/lo
*** 6640,6646 ****
  90be6ca8eebfbeae80589ba7a895bf60  gcc/lra-eliminations.cc
  d5aab2fda62b4b8a67dcd1bfeff169f5  gcc/lra-int.h
  9b39c90253128330d1b238b030a40fce  gcc/lra-lives.cc
! f8f8f93a11e3960a35e56fdfffdf4889  gcc/lra-remat.cc
  d5cf2fbf4d35e8e1f64d1638b2993c85  gcc/lra-spills.cc
  e5fef2ffe59f5bb8bf855af92be9ce6a  gcc/lra.cc
  f34f18b0bf45561aad0763e10bc1ecb1  gcc/lra.h
--- 6640,6646 ----
  90be6ca8eebfbeae80589ba7a895bf60  gcc/lra-eliminations.cc
  d5aab2fda62b4b8a67dcd1bfeff169f5  gcc/lra-int.h
  9b39c90253128330d1b238b030a40fce  gcc/lra-lives.cc
! c4b86e50ee28a36a4db80d0c00ec48cd  gcc/lra-remat.cc
  d5cf2fbf4d35e8e1f64d1638b2993c85  gcc/lra-spills.cc
  e5fef2ffe59f5bb8bf855af92be9ce6a  gcc/lra.cc
  f34f18b0bf45561aad0763e10bc1ecb1  gcc/lra.h
*************** cf0f1ba732134068141dc67a09cd47ce  gcc/sh
*** 8393,8399 ****
  50d9999185408bcae454174489317b68  gcc/signop.h
  e5d40573610fb7583cb771d99f436041  gcc/simple-diagnostic-path.cc
  c8b2977ee32b0a12bea49921d2ec0c00  gcc/simple-diagnostic-path.h
! 14bbf944c08a341a60c217180c7a81ba  gcc/simplify-rtx.cc
  456e0937ae4b3a0f49fd44fb0d05eb52  gcc/sort.cc
  599fc125220850c86939202313a6f733  gcc/sparseset.cc
  430469e71b555502fe14de847bb52093  gcc/sparseset.h
--- 8393,8399 ----
  50d9999185408bcae454174489317b68  gcc/signop.h
  e5d40573610fb7583cb771d99f436041  gcc/simple-diagnostic-path.cc
  c8b2977ee32b0a12bea49921d2ec0c00  gcc/simple-diagnostic-path.h
! 14fd2eb2fc929a8aa57fe1c6a2dea457  gcc/simplify-rtx.cc
  456e0937ae4b3a0f49fd44fb0d05eb52  gcc/sort.cc
  599fc125220850c86939202313a6f733  gcc/sparseset.cc
  430469e71b555502fe14de847bb52093  gcc/sparseset.h
*************** f5e5ba1329ffae51d286f6c8932308d6  gcc/sr
*** 8411,8417 ****
  d0b55fa9a0f86f4f03bdbfcff3e068d8  gcc/stack-ptr-mod.cc
  bbd5abaa55463a5497e6ff9d14de3a1b  gcc/statistics.cc
  3fc844db346b8f5e70da401bd3f4ad0d  gcc/statistics.h
! 02d4bf2a9ab7e4ea37a70fd4618dc8b0  gcc/stmt.cc
  dbd64f0fc5e750c51b3fae1183025ef5  gcc/stmt.h
  ace168df68feeff6e6062dce7285a09c  gcc/stor-layout.cc
  eb7d04020ade148a4c8969151c6d5478  gcc/stor-layout.h
--- 8411,8417 ----
  d0b55fa9a0f86f4f03bdbfcff3e068d8  gcc/stack-ptr-mod.cc
  bbd5abaa55463a5497e6ff9d14de3a1b  gcc/statistics.cc
  3fc844db346b8f5e70da401bd3f4ad0d  gcc/statistics.h
! 86e897778d82938e1a698a7427fde375  gcc/stmt.cc
  dbd64f0fc5e750c51b3fae1183025ef5  gcc/stmt.h
  ace168df68feeff6e6062dce7285a09c  gcc/stor-layout.cc
  eb7d04020ade148a4c8969151c6d5478  gcc/stor-layout.h
*************** b1497a03867668af210c32280876fdd7  gcc/sy
*** 8447,8453 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 2b27a25cfa70de0042aff7c136787635  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8447,8453 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 6c6536995a91395805c7a04b23d14e95  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** a2a78072e3d8b53573e8f00012aa5e02  gcc/te
*** 11412,11417 ****
--- 11412,11418 ----
  6f13c48d287fe59d52b17e51ccd6fca9  gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2a.c
  6d64ae2854f0c1c2c817a3832375555f  gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c
  ddd318f0d7ec18cf56dba10884be8c19  gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3a.c
+ cca57e9fb9342c8e79642164deb2fa66  gcc/testsuite/c-c++-common/analyzer/arith-1.c
  fc965261104eb781f63faa0fe5a3d7b1  gcc/testsuite/c-c++-common/analyzer/asm-x86-1.c
  4f3de36e277422446a2a0c8cd3afe090  gcc/testsuite/c-c++-common/analyzer/asm-x86-dyndbg-2.c
  cfc15687f29058760db8cdfd6af9f0d8  gcc/testsuite/c-c++-common/analyzer/asm-x86-lp64-2.c
*************** eecccbd82a0978c6fefd4883a004a5ce  gcc/te
*** 11583,11588 ****
--- 11584,11590 ----
  a66185ed3bef2742621b423d3bec08ab  gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr108935-1.c
  7d75523d81879148276b42e991a4c362  gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr108935-1a.c
  66723f902622a5e196b22ca3d8fceff6  gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr108935-2.c
+ 06baba8fb190338b8a7cb3d26bb98679  gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr122975.c
  43c57be318716a133d18499c08ddc7aa  gcc/testsuite/c-c++-common/analyzer/infinite-recursion-variadic.c
  d5e270f77ea78102f30f82e5d2f2191b  gcc/testsuite/c-c++-common/analyzer/infinite-recursion.c
  e7a346d9228f0a095843adfb8d30f916  gcc/testsuite/c-c++-common/analyzer/init.c
*************** a20f56474f9327e4df5f75e759a08cfc  gcc/te
*** 11882,11887 ****
--- 11884,11890 ----
  8f913e3de654aeeed3a380e266f73c9d  gcc/testsuite/c-c++-common/analyzer/strlen-pr111361.c
  c02d2254f7ec2e1d0a71dadd15088d94  gcc/testsuite/c-c++-common/analyzer/strlen-pr112811.c
  3d94f951f5b6fbc3d0844975b793c18e  gcc/testsuite/c-c++-common/analyzer/strlen-pr113999.c
+ af84b442d8f68452823319bf94649695  gcc/testsuite/c-c++-common/analyzer/strlen-pr123085.c
  094be02eb52b4c58b434801cf6dd0582  gcc/testsuite/c-c++-common/analyzer/strncpy-1.c
  95822937a3320cebcdcd88c927eb703e  gcc/testsuite/c-c++-common/analyzer/strncpy-pr111361.c
  ed3ea054e3f77d74f5a3e9a655a63daa  gcc/testsuite/c-c++-common/analyzer/strndup-1.c
*************** e1ef9c58498f72552b0ec84751024b54  gcc/te
*** 13502,13507 ****
--- 13505,13511 ----
  7e6323dd9b11ca893c79859f430b53ed  gcc/testsuite/c-c++-common/pr109884.c
  087cac8a02deb9e6057b84df8a4b50c5  gcc/testsuite/c-c++-common/pr111309-1.c
  eaa6db1ea7ec94af6a5743a71b3c75b4  gcc/testsuite/c-c++-common/pr111309-2.c
+ b27edfb18a0a46230f08ed022faced81  gcc/testsuite/c-c++-common/pr111817.c
  fd2495c48b560caf7d762a464c77b115  gcc/testsuite/c-c++-common/pr118205.c
  7f267008b2230604a2b8a18847bf6734  gcc/testsuite/c-c++-common/pr118430.c
  0c3f46dedcdae63c945f3862b8e0e0ed  gcc/testsuite/c-c++-common/pr118442.c
*************** e3a88ae9ca562b3c9a47ee98c06e6ded  gcc/te
*** 20578,20583 ****
--- 20582,20588 ----
  63be3b6d75aa3c2c8088552683d5245e  gcc/testsuite/g++.dg/cpp1z/eval-order10.C
  3abc6084e572264410718d38beb290bb  gcc/testsuite/g++.dg/cpp1z/eval-order11.C
  2a2d4866a044c20823b5f37f629ac147  gcc/testsuite/g++.dg/cpp1z/eval-order13.C
+ 612e7cfe92accd2bee31cd13a0976f33  gcc/testsuite/g++.dg/cpp1z/eval-order14.C
  ebf7b90ef919b5a31b45b49ad9bd61c9  gcc/testsuite/g++.dg/cpp1z/eval-order2.C
  8b89dee7164b6f4d992706e5b85433f4  gcc/testsuite/g++.dg/cpp1z/eval-order3.C
  6d8d378fedaf65b4cb89952060799280  gcc/testsuite/g++.dg/cpp1z/eval-order4.C
*************** f35c40f9359deda380357490b21bcf4f  gcc/te
*** 20788,20793 ****
--- 20793,20799 ----
  1cec7e8e1ac5999209a00a7fd3e2dbab  gcc/testsuite/g++.dg/cpp1z/static1.C
  41cdf88b4e2dc9ba29ab954fd0f3d05c  gcc/testsuite/g++.dg/cpp1z/static2.C
  491588e8dd93d83d5049e3c332e8755f  gcc/testsuite/g++.dg/cpp1z/static_assert-nomsg.C
+ d123582c5d5cdc2e4fdc925fa563f023  gcc/testsuite/g++.dg/cpp1z/static_assert1.C
  7dd3448d4722a9ee0446db6aa3c7a0b0  gcc/testsuite/g++.dg/cpp1z/ttp1.C
  0cd62ffa5ae2d02bd665e02895b12f01  gcc/testsuite/g++.dg/cpp1z/ttp2.C
  64b3f9e4e9d3f04ac339e1f86e353e9b  gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C
*************** becc0e6f064af285a504ff10eaffc525  gcc/te
*** 22695,22700 ****
--- 22701,22708 ----
  204f6d67816240aa15bfa5d9320862f5  gcc/testsuite/g++.dg/dfp/mangle-6.C
  8b4d16a77a1edab85ee4c99fda03eb79  gcc/testsuite/g++.dg/dfp/mangle-mode.C
  3a865b01c504023d0b90b1f055163c6a  gcc/testsuite/g++.dg/dfp/nofields.C
+ fd0549fb3825f83ce2ac884838fe2187  gcc/testsuite/g++.dg/dfp/pr122834-1.C
+ 87b1932d8497bd7b8b41f36fb0c23208  gcc/testsuite/g++.dg/dfp/pr122834-2.C
  919ff80bde2b401e1cf10423071bab16  gcc/testsuite/g++.dg/dfp/pr92744.C
  cd0133a632a541db051ef84d53754ac6  gcc/testsuite/g++.dg/dfp/typeid1.C
  d7b10c41bed5782388e3e624407cba5c  gcc/testsuite/g++.dg/dg.exp
*************** c5b17ec8776b6efea2d581feee1eee63  gcc/te
*** 28617,28622 ****
--- 28625,28631 ----
  7f6f8196eb6eae36b43ff96f94e48737  gcc/testsuite/g++.dg/other/pr113617.C
  a9facf6d9509cb68d6b2b62cd3645688  gcc/testsuite/g++.dg/other/pr113617.h
  f4bb431c848d4b8591c30c861f41d6cd  gcc/testsuite/g++.dg/other/pr117516.C
+ 090b0d31de50d5d78954887c98d7804a  gcc/testsuite/g++.dg/other/pr123331.C
  f43f96bf3c378817b959c22aee3466c0  gcc/testsuite/g++.dg/other/pr20366.C
  972110c0d861ecae87ae8ad4d861dd0f  gcc/testsuite/g++.dg/other/pr22003.C
  57901344b69ec7b216bf1128cc5a7242  gcc/testsuite/g++.dg/other/pr22358.C
*************** a5706ac002500d657b5e8cd77cc6c62e  gcc/te
*** 33108,33113 ****
--- 33117,33123 ----
  1184b1df4ae243b5ab6917e0e3b219b6  gcc/testsuite/g++.dg/warn/Wmismatched-dealloc-2.C
  beb0dbeb6a47cd7fb34d04b431670905  gcc/testsuite/g++.dg/warn/Wmismatched-dealloc-3.C
  d183cd43f2c2caf1b71024ba3762ff44  gcc/testsuite/g++.dg/warn/Wmismatched-dealloc.C
+ c64dfbca6c8c86f3fd65230eca021a72  gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-10.C
  74decc16b8ca63b12db874b7dde868cf  gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-2.C
  5c4cad449e21fe0fade92c9c0d19fb5f  gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-3.C
  da3dbc8526151b41f4a741a5d5e51eae  gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-4.C
*************** b55cebf22ef53505e15f00d8c547efc0  gcc/te
*** 37353,37358 ****
--- 37363,37369 ----
  4a44f470ea24c20123902146bd5273ad  gcc/testsuite/g++.target/i386/avx512bw-pr98537-1.C
  3ec2a7fddbb432f8b259b0ada49c99a8  gcc/testsuite/g++.target/i386/avx512f-helper.h
  cbe0c3947d51802a4bf66ce01377fb64  gcc/testsuite/g++.target/i386/avx512f-pr96891-1.C
+ 8763b4590fa0e7aa581be6701962a55f  gcc/testsuite/g++.target/i386/avx512fp16-pr123607.C
  c89ba9cfe468937652adb223c2fe88f9  gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-minmax.C
  d5287c6ed2bebf01314526c64e9b26ba  gcc/testsuite/g++.target/i386/avx512fp16-vcondmn-vec.C
  5df96b365d4dc9fff3b4d57ee1d9f8e5  gcc/testsuite/g++.target/i386/avx512vl-pr100738-1.C
*************** a36b5332929fccce3ba46aacdd6e1984  gcc/te
*** 38891,38896 ****
--- 38902,38908 ----
  ae878ea349c8f9f2a197bf59dcff9d3a  gcc/testsuite/gcc.c-torture/compile/pr118429.c
  6d7416e999725c0f023c4322893b1214  gcc/testsuite/gcc.c-torture/compile/pr118501.c
  4e917b913d6f56bf343a7bff79797c93  gcc/testsuite/gcc.c-torture/compile/pr119226.c
+ ab667119ae39828bcd103bb5c5434cdc  gcc/testsuite/gcc.c-torture/compile/pr120250.c
  ba307c947af4df2e0ff2f70272caf68a  gcc/testsuite/gcc.c-torture/compile/pr120807.c
  33c7141fcf5b1add3ddd2be0100f1f0d  gcc/testsuite/gcc.c-torture/compile/pr12517.c
  ec16b12ab11c499bf321be18ea59da33  gcc/testsuite/gcc.c-torture/compile/pr12578.c
*************** c54a3052ec2d03b003a96b460fc1509c  gcc/te
*** 46286,46291 ****
--- 46298,46305 ----
  635a708f0d3160a61cc28f440b7af0d5  gcc/testsuite/gcc.dg/fail_always_inline2.c
  65d997c1872a855cefb9e7177015a53a  gcc/testsuite/gcc.dg/falign-labels-1.c
  2bc0342a25d7d1e316ce2fb511a55ca2  gcc/testsuite/gcc.dg/fastmath-1.c
+ 7b5f81b070e3d174eccc61ceb522baef  gcc/testsuite/gcc.dg/fatal-error-sarif.py
+ 9144b8297d87f2f6d00147e9df8b60d6  gcc/testsuite/gcc.dg/fatal-error.c
  c87b8cb24b5597f6cb6c5620972b8083  gcc/testsuite/gcc.dg/fdata-sections-1.c
  4d70da06c50e6429d5febbbf7d8e42c7  gcc/testsuite/gcc.dg/fdata-sections-2.c
  b0e2b944c95704b8a92af8e96e46c10a  gcc/testsuite/gcc.dg/field-merge-1.c
*************** c8b296cff91e0dc2cbddba1d03bda22e  gcc/te
*** 49108,49115 ****
  98c8542823586860a335df8e4a87940b  gcc/testsuite/gcc.dg/plugin/crash-test-ice-in-header.h
  7ce38991ee9680f25520e34f0eb8e02c  gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
  25e14555a1456447b35858de17d08ee9  gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
! 3333d94ad6aeaef96f8f360fbb86bc40  gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
! 6a8964ce93ffc0bd30309c60194183b2  gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
  07e231a98872197c9ea4f93a023099fe  gcc/testsuite/gcc.dg/plugin/crash_test_plugin.cc
  146ffa25d8a6444346ca2a51bfa748ec  gcc/testsuite/gcc.dg/plugin/diagnostic-group-test-1.c
  901114feb3fc4bc44a06034fc6abcbff  gcc/testsuite/gcc.dg/plugin/diagnostic-path-format-inline-events-1.c
--- 49122,49129 ----
  98c8542823586860a335df8e4a87940b  gcc/testsuite/gcc.dg/plugin/crash-test-ice-in-header.h
  7ce38991ee9680f25520e34f0eb8e02c  gcc/testsuite/gcc.dg/plugin/crash-test-ice-sarif.c
  25e14555a1456447b35858de17d08ee9  gcc/testsuite/gcc.dg/plugin/crash-test-ice-stderr.c
! 3333d94ad6aeaef96f8f360fbb86bc40  gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-sarif.c
! 6a8964ce93ffc0bd30309c60194183b2  gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-stderr.c
  07e231a98872197c9ea4f93a023099fe  gcc/testsuite/gcc.dg/plugin/crash_test_plugin.cc
  146ffa25d8a6444346ca2a51bfa748ec  gcc/testsuite/gcc.dg/plugin/diagnostic-group-test-1.c
  901114feb3fc4bc44a06034fc6abcbff  gcc/testsuite/gcc.dg/plugin/diagnostic-path-format-inline-events-1.c
*************** c323b7b4ac0cf2caa641c6bb31350375  gcc/te
*** 49219,49225 ****
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
! 82ea495bfd4c359f037644f84a081eb2  gcc/testsuite/gcc.dg/plugin/plugin.exp
  10b87cc378ff8b6e30ae77af8c669e4b  gcc/testsuite/gcc.dg/plugin/plugindir1.c
  770fbe5bf2a65884c6120dab4b13a1d4  gcc/testsuite/gcc.dg/plugin/plugindir2.c
  5be673fb13573d3689c3cc3dff9f5a2e  gcc/testsuite/gcc.dg/plugin/plugindir3.c
--- 49233,49239 ----
  4905199fc259967af414db22821f7f74  gcc/testsuite/gcc.dg/plugin/must_tail_call_plugin.cc
  adbc6d60d6e1474ca93af3b50208e741  gcc/testsuite/gcc.dg/plugin/one_time-test-1.c
  91500c30c78de7048ecb72b86a431e80  gcc/testsuite/gcc.dg/plugin/one_time_plugin.cc
! 11f55a3fb243cc49e067856dbedf320a  gcc/testsuite/gcc.dg/plugin/plugin.exp
  10b87cc378ff8b6e30ae77af8c669e4b  gcc/testsuite/gcc.dg/plugin/plugindir1.c
  770fbe5bf2a65884c6120dab4b13a1d4  gcc/testsuite/gcc.dg/plugin/plugindir2.c
  5be673fb13573d3689c3cc3dff9f5a2e  gcc/testsuite/gcc.dg/plugin/plugindir3.c
*************** a0985c9ac5a161a568f68afc0223c2c1  gcc/te
*** 49868,49873 ****
--- 49882,49889 ----
  b975ebfa27ac446e553bacbb75421590  gcc/testsuite/gcc.dg/pr122126_vset.c
  9f4094b7196b5eab8c79608995a96efc  gcc/testsuite/gcc.dg/pr122991.c
  9fcb8913b9a18055b2a811284d59780e  gcc/testsuite/gcc.dg/pr123018.c
+ 5fbcf85870a8e9883872a384e3cf5e12  gcc/testsuite/gcc.dg/pr123300.c
+ 3e218010f127737b8ec6efbf8cb00273  gcc/testsuite/gcc.dg/pr123431.c
  bc5ddfbbc46f4e0cce1629d1b58d3090  gcc/testsuite/gcc.dg/pr12603.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  6f0ef61e5a12db5f11da839b2988c5e1  gcc/testsuite/gcc.dg/pr13519-1.c
*************** b8236d8ce423075243050d2ed9692781  gcc/te
*** 55916,55921 ****
--- 55932,55938 ----
  6d2d98158a34d9ab09e487779a321f3d  gcc/testsuite/gcc.dg/tree-ssa/pr118637.c
  b0891b1dddf226da47f4f976abdd7cb0  gcc/testsuite/gcc.dg/tree-ssa/pr119085.c
  ef9f94de68c006babcf9169489ed1b51  gcc/testsuite/gcc.dg/tree-ssa/pr121264.c
+ fa32f3c662bc31e5bbf4daa360b9c87f  gcc/testsuite/gcc.dg/tree-ssa/pr123372.c
  78e6c5fe63f7305009c8a79840fe20dc  gcc/testsuite/gcc.dg/tree-ssa/pr13146.c
  eab19e0c04884cd782c9879cbe292109  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
  9945ed7002a5f7d4918e8ff5eb4cb647  gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c
*************** b47de1519a1ea6d899c2a6cd56b65cba  gcc/te
*** 65810,65815 ****
--- 65827,65833 ----
  a37d20c2585b9553233fb42e281e9b03  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr115464_2.c
  89320642fc28eb425a70fa1fc222f0b2  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr120718.c
  c1f0d92266055a62f8c3a0b32cffca32  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr121118_1.c
+ 4b3b421e52a2297ee3fdf3f39e2b6294  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr123392.c
  cd84e485b3fa7a0d50f2ee5113eca33d  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr94683.c
  111a35b5bdbe877086a99d29b13dc65b  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr94700.c
  dd9873ff910539b000561a51ccc3a52f  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr96146.c
*************** f1728b5e83b3ce3c8eaebf907d52fe30  gcc/te
*** 79055,79060 ****
--- 79073,79079 ----
  c6f6aaff47d064fbceed4cfbcb5b9279  gcc/testsuite/gcc.target/i386/keylocker-encodekey128.c
  a468c392fd8838d0198cfb8b367d4b6d  gcc/testsuite/gcc.target/i386/keylocker-encodekey256.c
  78393ec91600382e98db57e560deaea9  gcc/testsuite/gcc.target/i386/keylocker-loadiwkey.c
+ 75eec9ddfedd16dad1c34342d4bb3a1a  gcc/testsuite/gcc.target/i386/keylocker-pr123217.c
  6a61f297f5746de86187140f048ab655  gcc/testsuite/gcc.target/i386/l_fma_1.h
  c598c1d2a127be1189b3dfe020919429  gcc/testsuite/gcc.target/i386/l_fma_2.h
  8aa60b44b83369f838965e6e8e99c4e7  gcc/testsuite/gcc.target/i386/l_fma_3.h
*************** d4ebe08b4cb963582547d8bb5712e712  gcc/te
*** 80216,80222 ****
--- 80235,80245 ----
  5064c3ab2b92e2f20dcd604d557d738c  gcc/testsuite/gcc.target/i386/pr121208-3b.c
  12e796120a8d76792772ddd159f57f3f  gcc/testsuite/gcc.target/i386/pr121274.c
  600ff3c5da35f468b87a23e0d1678a3e  gcc/testsuite/gcc.target/i386/pr122104.c
+ dc0ac30205a49a37f80c833e996ed4d2  gcc/testsuite/gcc.target/i386/pr123121.c
  f99f88a6e994ad6e55e065e41bc58f8f  gcc/testsuite/gcc.target/i386/pr12329.c
+ fd0c95fcad577a49c3553f21604c3b61  gcc/testsuite/gcc.target/i386/pr123484.c
+ 5263cb01b17b6df3496a998c2a8e70d8  gcc/testsuite/gcc.target/i386/pr123489.c
+ 0c572aee98b871b5098fcc5a78b5d069  gcc/testsuite/gcc.target/i386/pr123523.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
  31ead0ee84b382ba03e3561931bc6e40  gcc/testsuite/gcc.target/i386/pr14289-1.c
*************** b3482aa074e044edfb2a4c72e5c1d085  gcc/te
*** 83008,83013 ****
--- 83031,83037 ----
  133d7eb15ead287c2ef11a8162780801  gcc/testsuite/gcc.target/i386/unroll-1.c
  c30812b4c7eb367ec8e5f4aba349d66b  gcc/testsuite/gcc.target/i386/user_msr-1.c
  d817f6a5d58eae58bff8e4083f7945db  gcc/testsuite/gcc.target/i386/user_msr-2.c
+ aa50202a413f80a35396415eec316d08  gcc/testsuite/gcc.target/i386/user_msr-pr123217.c
  aafb0010ebceff249236af3aa1f22e2b  gcc/testsuite/gcc.target/i386/vararg-1.c
  3b8acabb2f18b3fd13f3871729bac23f  gcc/testsuite/gcc.target/i386/vararg-10.c
  2869209769b52916ee551938b0c572f1  gcc/testsuite/gcc.target/i386/vararg-2.c
*************** c16fea0d740f8946249d8d3ff6230152  gcc/te
*** 83362,83367 ****
--- 83386,83392 ----
  a7210513dd89b8e683a00184ee4478a4  gcc/testsuite/gcc.target/loongarch/attr-model-3.c
  9d4f972a3175f736a746ae031fb25e7a  gcc/testsuite/gcc.target/loongarch/attr-model-4.c
  02f1973aec4f57a84c09f2b6bc6eaf79  gcc/testsuite/gcc.target/loongarch/attr-model-5.c
+ eaedeb33f4a944f6ddcb113a7cd3ed14  gcc/testsuite/gcc.target/loongarch/attr-model-6.c
  f9bd26f98b04e99789925370214a2a06  gcc/testsuite/gcc.target/loongarch/attr-model-diag.c
  b0da33fc443024e77c7b605056bff4ae  gcc/testsuite/gcc.target/loongarch/attr-model-test.c
  10a58b0c68aafdaa8704cc0ab8a37e3c  gcc/testsuite/gcc.target/loongarch/avg-ceil-lasx.c
*************** eb7720d1ee0f7dde86471e1b8ad3b82f  gcc/te
*** 83823,83828 ****
--- 83848,83854 ----
  41959494be952fe2706930c383d4bb72  gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvsubwod-2.c
  601d1dad0996e42f64abfcea74b57e97  gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxor.c
  2b866f80af5cafa566ed2bbd75936c79  gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvxori.c
+ 970835a22a2eef8dad1be6ea6edc6402  gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c
  d26741a5156634ff29c61fea114bc141  gcc/testsuite/gcc.target/loongarch/vector/loongarch-vector.exp
  5d55305c4d66b32dd004f424d4a0a0fb  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-abs.c
  e9f9a02f0c23d753d9f3a17d45f85db1  gcc/testsuite/gcc.target/loongarch/vector/lsx/lsx-builtin.c
*************** ac267a2812409b3404f6c1aeba441861  gcc/te
*** 110981,110986 ****
--- 111007,111014 ----
  74ca656bc33692c00600828733edeca3  gcc/testsuite/gnat.dg/complex1.adb
  eabd848befe131fde7677a9da2ddf20b  gcc/testsuite/gnat.dg/complex1_pkg.ads
  0b8796322445f41bce527a08ee2783de  gcc/testsuite/gnat.dg/component_size.adb
+ 13eb5d243ed2779f56be7f0f26132a53  gcc/testsuite/gnat.dg/component_value1.adb
+ 7ad5ed9511b0c4ff7e5173963b1e276c  gcc/testsuite/gnat.dg/component_value2.adb
  65f042f7c7f3ba5cd72d9c078386a46e  gcc/testsuite/gnat.dg/compose.adb
  ac069379af0132c56a9f326aa688d9f0  gcc/testsuite/gnat.dg/concat1.adb
  d0d9950b243700f01e3cfad18d2b6139  gcc/testsuite/gnat.dg/concat1_pkg.adb
*************** ef1cb0fba517532ecda9f4e0dd5218f7  gcc/tr
*** 117952,117958 ****
  62502d6fd9aa927353d7437dc2a6da17  gcc/tree-nested.cc
  b9bad013f5186a6cf78fe8adbe457945  gcc/tree-nested.h
  45fa4d8e792d6ddd01efa95b7e6dd98e  gcc/tree-nrv.cc
! 71e5861bde6fffaa99bcc96aa1f02fa2  gcc/tree-object-size.cc
  2726009c7d301c88845d73276d4dc3b9  gcc/tree-object-size.h
  d6f70ceb8f53d3be86548b178e50c8e0  gcc/tree-outof-ssa.cc
  b9d636bd9641f3038bbe37a70684e18e  gcc/tree-outof-ssa.h
--- 117980,117986 ----
  62502d6fd9aa927353d7437dc2a6da17  gcc/tree-nested.cc
  b9bad013f5186a6cf78fe8adbe457945  gcc/tree-nested.h
  45fa4d8e792d6ddd01efa95b7e6dd98e  gcc/tree-nrv.cc
! 789c3e09ad9c4e2b56ef934cc3b12872  gcc/tree-object-size.cc
  2726009c7d301c88845d73276d4dc3b9  gcc/tree-object-size.h
  d6f70ceb8f53d3be86548b178e50c8e0  gcc/tree-outof-ssa.cc
  b9d636bd9641f3038bbe37a70684e18e  gcc/tree-outof-ssa.h
*************** fbcc93539b376489c1256eb8cf2d4800  gcc/tr
*** 118004,118010 ****
  57dcd3919dadb6f23e2bcefe55f7cd14  gcc/tree-ssa-loop-unswitch.cc
  2f97e7f187f4f4cce48b71489ef542a0  gcc/tree-ssa-loop.cc
  538146c17730f67ffcc58afdfcc93712  gcc/tree-ssa-loop.h
! edaa2d4ca109a150c959772f059b6281  gcc/tree-ssa-math-opts.cc
  c0b0549adb2c1140cf285901abb5a78c  gcc/tree-ssa-math-opts.h
  0ed882dedcd92c361bc556587aaa4b74  gcc/tree-ssa-operands.cc
  da72a60de8a6f51a635ead26120d3cc7  gcc/tree-ssa-operands.h
--- 118032,118038 ----
  57dcd3919dadb6f23e2bcefe55f7cd14  gcc/tree-ssa-loop-unswitch.cc
  2f97e7f187f4f4cce48b71489ef542a0  gcc/tree-ssa-loop.cc
  538146c17730f67ffcc58afdfcc93712  gcc/tree-ssa-loop.h
! 63757376d191769eb10c935d75de61bd  gcc/tree-ssa-math-opts.cc
  c0b0549adb2c1140cf285901abb5a78c  gcc/tree-ssa-math-opts.h
  0ed882dedcd92c361bc556587aaa4b74  gcc/tree-ssa-operands.cc
  da72a60de8a6f51a635ead26120d3cc7  gcc/tree-ssa-operands.h
*************** c8efeee600d612c4bae8dda4bd45ee54  gcc/tr
*** 118058,118066 ****
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
  6a5457c324d4279acbd82f147f1dd823  gcc/tree-vectorizer.cc
  f5c90b57853064f13fc6868527a2ea7e  gcc/tree-vectorizer.h
! cb2defb55935eac3f24944ba204230f0  gcc/tree-vrp.cc
  a19edad681d27130bd2a0d83768ac946  gcc/tree-vrp.h
! d5ca524138d04514e07eeb06df2087cd  gcc/tree.cc
  db4e97cc6f33c2fe3aafe8676fb649a0  gcc/tree.def
  6a9ff2eecdb45074d05c5f46862dca43  gcc/tree.h
  b642c83968cda285afc700da2fb276d5  gcc/treestruct.def
--- 118086,118094 ----
  258611ff1e83cc7680e8c9f033499665  gcc/tree-vector-builder.h
  6a5457c324d4279acbd82f147f1dd823  gcc/tree-vectorizer.cc
  f5c90b57853064f13fc6868527a2ea7e  gcc/tree-vectorizer.h
! 983065c230493e568be0a1933889b583  gcc/tree-vrp.cc
  a19edad681d27130bd2a0d83768ac946  gcc/tree-vrp.h
! 10d1340bca86a82896861042eed1876a  gcc/tree.cc
  db4e97cc6f33c2fe3aafe8676fb649a0  gcc/tree.def
  6a9ff2eecdb45074d05c5f46862dca43  gcc/tree.h
  b642c83968cda285afc700da2fb276d5  gcc/treestruct.def
diff -Nrcpad gcc-15-20260110/contrib/ChangeLog gcc-15-20260117/contrib/ChangeLog
*** gcc-15-20260110/contrib/ChangeLog	Sat Jan 10 22:32:05 2026
--- gcc-15-20260117/contrib/ChangeLog	Sat Jan 17 22:32:05 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-07-28  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* gcc-changelog/git_commit.py: Add "diagnostics" to bug
+ 	components.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20260110/contrib/gcc-changelog/git_commit.py gcc-15-20260117/contrib/gcc-changelog/git_commit.py
*** gcc-15-20260110/contrib/gcc-changelog/git_commit.py	Sat Jan 10 22:32:05 2026
--- gcc-15-20260117/contrib/gcc-changelog/git_commit.py	Sat Jan 17 22:32:05 2026
*************** bug_components = {
*** 97,102 ****
--- 97,103 ----
      'd',
      'debug',
      'demangler',
+     'diagnostics',
      'driver',
      'fastjar',
      'fortran',
diff -Nrcpad gcc-15-20260110/gcc/ChangeLog gcc-15-20260117/gcc/ChangeLog
*** gcc-15-20260110/gcc/ChangeLog	Sat Jan 10 22:32:05 2026
--- gcc-15-20260117/gcc/ChangeLog	Sat Jan 17 22:32:05 2026
***************
*** 1,3 ****
--- 1,216 ----
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123607
+ 	* config/i386/i386.md (movhf_mask): Change constraint on
+ 	match_operand 2's second alternative from 0C to 0.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/120250
+ 	* combine.cc (recog_for_combine): Don't try to put SET_SRC
+ 	into a constant pool if SET_DEST is pc_rtx.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/123523
+ 	* simplify-rtx.cc (simplify_const_binary_operation): Use
+ 	DImode for VOIDmode shift and truncation counts if int_mode
+ 	is narrower than HOST_BITS_PER_WIDE_INT rather than
+ 	word_mode if int_mode it is narrower than BITS_PER_WORD.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123431
+ 	* gimple-range-op.cc (gimple_range_op_handler::maybe_builtin_call):
+ 	Punt if type-generic builtins with a single argument don't have
+ 	exactly one argument.  For returns_arg punt if call doesn't have
+ 	at least one argument.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/invoke.texi (-x): Add objc-cpp-output,
+ 	objc++-cpp-output, adascil, adawhy, modula-2, modula-2-cpp-output,
+ 	rust and lto as further possible option arguments.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123489
+ 	* config/i386/i386-builtin.def (__builtin_ia32_cvttsd2sis64_round,
+ 	__builtin_ia32_cvttsd2usis64_round, __builtin_ia32_cvttss2sis64_round,
+ 	__builtin_ia32_cvttss2usis64_round): Require OPTION_MASK_ISA_64BIT.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/111817
+ 	* stmt.cc (parse_input_constraint): For matching construct, goto
+ 	before the loop without changing j instead of break.  Remove comment
+ 	about that problem.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/119291
+ 	PR rtl-optimization/121773
+ 	* combine.cc (try_combine): Check that SET_DEST (setN) is neither
+ 	modified_between_p nor reg_used_between_p instead of just not
+ 	reg_used_between_p or pc_rtx.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-06  Jakub Jelinek  <jakub@redhat.com>
+ 		    Marco Falke  <falke.marco@gmail.com>
+ 
+ 	PR tree-optimization/123351
+ 	* tree-object-size.cc (object_sizes_set_temp): Separate calls to
+ 	make_ssa_name to ensure deterministic execution order.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123372
+ 	* tree-ssa-math-opts.cc
+ 	(build_saturation_binary_arith_call_and_replace): Pass type of op_0
+ 	rather than type of lhs as second argument to
+ 	direct_internal_fn_supported_p.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123217
+ 	* config/i386/i386-expand.cc (ix86_expand_builtin)
+ 	<case IX86_BUILTIN_ENCODEKEY128U32, case IX86_BUILTIN_ENCODEKEY256U32,
+ 	case IX86_BUILTIN_URDMSR>: Set target to a new pseudo even if it is
+ 	non-NULL but doesn't satisfy register_operand predicate.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/install.texi (--with-tls=): Fix a typo, were -> where.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123155
+ 	* config/i386/xmmintrin.h (_mm_maskmove_si64): Rename offset automatic
+ 	variable to __offset.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123155
+ 	* config/i386/avx10_2-512bf16intrin.h (_mm512_roundscale_pbh,
+ 	_mm512_mask_roundscale_pbh, _mm512_maskz_roundscale_pbh,
+ 	_mm512_reduce_pbh, _mm512_mask_reduce_pbh, _mm512_maskz_reduce_pbh):
+ 	Rename B argument to __B.
+ 	* config/i386/avx10_2bf16intrin.h (_mm256_roundscale_pbh,
+ 	_mm256_mask_roundscale_pbh, _mm256_maskz_roundscale_pbh,
+ 	_mm_roundscale_pbh, _mm_mask_roundscale_pbh, _mm_maskz_roundscale_pbh,
+ 	_mm256_reduce_pbh, _mm256_mask_reduce_pbh, _mm256_maskz_reduce_pbh,
+ 	_mm_reduce_pbh, _mm_mask_reduce_pbh, _mm_maskz_reduce_pbh): Likewise.
+ 
+ 2026-01-16  Alice Carlotti  <alice.carlotti@arm.com>
+ 
+ 	PR target/123460
+ 	* config.gcc: Accept hyphens in aarch64 --with-arch extensions.
+ 
+ 2026-01-16  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/123121
+ 	* lra-remat.cc (bad_for_rematerialization_p): Consider div/mod ops.
+ 	(operand_to_remat): Exclude rematerialization of insns with
+ 	multiple sets.
+ 
+ 2026-01-16  Tejas Belagod  <tejas.belagod@arm.com>
+ 
+ 	PR middle-end/123392
+ 	* cfgexpand.cc (expand_debug_expr): Handle variable-length initializer
+ 	for CONSTRUCTOR.
+ 
+ 2026-01-16  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-16  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123521
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_expand_vector_init_same): Fixed a bug in the
+ 	vector initialization section..
+ 
+ 2026-01-15  DengJianbo  <dengjianbo@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-15  DengJianbo  <dengjianbo@loongson.cn>
+ 
+ 	* config/loongarch/loongarch.md: Remove condition in template
+ 	movdi_symbolic_off64.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR diagnostics/120063
+ 	* diagnostic-format-sarif.cc (maybe_get_sarif_level): Handle
+ 	DK_FATAL as SARIF level "error".
+ 	* diagnostic.cc (diagnostic_context::execution_failed_p): Also
+ 	treat any DK_FATAL errors as leading to failed execution.
+ 
+ 2026-01-13  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/123300
+ 	* gimple-range-gori.cc (gori_map::exports_and_deps): New.
+ 	* gimple-range-gori.h (exports_and_deps): New prototype.
+ 	(FOR_EACH_GORI_EXPORT_AND_DEP_NAME): New macro.
+ 	* tree-vrp.cc (remove_unreachable:remove_unreachable): Initialize
+ 	m_tmp bitmap.
+ 	(remove_unreachable:~remove_unreachable): Dispose of m_tmp bitmap.
+ 	(remove_unreachable:fully_replaceable): Move from static function
+ 	and check reachability of exports and dependencies.
+ 
+ 2026-01-13  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-13  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	PR target/123484
+ 	* config/i386/mmx.md (divv4hf3): Add TARGET_MMX_WITH_SSE to
+ 	the condition.
+ 	(cmlav4hf4): Ditto.
+ 	(cmla_conjv4hf4): Ditto.
+ 	(cmulv4hf3): Ditto.
+ 	(cmul_conjv4hf3): Ditto.
+ 
  2026-01-09  Richard Biener  <rguenther@suse.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260110/gcc/DATESTAMP gcc-15-20260117/gcc/DATESTAMP
*** gcc-15-20260110/gcc/DATESTAMP	Sat Jan 10 22:32:05 2026
--- gcc-15-20260117/gcc/DATESTAMP	Sat Jan 17 22:32:06 2026
***************
*** 1 ****
! 20260110
--- 1 ----
! 20260117
diff -Nrcpad gcc-15-20260110/gcc/ada/exp_ch3.adb gcc-15-20260117/gcc/ada/exp_ch3.adb
*** gcc-15-20260110/gcc/ada/exp_ch3.adb	Sat Jan 10 22:32:05 2026
--- gcc-15-20260117/gcc/ada/exp_ch3.adb	Sat Jan 17 22:32:06 2026
*************** package body Exp_Ch3 is
*** 5416,5421 ****
--- 5416,5423 ----
            (Component_Type (Typ));
  
     begin
+       --  First, the nonpacked case
+ 
        if not Is_Bit_Packed_Array (Typ) then
           if No (Init_Proc (Base)) then
  
*************** package body Exp_Ch3 is
*** 5438,5444 ****
              --  initialize scalars mode, and these types are treated specially
              --  and do not need initialization procedures.
  
!             elsif Is_Standard_String_Type (Base) then
                 null;
  
              --  Otherwise we have to build an init proc for the subtype
--- 5440,5448 ----
              --  initialize scalars mode, and these types are treated specially
              --  and do not need initialization procedures.
  
!             elsif Is_Standard_String_Type (Base)
!               and then not Has_Default_Aspect (Base)
!             then
                 null;
  
              --  Otherwise we have to build an init proc for the subtype
*************** package body Exp_Ch3 is
*** 5458,5475 ****
              end if;
           end if;
  
!       --  For packed case, default initialization, except if the component type
!       --  is itself a packed structure with an initialization procedure, or
!       --  initialize/normalize scalars active, and we have a base type, or the
!       --  type is public, because in that case a client might specify
!       --  Normalize_Scalars and there better be a public Init_Proc for it.
  
!       elsif (Present (Init_Proc (Component_Type (Base)))
!               and then No (Base_Init_Proc (Base)))
!         or else (Init_Or_Norm_Scalars and then Base = Typ)
          or else Is_Public (Typ)
        then
!          Build_Array_Init_Proc (Base, N);
        end if;
     end Expand_Freeze_Array_Type;
  
--- 5462,5481 ----
              end if;
           end if;
  
!       --  For the packed case, no initialization, except if the component type
!       --  has an initialization procedure, or Initialize/Normalize_Scalars is
!       --  active, or there is a Default_Component_Value aspect, or the type is
!       --  public, because a client might specify Initialize_Scalars and there
!       --  better be a public Init_Proc for it.
  
!       elsif Present (Init_Proc (Component_Type (Base)))
!         or else Init_Or_Norm_Scalars
!         or else Has_Default_Aspect (Base)
          or else Is_Public (Typ)
        then
!          if No (Init_Proc (Base)) then
!             Build_Array_Init_Proc (Base, N);
!          end if;
        end if;
     end Expand_Freeze_Array_Type;
  
diff -Nrcpad gcc-15-20260110/gcc/analyzer/ChangeLog gcc-15-20260117/gcc/analyzer/ChangeLog
*** gcc-15-20260110/gcc/analyzer/ChangeLog	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/analyzer/ChangeLog	Sat Jan 17 22:32:06 2026
***************
*** 1,3 ****
--- 1,21 ----
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-15  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/123085
+ 	* region-model.cc (region_model::scan_for_null_terminator_1): Use
+ 	byte offset when accessing string constant.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-15  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/122975
+ 	* region-model-manager.cc (region_model_manager::maybe_fold_binop): Fold
+ 	X + (-X) to zero.
+ 
  2025-08-08  Release Manager
  
  	* GCC 15.2.0 released.
diff -Nrcpad gcc-15-20260110/gcc/analyzer/region-model-manager.cc gcc-15-20260117/gcc/analyzer/region-model-manager.cc
*** gcc-15-20260110/gcc/analyzer/region-model-manager.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/analyzer/region-model-manager.cc	Sat Jan 17 22:32:06 2026
*************** region_model_manager::maybe_fold_binop (
*** 698,703 ****
--- 698,708 ----
        /* (VAL + 0) -> VAL.  */
        if (cst1 && zerop (cst1))
  	return get_or_create_cast (type, arg0);
+       /* X + (-X) -> 0.  */
+       if (const unaryop_svalue *unary_op = arg1->dyn_cast_unaryop_svalue ())
+ 	if (unary_op->get_op () == NEGATE_EXPR
+ 	    && unary_op->get_arg () == arg0)
+ 	  return get_or_create_int_cst (type, 0);
        break;
      case MINUS_EXPR:
        /* (VAL - 0) -> VAL.  */
diff -Nrcpad gcc-15-20260110/gcc/analyzer/region-model.cc gcc-15-20260117/gcc/analyzer/region-model.cc
*** gcc-15-20260110/gcc/analyzer/region-model.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/analyzer/region-model.cc	Sat Jan 17 22:32:06 2026
*************** region_model::scan_for_null_terminator_1
*** 4330,4353 ****
    if (const string_region *str_reg = base_reg->dyn_cast_string_region ())
      {
        tree string_cst = str_reg->get_string_cst ();
!       if (const void *p = memchr (TREE_STRING_POINTER (string_cst),
! 				  0,
! 				  TREE_STRING_LENGTH (string_cst)))
  	{
! 	  size_t num_bytes_read
! 	    = (const char *)p - TREE_STRING_POINTER (string_cst) + 1;
! 	  /* Simulate the read.  */
! 	  byte_range bytes_to_read (0, num_bytes_read);
! 	  const svalue *sval = get_store_bytes (reg, bytes_to_read, ctxt);
! 	  if (out_sval)
! 	    *out_sval = sval;
! 	  if (logger)
! 	    logger->log ("using string_cst");
! 	  return m_mgr->get_or_create_int_cst (size_type_node,
! 					       num_bytes_read);
  	}
      }
- 
    const binding_cluster *cluster = m_store.get_cluster (base_reg);
    iterable_cluster c (cluster);
    if (logger)
--- 4330,4360 ----
    if (const string_region *str_reg = base_reg->dyn_cast_string_region ())
      {
        tree string_cst = str_reg->get_string_cst ();
!       if (src_byte_offset >= 0
! 	  && src_byte_offset < TREE_STRING_LENGTH (string_cst)
! 	  && wi::fits_shwi_p (src_byte_offset))
  	{
! 	  HOST_WIDE_INT str_byte_offset = src_byte_offset.to_shwi ();
! 	  const char *effective_start
! 	    = TREE_STRING_POINTER (string_cst) + str_byte_offset;
! 	  size_t effective_len
! 	    = TREE_STRING_LENGTH (string_cst) - str_byte_offset;
! 	  if (const void *p = memchr (effective_start, 0, effective_len))
! 	    {
! 	      size_t num_bytes_read
! 		= (const char *)p - effective_start + 1;
! 	      /* Simulate the read.  */
! 	      byte_range bytes_to_read (0, num_bytes_read);
! 	      const svalue *sval = get_store_bytes (reg, bytes_to_read, ctxt);
! 	      if (out_sval)
! 		*out_sval = sval;
! 	      if (logger)
! 		logger->log ("using string_cst");
! 	      return m_mgr->get_or_create_int_cst (size_type_node,
! 						   num_bytes_read);
! 	    }
  	}
      }
    const binding_cluster *cluster = m_store.get_cluster (base_reg);
    iterable_cluster c (cluster);
    if (logger)
diff -Nrcpad gcc-15-20260110/gcc/cfgexpand.cc gcc-15-20260117/gcc/cfgexpand.cc
*** gcc-15-20260110/gcc/cfgexpand.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cfgexpand.cc	Sat Jan 17 22:32:06 2026
*************** expand_debug_expr (tree exp)
*** 5635,5646 ****
        else if (TREE_CODE (TREE_TYPE (exp)) == VECTOR_TYPE)
  	{
  	  unsigned i;
! 	  unsigned HOST_WIDE_INT nelts;
  	  tree val;
  
- 	  if (!TYPE_VECTOR_SUBPARTS (TREE_TYPE (exp)).is_constant (&nelts))
- 	    goto flag_unsupported;
- 
  	  op0 = gen_rtx_CONCATN (mode, rtvec_alloc (nelts));
  
  	  FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (exp), i, val)
--- 5635,5644 ----
        else if (TREE_CODE (TREE_TYPE (exp)) == VECTOR_TYPE)
  	{
  	  unsigned i;
! 	  poly_uint64 elts = TYPE_VECTOR_SUBPARTS (TREE_TYPE (exp));
! 	  unsigned HOST_WIDE_INT nelts = constant_lower_bound (elts);
  	  tree val;
  
  	  op0 = gen_rtx_CONCATN (mode, rtvec_alloc (nelts));
  
  	  FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (exp), i, val)
diff -Nrcpad gcc-15-20260110/gcc/combine.cc gcc-15-20260117/gcc/combine.cc
*** gcc-15-20260110/gcc/combine.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/combine.cc	Sat Jan 17 22:32:06 2026
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 4026,4032 ****
  	  && !(GET_CODE (SET_DEST (set1)) == SUBREG
  	       && find_reg_note (i2, REG_DEAD,
  				 SUBREG_REG (SET_DEST (set1))))
! 	  && SET_DEST (set1) != pc_rtx
  	  && !reg_used_between_p (SET_DEST (set1), i2, i3)
  	  /* If I3 is a jump, ensure that set0 is a jump so that
  	     we do not create invalid RTL.  */
--- 4026,4032 ----
  	  && !(GET_CODE (SET_DEST (set1)) == SUBREG
  	       && find_reg_note (i2, REG_DEAD,
  				 SUBREG_REG (SET_DEST (set1))))
! 	  && !modified_between_p (SET_DEST (set1), i2, i3)
  	  && !reg_used_between_p (SET_DEST (set1), i2, i3)
  	  /* If I3 is a jump, ensure that set0 is a jump so that
  	     we do not create invalid RTL.  */
*************** try_combine (rtx_insn *i3, rtx_insn *i2,
*** 4042,4048 ****
  	       && !(GET_CODE (SET_DEST (set0)) == SUBREG
  		    && find_reg_note (i2, REG_DEAD,
  				      SUBREG_REG (SET_DEST (set0))))
! 	       && SET_DEST (set0) != pc_rtx
  	       && !reg_used_between_p (SET_DEST (set0), i2, i3)
  	       /* If I3 is a jump, ensure that set1 is a jump so that
  		  we do not create invalid RTL.  */
--- 4042,4048 ----
  	       && !(GET_CODE (SET_DEST (set0)) == SUBREG
  		    && find_reg_note (i2, REG_DEAD,
  				      SUBREG_REG (SET_DEST (set0))))
! 	       && !modified_between_p (SET_DEST (set0), i2, i3)
  	       && !reg_used_between_p (SET_DEST (set0), i2, i3)
  	       /* If I3 is a jump, ensure that set1 is a jump so that
  		  we do not create invalid RTL.  */
*************** recog_for_combine (rtx *pnewpat, rtx_ins
*** 11752,11758 ****
        rtx src = SET_SRC (pat);
        if (CONSTANT_P (src)
  	  && !CONST_INT_P (src)
! 	  && crtl->uses_const_pool)
  	{
  	  machine_mode mode = GET_MODE (src);
  	  if (mode == VOIDmode)
--- 11752,11759 ----
        rtx src = SET_SRC (pat);
        if (CONSTANT_P (src)
  	  && !CONST_INT_P (src)
! 	  && crtl->uses_const_pool
! 	  && SET_DEST (pat) != pc_rtx)
  	{
  	  machine_mode mode = GET_MODE (src);
  	  if (mode == VOIDmode)
diff -Nrcpad gcc-15-20260110/gcc/config/i386/avx10_2-512bf16intrin.h gcc-15-20260117/gcc/config/i386/avx10_2-512bf16intrin.h
*** gcc-15-20260110/gcc/config/i386/avx10_2-512bf16intrin.h	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/avx10_2-512bf16intrin.h	Sat Jan 17 22:32:06 2026
*************** _mm512_maskz_getexp_pbh (__mmask32 __U,
*** 472,499 ****
  #ifdef __OPTIMIZE__
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_roundscale_pbh (__m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, B,
  					 (__v32bf) _mm512_setzero_si512 (),
  					 (__mmask32) -1);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_mask_roundscale_pbh (__m512bh __W, __mmask32 __U, __m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, B, __W,  __U);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_maskz_roundscale_pbh (__mmask32 __U, __m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, B,
  					 (__v32bf) _mm512_setzero_si512 (),
  					 __U);
  }
--- 472,499 ----
  #ifdef __OPTIMIZE__
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_roundscale_pbh (__m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, __B,
  					 (__v32bf) _mm512_setzero_si512 (),
  					 (__mmask32) -1);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_mask_roundscale_pbh (__m512bh __W, __mmask32 __U, __m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, __B, __W,  __U);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_maskz_roundscale_pbh (__mmask32 __U, __m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_rndscalebf16512_mask (__A, __B,
  					 (__v32bf) _mm512_setzero_si512 (),
  					 __U);
  }
*************** _mm512_maskz_roundscale_pbh (__mmask32 _
*** 518,527 ****
  #ifdef __OPTIMIZE__
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_reduce_pbh (__m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, B,
  				       (__v32bf) _mm512_setzero_si512 (),
  				       (__mmask32) -1);
  }
--- 518,527 ----
  #ifdef __OPTIMIZE__
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_reduce_pbh (__m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, __B,
  				       (__v32bf) _mm512_setzero_si512 (),
  				       (__mmask32) -1);
  }
*************** _mm512_reduce_pbh (__m512bh __A, int B)
*** 529,546 ****
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm512_mask_reduce_pbh (__m512bh __W, __mmask32 __U,
! 			__m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, B, __W,  __U);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_maskz_reduce_pbh (__mmask32 __U, __m512bh __A, int B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, B,
  					  (__v32bf) _mm512_setzero_si512 (),
  					  __U);
  }
--- 529,546 ----
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm512_mask_reduce_pbh (__m512bh __W, __mmask32 __U,
! 			__m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, __B, __W,  __U);
  }
  
  extern __inline__ __m512bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm512_maskz_reduce_pbh (__mmask32 __U, __m512bh __A, int __B)
  {
    return (__m512bh)
!     __builtin_ia32_reducebf16512_mask (__A, __B,
  					  (__v32bf) _mm512_setzero_si512 (),
  					  __U);
  }
diff -Nrcpad gcc-15-20260110/gcc/config/i386/avx10_2bf16intrin.h gcc-15-20260117/gcc/config/i386/avx10_2bf16intrin.h
*** gcc-15-20260110/gcc/config/i386/avx10_2bf16intrin.h	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/avx10_2bf16intrin.h	Sat Jan 17 22:32:06 2026
*************** _mm_maskz_getexp_pbh (__mmask8 __U, __m1
*** 905,914 ****
  #ifdef __OPTIMIZE__
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_roundscale_pbh (__m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, B,
  					 (__v16bf) _mm256_setzero_si256 (),
  					 (__mmask16) -1);
  }
--- 905,914 ----
  #ifdef __OPTIMIZE__
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_roundscale_pbh (__m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, __B,
  					 (__v16bf) _mm256_setzero_si256 (),
  					 (__mmask16) -1);
  }
*************** _mm256_roundscale_pbh (__m256bh __A, int
*** 916,943 ****
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm256_mask_roundscale_pbh (__m256bh __W, __mmask16 __U,
! 			    __m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, B, __W, __U);
  }
  
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_maskz_roundscale_pbh (__mmask16 __U, __m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, B,
  					 (__v16bf) _mm256_setzero_si256 (),
  					 __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_roundscale_pbh (__m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, B,
  					 (__v8bf) _mm_setzero_si128 (),
  					 (__mmask8) -1);
  }
--- 916,943 ----
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm256_mask_roundscale_pbh (__m256bh __W, __mmask16 __U,
! 			    __m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, __B, __W, __U);
  }
  
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_maskz_roundscale_pbh (__mmask16 __U, __m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_rndscalebf16256_mask (__A, __B,
  					 (__v16bf) _mm256_setzero_si256 (),
  					 __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_roundscale_pbh (__m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, __B,
  					 (__v8bf) _mm_setzero_si128 (),
  					 (__mmask8) -1);
  }
*************** _mm_roundscale_pbh (__m128bh __A, int B)
*** 945,962 ****
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm_mask_roundscale_pbh (__m128bh __W, __mmask8 __U,
! 			 __m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, B, __W, __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_maskz_roundscale_pbh (__mmask8 __U, __m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, B,
  					 (__v8bf) _mm_setzero_si128 (),
  					 __U);
  }
--- 945,962 ----
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm_mask_roundscale_pbh (__m128bh __W, __mmask8 __U,
! 			 __m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, __B, __W, __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_maskz_roundscale_pbh (__mmask8 __U, __m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_rndscalebf16128_mask (__A, __B,
  					 (__v8bf) _mm_setzero_si128 (),
  					 __U);
  }
*************** _mm_maskz_roundscale_pbh (__mmask8 __U,
*** 994,1003 ****
  #ifdef __OPTIMIZE__
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_reduce_pbh (__m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, B,
  				       (__v16bf) _mm256_setzero_si256 (),
  				       (__mmask16) -1);
  }
--- 994,1003 ----
  #ifdef __OPTIMIZE__
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_reduce_pbh (__m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, __B,
  				       (__v16bf) _mm256_setzero_si256 (),
  				       (__mmask16) -1);
  }
*************** _mm256_reduce_pbh (__m256bh __A, int B)
*** 1005,1032 ****
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm256_mask_reduce_pbh (__m256bh __W, __mmask16 __U,
! 			__m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, B, __W, __U);
  }
  
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_maskz_reduce_pbh (__mmask16 __U, __m256bh __A, int B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, B,
  				       (__v16bf) _mm256_setzero_si256 (),
  				       __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_reduce_pbh (__m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, B,
  				       (__v8bf) _mm_setzero_si128 (),
  				       (__mmask8) -1);
  }
--- 1005,1032 ----
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm256_mask_reduce_pbh (__m256bh __W, __mmask16 __U,
! 			__m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, __B, __W, __U);
  }
  
  extern __inline__ __m256bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm256_maskz_reduce_pbh (__mmask16 __U, __m256bh __A, int __B)
  {
    return (__m256bh)
!     __builtin_ia32_reducebf16256_mask (__A, __B,
  				       (__v16bf) _mm256_setzero_si256 (),
  				       __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_reduce_pbh (__m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, __B,
  				       (__v8bf) _mm_setzero_si128 (),
  				       (__mmask8) -1);
  }
*************** _mm_reduce_pbh (__m128bh __A, int B)
*** 1034,1051 ****
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm_mask_reduce_pbh (__m128bh __W, __mmask8 __U,
! 		     __m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, B, __W, __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_maskz_reduce_pbh (__mmask8 __U, __m128bh __A, int B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, B,
  				       (__v8bf) _mm_setzero_si128 (),
  				       __U);
  }
--- 1034,1051 ----
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
  _mm_mask_reduce_pbh (__m128bh __W, __mmask8 __U,
! 		     __m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, __B, __W, __U);
  }
  
  extern __inline__ __m128bh
  __attribute__ ((__gnu_inline__, __always_inline__, __artificial__))
! _mm_maskz_reduce_pbh (__mmask8 __U, __m128bh __A, int __B)
  {
    return (__m128bh)
!     __builtin_ia32_reducebf16128_mask (__A, __B,
  				       (__v8bf) _mm_setzero_si128 (),
  				       __U);
  }
diff -Nrcpad gcc-15-20260110/gcc/config/i386/i386-builtin.def gcc-15-20260117/gcc/config/i386/i386-builtin.def
*** gcc-15-20260110/gcc/config/i386/i386-builtin.def	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/i386-builtin.def	Sat Jan 17 22:32:06 2026
*************** BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE
*** 3678,3690 ****
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttps2udqsv16sf_mask_round, "__builtin_ia32_cvttps2udqs512_mask_round", IX86_BUILTIN_VCVTTPS2UDQS512_MASK_ROUND, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttps2uqqsv8di_mask_round, "__builtin_ia32_cvttps2uqqs512_mask_round", IX86_BUILTIN_VCVTTPS2UQQS512_MASK_ROUND, UNKNOWN, (int) V8DI_FTYPE_V8SF_V8DI_QI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2sissi_round, "__builtin_ia32_cvttsd2sis32_round", IX86_BUILTIN_VCVTTSD2SIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V2DF_INT)
! BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2sisdi_round, "__builtin_ia32_cvttsd2sis64_round", IX86_BUILTIN_VCVTTSD2SIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V2DF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2usissi_round, "__builtin_ia32_cvttsd2usis32_round", IX86_BUILTIN_VCVTTSD2USIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V2DF_INT)
! BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2usisdi_round, "__builtin_ia32_cvttsd2usis64_round", IX86_BUILTIN_VCVTTSD2USIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V2DF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2sissi_round, "__builtin_ia32_cvttss2sis32_round", IX86_BUILTIN_VCVTTSS2SIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V4SF_INT)
! BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2sisdi_round, "__builtin_ia32_cvttss2sis64_round", IX86_BUILTIN_VCVTTSS2SIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V4SF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2usissi_round, "__builtin_ia32_cvttss2usis32_round", IX86_BUILTIN_VCVTTSS2USIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V4SF_INT)
! BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2usisdi_round, "__builtin_ia32_cvttss2usis64_round", IX86_BUILTIN_VCVTTSS2USIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V4SF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv8df_mask_round, "__builtin_ia32_minmaxpd512_mask_round", IX86_BUILTIN_MINMAXPD512_MASK_ROUND, UNKNOWN, (int) V8DF_FTYPE_V8DF_V8DF_INT_V8DF_UQI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv32hf_mask_round, "__builtin_ia32_minmaxph512_mask_round", IX86_BUILTIN_MINMAXPH512_MASK_ROUND, UNKNOWN, (int) V32HF_FTYPE_V32HF_V32HF_INT_V32HF_USI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv16sf_mask_round, "__builtin_ia32_minmaxps512_mask_round", IX86_BUILTIN_MINMAXPS512_MASK_ROUND, UNKNOWN, (int) V16SF_FTYPE_V16SF_V16SF_INT_V16SF_UHI_INT)
--- 3678,3690 ----
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttps2udqsv16sf_mask_round, "__builtin_ia32_cvttps2udqs512_mask_round", IX86_BUILTIN_VCVTTPS2UDQS512_MASK_ROUND, UNKNOWN, (int) V16SI_FTYPE_V16SF_V16SI_HI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttps2uqqsv8di_mask_round, "__builtin_ia32_cvttps2uqqs512_mask_round", IX86_BUILTIN_VCVTTPS2UQQS512_MASK_ROUND, UNKNOWN, (int) V8DI_FTYPE_V8SF_V8DI_QI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2sissi_round, "__builtin_ia32_cvttsd2sis32_round", IX86_BUILTIN_VCVTTSD2SIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V2DF_INT)
! BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2sisdi_round, "__builtin_ia32_cvttsd2sis64_round", IX86_BUILTIN_VCVTTSD2SIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V2DF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2usissi_round, "__builtin_ia32_cvttsd2usis32_round", IX86_BUILTIN_VCVTTSD2USIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V2DF_INT)
! BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttsd2usisdi_round, "__builtin_ia32_cvttsd2usis64_round", IX86_BUILTIN_VCVTTSD2USIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V2DF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2sissi_round, "__builtin_ia32_cvttss2sis32_round", IX86_BUILTIN_VCVTTSS2SIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V4SF_INT)
! BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2sisdi_round, "__builtin_ia32_cvttss2sis64_round", IX86_BUILTIN_VCVTTSS2SIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V4SF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2usissi_round, "__builtin_ia32_cvttss2usis32_round", IX86_BUILTIN_VCVTTSS2USIS32_ROUND, UNKNOWN, (int) INT_FTYPE_V4SF_INT)
! BDESC (OPTION_MASK_ISA_64BIT, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_vcvttss2usisdi_round, "__builtin_ia32_cvttss2usis64_round", IX86_BUILTIN_VCVTTSS2USIS64_ROUND, UNKNOWN, (int) INT64_FTYPE_V4SF_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv8df_mask_round, "__builtin_ia32_minmaxpd512_mask_round", IX86_BUILTIN_MINMAXPD512_MASK_ROUND, UNKNOWN, (int) V8DF_FTYPE_V8DF_V8DF_INT_V8DF_UQI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv32hf_mask_round, "__builtin_ia32_minmaxph512_mask_round", IX86_BUILTIN_MINMAXPH512_MASK_ROUND, UNKNOWN, (int) V32HF_FTYPE_V32HF_V32HF_INT_V32HF_USI_INT)
  BDESC (0, OPTION_MASK_ISA2_AVX10_2, CODE_FOR_avx10_2_minmaxpv16sf_mask_round, "__builtin_ia32_minmaxps512_mask_round", IX86_BUILTIN_MINMAXPS512_MASK_ROUND, UNKNOWN, (int) V16SF_FTYPE_V16SF_V16SF_INT_V16SF_UHI_INT)
diff -Nrcpad gcc-15-20260110/gcc/config/i386/i386-expand.cc gcc-15-20260117/gcc/config/i386/i386-expand.cc
*** gcc-15-20260110/gcc/config/i386/i386-expand.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/i386-expand.cc	Sat Jan 17 22:32:06 2026
*************** ix86_expand_builtin (tree exp, rtx targe
*** 14115,14121 ****
  	for (i = 0; i < 3; i++)
  	  xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));
  
! 	if (target == 0)
  	  target = gen_reg_rtx (SImode);
  
  	emit_insn (gen_encodekey128u32 (target, op0));
--- 14115,14121 ----
  	for (i = 0; i < 3; i++)
  	  xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));
  
! 	if (target == 0 || !register_operand (target, SImode))
  	  target = gen_reg_rtx (SImode);
  
  	emit_insn (gen_encodekey128u32 (target, op0));
*************** ix86_expand_builtin (tree exp, rtx targe
*** 14158,14164 ****
  	for (i = 0; i < 4; i++)
  	  xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));
  
! 	if (target == 0)
  	  target = gen_reg_rtx (SImode);
  
  	emit_insn (gen_encodekey256u32 (target, op0));
--- 14158,14164 ----
  	for (i = 0; i < 4; i++)
  	  xmm_regs[i] = gen_rtx_REG (V2DImode, GET_SSE_REGNO (i));
  
! 	if (target == 0 || !register_operand (target, SImode))
  	  target = gen_reg_rtx (SImode);
  
  	emit_insn (gen_encodekey256u32 (target, op0));
*************** ix86_expand_builtin (tree exp, rtx targe
*** 14307,14313 ****
  	  }
  	else
  	  {
! 	    if (target == 0)
  	      target = gen_reg_rtx (DImode);
  	    icode = CODE_FOR_urdmsr;
  	    op1 = op0;
--- 14307,14313 ----
  	  }
  	else
  	  {
! 	    if (target == 0 || !register_operand (target, DImode))
  	      target = gen_reg_rtx (DImode);
  	    icode = CODE_FOR_urdmsr;
  	    op1 = op0;
diff -Nrcpad gcc-15-20260110/gcc/config/i386/i386.md gcc-15-20260117/gcc/config/i386/i386.md
*** gcc-15-20260110/gcc/config/i386/i386.md	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/i386.md	Sat Jan 17 22:32:06 2026
***************
*** 26585,26591 ****
    [(set (match_operand:HF 0 "nonimmediate_operand" "=v,m,v")
  	(unspec:HF
  	  [(match_operand:HF 1 "nonimmediate_operand" "m,v,v")
! 	   (match_operand:HF 2 "nonimm_or_0_operand" "0C,0C,0C")
  	   (match_operand:QI 3 "register_operand" "Yk,Yk,Yk")]
  	  UNSPEC_MOVCC_MASK))]
    "TARGET_AVX512FP16"
--- 26585,26591 ----
    [(set (match_operand:HF 0 "nonimmediate_operand" "=v,m,v")
  	(unspec:HF
  	  [(match_operand:HF 1 "nonimmediate_operand" "m,v,v")
! 	   (match_operand:HF 2 "nonimm_or_0_operand" "0C,0,0C")
  	   (match_operand:QI 3 "register_operand" "Yk,Yk,Yk")]
  	  UNSPEC_MOVCC_MASK))]
    "TARGET_AVX512FP16"
diff -Nrcpad gcc-15-20260110/gcc/config/i386/mmx.md gcc-15-20260117/gcc/config/i386/mmx.md
*** gcc-15-20260110/gcc/config/i386/mmx.md	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/mmx.md	Sat Jan 17 22:32:06 2026
***************
*** 2038,2044 ****
  	(div:V4HF
  	  (match_operand:V4HF 1 "nonimmediate_operand")
  	  (match_operand:V4HF 2 "register_operand")))]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL && ix86_partial_vec_fp_math"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
--- 2038,2045 ----
  	(div:V4HF
  	  (match_operand:V4HF 1 "nonimmediate_operand")
  	  (match_operand:V4HF 2 "register_operand")))]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL && ix86_partial_vec_fp_math
!   && TARGET_MMX_WITH_SSE"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
***************
*** 2873,2879 ****
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")
     (match_operand:V4HF 3 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL"
  {
    rtx op3 = gen_reg_rtx (V8HFmode);
    rtx op2 = gen_reg_rtx (V8HFmode);
--- 2874,2881 ----
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")
     (match_operand:V4HF 3 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL
!   && TARGET_MMX_WITH_SSE"
  {
    rtx op3 = gen_reg_rtx (V8HFmode);
    rtx op2 = gen_reg_rtx (V8HFmode);
***************
*** 2895,2901 ****
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")
     (match_operand:V4HF 3 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL"
  {
    rtx op3 = gen_reg_rtx (V8HFmode);
    rtx op2 = gen_reg_rtx (V8HFmode);
--- 2897,2904 ----
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")
     (match_operand:V4HF 3 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL
!   && TARGET_MMX_WITH_SSE"
  {
    rtx op3 = gen_reg_rtx (V8HFmode);
    rtx op2 = gen_reg_rtx (V8HFmode);
***************
*** 2916,2922 ****
    [(match_operand:V4HF 0 "register_operand")
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
--- 2919,2926 ----
    [(match_operand:V4HF 0 "register_operand")
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL
!   && TARGET_MMX_WITH_SSE"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
***************
*** 2934,2940 ****
    [(match_operand:V4HF 0 "register_operand")
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
--- 2938,2945 ----
    [(match_operand:V4HF 0 "register_operand")
     (match_operand:V4HF 1 "vector_operand")
     (match_operand:V4HF 2 "vector_operand")]
!   "TARGET_AVX512FP16 && TARGET_AVX512VL
!   && TARGET_MMX_WITH_SSE"
  {
    rtx op2 = gen_reg_rtx (V8HFmode);
    rtx op1 = gen_reg_rtx (V8HFmode);
diff -Nrcpad gcc-15-20260110/gcc/config/i386/xmmintrin.h gcc-15-20260117/gcc/config/i386/xmmintrin.h
*** gcc-15-20260110/gcc/config/i386/xmmintrin.h	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/i386/xmmintrin.h	Sat Jan 17 22:32:07 2026
*************** _mm_maskmove_si64 (__m64 __A, __m64 __N,
*** 1223,1239 ****
    __v2di __N128 = __extension__ (__v2di) { ((__v1di) __N)[0], 0 };
  
    /* Check the alignment of __P.  */
!   __SIZE_TYPE__ offset = ((__SIZE_TYPE__) __P) & 0xf;
!   if (offset)
      {
        /* If the misalignment of __P > 8, subtract __P by 8 bytes.
  	 Otherwise, subtract __P by the misalignment.  */
!       if (offset > 8)
! 	offset = 8;
!       __P = (char *) (((__SIZE_TYPE__) __P) - offset);
  
        /* Shift __A128 and __N128 to the left by the adjustment.  */
!       switch (offset)
  	{
  	case 1:
  	  __A128 = __builtin_ia32_pslldqi128 (__A128, 8);
--- 1223,1239 ----
    __v2di __N128 = __extension__ (__v2di) { ((__v1di) __N)[0], 0 };
  
    /* Check the alignment of __P.  */
!   __SIZE_TYPE__ __offset = ((__SIZE_TYPE__) __P) & 0xf;
!   if (__offset)
      {
        /* If the misalignment of __P > 8, subtract __P by 8 bytes.
  	 Otherwise, subtract __P by the misalignment.  */
!       if (__offset > 8)
! 	__offset = 8;
!       __P = (char *) (((__SIZE_TYPE__) __P) - __offset);
  
        /* Shift __A128 and __N128 to the left by the adjustment.  */
!       switch (__offset)
  	{
  	case 1:
  	  __A128 = __builtin_ia32_pslldqi128 (__A128, 8);
diff -Nrcpad gcc-15-20260110/gcc/config/loongarch/loongarch.cc gcc-15-20260117/gcc/config/loongarch/loongarch.cc
*** gcc-15-20260110/gcc/config/loongarch/loongarch.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/loongarch/loongarch.cc	Sat Jan 17 22:32:07 2026
*************** loongarch_expand_vector_init_same (rtx t
*** 10207,10238 ****
  	}
      }
  
!   if (imode == GET_MODE (same))
!     temp = same;
!   else if (GET_MODE_SIZE (imode) >= UNITS_PER_WORD)
!     {
!       if (GET_CODE (same) == MEM)
! 	{
! 	  rtx reg_tmp = gen_reg_rtx (GET_MODE (same));
! 	  loongarch_emit_move (reg_tmp, same);
! 	  temp = simplify_gen_subreg (imode, reg_tmp, GET_MODE (reg_tmp), 0);
! 	}
!       else
! 	temp = simplify_gen_subreg (imode, same, GET_MODE (same), 0);
!     }
!   else
!     {
!       if (GET_CODE (same) == MEM)
! 	{
! 	  rtx reg_tmp = gen_reg_rtx (GET_MODE (same));
! 	  loongarch_emit_move (reg_tmp, same);
! 	  temp = lowpart_subreg (imode, reg_tmp, GET_MODE (reg_tmp));
! 	}
!       else
! 	temp = lowpart_subreg (imode, same, GET_MODE (same));
!     }
! 
!   temp = force_reg (imode, temp);
  
    switch (vmode)
      {
--- 10207,10213 ----
  	}
      }
  
!   temp = force_reg (imode, same);
  
    switch (vmode)
      {
diff -Nrcpad gcc-15-20260110/gcc/config/loongarch/loongarch.md gcc-15-20260117/gcc/config/loongarch/loongarch.md
*** gcc-15-20260110/gcc/config/loongarch/loongarch.md	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config/loongarch/loongarch.md	Sat Jan 17 22:32:07 2026
***************
*** 2237,2243 ****
    (unspec:DI [(const_int 0)]
      UNSPEC_LOAD_SYMBOL_OFFSET64)
    (clobber (match_operand:DI 2 "register_operand" "=&r,r"))]
!  "TARGET_64BIT && TARGET_CMODEL_EXTREME"
  {
    if (which_alternative == 1)
      return "#";
--- 2237,2243 ----
    (unspec:DI [(const_int 0)]
      UNSPEC_LOAD_SYMBOL_OFFSET64)
    (clobber (match_operand:DI 2 "register_operand" "=&r,r"))]
!  "TARGET_64BIT"
  {
    if (which_alternative == 1)
      return "#";
diff -Nrcpad gcc-15-20260110/gcc/config.gcc gcc-15-20260117/gcc/config.gcc
*** gcc-15-20260110/gcc/config.gcc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/config.gcc	Sat Jan 17 22:32:06 2026
*************** case "${target}" in
*** 4304,4310 ****
  				  echo "Unknown extension used in --with-$which=$val" 1>&2
  				  exit 1
  				fi
! 				ext_val=`echo $ext_val | sed -E -e 's/[a-z0-9]+//'`
  			  done
  
  			  true
--- 4304,4310 ----
  				  echo "Unknown extension used in --with-$which=$val" 1>&2
  				  exit 1
  				fi
! 				ext_val=`echo $ext_val | sed -E -e 's/[a-z0-9-]+//'`
  			  done
  
  			  true
diff -Nrcpad gcc-15-20260110/gcc/cp/ChangeLog gcc-15-20260117/gcc/cp/ChangeLog
*** gcc-15-20260110/gcc/cp/ChangeLog	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/ChangeLog	Sat Jan 17 22:32:07 2026
***************
*** 1,3 ****
--- 1,52 ----
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123331
+ 	* constexpr.cc (cxx_eval_vec_init_1): Don't build INIT_EXPR if
+ 	eltinit is erroneous.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/91388
+ 	* semantics.cc (finish_static_assert): Suppress -Wreturn-type warnings
+ 	in functions with failed assertions.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/122772
+ 	* tree.cc (cp_stabilize_bitfield_reference): New function.
+ 	(cp_stabilize_reference): Use it for stabilization of
+ 	clk_bitfield or clk_packed lvalues.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/122834
+ 	* typeck.cc (cp_compare_floating_point_conversion_ranks): Return
+ 	3 if fmt2->b is 10 except for _Float16 vs. _Decimal128, in that
+ 	case return -2.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-09-17  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR c++/121966
+ 	* call.cc (print_z_candidates): Copy the filtering logic on viable
+ 	candidates from the printing loop to the counting loop, so that
+ 	num_candidates matches the number of iterations of the latter
+ 	loop.
+ 
  2026-01-09  Eczbek  <eczbek.void@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260110/gcc/cp/call.cc gcc-15-20260117/gcc/cp/call.cc
*** gcc-15-20260110/gcc/cp/call.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/call.cc	Sat Jan 17 22:32:07 2026
*************** print_z_candidates (location_t loc, stru
*** 4203,4209 ****
  
    int num_candidates = 0;
    for (auto iter = candidates; iter; iter = iter->next)
!     ++num_candidates;
  
    inform_n (loc,
  	    num_candidates, "there is %i candidate", "there are %i candidates",
--- 4203,4213 ----
  
    int num_candidates = 0;
    for (auto iter = candidates; iter; iter = iter->next)
!     {
!       if (only_viable_p.is_true () && iter->viable != 1)
! 	break;
!       ++num_candidates;
!     }
  
    inform_n (loc,
  	    num_candidates, "there is %i candidate", "there are %i candidates",
diff -Nrcpad gcc-15-20260110/gcc/cp/constexpr.cc gcc-15-20260117/gcc/cp/constexpr.cc
*** gcc-15-20260110/gcc/cp/constexpr.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/constexpr.cc	Sat Jan 17 22:32:07 2026
*************** cxx_eval_vec_init_1 (const constexpr_ctx
*** 5753,5759 ****
  	  eltinit = (perform_implicit_conversion_flags
  		     (elttype, eltinit, complain,
  		      LOOKUP_IMPLICIT|LOOKUP_NO_NARROWING));
! 	  if (CLASS_TYPE_P (elttype) && new_ctx.object)
  	    /* Clarify what object is being initialized (118285).  */
  	    eltinit = build2 (INIT_EXPR, elttype, new_ctx.object, eltinit);
  	  eltinit = cxx_eval_constant_expression (&new_ctx, eltinit, lval,
--- 5753,5761 ----
  	  eltinit = (perform_implicit_conversion_flags
  		     (elttype, eltinit, complain,
  		      LOOKUP_IMPLICIT|LOOKUP_NO_NARROWING));
! 	  if (CLASS_TYPE_P (elttype)
! 	      && new_ctx.object
! 	      && !error_operand_p (eltinit))
  	    /* Clarify what object is being initialized (118285).  */
  	    eltinit = build2 (INIT_EXPR, elttype, new_ctx.object, eltinit);
  	  eltinit = cxx_eval_constant_expression (&new_ctx, eltinit, lval,
diff -Nrcpad gcc-15-20260110/gcc/cp/semantics.cc gcc-15-20260117/gcc/cp/semantics.cc
*** gcc-15-20260110/gcc/cp/semantics.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/semantics.cc	Sat Jan 17 22:32:07 2026
*************** finish_static_assert (tree condition, tr
*** 12471,12476 ****
--- 12471,12486 ----
  	    error_at (cloc, "static assertion failed: %.*s", len, msg);
  
  	  diagnose_failing_condition (bad, cloc, show_expr_p);
+ 
+ 	  /* Suppress -Wreturn-type for functions with failed static_asserts.
+ 	     Otherwise templates like:
+ 	     if constexpr (whatever)
+ 	       return something (args);
+ 	     else
+ 	       static_assert (false, "explanation");
+ 	     get a useless extra -Wreturn-type warning.  */
+ 	  if (current_function_decl)
+ 	    suppress_warning (current_function_decl, OPT_Wreturn_type);
  	}
        else if (condition && condition != error_mark_node)
  	{
diff -Nrcpad gcc-15-20260110/gcc/cp/tree.cc gcc-15-20260117/gcc/cp/tree.cc
*** gcc-15-20260110/gcc/cp/tree.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/tree.cc	Sat Jan 17 22:32:07 2026
*************** non_mergeable_glvalue_p (const_tree ref)
*** 424,429 ****
--- 424,506 ----
  	  && !(kind & (clk_class|clk_mergeable)));
  }
  
+ /* C++-specific version of stabilize_reference for bit-fields and
+    DECL_PACKED fields.  We can't bind a reference to those.  */
+ 
+ static tree
+ cp_stabilize_bitfield_reference (tree ref)
+ {
+   tree op1, op2, op3;
+   STRIP_ANY_LOCATION_WRAPPER (ref);
+   switch (TREE_CODE (ref))
+     {
+     case VAR_DECL:
+     case PARM_DECL:
+     case RESULT_DECL:
+     CASE_CONVERT:
+     case FLOAT_EXPR:
+     case FIX_TRUNC_EXPR:
+     case INDIRECT_REF:
+     case COMPONENT_REF:
+     case BIT_FIELD_REF:
+     case ARRAY_REF:
+     case ARRAY_RANGE_REF:
+     case ERROR_MARK:
+     case REALPART_EXPR:
+     case IMAGPART_EXPR:
+     default:
+       break;
+     case COMPOUND_EXPR:
+       op2 = cp_stabilize_bitfield_reference (TREE_OPERAND (ref, 1));
+       if (op2 == TREE_OPERAND (ref, 1))
+ 	return ref;
+       op1 = TREE_OPERAND (ref, 0);
+       if (TREE_SIDE_EFFECTS (op1))
+ 	{
+ 	  if (VOID_TYPE_P (TREE_TYPE (op1)))
+ 	    op1 = save_expr (op1);
+ 	  else
+ 	    {
+ 	      op1 = build2 (COMPOUND_EXPR, void_type_node, op1,
+ 			    void_node);
+ 	      op1 = save_expr (op1);
+ 	    }
+ 	}
+       return build2 (COMPOUND_EXPR, TREE_TYPE (op2), op1, op2);
+     case COND_EXPR:
+       op1 = TREE_OPERAND (ref, 0);
+       op2 = TREE_OPERAND (ref, 1);
+       op3 = TREE_OPERAND (ref, 2);
+       if (op2 && TREE_CODE (op2) != THROW_EXPR)
+ 	op2 = cp_stabilize_bitfield_reference (op2);
+       if (TREE_CODE (op3) != THROW_EXPR)
+ 	op3 = cp_stabilize_bitfield_reference (op3);
+       if (op2 == NULL_TREE)
+ 	op1 = cp_stabilize_bitfield_reference (op1);
+       if (op1 == TREE_OPERAND (ref, 0)
+ 	  && op2 == TREE_OPERAND (ref, 1)
+ 	  && op3 == TREE_OPERAND (ref, 2))
+ 	return ref;
+       if (op2 != NULL_TREE && TREE_SIDE_EFFECTS (op1))
+ 	op1 = save_expr (op1);
+       return build3 (COND_EXPR, TREE_TYPE (ref), op1, op2, op3);
+     case PREINCREMENT_EXPR:
+     case PREDECREMENT_EXPR:
+       op1 = cp_stabilize_bitfield_reference (TREE_OPERAND (ref, 0));
+       if (op1 == TREE_OPERAND (ref, 0))
+ 	return ref;
+       return build2 (COMPOUND_EXPR, TREE_TYPE (ref),
+ 		     build2 (TREE_CODE (ref), TREE_TYPE (ref), op1,
+ 			     TREE_OPERAND (ref, 0)), op1);
+     case PAREN_EXPR:
+       op1 = cp_stabilize_bitfield_reference (TREE_OPERAND (ref, 0));
+       if (op1 == TREE_OPERAND (ref, 0))
+ 	return ref;
+       return build1 (PAREN_EXPR, TREE_TYPE (ref), op1);
+     }
+   return stabilize_reference (ref);
+ }
+ 
  /* C++-specific version of stabilize_reference.  */
  
  tree
*************** cp_stabilize_reference (tree ref)
*** 455,460 ****
--- 532,539 ----
        cp_lvalue_kind kind = lvalue_kind (ref);
        if ((kind & ~clk_class) != clk_none)
  	{
+ 	  if (kind & (clk_bitfield | clk_packed))
+ 	    return cp_stabilize_bitfield_reference (ref);
  	  tree type = unlowered_expr_type (ref);
  	  bool rval = !!(kind & clk_rvalueref);
  	  type = cp_build_reference_type (type, rval);
diff -Nrcpad gcc-15-20260110/gcc/cp/typeck.cc gcc-15-20260117/gcc/cp/typeck.cc
*** gcc-15-20260110/gcc/cp/typeck.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/cp/typeck.cc	Sat Jan 17 22:32:07 2026
*************** cp_compare_floating_point_conversion_ran
*** 305,311 ****
  
    const struct real_format *fmt1 = REAL_MODE_FORMAT (TYPE_MODE (t1));
    const struct real_format *fmt2 = REAL_MODE_FORMAT (TYPE_MODE (t2));
!   gcc_assert (fmt1->b == 2 && fmt2->b == 2);
    /* For {ibm,mips}_extended_format formats, the type has variable
       precision up to ~2150 bits when the first double is around maximum
       representable double and second double is subnormal minimum.
--- 305,334 ----
  
    const struct real_format *fmt1 = REAL_MODE_FORMAT (TYPE_MODE (t1));
    const struct real_format *fmt2 = REAL_MODE_FORMAT (TYPE_MODE (t2));
!   /* Currently, extended floating point types are only binary, and
!      they never have a proper subset or superset of values with
!      decimal floating point types except for the _Float16 vs. _Decimal128
!      pair, so return 3 for unordered conversion ranks.  */
!   gcc_assert (fmt1->b == 2);
!   if (fmt2->b == 10)
!     {
!       /* _Float16 needs at most 21 decimal digits (e.g.
! 	 0x1.a3cp-14f16 is exactly 0.000100076198577880859375DL),
! 	 so it is not a proper subset of _Decimal64 but is subset
! 	 of _Decimal128.  While std::bfloat16_t needs at most 96
! 	 decimal digits, so even _Decimal128 doesn't cover it.
! 	 _Float32 has at least one value which needs 112 decimal
! 	 digits, _Float64 at least 767 decimal digits.  */
!       if (fmt1->emin == -13
! 	  && fmt1->emax == 16
! 	  && fmt1->p == 11
! 	  && fmt2->emin == -6142
! 	  && fmt2->emax == 6145
! 	  && fmt2->p == 34)
! 	return -2;
!       return 3;
!     }
!   gcc_assert (fmt2->b == 2);
    /* For {ibm,mips}_extended_format formats, the type has variable
       precision up to ~2150 bits when the first double is around maximum
       representable double and second double is subnormal minimum.
diff -Nrcpad gcc-15-20260110/gcc/diagnostic-format-sarif.cc gcc-15-20260117/gcc/diagnostic-format-sarif.cc
*** gcc-15-20260110/gcc/diagnostic-format-sarif.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/diagnostic-format-sarif.cc	Sat Jan 17 22:32:07 2026
*************** maybe_get_sarif_level (diagnostic_t diag
*** 1838,1843 ****
--- 1838,1844 ----
      {
      case DK_WARNING:
        return "warning";
+     case DK_FATAL:
      case DK_ERROR:
        return "error";
      case DK_NOTE:
diff -Nrcpad gcc-15-20260110/gcc/diagnostic.cc gcc-15-20260117/gcc/diagnostic.cc
*** gcc-15-20260110/gcc/diagnostic.cc	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/diagnostic.cc	Sat Jan 17 22:32:07 2026
*************** diagnostic_context::execution_failed_p (
*** 476,482 ****
  {
    /* Equivalent to (seen_error () || werrorcount), but on
       this context, rather than global_dc.  */
!   return (diagnostic_count (DK_ERROR)
  	  || diagnostic_count (DK_SORRY)
  	  || diagnostic_count (DK_WERROR));
  }
--- 476,483 ----
  {
    /* Equivalent to (seen_error () || werrorcount), but on
       this context, rather than global_dc.  */
!   return (diagnostic_count (DK_FATAL)
! 	  || diagnostic_count (DK_ERROR)
  	  || diagnostic_count (DK_SORRY)
  	  || diagnostic_count (DK_WERROR));
  }
diff -Nrcpad gcc-15-20260110/gcc/doc/install.texi gcc-15-20260117/gcc/doc/install.texi
*** gcc-15-20260110/gcc/doc/install.texi	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/doc/install.texi	Sat Jan 17 22:32:07 2026
*************** Same as @uref{#with-as,,@option{--with-a
*** 1244,1250 ****
  but for the debug linker (only used on Darwin platforms so far).
  
  @item --with-tls=@var{dialect}
! Specify the default TLS dialect, for systems were there is a choice.
  For ARM targets, possible values for @var{dialect} are @code{gnu} or
  @code{gnu2}, which select between the original GNU dialect and the GNU TLS
  descriptor-based dialect.
--- 1244,1250 ----
  but for the debug linker (only used on Darwin platforms so far).
  
  @item --with-tls=@var{dialect}
! Specify the default TLS dialect, for systems where there is a choice.
  For ARM targets, possible values for @var{dialect} are @code{gnu} or
  @code{gnu2}, which select between the original GNU dialect and the GNU TLS
  descriptor-based dialect.
diff -Nrcpad gcc-15-20260110/gcc/doc/invoke.texi gcc-15-20260117/gcc/doc/invoke.texi
*** gcc-15-20260110/gcc/doc/invoke.texi	Sat Jan 10 22:32:06 2026
--- gcc-15-20260117/gcc/doc/invoke.texi	Sat Jan 17 22:32:07 2026
*************** the next @option{-x} option.  Possible v
*** 1705,1718 ****
  @smallexample
  c  c-header  cpp-output
  c++  c++-header  c++-system-header c++-user-header c++-cpp-output
! objective-c  objective-c-header  objective-c-cpp-output
! objective-c++ objective-c++-header objective-c++-cpp-output
  assembler  assembler-with-cpp
! ada
  cobol
  d
! f77  f77-cpp-input f95  f95-cpp-input
  go
  @end smallexample
  
  Note that @option{-x} does not imply a particular language standard.
--- 1705,1722 ----
  @smallexample
  c  c-header  cpp-output
  c++  c++-header  c++-system-header c++-user-header c++-cpp-output
! objective-c  objective-c-header  objective-c-cpp-output  objc-cpp-output
! objective-c++  objective-c++-header  objective-c++-cpp-output
! objc++-cpp-output
  assembler  assembler-with-cpp
! ada  adascil  adawhy
  cobol
  d
! f77  f77-cpp-input  f95  f95-cpp-input
  go
+ modula-2  modula-2-cpp-output
+ rust
+ lto
  @end smallexample
  
  Note that @option{-x} does not imply a particular language standard.
diff -Nrcpad gcc-15-20260110/gcc/gimple-range-gori.cc gcc-15-20260117/gcc/gimple-range-gori.cc
*** gcc-15-20260110/gcc/gimple-range-gori.cc	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/gimple-range-gori.cc	Sat Jan 17 22:32:07 2026
*************** gori_map::exports (basic_block bb)
*** 383,388 ****
--- 383,410 ----
    return m_outgoing[bb->index];
  }
  
+ // Return the bitmap vector of all exports AND their dependencies from BB
+ // in TMPBIT.  Calculate if necessary.  Return TMPBIT.
+ 
+ bitmap
+ gori_map::exports_and_deps (basic_block bb, bitmap tmpbit)
+ {
+   if (bb->index >= (signed int)m_outgoing.length () || !m_outgoing[bb->index])
+     calculate_gori (bb);
+   bitmap_copy (tmpbit, m_outgoing[bb->index]);
+   if (!bitmap_empty_p (tmpbit))
+     {
+       tree name;
+       FOR_EACH_GORI_EXPORT_NAME (this, bb, name)
+ 	{
+ 	  bitmap dep = get_def_chain (name);
+ 	  if (dep)
+ 	    bitmap_ior_into (tmpbit, dep);
+ 	}
+     }
+   return tmpbit;
+ }
+ 
  // Return the bitmap vector of all imports to BB.  Calculate if necessary.
  
  bitmap
diff -Nrcpad gcc-15-20260110/gcc/gimple-range-gori.h gcc-15-20260117/gcc/gimple-range-gori.h
*** gcc-15-20260110/gcc/gimple-range-gori.h	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/gimple-range-gori.h	Sat Jan 17 22:32:07 2026
*************** public:
*** 99,104 ****
--- 99,105 ----
    bool is_export_p (tree name, basic_block bb = NULL);
    bool is_import_p (tree name, basic_block bb);
    bitmap exports (basic_block bb);
+   bitmap exports_and_deps (basic_block bb, bitmap tmpbit);
    bitmap imports (basic_block bb);
    void set_range_invariant (tree name, bool invariant = true);
  
*************** bool gori_on_edge (class ssa_cache &r, e
*** 223,229 ****
  bool gori_name_on_edge (vrange &r, tree name, edge e, range_query *q = NULL);
  
  // For each name that is an import into BB's exports..
! #define FOR_EACH_GORI_IMPORT_NAME(gorimap, bb, name)			\
    for (gori_export_iterator iter ((gorimap)->imports ((bb)));	\
         ((name) = iter.get_name ());				\
         iter.next ())
--- 224,230 ----
  bool gori_name_on_edge (vrange &r, tree name, edge e, range_query *q = NULL);
  
  // For each name that is an import into BB's exports..
! #define FOR_EACH_GORI_IMPORT_NAME(gorimap, bb, name)		\
    for (gori_export_iterator iter ((gorimap)->imports ((bb)));	\
         ((name) = iter.get_name ());				\
         iter.next ())
*************** bool gori_name_on_edge (vrange &r, tree
*** 234,239 ****
--- 235,246 ----
         ((name) = iter.get_name ());				\
         iter.next ())
  
+ // For each name and all their dependencies possibly exported from block BB.
+ #define FOR_EACH_GORI_EXPORT_AND_DEP_NAME(gorimap, bb, name, bm)	   \
+   for (gori_export_iterator iter ((gorimap)->exports_and_deps ((bb),(bm))); \
+        ((name) = iter.get_name ());					   \
+        iter.next ())
+ 
  // Used to assist with iterating over the GORI export list in various ways
  class gori_export_iterator {
  public:
diff -Nrcpad gcc-15-20260110/gcc/gimple-range-op.cc gcc-15-20260117/gcc/gimple-range-op.cc
*** gcc-15-20260110/gcc/gimple-range-op.cc	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/gimple-range-op.cc	Sat Jan 17 22:32:07 2026
*************** gimple_range_op_handler::maybe_builtin_c
*** 1404,1409 ****
--- 1404,1411 ----
    switch (func)
      {
      case CFN_BUILT_IN_CONSTANT_P:
+       if (gimple_call_num_args (call) != 1)
+ 	return;
        m_op1 = gimple_call_arg (call, 0);
        if (irange::supports_p (TREE_TYPE (m_op1)))
  	m_operator = &op_cfn_constant_p;
*************** gimple_range_op_handler::maybe_builtin_c
*** 1412,1432 ****
--- 1414,1442 ----
        break;
  
      CASE_FLT_FN (CFN_BUILT_IN_SIGNBIT):
+       if (gimple_call_num_args (call) != 1)
+ 	return;
        m_op1 = gimple_call_arg (call, 0);
        m_operator = &op_cfn_signbit;
        break;
  
      CASE_FLT_FN (BUILT_IN_ISINF):
+       if (gimple_call_num_args (call) != 1)
+ 	return;
        m_op1 = gimple_call_arg (call, 0);
        m_operator = &op_cfn_isinf;
        break;
  
      case CFN_BUILT_IN_ISFINITE:
+       if (gimple_call_num_args (call) != 1)
+ 	return;
        m_op1 = gimple_call_arg (call, 0);
        m_operator = &op_cfn_isfinite;
        break;
  
      case CFN_BUILT_IN_ISNORMAL:
+       if (gimple_call_num_args (call) != 1)
+ 	return;
        m_op1 = gimple_call_arg (call, 0);
        m_operator = &op_cfn_isnormal;
        break;
*************** gimple_range_op_handler::maybe_builtin_c
*** 1557,1563 ****
      default:
        {
  	unsigned arg;
! 	if (gimple_call_fnspec (call).returns_arg (&arg) && arg == 0)
  	  {
  	    m_op1 = gimple_call_arg (call, 0);
  	    m_operator = &op_cfn_pass_through_arg1;
--- 1567,1575 ----
      default:
        {
  	unsigned arg;
! 	if (gimple_call_fnspec (call).returns_arg (&arg)
! 	    && arg == 0
! 	    && gimple_call_num_args (call) > 0)
  	  {
  	    m_op1 = gimple_call_arg (call, 0);
  	    m_operator = &op_cfn_pass_through_arg1;
diff -Nrcpad gcc-15-20260110/gcc/lra-remat.cc gcc-15-20260117/gcc/lra-remat.cc
*** gcc-15-20260110/gcc/lra-remat.cc	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/lra-remat.cc	Sat Jan 17 22:32:07 2026
*************** typedef const struct cand *const_cand_t;
*** 81,88 ****
  
  /* Insn candidates for rematerialization.  The candidate insn should
     have the following properies:
!    o no any memory (as access to memory is non-profitable)
     o no INOUT regs (it means no non-paradoxical subreg of output reg)
     o one output spilled pseudo (or reload pseudo of a spilled pseudo)
     o all other pseudos are with assigned hard regs.  */
  struct cand
--- 81,90 ----
  
  /* Insn candidates for rematerialization.  The candidate insn should
     have the following properies:
!    o no any memory (as access to memory is non-profitable) or
!      div/mod operations (as they are usually more expensive than loads)
     o no INOUT regs (it means no non-paradoxical subreg of output reg)
+    o no multiple output pseudos
     o one output spilled pseudo (or reload pseudo of a spilled pseudo)
     o all other pseudos are with assigned hard regs.  */
  struct cand
*************** finish_cand_table (void)
*** 249,260 ****
  
  
  
! /* Return true if X contains memory or some UNSPEC.  We cannot just
!    check insn operands as memory or unspec might be not an operand
!    itself but contain an operand.  Insn with memory access is not
!    profitable for rematerialization.  Rematerialization of UNSPEC
!    might result in wrong code generation as the UNPEC effect is
!    unknown (e.g. generating a label).  */
  static bool
  bad_for_rematerialization_p (rtx x)
  {
--- 251,262 ----
  
  
  
! /* Return true if X contains memory, some UNSPEC, or expensive operations.  We
!    cannot just check insn operands as memory or unspec might be not an operand
!    itself but contain an operand.  Insns with memory access or expensive ones
!    are not profitable for rematerialization.  Rematerialization of UNSPEC might
!    result in wrong code generation as the UNPEC effect is unknown
!    (e.g. generating a label).  */
  static bool
  bad_for_rematerialization_p (rtx x)
  {
*************** bad_for_rematerialization_p (rtx x)
*** 262,268 ****
    const char *fmt;
    enum rtx_code code;
  
!   if (MEM_P (x) || GET_CODE (x) == UNSPEC || GET_CODE (x) == UNSPEC_VOLATILE)
      return true;
    code = GET_CODE (x);
    fmt = GET_RTX_FORMAT (code);
--- 264,274 ----
    const char *fmt;
    enum rtx_code code;
  
!   if (MEM_P (x) || GET_CODE (x) == UNSPEC || GET_CODE (x) == UNSPEC_VOLATILE
!       /* Usually the following operations are expensive and does not worth to
! 	 rematerialize: */
!       || GET_CODE(x) == DIV || GET_CODE(x) == UDIV
!       || GET_CODE(x) == MOD || GET_CODE(x) == UMOD)
      return true;
    code = GET_CODE (x);
    fmt = GET_RTX_FORMAT (code);
*************** operand_to_remat (rtx_insn *insn)
*** 308,315 ****
  	 cannot know sp offset at a rematerialization place.  */
        if (reg->regno == STACK_POINTER_REGNUM && frame_pointer_needed)
  	return -1;
!       else if (reg->type == OP_OUT && ! reg->subreg_p
! 	       && find_regno_note (insn, REG_UNUSED, reg->regno) == NULL)
  	{
  	  /* We permits only one spilled reg.  */
  	  if (found_reg != NULL)
--- 314,320 ----
  	 cannot know sp offset at a rematerialization place.  */
        if (reg->regno == STACK_POINTER_REGNUM && frame_pointer_needed)
  	return -1;
!       else if (reg->type == OP_OUT)
  	{
  	  /* We permits only one spilled reg.  */
  	  if (found_reg != NULL)
diff -Nrcpad gcc-15-20260110/gcc/simplify-rtx.cc gcc-15-20260117/gcc/simplify-rtx.cc
*** gcc-15-20260110/gcc/simplify-rtx.cc	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/simplify-rtx.cc	Sat Jan 17 22:32:08 2026
*************** simplify_const_binary_operation (enum rt
*** 5618,5628 ****
  	    /* The shift count might be in SImode while int_mode might
  	       be narrower.  On IA-64 it is even DImode.  If the shift
  	       count is too large and doesn't fit into int_mode, we'd
! 	       ICE.  So, if int_mode is narrower than word, use
! 	       word_mode for the shift count.  */
  	    if (GET_MODE (op1) == VOIDmode
! 		&& GET_MODE_PRECISION (int_mode) < BITS_PER_WORD)
! 	      pop1 = rtx_mode_t (op1, word_mode);
  
  	    wide_int wop1 = pop1;
  	    if (SHIFT_COUNT_TRUNCATED)
--- 5618,5628 ----
  	    /* The shift count might be in SImode while int_mode might
  	       be narrower.  On IA-64 it is even DImode.  If the shift
  	       count is too large and doesn't fit into int_mode, we'd
! 	       ICE.  So, if int_mode is narrower than
! 	       HOST_BITS_PER_WIDE_INT, use DImode for the shift count.  */
  	    if (GET_MODE (op1) == VOIDmode
! 		&& GET_MODE_PRECISION (int_mode) < HOST_BITS_PER_WIDE_INT)
! 	      pop1 = rtx_mode_t (op1, DImode);
  
  	    wide_int wop1 = pop1;
  	    if (SHIFT_COUNT_TRUNCATED)
*************** simplify_const_binary_operation (enum rt
*** 5673,5683 ****
  	    /* The rotate count might be in SImode while int_mode might
  	       be narrower.  On IA-64 it is even DImode.  If the shift
  	       count is too large and doesn't fit into int_mode, we'd
! 	       ICE.  So, if int_mode is narrower than word, use
! 	       word_mode for the shift count.  */
  	    if (GET_MODE (op1) == VOIDmode
! 		&& GET_MODE_PRECISION (int_mode) < BITS_PER_WORD)
! 	      pop1 = rtx_mode_t (op1, word_mode);
  
  	    if (wi::neg_p (pop1))
  	      return NULL_RTX;
--- 5673,5683 ----
  	    /* The rotate count might be in SImode while int_mode might
  	       be narrower.  On IA-64 it is even DImode.  If the shift
  	       count is too large and doesn't fit into int_mode, we'd
! 	       ICE.  So, if int_mode is narrower than
! 	       HOST_BITS_PER_WIDE_INT, use DImode for the shift count.  */
  	    if (GET_MODE (op1) == VOIDmode
! 		&& GET_MODE_PRECISION (int_mode) < HOST_BITS_PER_WIDE_INT)
! 	      pop1 = rtx_mode_t (op1, DImode);
  
  	    if (wi::neg_p (pop1))
  	      return NULL_RTX;
*************** simplify_const_binary_operation (enum rt
*** 5778,5785 ****
  	      wide_int shift
  		= rtx_mode_t (op1,
  			      GET_MODE (op1) == VOIDmode
! 			      && GET_MODE_PRECISION (int_mode) < BITS_PER_WORD
! 			      ? word_mode : mode);
  	      if (SHIFT_COUNT_TRUNCATED)
  		shift = wi::umod_trunc (shift, GET_MODE_PRECISION (int_mode));
  	      else if (wi::geu_p (shift, GET_MODE_PRECISION (int_mode)))
--- 5778,5786 ----
  	      wide_int shift
  		= rtx_mode_t (op1,
  			      GET_MODE (op1) == VOIDmode
! 			      && (GET_MODE_PRECISION (int_mode)
! 				  < HOST_BITS_PER_WIDE_INT)
! 			      ? DImode : mode);
  	      if (SHIFT_COUNT_TRUNCATED)
  		shift = wi::umod_trunc (shift, GET_MODE_PRECISION (int_mode));
  	      else if (wi::geu_p (shift, GET_MODE_PRECISION (int_mode)))
diff -Nrcpad gcc-15-20260110/gcc/stmt.cc gcc-15-20260117/gcc/stmt.cc
*** gcc-15-20260110/gcc/stmt.cc	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/stmt.cc	Sat Jan 17 22:32:08 2026
*************** parse_input_constraint (const char **con
*** 337,342 ****
--- 337,343 ----
  
    /* Make sure constraint has neither `=', `+', nor '&'.  */
  
+ repeat:
    for (j = 0; j < c_len; j += CONSTRAINT_LEN (constraint[j], constraint+j))
      switch (constraint[j])
        {
*************** parse_input_constraint (const char **con
*** 409,420 ****
  	      constraint = constraints[match];
  	      *constraint_p = constraint;
  	      c_len = strlen (constraint);
! 	      j = 0;
! 	      /* ??? At the end of the loop, we will skip the first part of
! 		 the matched constraint.  This assumes not only that the
! 		 other constraint is an output constraint, but also that
! 		 the '=' or '+' come first.  */
! 	      break;
  	    }
  	  else
  	    j = end - constraint;
--- 410,416 ----
  	      constraint = constraints[match];
  	      *constraint_p = constraint;
  	      c_len = strlen (constraint);
! 	      goto repeat;
  	    }
  	  else
  	    j = end - constraint;
diff -Nrcpad gcc-15-20260110/gcc/testsuite/ChangeLog gcc-15-20260117/gcc/testsuite/ChangeLog
*** gcc-15-20260110/gcc/testsuite/ChangeLog	Sat Jan 10 22:32:07 2026
--- gcc-15-20260117/gcc/testsuite/ChangeLog	Sat Jan 17 22:32:08 2026
***************
*** 1,3 ****
--- 1,170 ----
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123607
+ 	* g++.target/i386/avx512fp16-pr123607.C: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/120250
+ 	* gcc.c-torture/compile/pr120250.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/123523
+ 	* gcc.target/i386/pr123523.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123431
+ 	* gcc.dg/pr123431.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123489
+ 	* gcc.target/i386/pr123489.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/111817
+ 	* c-c++-common/pr111817.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/123372
+ 	* gcc.dg/tree-ssa/pr123372.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2026-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/123331
+ 	* g++.dg/other/pr123331.C: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/123217
+ 	* gcc.target/i386/keylocker-pr123217.c: New test.
+ 	* gcc.target/i386/user_msr-pr123217.c: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/91388
+ 	* g++.dg/cpp1z/static_assert1.C: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/122772
+ 	* g++.dg/cpp1z/eval-order14.C: New test.
+ 
+ 2026-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/122834
+ 	* g++.dg/dfp/pr122834-1.C: New test.
+ 	* g++.dg/dfp/pr122834-2.C: New test.
+ 
+ 2026-01-16  Vladimir N. Makarov  <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/123121
+ 	* gcc.target/i386/pr123121.c: New.
+ 
+ 2026-01-16  Tejas Belagod  <tejas.belagod@arm.com>
+ 
+ 	PR middle-end/123392
+ 	* gcc.target/aarch64/sve/acle/general/pr123392.c: New.
+ 
+ 2026-01-16  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-16  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/123521
+ 	* gcc.target/loongarch/vector/lasx/pr123521.c: New test.
+ 
+ 2026-01-15  DengJianbo  <dengjianbo@loongson.cn>
+ 
+ 	Backported from master:
+ 	2026-01-15  DengJianbo  <dengjianbo@loongson.cn>
+ 
+ 	* gcc.target/loongarch/attr-model-6.c: New test.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-15  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/123085
+ 	* c-c++-common/analyzer/strlen-pr123085.c: New test.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-12-15  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR analyzer/122975
+ 	* c-c++-common/analyzer/arith-1.c: New test.
+ 	* c-c++-common/analyzer/infinite-recursion-pr122975.c: New test.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	PR diagnostics/120063
+ 	* gcc.dg/fatal-error.c: New test.
+ 	* gcc.dg/fatal-error-sarif.py: New test.
+ 
+ 2026-01-14  David Malcolm  <dmalcolm@redhat.com>
+ 
+ 	* gcc.dg/plugin/crash-test-write-though-null-sarif.c: Rename to...
+ 	* gcc.dg/plugin/crash-test-write-through-null-sarif.c: ...this.
+ 	* gcc.dg/plugin/crash-test-write-though-null-stderr.c: Rename to...
+ 	* gcc.dg/plugin/crash-test-write-through-null-stderr.c: ...this.
+ 	* gcc.dg/plugin/plugin.exp: Update for above renamings.  Sort the
+ 	test files for crash_test_plugin.cc alphabetically.
+ 
+ 2026-01-13  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/123300
+ 	* gcc.dg/pr123300.c: New.
+ 
+ 2026-01-13  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2026-01-13  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* gcc.target/i386/pr123484.c: New test.
+ 
  2026-01-09  Richard Biener  <rguenther@suse.de>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/arith-1.c gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/arith-1.c
*** gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/arith-1.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/arith-1.c	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,13 ----
+ #include "analyzer-decls.h"
+ 
+ static int __attribute__((noipa))
+ negate_int (int x)
+ {
+   return -x;
+ }
+ 
+ void
+ test_1 (int a)
+ {
+   __analyzer_eval (a + negate_int (a) == 0); /* { dg-warning "TRUE" } */
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr122975.c gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr122975.c
*** gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr122975.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/infinite-recursion-pr122975.c	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,5 ----
+ void fun(int x, int y)
+ {
+   if (x + y != 0) 
+     fun(x, -x); /* { dg-bogus "infinite recursion" } */
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/strlen-pr123085.c gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/strlen-pr123085.c
*** gcc-15-20260110/gcc/testsuite/c-c++-common/analyzer/strlen-pr123085.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/c-c++-common/analyzer/strlen-pr123085.c	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,8 ----
+ static int bug(const char *dirname) {
+     dirname++;
+     return __builtin_strlen(dirname); /* { dg-bogus "buffer over-read" } */
+ }
+ 
+ int main (void) {
+     return bug("abcd");
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/c-c++-common/pr111817.c gcc-15-20260117/gcc/testsuite/c-c++-common/pr111817.c
*** gcc-15-20260110/gcc/testsuite/c-c++-common/pr111817.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/c-c++-common/pr111817.c	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,9 ----
+ /* PR middle-end/111817 */
+ /* { dg-do compile } */
+ 
+ int
+ foo (int x, int y)
+ {
+   asm ("" : "\n=g" (x) : "0" (y));	/* { dg-warning "output constraint '=' for operand 0 is not at the beginning" } */
+   return x;				/* { dg-error "invalid punctuation '\\\\x\[0-9a-zA-Z]*' in constraint" "" { target *-*-* } .-1 } */
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/cpp1z/eval-order14.C gcc-15-20260117/gcc/testsuite/g++.dg/cpp1z/eval-order14.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/cpp1z/eval-order14.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/cpp1z/eval-order14.C	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,114 ----
+ // PR c++/122772
+ // { dg-do run }
+ 
+ struct S { int y : 7; } s;
+ struct T { int x; int z : 7; } t;
+ int cnt, mode;
+ 
+ int
+ foo ()
+ {
+ #if __cplusplus >= 201703L
+   if (cnt != 1 + (mode & 1))
+     __builtin_abort ();
+ #endif
+   ++cnt;
+   return 2;
+ }
+ 
+ int
+ bar ()
+ {
+ #if __cplusplus >= 201703L
+   if (cnt != 0)
+     __builtin_abort ();
+ #endif
+   ++cnt;
+   return 40;
+ }
+ 
+ S &
+ baz ()
+ {
+ #if __cplusplus >= 201703L
+   if (cnt != 2 + (mode & 1))
+     __builtin_abort ();
+ #endif
+   if (mode & 2)
+     __builtin_abort ();
+   ++cnt;
+   return s;
+ }
+ 
+ T &
+ qux ()
+ {
+ #if __cplusplus >= 201703L
+   if (cnt != 2 + (mode & 1))
+     __builtin_abort ();
+ #endif
+   if ((mode & 2) == 0)
+     __builtin_abort ();
+   ++cnt;
+   return t;
+ }
+ 
+ bool
+ fred (bool x)
+ {
+ #if __cplusplus >= 201703L
+   if (cnt != 1)
+     __builtin_abort ();
+ #endif
+   ++cnt;
+   return x;
+ }
+ 
+ void
+ plugh (bool b)
+ {
+   S x;
+   x.y = 5;
+   mode = 0;
+   cnt = 0;
+   (x.y = foo ()) += bar ();
+   if (cnt != 2 || x.y != 42)
+     __builtin_abort ();
+   x.y = 5;
+   cnt = 0;
+   (baz ().y = foo ()) += bar ();
+   if (cnt != 3 || s.y != 42)
+     __builtin_abort ();
+   s.y = 5;
+   mode = (b ? 0 : 2);
+   cnt = 0;
+   (b ? (baz ().y = foo ()) : (qux ().z = foo ())) += bar ();
+   if (cnt != 3 || (b ? (s.y != 42) : (t.z != 42)))
+     __builtin_abort ();
+   s.y = 5;
+   t.z = 5;
+   mode |= 1;
+   cnt = 0;
+   (fred (b) ? (baz ().y = foo ()) : (qux ().z = foo ())) += bar ();
+   if (cnt != 4 || (b ? (s.y != 42) : (t.z != 42)))
+     __builtin_abort ();
+   s.y = 5;
+   t.z = 5;
+   mode = 0;
+   cnt = 0;
+   ++x.y += bar ();
+   if (cnt != 1 || x.y != 46)
+     __builtin_abort ();
+   cnt = 0;
+   x.y = 9;
+   --x.y += bar ();
+   if (cnt != 1 || x.y != 48)
+     __builtin_abort ();
+ }
+ 
+ int
+ main ()
+ {
+   plugh (false);
+   plugh (true);
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/cpp1z/static_assert1.C gcc-15-20260117/gcc/testsuite/g++.dg/cpp1z/static_assert1.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/cpp1z/static_assert1.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/cpp1z/static_assert1.C	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/91388
+ // Make sure we don't emit -Wreturn-type in functions with failed static_asserts.
+ // { dg-do compile { target c++17 } }
+ 
+ template <int N>
+ int
+ foo ()
+ {
+   if constexpr (N <= 42)
+     return N;
+   else
+     static_assert (false, "too high N");	// { dg-error "too high N" }
+ }						// { dg-bogus "no return statement in function returning non-void" }
+ 
+ int a = foo <0> ();
+ int b = foo <42> ();
+ int c = foo <100> ();
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/dfp/pr122834-1.C gcc-15-20260117/gcc/testsuite/g++.dg/dfp/pr122834-1.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/dfp/pr122834-1.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/dfp/pr122834-1.C	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,17 ----
+ // PR c++/122834
+ // { dg-do compile { target { c++11 && float128 } } }
+ // { dg-options "" }
+ // { dg-add-options float128 }
+ 
+ typedef decltype (0.0DL) A;
+ typedef _Float128 B;
+ void bar (A);			// { dg-message "initializing argument 1 of" }
+ 
+ void
+ foo (B x)
+ {
+   bar (x);			// { dg-warning "with unordered conversion rank" }
+ }
+ 
+ auto a = 0.0DL + 1.0F128;	// { dg-error "invalid operands to binary \\\+" }
+ auto b = 1.0F128 + 0.0DL;	// { dg-error "invalid operands to binary \\\+" }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/dfp/pr122834-2.C gcc-15-20260117/gcc/testsuite/g++.dg/dfp/pr122834-2.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/dfp/pr122834-2.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/dfp/pr122834-2.C	Sat Jan 17 22:32:08 2026
***************
*** 0 ****
--- 1,19 ----
+ // PR c++/122834
+ // { dg-do compile { target { c++11 && float16 } } }
+ // { dg-options "" }
+ // { dg-add-options float16 }
+ 
+ typedef decltype (0.0DL) A;
+ typedef _Float16 B;
+ void bar (A);
+ 
+ void
+ foo (B x)
+ {
+   bar (x);
+ }
+ 
+ auto a = 0.0DL + 1.0F16;
+ auto b = 1.0F16 + 0.0DL;
+ static_assert (__is_same_as (decltype (0.0DL + 1.0F16), decltype (0.0DL)));
+ static_assert (__is_same_as (decltype (1.0F16 + 0.0DL), decltype (0.0DL)));
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/other/pr123331.C gcc-15-20260117/gcc/testsuite/g++.dg/other/pr123331.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/other/pr123331.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/other/pr123331.C	Sat Jan 17 22:32:09 2026
***************
*** 0 ****
--- 1,20 ----
+ // PR c++/123331
+ // { dg-do compile }
+ // { dg-additional-options "-O2" }
+ 
+ struct A { virtual void foo () = 0; };
+ struct B { A a[1]; };	// { dg-error "cannot declare field 'B::a' to be of abstract type 'A'" }
+ // { dg-error "cannot allocate an object of abstract type 'A'" "" { target *-*-* } .-1 }
+ 
+ template <typename T>
+ void
+ bar (T x)
+ {
+ } 
+ 
+ int
+ main ()
+ {
+   B b;
+   bar (b); 
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-10.C gcc-15-20260117/gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-10.C
*** gcc-15-20260110/gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-10.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.dg/warn/Wmismatched-new-delete-10.C	Sat Jan 17 22:32:09 2026
***************
*** 0 ****
--- 1,25 ----
+ // PR tree-optimization/123513
+ // { dg-do compile }
+ // { dg-options "-Wmismatched-new-delete" }
+ 
+ typedef __SIZE_TYPE__ size_t;
+ 
+ template <size_t N>
+ class A {};
+ struct B { B (); };
+ 
+ template <size_t N>
+ void *operator new (size_t, A <N> &);
+ 
+ template <size_t N>
+ void operator delete (void *, A <N> &);
+ 
+ void
+ foo (B *, A <1024> &);
+ 
+ void
+ bar ()
+ {
+   A <1024> a;
+   foo (new (a) B (), a);	// { dg-bogus "called on pointer returned from a mismatched allocation function" }
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/g++.target/i386/avx512fp16-pr123607.C gcc-15-20260117/gcc/testsuite/g++.target/i386/avx512fp16-pr123607.C
*** gcc-15-20260110/gcc/testsuite/g++.target/i386/avx512fp16-pr123607.C	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/g++.target/i386/avx512fp16-pr123607.C	Sat Jan 17 22:32:09 2026
***************
*** 0 ****
--- 1,60 ----
+ // PR target/123607
+ // { dg-do assemble { target avx512fp16 } }
+ // { dg-options "-std=c++23 -O2 -mavx512fp16" }
+ 
+ namespace std::simd {
+ template <int> struct basic_mask {
+   bool _M_data;
+   bool operator[](int) { return _M_data; }
+ };
+ template <int _Ap>
+   requires(_Ap > 1)
+ struct basic_mask<_Ap> {
+   static constexpr int _N0 = _Ap / 2;
+   using _Mask1 = basic_mask<_N0>;
+   _Mask1 _M_data1;
+   static basic_mask _S_init(basic_mask<_N0>, _Mask1 __y) {
+     basic_mask __r;
+     __r._M_data1 = __y;
+     return __r;
+   }
+ };
+ template <int _Ap> struct basic_vec {
+   _Float16 _M_data;
+   using mask_type = basic_mask<_Ap>;
+   friend mask_type operator<(basic_vec __x, basic_vec __y) {
+     return mask_type(__x._M_data < __y._M_data);
+   }
+   friend basic_vec __select_impl(mask_type __k, basic_vec __t, basic_vec __f) {
+     return __k[0] ? __t : __f;
+   }
+ };
+ template <int _Ap>
+   requires(_Ap > 1)
+ struct basic_vec<_Ap> {
+   static constexpr int _N0 = _Ap / 2;
+   using _DataType1 = basic_vec<_N0>;
+   _DataType1 _M_data0;
+   _DataType1 _M_data1;
+   using mask_type = basic_mask<_Ap>;
+   static basic_vec _S_init(_DataType1 __y) {
+     basic_vec __r;
+     __r._M_data1 = __y;
+     return __r;
+   }
+   friend mask_type operator<(basic_vec __x, basic_vec __y) {
+     return mask_type::_S_init(__x._M_data0 < __y._M_data0,
+                               __x._M_data1 < __y._M_data1);
+   }
+   friend basic_vec __select_impl(mask_type __k, basic_vec __t, basic_vec __f) {
+     return _S_init(__select_impl(__k._M_data1, __t._M_data1, __f._M_data1));
+   }
+ };
+ basic_vec<4> b;
+ basic_vec<4> max(basic_vec<4> a) {
+   basic_mask __trans_tmp_1 = a < b;
+   return __select_impl(__trans_tmp_1, b, a);
+ }
+ }
+ namespace simd = std::simd;
+ simd::basic_vec test_runner___trans_tmp_2 = max(simd::basic_vec<4>());
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.c-torture/compile/pr120250.c gcc-15-20260117/gcc/testsuite/gcc.c-torture/compile/pr120250.c
*** gcc-15-20260110/gcc/testsuite/gcc.c-torture/compile/pr120250.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.c-torture/compile/pr120250.c	Sat Jan 17 22:32:09 2026
***************
*** 0 ****
--- 1,38 ----
+ /* PR target/120250 */
+ 
+ int a = 5, b = 7, c, *d;
+ void *l;
+ void foo (const char *s);
+ void bar (void);
+ void qux (const char *, int);
+ 
+ int
+ baz (int *d, int a, int b)
+ {
+   int c = 0;
+   for (int i = 0; i < a; ++i)
+     for (int j = 0; j < b; ++j)
+       c += d[i * b + j];
+   return c;
+ }
+ 
+ int
+ main ()
+ {
+   d = __builtin_malloc (a * b * sizeof (int));
+   if (!d)
+     {
+       foo ("foo");
+       __builtin_exit (1);
+     }
+   for (int i = 0; i < a; ++i)
+     for (int j = 0; j < b; ++j)
+       d[i * b + j] = i * b + j;
+   l = (void *) &bar;
+   goto *l;
+ bar:
+   c = baz (d, a, b);
+   qux ("bar", c);
+   __builtin_free (d);
+   return 0;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/fatal-error-sarif.py gcc-15-20260117/gcc/testsuite/gcc.dg/fatal-error-sarif.py
*** gcc-15-20260110/gcc/testsuite/gcc.dg/fatal-error-sarif.py	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/fatal-error-sarif.py	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,29 ----
+ from sarif import *
+ 
+ import pytest
+ 
+ @pytest.fixture(scope='function', autouse=True)
+ def sarif():
+     return sarif_from_env()
+ 
+ def test_execution_unsuccessful(sarif):
+     runs = sarif['runs']
+     run = runs[0]
+ 
+     invocations = run['invocations']
+     assert len(invocations) == 1
+     invocation = invocations[0]
+ 
+     # We expect the fatal error to make executionSuccessful be false
+     assert invocation['executionSuccessful'] == False
+ 
+ def test_fatal_error(sarif):
+     runs = sarif['runs']
+     run = runs[0]
+     results = run['results']
+ 
+     assert len(results) == 1
+     
+     result = results[0]
+     assert result['level'] == 'error'
+     assert result['message']['text'] == "this-does-not-exist.h: No such file or directory"
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/fatal-error.c gcc-15-20260117/gcc/testsuite/gcc.dg/fatal-error.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/fatal-error.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/fatal-error.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,9 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-fdiagnostics-add-output=sarif" } */
+ 
+ #include "this-does-not-exist.h"
+ 
+ /* { dg-prune-output "fatal error:" }
+    { dg-prune-output "compilation terminated" }
+    { dg-final { verify-sarif-file } }
+    { dg-final { run-sarif-pytest fatal-error.c "fatal-error-sarif.py" } } */
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c	Sat Jan 10 22:32:09 2026
--- gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-sarif.c	Thu Jan  1 00:00:00 1970
***************
*** 1,64 ****
- /* { dg-do compile } */
- /* { dg-options "-fdiagnostics-format=sarif-file" } */
- /* { dg-additional-options "-fno-report-bug" } */
- 
- extern void inject_write_through_null (void);
- 
- void test_inject_write_through_null (void)
- {
-   inject_write_through_null (); /* { dg-ice "" } */
-   /* { dg-regexp "during GIMPLE pass: crash_test" } */
- }
- 
- /* Verify that some JSON was written to a file with the expected name.  */
- /* { dg-final { verify-sarif-file } } */
- 
- /* We expect various properties.
-    The indentation here reflects the expected hierarchy, though these tests
-    don't check for that, merely the string fragments we expect.
- 
-    { dg-final { scan-sarif-file "\"version\": \"2.1.0\"" } }
-    { dg-final { scan-sarif-file "\"runs\": \\\[" } }
-      { dg-final { scan-sarif-file "\"artifacts\": \\\[" } } 
-        { dg-final { scan-sarif-file "\"location\": " } }
-          { dg-final { scan-sarif-file "\"uri\": " } }
- 
-        { dg-final { scan-sarif-file "\"sourceLanguage\": \"c\"" { target c } } }
-        { dg-final { scan-sarif-file "\"sourceLanguage\": \"cplusplus\"" { target c++ } } }
- 
-        { dg-final { scan-sarif-file "\"contents\": " } }
-          { dg-final { scan-sarif-file "\"text\": " } }
-      { dg-final { scan-sarif-file "\"tool\": " } }
-        { dg-final { scan-sarif-file "\"driver\": " } }
-          { dg-final { scan-sarif-file "\"name\": \"GNU C" } }
-          { dg-final { scan-sarif-file "\"fullName\": \"GNU C" } }
-          { dg-final { scan-sarif-file "\"informationUri\": \"" } }
-        { dg-final { scan-sarif-file "\"extensions\": \\\[" } }
-          { dg-final { scan-sarif-file "\"name\": \"crash_test_plugin\"" } }
- 
-      We expect no results:
-      { dg-final { scan-sarif-file "\"results\": \\\[\\\]" } }
- 
-      but instead should have an invocations array...
- 
-      { dg-final { scan-sarif-file "\"invocations\": \\\[" } }
- 
-      ...containing this:
-        { dg-final { scan-sarif-file "\"executionSuccessful\": false" } }
-        { dg-final { scan-sarif-file "\"toolExecutionNotifications\": \\\[" } }
- 
-        ...containing this notification:
-          { dg-final { scan-sarif-file "\"level\": \"error\"" } }
-          { dg-final { scan-sarif-file "\"locations\": \\\[" } }
-            { dg-final { scan-sarif-file "\"logicalLocations\": \\\[" } }
-              { dg-final { scan-sarif-file "\"kind\": \"function\"" } }
-              { dg-final { scan-sarif-file "\"name\": \"test_inject_write_through_null\"" } }
-            { dg-final { scan-sarif-file "\"physicalLocation\": " } }
-              { dg-final { scan-sarif-file "\"contextRegion\": " } }
-              { dg-final { scan-sarif-file "\"artifactLocation\": " } }
-              { dg-final { scan-sarif-file "\"region\": " } }
-                { dg-final { scan-sarif-file "\"startLine\": 9" } }
-                { dg-final { scan-sarif-file "\"startColumn\": 3" } }
-                { dg-final { scan-sarif-file "\"endColumn\": 31" } }
-          { dg-final { scan-sarif-file "\"message\": " } }
-            { dg-final { scan-sarif-file "\"text\": \"Segmentation \[Ff\]ault" } } */
--- 0 ----
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c	Sat Jan 10 22:32:09 2026
--- gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-though-null-stderr.c	Thu Jan  1 00:00:00 1970
***************
*** 1,10 ****
- /* { dg-do compile } */
- /* { dg-additional-options "-fno-report-bug" } */
- 
- extern void inject_write_through_null (void);
- 
- void test_inject_write_through_null (void)
- {
-   inject_write_through_null (); /* { dg-ice "Segmentation fault" } */ 
-   /* { dg-regexp "during GIMPLE pass: crash_test" } */
- }
--- 0 ----
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-sarif.c gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-sarif.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-sarif.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-sarif.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,64 ----
+ /* { dg-do compile } */
+ /* { dg-options "-fdiagnostics-format=sarif-file" } */
+ /* { dg-additional-options "-fno-report-bug" } */
+ 
+ extern void inject_write_through_null (void);
+ 
+ void test_inject_write_through_null (void)
+ {
+   inject_write_through_null (); /* { dg-ice "" } */
+   /* { dg-regexp "during GIMPLE pass: crash_test" } */
+ }
+ 
+ /* Verify that some JSON was written to a file with the expected name.  */
+ /* { dg-final { verify-sarif-file } } */
+ 
+ /* We expect various properties.
+    The indentation here reflects the expected hierarchy, though these tests
+    don't check for that, merely the string fragments we expect.
+ 
+    { dg-final { scan-sarif-file "\"version\": \"2.1.0\"" } }
+    { dg-final { scan-sarif-file "\"runs\": \\\[" } }
+      { dg-final { scan-sarif-file "\"artifacts\": \\\[" } } 
+        { dg-final { scan-sarif-file "\"location\": " } }
+          { dg-final { scan-sarif-file "\"uri\": " } }
+ 
+        { dg-final { scan-sarif-file "\"sourceLanguage\": \"c\"" { target c } } }
+        { dg-final { scan-sarif-file "\"sourceLanguage\": \"cplusplus\"" { target c++ } } }
+ 
+        { dg-final { scan-sarif-file "\"contents\": " } }
+          { dg-final { scan-sarif-file "\"text\": " } }
+      { dg-final { scan-sarif-file "\"tool\": " } }
+        { dg-final { scan-sarif-file "\"driver\": " } }
+          { dg-final { scan-sarif-file "\"name\": \"GNU C" } }
+          { dg-final { scan-sarif-file "\"fullName\": \"GNU C" } }
+          { dg-final { scan-sarif-file "\"informationUri\": \"" } }
+        { dg-final { scan-sarif-file "\"extensions\": \\\[" } }
+          { dg-final { scan-sarif-file "\"name\": \"crash_test_plugin\"" } }
+ 
+      We expect no results:
+      { dg-final { scan-sarif-file "\"results\": \\\[\\\]" } }
+ 
+      but instead should have an invocations array...
+ 
+      { dg-final { scan-sarif-file "\"invocations\": \\\[" } }
+ 
+      ...containing this:
+        { dg-final { scan-sarif-file "\"executionSuccessful\": false" } }
+        { dg-final { scan-sarif-file "\"toolExecutionNotifications\": \\\[" } }
+ 
+        ...containing this notification:
+          { dg-final { scan-sarif-file "\"level\": \"error\"" } }
+          { dg-final { scan-sarif-file "\"locations\": \\\[" } }
+            { dg-final { scan-sarif-file "\"logicalLocations\": \\\[" } }
+              { dg-final { scan-sarif-file "\"kind\": \"function\"" } }
+              { dg-final { scan-sarif-file "\"name\": \"test_inject_write_through_null\"" } }
+            { dg-final { scan-sarif-file "\"physicalLocation\": " } }
+              { dg-final { scan-sarif-file "\"contextRegion\": " } }
+              { dg-final { scan-sarif-file "\"artifactLocation\": " } }
+              { dg-final { scan-sarif-file "\"region\": " } }
+                { dg-final { scan-sarif-file "\"startLine\": 9" } }
+                { dg-final { scan-sarif-file "\"startColumn\": 3" } }
+                { dg-final { scan-sarif-file "\"endColumn\": 31" } }
+          { dg-final { scan-sarif-file "\"message\": " } }
+            { dg-final { scan-sarif-file "\"text\": \"Segmentation \[Ff\]ault" } } */
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-stderr.c gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-stderr.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-stderr.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/crash-test-write-through-null-stderr.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ /* { dg-additional-options "-fno-report-bug" } */
+ 
+ extern void inject_write_through_null (void);
+ 
+ void test_inject_write_through_null (void)
+ {
+   inject_write_through_null (); /* { dg-ice "Segmentation fault" } */ 
+   /* { dg-regexp "during GIMPLE pass: crash_test" } */
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/plugin.exp gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/plugin.exp
*** gcc-15-20260110/gcc/testsuite/gcc.dg/plugin/plugin.exp	Sat Jan 10 22:32:09 2026
--- gcc-15-20260117/gcc/testsuite/gcc.dg/plugin/plugin.exp	Sat Jan 17 22:32:10 2026
*************** set plugin_test_list [list \
*** 70,81 ****
      { poly-int-06_plugin.cc poly-int-test-1.c } \
      { poly-int-07_plugin.cc poly-int-test-1.c } \
      { crash_test_plugin.cc \
- 	  crash-test-ice-stderr.c \
- 	  crash-test-write-though-null-stderr.c \
- 	  crash-test-ice-sarif.c \
  	  crash-test-ice-in-header-sarif-2.1.c \
  	  crash-test-ice-in-header-sarif-2.2.c \
! 	  crash-test-write-though-null-sarif.c } \
      { diagnostic_plugin_xhtml_format.cc \
  	  diagnostic-test-xhtml-1.c } \
      { diagnostic_group_plugin.cc \
--- 70,81 ----
      { poly-int-06_plugin.cc poly-int-test-1.c } \
      { poly-int-07_plugin.cc poly-int-test-1.c } \
      { crash_test_plugin.cc \
  	  crash-test-ice-in-header-sarif-2.1.c \
  	  crash-test-ice-in-header-sarif-2.2.c \
! 	  crash-test-ice-sarif.c \
! 	  crash-test-ice-stderr.c \
! 	  crash-test-write-through-null-sarif.c \
! 	  crash-test-write-through-null-stderr.c } \
      { diagnostic_plugin_xhtml_format.cc \
  	  diagnostic-test-xhtml-1.c } \
      { diagnostic_group_plugin.cc \
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/pr123300.c gcc-15-20260117/gcc/testsuite/gcc.dg/pr123300.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/pr123300.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/pr123300.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,29 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fdump-tree-vrp1" } */
+ [[gnu::noipa]] void
+ bar (int a, int b)
+ {
+   if (a < 0)
+     __builtin_abort ();
+ }
+ 
+ [[gnu::noipa]] void
+ foo (int n, bool p)
+ {
+   for (int i = n; i-- > 0;)
+     {
+       const int x = 1 << i;
+       if (x <= 0)
+ 	__builtin_unreachable ();
+       if (p)
+ 	bar (i, x);
+     }
+ }
+ 
+ int
+ main ()
+ {
+   foo (4, true);
+ }
+ /* { dg-final { scan-tree-dump "__builtin_unreachable" "vrp1" } } */
+ 
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/pr123431.c gcc-15-20260117/gcc/testsuite/gcc.dg/pr123431.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/pr123431.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/pr123431.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,19 ----
+ /* PR tree-optimization/123431 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ extern void foo (int);
+ 
+ extern inline __attribute__((always_inline)) void
+ bar (int x, ...)
+ {
+   if (__builtin_constant_p (__builtin_va_arg_pack ()))
+     foo (x);
+ }
+ 
+ void
+ baz (int x)
+ {
+   bar (1, 2);
+   bar (3, x);
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.dg/tree-ssa/pr123372.c gcc-15-20260117/gcc/testsuite/gcc.dg/tree-ssa/pr123372.c
*** gcc-15-20260110/gcc/testsuite/gcc.dg/tree-ssa/pr123372.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.dg/tree-ssa/pr123372.c	Sat Jan 17 22:32:10 2026
***************
*** 0 ****
--- 1,25 ----
+ /* PR tree-optimization/123372 */
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -fgimple" } */
+ 
+ #ifdef __SIZEOF_INT128__
+ #define T unsigned __int128
+ #else
+ #define T unsigned long long
+ #endif
+ 
+ unsigned int __GIMPLE (ssa,startwith("phiopt4"))
+ foo (T a, T b)
+ {
+   T _4;
+   unsigned int _1;
+   bool _5;
+   unsigned int _6;
+ 
+   __BB(2):
+   _5 = a_2(D) >= b_3(D);
+   _4 = a_2(D) - b_3(D);
+   _6 = (unsigned int) _4;
+   _1 = _5 ? _6 : 0U;
+   return _1;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr123392.c gcc-15-20260117/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr123392.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr123392.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/aarch64/sve/acle/general/pr123392.c	Sat Jan 17 22:32:11 2026
***************
*** 0 ****
--- 1,10 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -g" } */
+ 
+ #include <arm_sve.h>
+ 
+ svint32_t res (int32_t *a)
+ {
+   svint32_t s = { a[0], a[1], a[2], a[3] };
+   return s;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/keylocker-pr123217.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/keylocker-pr123217.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/keylocker-pr123217.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/keylocker-pr123217.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,13 ----
+ /* PR target/123217 */
+ /* { dg-do compile } */
+ /* { dg-options "-mkl -O0" } */
+ 
+ __attribute__((__vector_size__(16))) long long v, w;
+ 
+ unsigned
+ foo (void *p, void *q)
+ {
+   unsigned x = __builtin_ia32_encodekey128_u32 (0U, v, p);
+   unsigned y = __builtin_ia32_encodekey256_u32 (0U, v, w, q);
+   return x + y;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123121.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123121.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123121.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123121.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,57 ----
+ /* { dg-do run } */
+ /* { dg-require-effective-target lp64 } */
+ /* { dg-options "-O3 -fno-ipa-cp -fschedule-insns" } */
+ 
+ int a[256], d, e, f, g, h, j, v[] = {0, -6, 0};;
+ unsigned c;
+ unsigned k(int l, unsigned m) { return (l & 6777215) ^ a[(l ^ m) & 55]; }
+ int n(int l, int m[]) {
+   int i = 0;
+   for (; i < l; ++i) {
+     e = c >> 8 ^ a[m[i] & 255];
+     d = e;
+     d = k(d, m[i] >> 8 & 255);
+     d = k(d, m[i] >> 6);
+     f = (d & 6777215) ^ a[d & 5];
+     c = f;
+   }
+   return f;
+ }
+ int o() {
+   n(8, (int[]){g});
+   return n(6, (int[]){h});
+ }
+ int p(int l, int m[], int q, int r) {
+   int s = r = j + 1;
+   s = -(4 % q - 1);
+   if (r)
+     goto t;
+  ad:
+   l = 6 - l;
+   if (l)
+     goto ae;
+  t:
+   m[0] = s;
+   j = r;
+   goto af;
+  ae:
+   if (o())
+     goto ad;
+  af:
+   r = -s - m[1] - 8;
+   s = 1 % m[0] - s;
+   m[1] = 1 / r;
+   int a[] = {l, m[0], m[1], m[2], q, r, r, s};
+   return n(8, a);
+ }
+ int main() {
+   for (int i = 0; i < 256; i++) {
+     unsigned b = i;
+     if (i & 1)
+       b = b >> 1 ^ 3988292384;
+     a[i] = b;
+   }
+   if (p(1, v, 5, 0) / 100000)
+     p(1, 0, 5, 0);
+   return 0;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123484.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123484.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123484.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123484.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mavx512vl -mavx512fp16 " }*/
+ typedef __attribute__((__vector_size__ (8))) _Float16 F;
+ int a, b;
+ F f, *p;
+ 
+ void
+ foo ()
+ {
+   do
+     {
+       f /= b ? *p : (F) {40};
+ l:
+     }
+   while (a);
+   goto l;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123489.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123489.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123489.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123489.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,20 ----
+ /* PR target/123489 */
+ /* { dg-do compile } */
+ /* { dg-options "-mavx10.2" } */
+ 
+ typedef double v2df __attribute__((__vector_size__(16)));
+ typedef float v4sf __attribute__((__vector_size__(16)));
+ 
+ long long
+ foo ()
+ {
+   return __builtin_ia32_cvttsd2sis64_round ((v2df) {}, 8)	/* { dg-error "implicit declaration of function" "" { target ia32 } } */
+ 	 + __builtin_ia32_cvttsd2usis64_round ((v2df) {}, 8);	/* { dg-error "implicit declaration of function" "" { target ia32 } } */
+ }
+ 
+ long long
+ bar ()
+ {
+   return __builtin_ia32_cvttss2sis64_round ((v4sf) {}, 8)	/* { dg-error "implicit declaration of function" "" { target ia32 } } */
+ 	 + __builtin_ia32_cvttss2usis64_round ((v4sf) {}, 8);	/* { dg-error "implicit declaration of function" "" { target ia32 } } */
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123523.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123523.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/pr123523.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/pr123523.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,24 ----
+ /* PR rtl-optimization/123523 */
+ /* { dg-do compile } */
+ /* { dg-options "-O -mavx512vl -mavx512bw" } */
+ 
+ typedef __attribute__((__vector_size__ (16))) short V;
+ typedef __attribute__((__vector_size__ (32))) short W;
+ 
+ char c;
+ W *p, *q;
+ short s;
+ 
+ void
+ bar (V v, int, int, int, int, int, int, void *)
+ {
+   W w = __builtin_ia32_psrlw256_mask ((W) { }, v, *p, 0);
+   short x = __builtin_ia32_pcmpgtw256_mask (w, *q, 0);
+   __builtin_mul_overflow (x, c, &s);
+ }
+ 
+ void
+ foo ()
+ {
+   bar ((V){0, -14}, 0, 0, 0, 0, 0, 0, q);
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/i386/user_msr-pr123217.c gcc-15-20260117/gcc/testsuite/gcc.target/i386/user_msr-pr123217.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/i386/user_msr-pr123217.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/i386/user_msr-pr123217.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,10 ----
+ /* PR target/123217 */
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-musermsr -O0" } */
+ 
+ unsigned long long
+ foo (unsigned long long x)
+ {
+   unsigned long long y = __builtin_ia32_urdmsr (x);
+   return y;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/loongarch/attr-model-6.c gcc-15-20260117/gcc/testsuite/gcc.target/loongarch/attr-model-6.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/loongarch/attr-model-6.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/loongarch/attr-model-6.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do compile } */
+ /* { dg-options "-mexplicit-relocs=none -mcmodel=normal -O2 -fno-pic" } */
+ /* { dg-final { scan-assembler "la.local\t\\\$r\[0-9\]+,\\\$r\[0-9\]+,x" } } */
+ /* { dg-final { scan-assembler "la.local\t\\\$r\[0-9\]+,y" } } */
+ /* { dg-final { scan-assembler "la.local\t\\\$r\[0-9\]+,\\\$r\[0-9\]+,counter" } } */
+ 
+ #define ATTR_MODEL_TEST
+ #include "attr-model-test.c"
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c gcc-15-20260117/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c
*** gcc-15-20260110/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gcc.target/loongarch/vector/lasx/pr123521.c	Sat Jan 17 22:32:12 2026
***************
*** 0 ****
--- 1,11 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O1 -msimd=lasx" } */
+ 
+ typedef long long v4i64 __attribute__ ((vector_size (32), aligned (32)));
+ extern long long *x_si;
+ v4i64
+ test (void)
+ {
+   v4i64 a = { x_si[1], x_si[0], 0x411, 0x411 };
+   return a;
+ }
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gnat.dg/component_value1.adb gcc-15-20260117/gcc/testsuite/gnat.dg/component_value1.adb
*** gcc-15-20260110/gcc/testsuite/gnat.dg/component_value1.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gnat.dg/component_value1.adb	Sat Jan 17 22:32:13 2026
***************
*** 0 ****
--- 1,32 ----
+ --  { dg-do run }
+ 
+ with Ada.Characters.Latin_1;
+ 
+ procedure Component_Value1 is
+ 
+   type Y_Array is array (Natural range <>) of Character
+     with Default_Component_Value => Ada.Characters.Latin_1.Space;
+ 
+   type Y2_Array is new Y_Array
+     with Default_Component_Value => Ada.Characters.Latin_1.HT;
+ 
+   type X_String is new String
+     with Default_Component_Value => Ada.Characters.Latin_1.Space;
+ 
+   Y  : Y_Array  (1..20);
+   Y2 : Y2_Array (1..20);
+   X  : X_String (1..20);
+ 
+ begin
+   if not (for all I in Y'Range => Y(I) = Ada.Characters.Latin_1.Space) then
+     raise Program_Error;
+   end if;
+ 
+   if not (for all I in Y2'Range => Y2(I) = Ada.Characters.Latin_1.HT) then
+     raise Program_Error;
+   end if;
+ 
+   if not (for all I in X'Range => X(I) = Ada.Characters.Latin_1.Space) then
+     raise Program_Error;
+   end if;
+ end;
diff -Nrcpad gcc-15-20260110/gcc/testsuite/gnat.dg/component_value2.adb gcc-15-20260117/gcc/testsuite/gnat.dg/component_value2.adb
*** gcc-15-20260110/gcc/testsuite/gnat.dg/component_value2.adb	Thu Jan  1 00:00:00 1970
--- gcc-15-20260117/gcc/testsuite/gnat.dg/component_value2.adb	Sat Jan 17 22:32:13 2026
***************
*** 0 ****
--- 1,22 ----
+ --  { dg-do run }
+ 
+ procedure Component_Value2 is
+ 
+    type Bool_Packed_Array is array (Positive range 1 .. 20) of Boolean
+      with Default_Component_Value => False, Pack;
+ 
+    type Bool_Nonpacked_Array is array (Positive range 1 .. 20) of Boolean
+      with Default_Component_Value => False;
+ 
+    P  : Bool_Packed_Array;
+    NP : Bool_Nonpacked_Array;
+ 
+ begin
+    if not (for all I in P'Range => P(I) = False) then
+       raise Program_Error;
+    end if;
+ 
+    if not (for all I in NP'Range => P(I) = False) then
+       raise Program_Error;
+    end if;
+ end;
diff -Nrcpad gcc-15-20260110/gcc/tree-object-size.cc gcc-15-20260117/gcc/tree-object-size.cc
*** gcc-15-20260110/gcc/tree-object-size.cc	Sat Jan 10 22:32:13 2026
--- gcc-15-20260117/gcc/tree-object-size.cc	Sat Jan 17 22:32:14 2026
*************** object_sizes_set_temp (struct object_siz
*** 322,330 ****
    tree val = object_sizes_get (osi, varno);
  
    if (size_initval_p (val, osi->object_size_type))
!     object_sizes_set (osi, varno,
! 		      make_ssa_name (sizetype),
! 		      make_ssa_name (sizetype));
  }
  
  /* Initialize OFFSET_LIMIT variable.  */
--- 322,332 ----
    tree val = object_sizes_get (osi, varno);
  
    if (size_initval_p (val, osi->object_size_type))
!     {
!       val = make_ssa_name (sizetype);
!       tree wholeval = make_ssa_name (sizetype);
!       object_sizes_set (osi, varno, val, wholeval);
!     }
  }
  
  /* Initialize OFFSET_LIMIT variable.  */
diff -Nrcpad gcc-15-20260110/gcc/tree-ssa-math-opts.cc gcc-15-20260117/gcc/tree-ssa-math-opts.cc
*** gcc-15-20260110/gcc/tree-ssa-math-opts.cc	Sat Jan 10 22:32:13 2026
--- gcc-15-20260117/gcc/tree-ssa-math-opts.cc	Sat Jan 17 22:32:14 2026
*************** build_saturation_binary_arith_call_and_r
*** 4075,4081 ****
  						internal_fn fn, tree lhs,
  						tree op_0, tree op_1)
  {
!   if (direct_internal_fn_supported_p (fn, TREE_TYPE (lhs), OPTIMIZE_FOR_BOTH))
      {
        gcall *call = gimple_build_call_internal (fn, 2, op_0, op_1);
        gimple_call_set_lhs (call, lhs);
--- 4075,4081 ----
  						internal_fn fn, tree lhs,
  						tree op_0, tree op_1)
  {
!   if (direct_internal_fn_supported_p (fn, TREE_TYPE (op_0), OPTIMIZE_FOR_BOTH))
      {
        gcall *call = gimple_build_call_internal (fn, 2, op_0, op_1);
        gimple_call_set_lhs (call, lhs);
diff -Nrcpad gcc-15-20260110/gcc/tree-vrp.cc gcc-15-20260117/gcc/tree-vrp.cc
*** gcc-15-20260110/gcc/tree-vrp.cc	Sat Jan 10 22:32:13 2026
--- gcc-15-20260117/gcc/tree-vrp.cc	Sat Jan 17 22:32:14 2026
*************** along with GCC; see the file COPYING3.
*** 87,101 ****
  class remove_unreachable {
  public:
    remove_unreachable (range_query &r, bool all) : m_ranger (r), final_p (all)
!     { m_list.create (30); }
!   ~remove_unreachable () { m_list.release (); }
    void handle_early (gimple *s, edge e);
    void maybe_register (gimple *s);
    bool remove ();
    bool remove_and_update_globals ();
    vec<std::pair<int, int> > m_list;
    range_query &m_ranger;
    bool final_p;
  };
  
  // Check if block BB has a __builtin_unreachable () call on one arm, and
--- 87,103 ----
  class remove_unreachable {
  public:
    remove_unreachable (range_query &r, bool all) : m_ranger (r), final_p (all)
!     { m_list.create (30); m_tmp = BITMAP_ALLOC (NULL); }
!   ~remove_unreachable () { BITMAP_FREE (m_tmp); m_list.release (); }
    void handle_early (gimple *s, edge e);
    void maybe_register (gimple *s);
    bool remove ();
    bool remove_and_update_globals ();
+   bool fully_replaceable (tree name, basic_block bb);
    vec<std::pair<int, int> > m_list;
    range_query &m_ranger;
    bool final_p;
+   bitmap m_tmp;
  };
  
  // Check if block BB has a __builtin_unreachable () call on one arm, and
*************** remove_unreachable::maybe_register (gimp
*** 141,148 ****
  //    goto <bb 3>; [0.00%]
  //  Any additional use of _1 or _2 in this block invalidates early replacement.
  
! static bool
! fully_replaceable (tree name, basic_block bb)
  {
    use_operand_p use_p;
    imm_use_iterator iter;
--- 143,150 ----
  //    goto <bb 3>; [0.00%]
  //  Any additional use of _1 or _2 in this block invalidates early replacement.
  
! bool
! remove_unreachable::fully_replaceable (tree name, basic_block bb)
  {
    use_operand_p use_p;
    imm_use_iterator iter;
*************** remove_unreachable::handle_early (gimple
*** 213,221 ****
    gcc_checking_assert (gimple_outgoing_range_stmt_p (e->src) == s);
    gcc_checking_assert (!final_p);
  
!   // Check if every export use is dominated by this branch.
    tree name;
!   FOR_EACH_GORI_EXPORT_NAME (m_ranger.gori_ssa (), e->src, name)
      {
        if (!fully_replaceable (name, e->src))
  	return;
--- 215,225 ----
    gcc_checking_assert (gimple_outgoing_range_stmt_p (e->src) == s);
    gcc_checking_assert (!final_p);
  
!   // Check if every export and its dependencies are dominated by this branch.
!   // Dependencies are required as it needs to dominate potential
!   // recalculations.  See PR 123300.
    tree name;
!   FOR_EACH_GORI_EXPORT_AND_DEP_NAME (m_ranger.gori_ssa (), e->src, name, m_tmp)
      {
        if (!fully_replaceable (name, e->src))
  	return;
diff -Nrcpad gcc-15-20260110/gcc/tree.cc gcc-15-20260117/gcc/tree.cc
*** gcc-15-20260110/gcc/tree.cc	Sat Jan 10 22:32:13 2026
--- gcc-15-20260117/gcc/tree.cc	Sat Jan 17 22:32:14 2026
*************** valid_new_delete_pair_p (tree new_asm, t
*** 15189,15194 ****
--- 15189,15201 ----
    if ((new_name[2] != 'w' || delete_name[2] != 'l')
        && (new_name[2] != 'a' || delete_name[2] != 'a'))
      return false;
+   if (new_name[3] == 'I' || delete_name[3] == 'I')
+     {
+       /* When ::operator new or ::operator delete are function templates,
+ 	 return uncertain mismatch, we need demangler in that case.  */
+       *pcertain = false;
+       return false;
+     }
    /* 'j', 'm' and 'y' correspond to size_t.  */
    if (new_name[3] != 'j' && new_name[3] != 'm' && new_name[3] != 'y')
      return false;
