diff -Nrcpad gcc-14-20251107/LAST_UPDATED gcc-14-20251114/LAST_UPDATED
*** gcc-14-20251107/LAST_UPDATED	Fri Nov  7 22:35:20 2025
--- gcc-14-20251114/LAST_UPDATED	Fri Nov 14 22:35:10 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision 08a4b75a5d73cf5dcdaf24b8374bbeaadb2e3887
--- 1 ----
! Obtained from git: releases/gcc-14 revision 0c57a97066ceea1713a66a9ac9bc982c5941d1e7
diff -Nrcpad gcc-14-20251107/MD5SUMS gcc-14-20251114/MD5SUMS
*** gcc-14-20251107/MD5SUMS	Fri Nov  7 22:35:25 2025
--- gcc-14-20251114/MD5SUMS	Fri Nov 14 22:35:21 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20251107.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20251114.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 0c2c92a0443136bc94ec7fadb8b11ba9  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 7527767ba0ac82b636f7863402568d02  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! fa1cd1bcfeb47aa165a18d41c6e60e5d  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! a6e1a2c4951d3f8fb59af193ec7ebae2  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 77f0f131cbc085c6924f9e77c349e2b4  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 8a16ecd969439fb368cc0dbdaef7f853  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** c2a5ce1ee84615aa52b4f799a2145596  gcc/co
*** 3931,3941 ****
  6fb8f575d2ba05a77e86b2a4670259bb  gcc/config/hpux11.opt.urls
  ae17e86c8fe5840b6a46050b1cfcfe1e  gcc/config/i386/adxintrin.h
  cec853bfbc05465372e2d9209db77190  gcc/config/i386/ammintrin.h
! 1bec839682bc45593f2151042e170b96  gcc/config/i386/amxbf16intrin.h
! ec029ca822a74239a707f2af46e6fdd8  gcc/config/i386/amxcomplexintrin.h
! 161f86283fe6c5f1fbc3b31b18b55e6c  gcc/config/i386/amxfp16intrin.h
! 75a05cb93c9574d532bd22516622b6b8  gcc/config/i386/amxint8intrin.h
! 93230e68087adc86d3522722f61691de  gcc/config/i386/amxtileintrin.h
  71924dc46e17c794c14a1714c186e882  gcc/config/i386/athlon.md
  1137d7b41f29f9980a579371eaf574bf  gcc/config/i386/atom.md
  7bcdf33d98d5875d2591173680db353e  gcc/config/i386/att.h
--- 3931,3941 ----
  6fb8f575d2ba05a77e86b2a4670259bb  gcc/config/hpux11.opt.urls
  ae17e86c8fe5840b6a46050b1cfcfe1e  gcc/config/i386/adxintrin.h
  cec853bfbc05465372e2d9209db77190  gcc/config/i386/ammintrin.h
! 22afc82e28615d95a70de530000c6d97  gcc/config/i386/amxbf16intrin.h
! 34982f3254c952a935aa1207ea8333ed  gcc/config/i386/amxcomplexintrin.h
! 009389a0d3a2b13609939b4d5a5025c2  gcc/config/i386/amxfp16intrin.h
! ecb39ba788db4b1915f897f9897c5d36  gcc/config/i386/amxint8intrin.h
! c1711c0d4b953463ee0cb2f9c0baf478  gcc/config/i386/amxtileintrin.h
  71924dc46e17c794c14a1714c186e882  gcc/config/i386/athlon.md
  1137d7b41f29f9980a579371eaf574bf  gcc/config/i386/atom.md
  7bcdf33d98d5875d2591173680db353e  gcc/config/i386/att.h
*************** ba884745a15d4b194d0ad2e286b0c617  gcc/co
*** 4284,4290 ****
  33ffb3b80383744cc4872c3213e50ac5  gcc/config/loongarch/gnu-user.h
  73cc35d0159715accf631cf5373b9fcf  gcc/config/loongarch/la464.md
  56be38a805f1110cf87ba4a7105324a5  gcc/config/loongarch/larchintrin.h
! 8d26b2428208f8a96ec47308927102e1  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
  fe166d2fd30d3bf70487dde04e5ba257  gcc/config/loongarch/loongarch-builtins.cc
--- 4284,4290 ----
  33ffb3b80383744cc4872c3213e50ac5  gcc/config/loongarch/gnu-user.h
  73cc35d0159715accf631cf5373b9fcf  gcc/config/loongarch/la464.md
  56be38a805f1110cf87ba4a7105324a5  gcc/config/loongarch/larchintrin.h
! 75616939b662730a672deb2d421051a4  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
  fe166d2fd30d3bf70487dde04e5ba257  gcc/config/loongarch/loongarch-builtins.cc
*************** ea6cc43b3fa3313db4228947eed2152e  gcc/co
*** 4307,4322 ****
  3ce5af4b5c069929ba519548d5342e90  gcc/config/loongarch/loongarch-protos.h
  3b7b410fd2ede1c56c692fa390a8d415  gcc/config/loongarch/loongarch-str.h
  2088d1b3164d3464806a7627d2fd6e52  gcc/config/loongarch/loongarch-tune.h
! 0fd719e6fef456e8d3375dc8a0893a8a  gcc/config/loongarch/loongarch.cc
  39c8662694bff1c4d52f90cba43e5048  gcc/config/loongarch/loongarch.h
  979b7bb4986f91fe92c3ac05a83f249c  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
  93b3f21362e888da73ecb40a067439a3  gcc/config/loongarch/loongarch.opt.urls
! 089d55be1626bf01eaae34410b06b8ef  gcc/config/loongarch/lsx.md
  936e07cd1770c2a1e09db72cf3dc7e24  gcc/config/loongarch/lsxintrin.h
  42270d3318bceb069807243f3475a89f  gcc/config/loongarch/musl.h
  f6fd546f0f47cd5d43b7f1082da4ede6  gcc/config/loongarch/predicates.md
! 2b4069944791d9480d23a0ea09341165  gcc/config/loongarch/simd.md
  f4de53ee085303195a3c4eb57c3663c6  gcc/config/loongarch/sync.md
  49279b28d5c2ec9c67b9f93840713af2  gcc/config/loongarch/t-linux
  88690e1c28b92ae6052572c149de682f  gcc/config/loongarch/t-loongarch
--- 4307,4322 ----
  3ce5af4b5c069929ba519548d5342e90  gcc/config/loongarch/loongarch-protos.h
  3b7b410fd2ede1c56c692fa390a8d415  gcc/config/loongarch/loongarch-str.h
  2088d1b3164d3464806a7627d2fd6e52  gcc/config/loongarch/loongarch-tune.h
! 00a0857935bbadfe88dc1b06bb80ec4f  gcc/config/loongarch/loongarch.cc
  39c8662694bff1c4d52f90cba43e5048  gcc/config/loongarch/loongarch.h
  979b7bb4986f91fe92c3ac05a83f249c  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
  93b3f21362e888da73ecb40a067439a3  gcc/config/loongarch/loongarch.opt.urls
! 080a7a7e80353157fce6b9d03531ce14  gcc/config/loongarch/lsx.md
  936e07cd1770c2a1e09db72cf3dc7e24  gcc/config/loongarch/lsxintrin.h
  42270d3318bceb069807243f3475a89f  gcc/config/loongarch/musl.h
  f6fd546f0f47cd5d43b7f1082da4ede6  gcc/config/loongarch/predicates.md
! 71d8e1e096df78a094a68c4b5efdf6b7  gcc/config/loongarch/simd.md
  f4de53ee085303195a3c4eb57c3663c6  gcc/config/loongarch/sync.md
  49279b28d5c2ec9c67b9f93840713af2  gcc/config/loongarch/t-linux
  88690e1c28b92ae6052572c149de682f  gcc/config/loongarch/t-loongarch
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8061,8067 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 29de9f367a6e7bfcc52eceef0fd58263  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8061,8067 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 47307e35e4d0e6294034b891f4bb4292  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** aa1fa5c91fdecbdc2a47df1fff1bf867  gcc/te
*** 35202,35207 ****
--- 35202,35213 ----
  c0a91cb95c28284467d6172e3d18f9a2  gcc/testsuite/g++.target/i386/pr114810.C
  3ccb97fa4243cd6093fd83a5bf2d35fb  gcc/testsuite/g++.target/i386/pr115351.C
  309d3ebda65ef0d79e21d0a9c0310055  gcc/testsuite/g++.target/i386/pr119689.C
+ 8881751e1efd14bcab3460abca01e627  gcc/testsuite/g++.target/i386/pr122446-1.C
+ e7e909b0858a352117bc6ee5a8fcafc7  gcc/testsuite/g++.target/i386/pr122446-amxbf16.C
+ b48e2095b969e9e4d541b80007eaed1f  gcc/testsuite/g++.target/i386/pr122446-amxcomplex.C
+ ea015573ee8ddabae38c2a615f8228fb  gcc/testsuite/g++.target/i386/pr122446-amxfp16.C
+ 59ffb1a0656cc43a87c4b7e240fb28c6  gcc/testsuite/g++.target/i386/pr122446-amxint8.C
+ ffbb5e0bd5668625c6d5cef769228118  gcc/testsuite/g++.target/i386/pr122446-amxtile.C
  55fb67abf6517f92b1a0240d2c06b5c5  gcc/testsuite/g++.target/i386/pr35513-1.C
  14dde546e4eefec7aa6d1ac41261cb16  gcc/testsuite/g++.target/i386/pr35513-2.C
  1c706f97b6d93c0124dc4a203c98f6d2  gcc/testsuite/g++.target/i386/pr57362.C
*************** d3f15f077bac4fdd98e262ff70319e29  gcc/te
*** 69508,69524 ****
  ab183c688cdb4a97e3f15f79a1c2e13f  gcc/testsuite/gcc.target/i386/amx-check.h
  e41de94d793974394641e42ed7370a65  gcc/testsuite/gcc.target/i386/amx-helper.h
  3e5ed8f51d1403b179db592f12cb019c  gcc/testsuite/gcc.target/i386/amxbf16-asmatt-1.c
! 215b9569abd57352c2d13ba5129e07cd  gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c
  c4406ef230e7a6bb0e7b45b2f94958e9  gcc/testsuite/gcc.target/i386/amxbf16-dpbf16ps-2.c
  0787eb1011631a123144aa2e9fe5b9f2  gcc/testsuite/gcc.target/i386/amxcomplex-asmatt-1.c
! 971dbba18c823297793b59421738511a  gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c
  88abb806331f7455dfc053e7bfa9993d  gcc/testsuite/gcc.target/i386/amxcomplex-cmmimfp16ps-2.c
  5029635b15d7dd713761d53e4630a666  gcc/testsuite/gcc.target/i386/amxcomplex-cmmrlfp16ps-2.c
  0a13ebe83385a9aedb0a82cf5504a96b  gcc/testsuite/gcc.target/i386/amxfp16-asmatt-1.c
! eefaf66ff1c174b18d152560427620f0  gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c
  26723806e86b2502f2d6b3c39febf8ce  gcc/testsuite/gcc.target/i386/amxfp16-dpfp16ps-2.c
  9c0241aa040bd07b656b878c62a423b9  gcc/testsuite/gcc.target/i386/amxint8-asmatt-1.c
! 2622cfbb5e38bb55e4751132b8d85ea3  gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c
  06751f31b3086f1ff040533de854e994  gcc/testsuite/gcc.target/i386/amxint8-dpbssd-2.c
  e3f6b37649c7f1fa4d20b6327cdcdb27  gcc/testsuite/gcc.target/i386/amxint8-dpbsud-2.c
  a8ab966558faa138830cc3e75dbe4464  gcc/testsuite/gcc.target/i386/amxint8-dpbusd-2.c
--- 69514,69530 ----
  ab183c688cdb4a97e3f15f79a1c2e13f  gcc/testsuite/gcc.target/i386/amx-check.h
  e41de94d793974394641e42ed7370a65  gcc/testsuite/gcc.target/i386/amx-helper.h
  3e5ed8f51d1403b179db592f12cb019c  gcc/testsuite/gcc.target/i386/amxbf16-asmatt-1.c
! 56eacc542ab2a1453a34424301380e68  gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c
  c4406ef230e7a6bb0e7b45b2f94958e9  gcc/testsuite/gcc.target/i386/amxbf16-dpbf16ps-2.c
  0787eb1011631a123144aa2e9fe5b9f2  gcc/testsuite/gcc.target/i386/amxcomplex-asmatt-1.c
! 4a8b5d514b0a549de6d01da6a871cace  gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c
  88abb806331f7455dfc053e7bfa9993d  gcc/testsuite/gcc.target/i386/amxcomplex-cmmimfp16ps-2.c
  5029635b15d7dd713761d53e4630a666  gcc/testsuite/gcc.target/i386/amxcomplex-cmmrlfp16ps-2.c
  0a13ebe83385a9aedb0a82cf5504a96b  gcc/testsuite/gcc.target/i386/amxfp16-asmatt-1.c
! 6367ac8d32cb21d49cfff80aef3427bd  gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c
  26723806e86b2502f2d6b3c39febf8ce  gcc/testsuite/gcc.target/i386/amxfp16-dpfp16ps-2.c
  9c0241aa040bd07b656b878c62a423b9  gcc/testsuite/gcc.target/i386/amxint8-asmatt-1.c
! 2a1a600bd028c3c6663894e5e2dbe1ac  gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c
  06751f31b3086f1ff040533de854e994  gcc/testsuite/gcc.target/i386/amxint8-dpbssd-2.c
  e3f6b37649c7f1fa4d20b6327cdcdb27  gcc/testsuite/gcc.target/i386/amxint8-dpbsud-2.c
  a8ab966558faa138830cc3e75dbe4464  gcc/testsuite/gcc.target/i386/amxint8-dpbusd-2.c
*************** fc50af06e61cf9d13887f2fe515b0e27  gcc/te
*** 69527,69533 ****
  a455baf8f9990eb7494164842dce7c91  gcc/testsuite/gcc.target/i386/amxtile-3.c
  84fc02cc52ddc8bdd53d77902c0176fb  gcc/testsuite/gcc.target/i386/amxtile-4.c
  8e7fab1b3f5c89155f09aabb59da8382  gcc/testsuite/gcc.target/i386/amxtile-asmatt-1.c
! 2629a435840ab211444b4a2af4563d8d  gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c
  000edc038d71c16eb844c26f6d7f2f53  gcc/testsuite/gcc.target/i386/and-1.c
  c5cfc6b01e748536e4ac5d65b3528952  gcc/testsuite/gcc.target/i386/andor-1.c
  c052d916aa90fa5343dac48ba370180f  gcc/testsuite/gcc.target/i386/andor-2.c
--- 69533,69539 ----
  a455baf8f9990eb7494164842dce7c91  gcc/testsuite/gcc.target/i386/amxtile-3.c
  84fc02cc52ddc8bdd53d77902c0176fb  gcc/testsuite/gcc.target/i386/amxtile-4.c
  8e7fab1b3f5c89155f09aabb59da8382  gcc/testsuite/gcc.target/i386/amxtile-asmatt-1.c
! fd1b7cbd5c658f65380f068fc3718869  gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c
  000edc038d71c16eb844c26f6d7f2f53  gcc/testsuite/gcc.target/i386/and-1.c
  c5cfc6b01e748536e4ac5d65b3528952  gcc/testsuite/gcc.target/i386/andor-1.c
  c052d916aa90fa5343dac48ba370180f  gcc/testsuite/gcc.target/i386/andor-2.c
*************** dbfbd76701c5c3e6c8ed37ced1ba9cc7  gcc/te
*** 78494,78499 ****
--- 78500,78506 ----
  dde2cba27bc4292492e4c0dd492a70e0  gcc/testsuite/gcc.target/loongarch/pr119408.c
  359760e5160f4b52d2fa349806589a0d  gcc/testsuite/gcc.target/loongarch/pr121064.c
  acf1fac916847c2064b8d2bbb6535828  gcc/testsuite/gcc.target/loongarch/pr121542.c
+ 4fb67de6ceaa4d3d0dfff318541b470b  gcc/testsuite/gcc.target/loongarch/pr122097.c
  3adba2a8ae6f671eb22ec8228777c1ac  gcc/testsuite/gcc.target/loongarch/prolog-opt.c
  1bfa30f99dc5f04f569fbff68640ab19  gcc/testsuite/gcc.target/loongarch/recip-divf.c
  dfa82d46bae04856dd91309f03684574  gcc/testsuite/gcc.target/loongarch/recip-sqrtf.c
*************** c6b3be3f7c9e66db91c556f5614ccd86  libstd
*** 124413,124419 ****
  727aabeecf8dea4131488fc7651a947c  libstdc++-v3/include/bits/alloc_traits.h
  0130a22c73e6916ce695d7a65b55e136  libstdc++-v3/include/bits/allocated_ptr.h
  4303dd43fc7d56b49442b413b25dc805  libstdc++-v3/include/bits/allocator.h
! 9feea67e4c4a673083750197f672c3c6  libstdc++-v3/include/bits/atomic_base.h
  31881a266f280e51758541ba9f12f2c3  libstdc++-v3/include/bits/atomic_futex.h
  670239be1d02c64eb81eb20244729696  libstdc++-v3/include/bits/atomic_timed_wait.h
  86a7c6dd9198cedb31603235e5a08375  libstdc++-v3/include/bits/atomic_wait.h
--- 124420,124426 ----
  727aabeecf8dea4131488fc7651a947c  libstdc++-v3/include/bits/alloc_traits.h
  0130a22c73e6916ce695d7a65b55e136  libstdc++-v3/include/bits/allocated_ptr.h
  4303dd43fc7d56b49442b413b25dc805  libstdc++-v3/include/bits/allocator.h
! 3d24dacf67c1141ed92f6a25eb1771f4  libstdc++-v3/include/bits/atomic_base.h
  31881a266f280e51758541ba9f12f2c3  libstdc++-v3/include/bits/atomic_futex.h
  670239be1d02c64eb81eb20244729696  libstdc++-v3/include/bits/atomic_timed_wait.h
  86a7c6dd9198cedb31603235e5a08375  libstdc++-v3/include/bits/atomic_wait.h
*************** d68615791f87e5f4b1ab7e55dbbdf7d8  libstd
*** 124436,124442 ****
  769cf52788a336b71f976155bb6f43bd  libstdc++-v3/include/bits/elements_of.h
  afd1789a41d6c832f583d0a86e85d7b0  libstdc++-v3/include/bits/enable_special_members.h
  bfd9dcd277a4e1fc8264d9778a51a1fc  libstdc++-v3/include/bits/erase_if.h
! 332ad6d309050f58245411a2b865705d  libstdc++-v3/include/bits/forward_list.h
  54988ffbb55b7b28d8e742246eeb7e7a  libstdc++-v3/include/bits/forward_list.tcc
  02d3e4901467aed8b1630886a362249b  libstdc++-v3/include/bits/fs_dir.h
  2b5018cc2b1ec4f77c1063ee9f2bd1b9  libstdc++-v3/include/bits/fs_fwd.h
--- 124443,124449 ----
  769cf52788a336b71f976155bb6f43bd  libstdc++-v3/include/bits/elements_of.h
  afd1789a41d6c832f583d0a86e85d7b0  libstdc++-v3/include/bits/enable_special_members.h
  bfd9dcd277a4e1fc8264d9778a51a1fc  libstdc++-v3/include/bits/erase_if.h
! 834802f30884d0f0a7cc18c80a7ca90c  libstdc++-v3/include/bits/forward_list.h
  54988ffbb55b7b28d8e742246eeb7e7a  libstdc++-v3/include/bits/forward_list.tcc
  02d3e4901467aed8b1630886a362249b  libstdc++-v3/include/bits/fs_dir.h
  2b5018cc2b1ec4f77c1063ee9f2bd1b9  libstdc++-v3/include/bits/fs_fwd.h
*************** fc443edc98096342d5fc5be5a9455d4b  libstd
*** 125107,125115 ****
  429c7831b6f1369c536eaa83e27cd111  libstdc++-v3/include/pstl/unseq_backend_simd.h
  6e7da3aed3b413aec47ea7457e6ea726  libstdc++-v3/include/pstl/utils.h
  ad2a7e573743a8dab1111b977e4a80fd  libstdc++-v3/include/std/algorithm
! eed1f4acd784dbf7153d5dc2b56e2c4d  libstdc++-v3/include/std/any
  aab042909edbf7113490e15fccf5b560  libstdc++-v3/include/std/array
! 40ce4527ff101adaa1eb3e248f7e7790  libstdc++-v3/include/std/atomic
  01cf19d843a4461de3522fe15a305313  libstdc++-v3/include/std/barrier
  b6af1bbc3368d9c5b5a8c7182f8272ec  libstdc++-v3/include/std/bit
  6c83353fc8d46581132ab76a4ff6552a  libstdc++-v3/include/std/bitset
--- 125114,125122 ----
  429c7831b6f1369c536eaa83e27cd111  libstdc++-v3/include/pstl/unseq_backend_simd.h
  6e7da3aed3b413aec47ea7457e6ea726  libstdc++-v3/include/pstl/utils.h
  ad2a7e573743a8dab1111b977e4a80fd  libstdc++-v3/include/std/algorithm
! 873395466399e2601facce0f1d3514df  libstdc++-v3/include/std/any
  aab042909edbf7113490e15fccf5b560  libstdc++-v3/include/std/array
! 40c265d7f8089b13edc71680d95433dc  libstdc++-v3/include/std/atomic
  01cf19d843a4461de3522fe15a305313  libstdc++-v3/include/std/barrier
  b6af1bbc3368d9c5b5a8c7182f8272ec  libstdc++-v3/include/std/bit
  6c83353fc8d46581132ab76a4ff6552a  libstdc++-v3/include/std/bitset
*************** eb207810586ea846576007018322c6e1  libstd
*** 125452,125458 ****
  592a23526d9d99eb397853d1e41dc3af  libstdc++-v3/src/c++17/fs_dir.cc
  f2cf236e640646a50b7abadbdae9a13b  libstdc++-v3/src/c++17/fs_ops.cc
  4caf7cdad3b78037fc52bfcf6fcb19b7  libstdc++-v3/src/c++17/fs_path.cc
! e7ee94a1031a3b8d2c9f0fabc8511938  libstdc++-v3/src/c++17/memory_resource.cc
  7d6a7293171f60a9406995fb4ddab5bd  libstdc++-v3/src/c++17/ostream-inst.cc
  f7696e2f5518e5e873ced4beacb8d107  libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES
  e225c39ccc4c6adc72a744687977d59d  libstdc++-v3/src/c++17/ryu/MERGE
--- 125459,125465 ----
  592a23526d9d99eb397853d1e41dc3af  libstdc++-v3/src/c++17/fs_dir.cc
  f2cf236e640646a50b7abadbdae9a13b  libstdc++-v3/src/c++17/fs_ops.cc
  4caf7cdad3b78037fc52bfcf6fcb19b7  libstdc++-v3/src/c++17/fs_path.cc
! 61f48e97e9a36854804ce85d6f144e1d  libstdc++-v3/src/c++17/memory_resource.cc
  7d6a7293171f60a9406995fb4ddab5bd  libstdc++-v3/src/c++17/ostream-inst.cc
  f7696e2f5518e5e873ced4beacb8d107  libstdc++-v3/src/c++17/ryu/LOCAL_PATCHES
  e225c39ccc4c6adc72a744687977d59d  libstdc++-v3/src/c++17/ryu/MERGE
*************** e2f76b5206e29df12dc615016b3ce75f  libstd
*** 125969,125975 ****
  a9df38b43b35b5e6e710883eaec01151  libstdc++-v3/testsuite/20_util/bind/cv_quals.cc
  159208c87f95c04af74e7011324d327c  libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
  11113e2f480d7394c770e9a09ee0d46f  libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc
! 46709be148a80f635df0e21ca0a67f2a  libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc
  2ecc665ef3b257e9162bbc21854e3946  libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc
  5288d661707245b5f49b1d182c5efc3b  libstdc++-v3/testsuite/20_util/bind/move.cc
  be3a9da6ea678098c6798ffbca60906b  libstdc++-v3/testsuite/20_util/bind/nested.cc
--- 125976,125982 ----
  a9df38b43b35b5e6e710883eaec01151  libstdc++-v3/testsuite/20_util/bind/cv_quals.cc
  159208c87f95c04af74e7011324d327c  libstdc++-v3/testsuite/20_util/bind/cv_quals_2.cc
  11113e2f480d7394c770e9a09ee0d46f  libstdc++-v3/testsuite/20_util/bind/cv_quals_3.cc
! 9e20c0553ba5c2a0e7032207ebaef1c2  libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc
  2ecc665ef3b257e9162bbc21854e3946  libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc
  5288d661707245b5f49b1d182c5efc3b  libstdc++-v3/testsuite/20_util/bind/move.cc
  be3a9da6ea678098c6798ffbca60906b  libstdc++-v3/testsuite/20_util/bind/nested.cc
*************** af272d624589bd0cea4be7993057018e  libstd
*** 127028,127033 ****
--- 127035,127041 ----
  74d5a6acdfccbcb7ae9ef6668edf9505  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/94540.cc
  f6bd7c6a0c64d34b4e17ebe0a952a3fb  libstdc++-v3/testsuite/20_util/specialized_algorithms/uninitialized_value_construct_n/sizes.cc
  c76dd58eb12d4adce24d74cfb072fc19  libstdc++-v3/testsuite/20_util/steady_clock/constexpr_data.cc
+ 309b7ad3662d6e3be2a1afeaaef39c0e  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc
  e24c511998a94418031de4297b1760d0  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate.cc
  dc6c6bff46ec2e1289afb29019038359  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/allocate_single.cc
  53f638a23baba221761db8a79d46a114  libstdc++-v3/testsuite/20_util/synchronized_pool_resource/cons.cc
*************** c8a7e1418906450a87ab25022a8ce3a4  libstd
*** 127251,127256 ****
--- 127259,127265 ----
  f8f82d94f3bba2535a3585beac627154  libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc
  b752f343c2b8407affea1923b7fdbc6b  libstdc++-v3/testsuite/20_util/unreachable/1.cc
  f47805823c079035961580cdb36d1e63  libstdc++-v3/testsuite/20_util/unreachable/version.cc
+ e71310aab27f8280547a5f500ddfc531  libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/118681.cc
  d283339a007e8306689113b6a5c93fad  libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate-max-chunks.cc
  ef0994168e310cd0acc3cd45c7502d36  libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/allocate.cc
  68e6068da6f699dde076e3143dad3821  libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/cons.cc
*************** fb018d57f6cc2e240c170397a8ed4059  libstd
*** 128650,128655 ****
--- 128659,128665 ----
  542d7d58f0b3b0cd721a5a5958f136a2  libstdc++-v3/testsuite/23_containers/forward_list/debug/swap.cc
  8a841f192d21f6350ae94d01b6b85682  libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
  299edaedac65cc73f80f2a1de6b711ae  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
+ 6bcb325735429aba259858615ce5626d  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/122661.cc
  00369c0e4f1e049991ce5a760c783849  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/2.cc
  83a7645be508f9301d9c0920e26111ea  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/3.cc
  3abf44e18dda8a51140c71919cb1f07c  libstdc++-v3/testsuite/23_containers/forward_list/modifiers/4.cc
*************** e60e491db955c40476864016c325c635  libstd
*** 132766,132772 ****
  4e5e9095b57fccee6acb88d48375653e  libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
  6b80e06d1316952c42182ee6870618d4  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
  a6d61ece14a2ac1cb88f202e320d2678  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
! 4c527e07c20de4dff5515ca6ac7527ef  libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
  88cb63e8f111a7a3c727598a518674a1  libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc
  177ade384daee9305258f2accf7ea158  libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc
  1a12382ca32ebb7250ad7d1e14ef6c1c  libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
--- 132776,132782 ----
  4e5e9095b57fccee6acb88d48375653e  libstdc++-v3/testsuite/29_atomics/atomic/operators/56011.cc
  6b80e06d1316952c42182ee6870618d4  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_assignment.cc
  a6d61ece14a2ac1cb88f202e320d2678  libstdc++-v3/testsuite/29_atomics/atomic/operators/integral_conversion.cc
! 4cd4b493579e1bc3a440dd23249636cb  libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
  88cb63e8f111a7a3c727598a518674a1  libstdc++-v3/testsuite/29_atomics/atomic/requirements/base_classes.cc
  177ade384daee9305258f2accf7ea158  libstdc++-v3/testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc
  1a12382ca32ebb7250ad7d1e14ef6c1c  libstdc++-v3/testsuite/29_atomics/atomic/requirements/explicit_instantiation/1.cc
*************** c0b583c748f7e9df1b6ba57eef003a5b  libstd
*** 132972,132978 ****
  0f43f445c9cf91ce838cd370e936cd3c  libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
  b0a3fa6c14115f4485e5f5fa4d3e5208  libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
  d76d953b956682a1e65caf48cfd059be  libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
! 4cab14ae97ff102a00fdc727669321e7  libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc
  bf572723301e0723551ea63a282f2671  libstdc++-v3/testsuite/30_threads/packaged_task/cons/deduction.cc
  ba4413ab6f8707eecf7439c419b333f6  libstdc++-v3/testsuite/30_threads/packaged_task/cons/deduction_c++23.cc
  a7699861951a48bd37d8f9e4d7d4d6ef  libstdc++-v3/testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc
--- 132982,132988 ----
  0f43f445c9cf91ce838cd370e936cd3c  libstdc++-v3/testsuite/30_threads/packaged_task/cons/alloc_min.cc
  b0a3fa6c14115f4485e5f5fa4d3e5208  libstdc++-v3/testsuite/30_threads/packaged_task/cons/assign_neg.cc
  d76d953b956682a1e65caf48cfd059be  libstdc++-v3/testsuite/30_threads/packaged_task/cons/copy_neg.cc
! 1819879d3dc2788c98e2b8836daf3ddd  libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc
  bf572723301e0723551ea63a282f2671  libstdc++-v3/testsuite/30_threads/packaged_task/cons/deduction.cc
  ba4413ab6f8707eecf7439c419b333f6  libstdc++-v3/testsuite/30_threads/packaged_task/cons/deduction_c++23.cc
  a7699861951a48bd37d8f9e4d7d4d6ef  libstdc++-v3/testsuite/30_threads/packaged_task/cons/lwg4154_neg.cc
diff -Nrcpad gcc-14-20251107/gcc/ChangeLog gcc-14-20251114/gcc/ChangeLog
*** gcc-14-20251107/gcc/ChangeLog	Fri Nov  7 22:32:58 2025
--- gcc-14-20251114/gcc/ChangeLog	Fri Nov 14 22:32:48 2025
***************
*** 1,3 ****
--- 1,70 ----
+ 2025-11-12  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	Backported from master:
+ 	2025-11-12  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	PR target/122446
+ 	* config/i386/amxbf16intrin.h (_tile_dpbf16ps_internal):
+ 	Input register name by inline asm %c[...], and remove %% before tmm
+ 	from intel side.
+ 	* config/i386/amxcomplexintrin.h (_tile_cmmimfp16ps_internal): Ditto
+ 	(_tile_cmmrlfp16ps_internal): Ditto
+ 	(_tile_cmmimfp16ps): Ditto
+ 	(_tile_cmmrlfp16ps): Ditto
+ 	* config/i386/amxfp16intrin.h (_tile_dpfp16ps_internal): Ditto
+ 	(_tile_dpfp16ps): Ditto
+ 	* config/i386/amxint8intrin.h (_tile_int8_dp_internal): Ditto
+ 	* config/i386/amxtileintrin.h (_tile_loadd): Ditto
+ 	(_tile_loadd_internal): Ditto
+ 	(_tile_stream_loadd): Ditto
+ 	(_tile_stream_loadd_internal): Ditto
+ 	(_tile_stored): Ditto
+ 	(_tile_stored_internal): Ditto
+ 	(_tile_zero): Ditto
+ 	(_tile_zero_internal): Ditto
+ 
+ 2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-11-08  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/122097
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_const_vector_same_bytes_p): Add processing for
+ 	floating-point vector data.
+ 
+ 2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-10-29  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/122097
+ 	* config/loongarch/loongarch.cc
+ 	(loongarch_const_vector_bitimm_set_p): Add support for vector float.
+ 	(loongarch_const_vector_bitimm_clr_p): Likewise.
+ 	(loongarch_print_operand): Likewise.
+ 	* config/loongarch/simd.md (and<mode>3): Likewise.
+ 
+ 2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-10-29  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	* config/loongarch/lasx.md (xor<mode>3): Delete.
+ 	(ior<mode>3): Delete.
+ 	(and<mode>3): Delete.
+ 	* config/loongarch/lsx.md (xor<mode>3): Delete.
+ 	(ior<mode>3): Delete.
+ 	(and<mode>3): Delete.
+ 	* config/loongarch/simd.md (xor<mode>3): Define.
+ 	(ior<mode>3): Likewise.
+ 	(and<mode>3): Likewise.
+ 
+ 2025-11-07  Christophe Lyon  <christophe.lyon@linaro.org>
+ 
+ 	PR target/122223
+ 	* config/arm/mve.md (@mve_vbicq_f<mode>): Fix operands order.
+ 
  2025-11-06  Georg-Johann Lay  <avr@gjlay.de>
  
  	Backported from master:
diff -Nrcpad gcc-14-20251107/gcc/DATESTAMP gcc-14-20251114/gcc/DATESTAMP
*** gcc-14-20251107/gcc/DATESTAMP	Fri Nov  7 22:32:58 2025
--- gcc-14-20251114/gcc/DATESTAMP	Fri Nov 14 22:32:49 2025
***************
*** 1 ****
! 20251107
--- 1 ----
! 20251114
diff -Nrcpad gcc-14-20251107/gcc/config/i386/amxbf16intrin.h gcc-14-20251114/gcc/config/i386/amxbf16intrin.h
*** gcc-14-20251107/gcc/config/i386/amxbf16intrin.h	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/i386/amxbf16intrin.h	Fri Nov 14 22:32:50 2025
***************
*** 36,43 ****
  
  #if defined(__x86_64__)
  #define _tile_dpbf16ps_internal(dst,src1,src2)					\
!   __asm__ volatile\
!   ("{tdpbf16ps\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|tdpbf16ps\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::)
  
  #define _tile_dpbf16ps(dst,src1,src2)					\
    _tile_dpbf16ps_internal (dst, src1, src2)
--- 36,45 ----
  
  #if defined(__x86_64__)
  #define _tile_dpbf16ps_internal(dst,src1,src2)					\
!   __asm__ volatile								\
!   ("{tdpbf16ps\t%%tmm%c[_src2], %%tmm%c[_src1], %%tmm%c[_dst]			\
!     |tdpbf16ps\ttmm%c[_dst], tmm%c[_src1], tmm%c[_src2]}"			\
!     :: [_dst]"i"(dst), [_src1]"i"(src1), [_src2]"i"(src2))
  
  #define _tile_dpbf16ps(dst,src1,src2)					\
    _tile_dpbf16ps_internal (dst, src1, src2)
diff -Nrcpad gcc-14-20251107/gcc/config/i386/amxcomplexintrin.h gcc-14-20251114/gcc/config/i386/amxcomplexintrin.h
*** gcc-14-20251107/gcc/config/i386/amxcomplexintrin.h	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/i386/amxcomplexintrin.h	Fri Nov 14 22:32:50 2025
***************
*** 35,47 ****
  #endif /* __AMX_COMPLEX__ */
  
  #if defined(__x86_64__)
! #define _tile_cmmimfp16ps_internal(src1_dst,src2,src3)				\
!   __asm__ volatile\
!   ("{tcmmimfp16ps\t%%tmm"#src3", %%tmm"#src2", %%tmm"#src1_dst"|tcmmimfp16ps\t%%tmm"#src1_dst", %%tmm"#src2", %%tmm"#src3"}" ::)
  
! #define _tile_cmmrlfp16ps_internal(src1_dst,src2,src3)				\
!   __asm__ volatile\
!   ("{tcmmrlfp16ps\t%%tmm"#src3", %%tmm"#src2", %%tmm"#src1_dst"|tcmmrlfp16ps\t%%tmm"#src1_dst", %%tmm"#src2", %%tmm"#src3"}" ::)
  
  #define _tile_cmmimfp16ps(src1_dst,src2,src3)					\
    _tile_cmmimfp16ps_internal (src1_dst, src2, src3)
--- 35,51 ----
  #endif /* __AMX_COMPLEX__ */
  
  #if defined(__x86_64__)
! #define _tile_cmmimfp16ps_internal(src1_dst,src2,src3)			  \
!   __asm__ volatile							  \
!   ("{tcmmimfp16ps\t%%tmm%c[_src3], %%tmm%c[_src2], %%tmm%c[_src1_dst]	  \
!     |tcmmimfp16ps\ttmm%c[_src1_dst], tmm%c[_src2], tmm%c[_src3]}"	  \
!     :: [_src1_dst]"i"(src1_dst), [_src2]"i"(src2), [_src3]"i"(src3))
  
! #define _tile_cmmrlfp16ps_internal(src1_dst,src2,src3)			  \
!   __asm__ volatile							  \
!   ("{tcmmrlfp16ps\t%%tmm%c[_src3], %%tmm%c[_src2], %%tmm%c[_src1_dst]	  \
!     |tcmmrlfp16ps\ttmm%c[_src1_dst], tmm%c[_src2], tmm%c[_src3]}"	  \
!     :: [_src1_dst]"i"(src1_dst), [_src2]"i"(src2), [_src3]"i"(src3))
  
  #define _tile_cmmimfp16ps(src1_dst,src2,src3)					\
    _tile_cmmimfp16ps_internal (src1_dst, src2, src3)
diff -Nrcpad gcc-14-20251107/gcc/config/i386/amxfp16intrin.h gcc-14-20251114/gcc/config/i386/amxfp16intrin.h
*** gcc-14-20251107/gcc/config/i386/amxfp16intrin.h	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/i386/amxfp16intrin.h	Fri Nov 14 22:32:50 2025
***************
*** 29,37 ****
  #define _AMXFP16INTRIN_H_INCLUDED
  
  #if defined(__x86_64__)
! #define _tile_dpfp16ps_internal(dst,src1,src2)			\
!   __asm__ volatile \
!   ("{tdpfp16ps\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|tdpfp16ps\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::)
  
  #define _tile_dpfp16ps(dst,src1,src2)				\
    _tile_dpfp16ps_internal (dst,src1,src2)
--- 29,39 ----
  #define _AMXFP16INTRIN_H_INCLUDED
  
  #if defined(__x86_64__)
! #define _tile_dpfp16ps_internal(dst,src1,src2)				\
!   __asm__ volatile							\
!   ("{tdpfp16ps\t%%tmm%c[_src2], %%tmm%c[_src1], %%tmm%c[_dst]		\
!     |tdpfp16ps\ttmm%c[_dst], tmm%c[_src1], tmm%c[_src2]}"		\
!     :: [_dst]"i"(dst), [_src1]"i"(src1), [_src2]"i"(src2))
  
  #define _tile_dpfp16ps(dst,src1,src2)				\
    _tile_dpfp16ps_internal (dst,src1,src2)
diff -Nrcpad gcc-14-20251107/gcc/config/i386/amxint8intrin.h gcc-14-20251114/gcc/config/i386/amxint8intrin.h
*** gcc-14-20251107/gcc/config/i386/amxint8intrin.h	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/i386/amxint8intrin.h	Fri Nov 14 22:32:50 2025
***************
*** 37,43 ****
  #if defined(__x86_64__)
  #define _tile_int8_dp_internal(name,dst,src1,src2)					\
    __asm__ volatile							\
!   ("{"#name"\t%%tmm"#src2", %%tmm"#src1", %%tmm"#dst"|"#name"\t%%tmm"#dst", %%tmm"#src1", %%tmm"#src2"}" ::)
  
  #define _tile_dpbssd(dst,src1,src2)					\
    _tile_int8_dp_internal (tdpbssd, dst, src1, src2)
--- 37,45 ----
  #if defined(__x86_64__)
  #define _tile_int8_dp_internal(name,dst,src1,src2)					\
    __asm__ volatile							\
!   ("{"#name"\t%%tmm%c[_src2], %%tmm%c[_src1], %%tmm%c[_dst]		\
!    |"#name"\ttmm%c[_dst], tmm%c[_src1], tmm%c[_src2]}"		\
!    ::[_dst]"i"(dst),[_src1]"i"(src1),[_src2]"i"(src2))
  
  #define _tile_dpbssd(dst,src1,src2)					\
    _tile_int8_dp_internal (tdpbssd, dst, src1, src2)
diff -Nrcpad gcc-14-20251107/gcc/config/i386/amxtileintrin.h gcc-14-20251114/gcc/config/i386/amxtileintrin.h
*** gcc-14-20251107/gcc/config/i386/amxtileintrin.h	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/i386/amxtileintrin.h	Fri Nov 14 22:32:50 2025
*************** _tile_release (void)
*** 61,92 ****
  
  #define _tile_loadd_internal(dst,base,stride)				\
    __asm__ volatile							\
!   ("{tileloadd\t(%0,%1,1), %%tmm"#dst"|tileloadd\t%%tmm"#dst", [%0+%1*1]}" \
!    :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)))
  
  #define _tile_stream_loadd(dst,base,stride)		\
    _tile_stream_loadd_internal (dst, base, stride)
  
  #define _tile_stream_loadd_internal(dst,base,stride)			\
    __asm__ volatile							\
!   ("{tileloaddt1\t(%0,%1,1), %%tmm"#dst"|tileloaddt1\t%%tmm"#dst", [%0+%1*1]}" \
!    :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)))
  
  #define _tile_stored(dst,base,stride)		\
    _tile_stored_internal (dst, base, stride)
  
  #define _tile_stored_internal(src,base,stride)				\
    __asm__ volatile							\
!   ("{tilestored\t%%tmm"#src", (%0,%1,1)|tilestored\t[%0+%1*1], %%tmm"#src"}" \
!    :: "r" ((void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)) \
!    : "memory")
  
  #define _tile_zero(dst)				\
    _tile_zero_internal (dst)
  
! #define _tile_zero_internal(dst)		\
!   __asm__ volatile				\
!   ("tilezero\t%%tmm"#dst ::)
  
  #endif
  
--- 61,92 ----
  
  #define _tile_loadd_internal(dst,base,stride)				\
    __asm__ volatile							\
!   ("{tileloadd\t(%0,%1,1), %%tmm%c[_dst]|tileloadd\ttmm%c[_dst], [%0+%1*1]}" \
!   :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)), [_dst]"i"(dst))
  
  #define _tile_stream_loadd(dst,base,stride)		\
    _tile_stream_loadd_internal (dst, base, stride)
  
  #define _tile_stream_loadd_internal(dst,base,stride)			\
    __asm__ volatile							\
!   ("{tileloaddt1\t(%0,%1,1), %%tmm%c[_dst]|tileloaddt1\ttmm%c[_dst], [%0+%1*1]}" \
!   :: "r" ((const void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)), [_dst]"i"(dst))
  
  #define _tile_stored(dst,base,stride)		\
    _tile_stored_internal (dst, base, stride)
  
  #define _tile_stored_internal(src,base,stride)				\
    __asm__ volatile							\
!   ("{tilestored\t%%tmm%c[_src], (%0,%1,1)|tilestored\t[%0+%1*1], tmm%c[_src]}" \
!   :: "r" ((void*) (base)), "r" ((__PTRDIFF_TYPE__) (stride)), [_src]"i"(src) \
!   : "memory")
  
  #define _tile_zero(dst)				\
    _tile_zero_internal (dst)
  
! #define _tile_zero_internal(dst)					\
!   __asm__ volatile							\
!   ("{tilezero\t%%tmm%c[_dst]|tilezero\ttmm%c[_dst]}" :: [_dst]"i"(dst))
  
  #endif
  
diff -Nrcpad gcc-14-20251107/gcc/config/loongarch/lasx.md gcc-14-20251114/gcc/config/loongarch/lasx.md
*** gcc-14-20251107/gcc/config/loongarch/lasx.md	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/loongarch/lasx.md	Fri Nov 14 22:32:50 2025
***************
*** 983,1041 ****
    [(set_attr "type" "simd_div")
     (set_attr "mode" "<MODE>")])
  
- (define_insn "xor<mode>3"
-   [(set (match_operand:LASX 0 "register_operand" "=f,f,f")
- 	(xor:LASX
- 	  (match_operand:LASX 1 "register_operand" "f,f,f")
- 	  (match_operand:LASX 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
-   "ISA_HAS_LASX"
-   "@
-    xvxor.v\t%u0,%u1,%u2
-    xvbitrevi.%v0\t%u0,%u1,%V2
-    xvxori.b\t%u0,%u1,%B2"
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
- (define_insn "ior<mode>3"
-   [(set (match_operand:LASX 0 "register_operand" "=f,f,f")
- 	(ior:LASX
- 	  (match_operand:LASX 1 "register_operand" "f,f,f")
- 	  (match_operand:LASX 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
-   "ISA_HAS_LASX"
-   "@
-    xvor.v\t%u0,%u1,%u2
-    xvbitseti.%v0\t%u0,%u1,%V2
-    xvori.b\t%u0,%u1,%B2"
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
- (define_insn "and<mode>3"
-   [(set (match_operand:LASX 0 "register_operand" "=f,f,f")
- 	(and:LASX
- 	  (match_operand:LASX 1 "register_operand" "f,f,f")
- 	  (match_operand:LASX 2 "reg_or_vector_same_val_operand" "f,YZ,Urv8")))]
-   "ISA_HAS_LASX"
- {
-   switch (which_alternative)
-     {
-     case 0:
-       return "xvand.v\t%u0,%u1,%u2";
-     case 1:
-       {
- 	rtx elt0 = CONST_VECTOR_ELT (operands[2], 0);
- 	unsigned HOST_WIDE_INT val = ~UINTVAL (elt0);
- 	operands[2] = loongarch_gen_const_int_vector (<MODE>mode, val & (-val));
- 	return "xvbitclri.%v0\t%u0,%u1,%V2";
-       }
-     case 2:
-       return "xvandi.b\t%u0,%u1,%B2";
-     default:
-       gcc_unreachable ();
-     }
- }
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
  (define_insn "one_cmpl<mode>2"
    [(set (match_operand:ILASX 0 "register_operand" "=f")
  	(not:ILASX (match_operand:ILASX 1 "register_operand" "f")))]
--- 983,988 ----
diff -Nrcpad gcc-14-20251107/gcc/config/loongarch/loongarch.cc gcc-14-20251114/gcc/config/loongarch/loongarch.cc
*** gcc-14-20251107/gcc/config/loongarch/loongarch.cc	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/loongarch/loongarch.cc	Fri Nov 14 22:32:50 2025
*************** loongarch_symbol_binds_local_p (const_rt
*** 1718,1731 ****
  bool
  loongarch_const_vector_bitimm_set_p (rtx op, machine_mode mode)
  {
!   if (GET_CODE (op) == CONST_VECTOR && op != CONST0_RTX (mode))
      {
!       unsigned HOST_WIDE_INT val = UINTVAL (CONST_VECTOR_ELT (op, 0));
        int vlog2 = exact_log2 (val & GET_MODE_MASK (GET_MODE_INNER (mode)));
  
        if (vlog2 != -1)
  	{
- 	  gcc_assert (GET_MODE_CLASS (mode) == MODE_VECTOR_INT);
  	  gcc_assert (vlog2 >= 0 && vlog2 <= GET_MODE_UNIT_BITSIZE (mode) - 1);
  	  return loongarch_const_vector_same_val_p (op, mode);
  	}
--- 1718,1753 ----
  bool
  loongarch_const_vector_bitimm_set_p (rtx op, machine_mode mode)
  {
!   if (GET_CODE (op) == CONST_VECTOR
!       && (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT
! 	  || GET_MODE_CLASS (mode) == MODE_VECTOR_INT))
      {
!       unsigned HOST_WIDE_INT val;
! 
!       if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
! 	{
! 	  rtx val_s = CONST_VECTOR_ELT (op, 0);
! 	  const REAL_VALUE_TYPE *x = CONST_DOUBLE_REAL_VALUE (val_s);
! 	  if (GET_MODE (val_s) == DFmode)
! 	    {
! 	      long tmp[2];
! 	      REAL_VALUE_TO_TARGET_DOUBLE (*x, tmp);
! 	      val = (unsigned HOST_WIDE_INT) tmp[1] << 32 | tmp[0];
! 	    }
! 	  else
! 	    {
! 	      long tmp;
! 	      REAL_VALUE_TO_TARGET_SINGLE (*x, tmp);
! 	      val = (unsigned HOST_WIDE_INT) tmp;
! 	    }
! 	}
!       else
! 	val = UINTVAL (CONST_VECTOR_ELT (op, 0));
! 
        int vlog2 = exact_log2 (val & GET_MODE_MASK (GET_MODE_INNER (mode)));
  
        if (vlog2 != -1)
  	{
  	  gcc_assert (vlog2 >= 0 && vlog2 <= GET_MODE_UNIT_BITSIZE (mode) - 1);
  	  return loongarch_const_vector_same_val_p (op, mode);
  	}
*************** loongarch_const_vector_bitimm_set_p (rtx
*** 1740,1753 ****
  bool
  loongarch_const_vector_bitimm_clr_p (rtx op, machine_mode mode)
  {
!   if (GET_CODE (op) == CONST_VECTOR && op != CONSTM1_RTX (mode))
      {
!       unsigned HOST_WIDE_INT val = ~UINTVAL (CONST_VECTOR_ELT (op, 0));
        int vlog2 = exact_log2 (val & GET_MODE_MASK (GET_MODE_INNER (mode)));
  
        if (vlog2 != -1)
  	{
- 	  gcc_assert (GET_MODE_CLASS (mode) == MODE_VECTOR_INT);
  	  gcc_assert (vlog2 >= 0 && vlog2 <= GET_MODE_UNIT_BITSIZE (mode) - 1);
  	  return loongarch_const_vector_same_val_p (op, mode);
  	}
--- 1762,1796 ----
  bool
  loongarch_const_vector_bitimm_clr_p (rtx op, machine_mode mode)
  {
!   if (GET_CODE (op) == CONST_VECTOR
!       && (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT
! 	  || GET_MODE_CLASS (mode) == MODE_VECTOR_INT))
      {
!       unsigned HOST_WIDE_INT val;
!       if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
! 	{
! 	  rtx val_s = CONST_VECTOR_ELT (op, 0);
! 	  const REAL_VALUE_TYPE *x = CONST_DOUBLE_REAL_VALUE (val_s);
! 	  if (GET_MODE (val_s) == DFmode)
! 	    {
! 	      long tmp[2];
! 	      REAL_VALUE_TO_TARGET_DOUBLE (*x, tmp);
! 	      val = ~((unsigned HOST_WIDE_INT) tmp[1] << 32 | tmp[0]);
! 	    }
! 	  else
! 	    {
! 	      long tmp;
! 	      REAL_VALUE_TO_TARGET_SINGLE (*x, tmp);
! 	      val = ~((unsigned HOST_WIDE_INT) tmp);
! 	    }
! 	}
!       else
! 	val = ~UINTVAL (CONST_VECTOR_ELT (op, 0));
! 
        int vlog2 = exact_log2 (val & GET_MODE_MASK (GET_MODE_INNER (mode)));
  
        if (vlog2 != -1)
  	{
  	  gcc_assert (vlog2 >= 0 && vlog2 <= GET_MODE_UNIT_BITSIZE (mode) - 1);
  	  return loongarch_const_vector_same_val_p (op, mode);
  	}
*************** loongarch_const_vector_same_bytes_p (rtx
*** 1792,1798 ****
  
    first = CONST_VECTOR_ELT (op, 0);
    bytes = GET_MODE_UNIT_SIZE (mode);
!   val = INTVAL (first);
    first_byte = val & 0xff;
    for (i = 1; i < bytes; i++)
      {
--- 1835,1861 ----
  
    first = CONST_VECTOR_ELT (op, 0);
    bytes = GET_MODE_UNIT_SIZE (mode);
! 
!   if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
!     {
!       rtx val_s = CONST_VECTOR_ELT (op, 0);
!       const REAL_VALUE_TYPE *x = CONST_DOUBLE_REAL_VALUE (val_s);
!       if (GET_MODE (val_s) == DFmode)
! 	{
! 	  long tmp[2];
! 	  REAL_VALUE_TO_TARGET_DOUBLE (*x, tmp);
! 	  val = (unsigned HOST_WIDE_INT) tmp[1] << 32 | tmp[0];
! 	}
!       else
! 	{
! 	  long tmp;
! 	  REAL_VALUE_TO_TARGET_SINGLE (*x, tmp);
! 	  val = (unsigned HOST_WIDE_INT) tmp;
! 	}
!     }
!   else
!     val = UINTVAL (first);
! 
    first_byte = val & 0xff;
    for (i = 1; i < bytes; i++)
      {
*************** loongarch_print_operand (FILE *file, rtx
*** 6260,6266 ****
        if (CONST_VECTOR_P (op))
  	{
  	  machine_mode mode = GET_MODE_INNER (GET_MODE (op));
! 	  unsigned HOST_WIDE_INT val = UINTVAL (CONST_VECTOR_ELT (op, 0));
  	  int vlog2 = exact_log2 (val & GET_MODE_MASK (mode));
  	  if (vlog2 != -1)
  	    fprintf (file, "%d", vlog2);
--- 6323,6350 ----
        if (CONST_VECTOR_P (op))
  	{
  	  machine_mode mode = GET_MODE_INNER (GET_MODE (op));
! 	  rtx val_s = CONST_VECTOR_ELT (op, 0);
! 	  unsigned HOST_WIDE_INT val;
! 
! 	  if (GET_MODE_CLASS (mode) == MODE_FLOAT)
! 	    {
! 	      const REAL_VALUE_TYPE *x = CONST_DOUBLE_REAL_VALUE (val_s);
! 	      if (GET_MODE (val_s) == DFmode)
! 		{
! 		  long tmp[2];
! 		  REAL_VALUE_TO_TARGET_DOUBLE (*x, tmp);
! 		  val = (unsigned HOST_WIDE_INT) (tmp[1] << 32 | tmp[0]);
! 		}
! 	      else
! 		{
! 		  long tmp;
! 		  REAL_VALUE_TO_TARGET_SINGLE (*x, tmp);
! 		  val = (unsigned HOST_WIDE_INT) tmp;
! 		}
! 	    }
! 	  else
! 	    val = UINTVAL (val_s);
! 
  	  int vlog2 = exact_log2 (val & GET_MODE_MASK (mode));
  	  if (vlog2 != -1)
  	    fprintf (file, "%d", vlog2);
diff -Nrcpad gcc-14-20251107/gcc/config/loongarch/lsx.md gcc-14-20251114/gcc/config/loongarch/lsx.md
*** gcc-14-20251107/gcc/config/loongarch/lsx.md	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/loongarch/lsx.md	Fri Nov 14 22:32:50 2025
***************
*** 844,902 ****
    [(set_attr "type" "simd_div")
     (set_attr "mode" "<MODE>")])
  
- (define_insn "xor<mode>3"
-   [(set (match_operand:LSX 0 "register_operand" "=f,f,f")
- 	(xor:LSX
- 	  (match_operand:LSX 1 "register_operand" "f,f,f")
- 	  (match_operand:LSX 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
-   "ISA_HAS_LSX"
-   "@
-    vxor.v\t%w0,%w1,%w2
-    vbitrevi.%v0\t%w0,%w1,%V2
-    vxori.b\t%w0,%w1,%B2"
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
- (define_insn "ior<mode>3"
-   [(set (match_operand:LSX 0 "register_operand" "=f,f,f")
- 	(ior:LSX
- 	  (match_operand:LSX 1 "register_operand" "f,f,f")
- 	  (match_operand:LSX 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
-   "ISA_HAS_LSX"
-   "@
-    vor.v\t%w0,%w1,%w2
-    vbitseti.%v0\t%w0,%w1,%V2
-    vori.b\t%w0,%w1,%B2"
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
- (define_insn "and<mode>3"
-   [(set (match_operand:LSX 0 "register_operand" "=f,f,f")
- 	(and:LSX
- 	  (match_operand:LSX 1 "register_operand" "f,f,f")
- 	  (match_operand:LSX 2 "reg_or_vector_same_val_operand" "f,YZ,Urv8")))]
-   "ISA_HAS_LSX"
- {
-   switch (which_alternative)
-     {
-     case 0:
-       return "vand.v\t%w0,%w1,%w2";
-     case 1:
-       {
- 	rtx elt0 = CONST_VECTOR_ELT (operands[2], 0);
- 	unsigned HOST_WIDE_INT val = ~UINTVAL (elt0);
- 	operands[2] = loongarch_gen_const_int_vector (<MODE>mode, val & (-val));
- 	return "vbitclri.%v0\t%w0,%w1,%V2";
-       }
-     case 2:
-       return "vandi.b\t%w0,%w1,%B2";
-     default:
-       gcc_unreachable ();
-     }
- }
-   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
-    (set_attr "mode" "<MODE>")])
- 
  (define_insn "one_cmpl<mode>2"
    [(set (match_operand:ILSX 0 "register_operand" "=f")
  	(not:ILSX (match_operand:ILSX 1 "register_operand" "f")))]
--- 844,849 ----
diff -Nrcpad gcc-14-20251107/gcc/config/loongarch/simd.md gcc-14-20251114/gcc/config/loongarch/simd.md
*** gcc-14-20251107/gcc/config/loongarch/simd.md	Fri Nov  7 22:33:09 2025
--- gcc-14-20251114/gcc/config/loongarch/simd.md	Fri Nov 14 22:32:50 2025
***************
*** 35,40 ****
--- 35,43 ----
  ;; All FP modes available
  (define_mode_iterator FVEC    [(FLSX "ISA_HAS_LSX") (FLASX "ISA_HAS_LASX")])
  
+ ;; All vector modes available
+ (define_mode_iterator ALLVEC  [IVEC FVEC])
+ 
  ;; Mnemonic prefix, "x" for LASX modes.
  (define_mode_attr x [(V2DI "") (V4SI "") (V8HI "") (V16QI "")
  		     (V2DF "") (V4SF "")
***************
*** 496,501 ****
--- 499,575 ----
    [(set_attr "type" "simd_logic")
     (set_attr "mode" "<MODE>")])
  
+ (define_insn "xor<mode>3"
+   [(set (match_operand:ALLVEC 0 "register_operand" "=f,f,f")
+ 	(xor:ALLVEC
+ 	  (match_operand:ALLVEC 1 "register_operand" "f,f,f")
+ 	  (match_operand:ALLVEC 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
+   ""
+   "@
+    <x>vxor.v\t%<wu>0,%<wu>1,%<wu>2
+    <x>vbitrevi.%v0\t%<wu>0,%<wu>1,%V2
+    <x>vxori.b\t%<wu>0,%<wu>1,%B2"
+   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
+    (set_attr "mode" "<MODE>")])
+ 
+ (define_insn "ior<mode>3"
+   [(set (match_operand:ALLVEC 0 "register_operand" "=f,f,f")
+ 	(ior:ALLVEC
+ 	  (match_operand:ALLVEC 1 "register_operand" "f,f,f")
+ 	  (match_operand:ALLVEC 2 "reg_or_vector_same_val_operand" "f,YC,Urv8")))]
+   ""
+   "@
+    <x>vor.v\t%<wu>0,%<wu>1,%<wu>2
+    <x>vbitseti.%v0\t%<wu>0,%<wu>1,%V2
+    <x>vori.b\t%<wu>0,%<wu>1,%B2"
+   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
+    (set_attr "mode" "<MODE>")])
+ 
+ (define_insn "and<mode>3"
+   [(set (match_operand:ALLVEC 0 "register_operand" "=f,f,f")
+ 	(and:ALLVEC
+ 	  (match_operand:ALLVEC 1 "register_operand" "f,f,f")
+ 	  (match_operand:ALLVEC 2 "reg_or_vector_same_val_operand" "f,YZ,Urv8")))]
+   ""
+ {
+   switch (which_alternative)
+     {
+     case 0:
+       return "<x>vand.v\t%<wu>0,%<wu>1,%<wu>2";
+     case 1:
+       {
+ 	rtx elt0 = CONST_VECTOR_ELT (operands[2], 0);
+ 	unsigned HOST_WIDE_INT val;
+ 	if (GET_MODE_CLASS (<MODE>mode) == MODE_VECTOR_FLOAT)
+ 	  {
+ 	  const REAL_VALUE_TYPE *x = CONST_DOUBLE_REAL_VALUE (elt0);
+ 	  if (GET_MODE (elt0) == DFmode)
+ 	    {
+ 	      long tmp[2];
+ 	      REAL_VALUE_TO_TARGET_DOUBLE (*x, tmp);
+ 	      val = ~((unsigned HOST_WIDE_INT) tmp[1] << 32 | tmp[0]);
+ 	    }
+ 	  else
+ 	    {
+ 	      long tmp;
+ 	      REAL_VALUE_TO_TARGET_SINGLE (*x, tmp);
+ 	      val = ~((unsigned HOST_WIDE_INT) tmp);
+ 	    }
+ 	  }
+ 	else
+ 	  val = ~UINTVAL (elt0);
+ 	operands[2] = loongarch_gen_const_int_vector (<VIMODE>mode, val & (-val));
+ 	return "<x>vbitclri.%v0\t%<wu>0,%<wu>1,%V2";
+       }
+     case 2:
+       return "<x>vandi.b\t%<wu>0,%<wu>1,%B2";
+     default:
+       gcc_unreachable ();
+     }
+ }
+   [(set_attr "type" "simd_logic,simd_bit,simd_logic")
+    (set_attr "mode" "<MODE>")])
+ 
  ; The LoongArch SX Instructions.
  (include "lsx.md")
  
diff -Nrcpad gcc-14-20251107/gcc/testsuite/ChangeLog gcc-14-20251114/gcc/testsuite/ChangeLog
*** gcc-14-20251107/gcc/testsuite/ChangeLog	Fri Nov  7 22:33:14 2025
--- gcc-14-20251114/gcc/testsuite/ChangeLog	Fri Nov 14 22:32:51 2025
***************
*** 1,3 ****
--- 1,38 ----
+ 2025-11-12  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	Backported from master:
+ 	2025-11-12  Hu, Lin1  <lin1.hu@intel.com>
+ 
+ 	PR target/122446
+ 	* gcc.target/i386/amxbf16-asmintel-1.c: Modify dg-final to check intel
+ 	form.
+ 	* gcc.target/i386/amxcomplex-asmintel-1.c: Ditto.
+ 	* gcc.target/i386/amxfp16-asmintel-1.c: Ditto.
+ 	* gcc.target/i386/amxint8-asmintel-1.c: Ditto.
+ 	* gcc.target/i386/amxtile-asmintel-1.c: Ditto.
+ 	* g++.target/i386/pr122446-1.C: New test.
+ 	* g++.target/i386/pr122446-amxbf16.C: Ditto.
+ 	* g++.target/i386/pr122446-amxcomplex.C: Ditto.
+ 	* g++.target/i386/pr122446-amxfp16.C: Ditto.
+ 	* g++.target/i386/pr122446-amxint8.C: Ditto.
+ 	* g++.target/i386/pr122446-amxtile.C: Ditto.
+ 
+ 2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-10-29  Lulu Cheng  <chenglulu@loongson.cn>
+ 
+ 	PR target/122097
+ 	* gcc.target/loongarch/pr122097.c: New test.
+ 
+ 2025-11-07  Christophe Lyon  <christophe.lyon@linaro.org>
+ 
+ 	PR target/122223
+ 	* gcc.target/arm/mve/intrinsics/pr122223.c: New test.
+ 	(cherry picked from commits
+ 	81e226440381cc3e033df7e58cc7793c9b4b4e25 and
+ 	a52888dc71924afb6cd187b0e5f18d2be4c68a07)
+ 
  2025-10-30  Guo Jie  <guojie@loongson.cn>
  
  	Backported from master:
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-1.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-1.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-1.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-1.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -mamx-int8 -O0" } */
+ /* { dg-final { scan-assembler "tdpbssd\[ \\t]+\[^\n\]*%tmm2+\[^\n\]*%tmm1+\[^\n\]*%tmm0" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int hello, int crazy, int gcc>
+ struct dpbssd
+ {
+   void operator()() { _tile_dpbssd(hello, crazy, gcc); }
+ };
+ 
+ void f()
+ {
+   dpbssd<0, 1, 2>()();
+ }
+ 
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxbf16.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxbf16.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxbf16.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxbf16.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -mamx-bf16 -O0" } */
+ /* { dg-final { scan-assembler "tdpbf16ps\[ \\t]+%tmm2,\[ \\t\]*%tmm1,\[ \\t\]*%tmm0" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int dst, int src1, int src2>
+ struct dpbf16ps
+ {
+   void operator()() { _tile_dpbf16ps(dst, src1, src2); }
+ };
+ 
+ void test_amx_bf16()
+ {
+   dpbf16ps<0, 1, 2>()();
+ }
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxcomplex.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxcomplex.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxcomplex.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxcomplex.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,24 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -mamx-complex -O0" } */
+ /* { dg-final { scan-assembler "tcmmimfp16ps\[ \\t]+%tmm2,\[ \\t\]*%tmm1,\[ \\t\]*%tmm0" } } */
+ /* { dg-final { scan-assembler "tcmmrlfp16ps\[ \\t]+%tmm5,\[ \\t\]*%tmm4,\[ \\t\]*%tmm3" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int dst, int src1, int src2>
+ struct cmmimfp16ps
+ {
+   void operator()() { _tile_cmmimfp16ps(dst, src1, src2); }
+ };
+ 
+ template <int dst, int src1, int src2>
+ struct cmmrlfp16ps
+ {
+   void operator()() { _tile_cmmrlfp16ps(dst, src1, src2); }
+ };
+ 
+ void test_amx_complex()
+ {
+   cmmimfp16ps<0, 1, 2>()();
+   cmmrlfp16ps<3, 4, 5>()();
+ }
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxfp16.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxfp16.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxfp16.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxfp16.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,16 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -mamx-fp16 -O0" } */
+ /* { dg-final { scan-assembler "tdpfp16ps\[ \\t]+%tmm2,\[ \\t\]*%tmm1,\[ \\t\]*%tmm0" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int dst, int src1, int src2>
+ struct dpfp16ps
+ {
+   void operator()() { _tile_dpfp16ps(dst, src1, src2); }
+ };
+ 
+ void test_amx_fp16()
+ {
+   dpfp16ps<0, 1, 2>()();
+ }
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxint8.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxint8.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxint8.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxint8.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,40 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -mamx-int8 -O0" } */
+ /* { dg-final { scan-assembler "tdpbssd\[ \\t]+%tmm2,\[ \\t\]*%tmm1,\[ \\t\]*%tmm0" } } */
+ /* { dg-final { scan-assembler "tdpbsud\[ \\t]+%tmm5,\[ \\t\]*%tmm4,\[ \\t\]*%tmm3" } } */
+ /* { dg-final { scan-assembler "tdpbusd\[ \\t]+%tmm2,\[ \\t\]*%tmm1,\[ \\t\]*%tmm6" } } */
+ /* { dg-final { scan-assembler "tdpbuud\[ \\t]+%tmm1,\[ \\t\]*%tmm0,\[ \\t\]*%tmm7" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int dst, int src1, int src2>
+ struct dpbssd
+ {
+   void operator()() { _tile_dpbssd(dst, src1, src2); }
+ };
+ 
+ template <int dst, int src1, int src2>
+ struct dpbsud
+ {
+   void operator()() { _tile_dpbsud(dst, src1, src2); }
+ };
+ 
+ template <int dst, int src1, int src2>
+ struct dpbusd
+ {
+   void operator()() { _tile_dpbusd(dst, src1, src2); }
+ };
+ 
+ template <int dst, int src1, int src2>
+ struct dpbuud
+ {
+   void operator()() { _tile_dpbuud(dst, src1, src2); }
+ };
+ 
+ void test_amx_int8()
+ {
+   dpbssd<0, 1, 2>()();
+   dpbsud<3, 4, 5>()();
+   dpbusd<6, 1, 2>()();
+   dpbuud<7, 0, 1>()();
+ }
diff -Nrcpad gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxtile.C gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxtile.C
*** gcc-14-20251107/gcc/testsuite/g++.target/i386/pr122446-amxtile.C	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/g++.target/i386/pr122446-amxtile.C	Fri Nov 14 22:33:06 2025
***************
*** 0 ****
--- 1,50 ----
+ /* { dg-do compile { target { ! ia32 } } } */
+ /* { dg-options "-mamx-tile -O0" } */
+ /* { dg-final { scan-assembler "tileloadd\[ \\t]+\[^\n\]*,\[ \\t\]*%tmm0" } } */
+ /* { dg-final { scan-assembler "tilestored\[ \\t]+%tmm1," } } */
+ /* { dg-final { scan-assembler "tilezero\[ \\t]+%tmm3" } } */
+ /* { dg-final { scan-assembler "tileloaddt1\[ \\t]+\[^\n\]*,\[ \\t\]*%tmm2" } } */
+ 
+ #include <immintrin.h>
+ 
+ template <int tmm_num>
+ struct tile_loadd_test
+ {
+   void operator()(const void* base, int stride)
+   {
+     _tile_loadd(tmm_num, base, stride);
+   }
+ };
+ 
+ template <int tmm_num>
+ struct tile_stored_test
+ {
+   void operator()(void* base, int stride)
+   {
+     _tile_stored(tmm_num, base, stride);
+   }
+ };
+ 
+ template <int tmm_num>
+ struct tile_zero_test
+ {
+   void operator()() { _tile_zero(tmm_num); }
+ };
+ 
+ template <int tmm_num>
+ struct tile_stream_loadd_test
+ {
+   void operator()(const void* base, int stride)
+   {
+     _tile_stream_loadd(tmm_num, base, stride);
+   }
+ };
+ 
+ void test_amx_tile()
+ {
+   char buf[1024];
+   tile_loadd_test<0>()(buf, 64);
+   tile_stored_test<1>()(buf, 64);
+   tile_stream_loadd_test<2>()(buf, 64);
+   tile_zero_test<3>()();
+ }
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c	Fri Nov  7 22:34:29 2025
--- gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxbf16-asmintel-1.c	Fri Nov 14 22:33:46 2025
***************
*** 1,7 ****
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-bf16 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpbf16ps\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
--- 1,7 ----
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-bf16 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpbf16ps\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c	Fri Nov  7 22:34:29 2025
--- gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxcomplex-asmintel-1.c	Fri Nov 14 22:33:46 2025
***************
*** 1,8 ****
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-complex -masm=intel" } */
! /* { dg-final { scan-assembler "tcmmimfp16ps\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
! /* { dg-final { scan-assembler "tcmmrlfp16ps\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
  #include <immintrin.h>
  
  void TEST()
--- 1,8 ----
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-complex -masm=intel" } */
! /* { dg-final { scan-assembler "tcmmimfp16ps\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
! /* { dg-final { scan-assembler "tcmmrlfp16ps\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
  #include <immintrin.h>
  
  void TEST()
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c	Fri Nov  7 22:34:29 2025
--- gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxfp16-asmintel-1.c	Fri Nov 14 22:33:46 2025
***************
*** 1,7 ****
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-fp16 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpfp16ps\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
--- 1,7 ----
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-fp16 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpfp16ps\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c	Fri Nov  7 22:34:29 2025
--- gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxint8-asmintel-1.c	Fri Nov 14 22:33:46 2025
***************
*** 1,10 ****
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-int8 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpbssd\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
! /* { dg-final { scan-assembler "tdpbsud\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } *
! /* { dg-final { scan-assembler "tdpbusd\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
! /* { dg-final { scan-assembler "tdpbuud\[ \\t]+\[^\n\]*%tmm1+\[^\n\]*%tmm2+\[^\n\]*%tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
--- 1,10 ----
  /* { dg-do compile { target { ! ia32 } } } */
  /* { dg-require-effective-target masm_intel } */
  /* { dg-options "-O2 -mamx-int8 -masm=intel" } */
! /* { dg-final { scan-assembler "tdpbssd\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
! /* { dg-final { scan-assembler "tdpbsud\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
! /* { dg-final { scan-assembler "tdpbusd\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
! /* { dg-final { scan-assembler "tdpbuud\[ \\t]+\[^\n%\]*tmm1+\[^\n%\]*tmm2+\[^\n%\]*tmm3"  } } */
  #include <immintrin.h>
  
  void TEST ()
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c	Fri Nov  7 22:34:29 2025
--- gcc-14-20251114/gcc/testsuite/gcc.target/i386/amxtile-asmintel-1.c	Fri Nov 14 22:33:46 2025
***************
*** 4,13 ****
  /* { dg-final { scan-assembler "ldtilecfg\[ \\t]"  } } */
  /* { dg-final { scan-assembler "sttilecfg\[ \\t]"  } } */
  /* { dg-final { scan-assembler "tilerelease"  } } */
! /* { dg-final { scan-assembler "tileloadd\[ \\t]%tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tileloaddt1\[ \\t]%tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tilestored\[ \\t]\[^\n\]+\[^\n\]*%tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tilezero\[ \\t]+\[^\n\]*%tmm\[0-9\]"  } } */
  #include <immintrin.h>
  
  extern int a[];
--- 4,13 ----
  /* { dg-final { scan-assembler "ldtilecfg\[ \\t]"  } } */
  /* { dg-final { scan-assembler "sttilecfg\[ \\t]"  } } */
  /* { dg-final { scan-assembler "tilerelease"  } } */
! /* { dg-final { scan-assembler "tileloadd\[ \\t]tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tileloaddt1\[ \\t]tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tilestored\[ \\t]\[^\n\]+\[^\n\]*tmm\[0-9\]"  } } */
! /* { dg-final { scan-assembler "tilezero\[ \\t]+\[^\n%\]*tmm\[0-9\]"  } } */
  #include <immintrin.h>
  
  extern int a[];
diff -Nrcpad gcc-14-20251107/gcc/testsuite/gcc.target/loongarch/pr122097.c gcc-14-20251114/gcc/testsuite/gcc.target/loongarch/pr122097.c
*** gcc-14-20251107/gcc/testsuite/gcc.target/loongarch/pr122097.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/gcc/testsuite/gcc.target/loongarch/pr122097.c	Fri Nov 14 22:33:49 2025
***************
*** 0 ****
--- 1,271 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O3 -mabi=lp64d -mlsx" } */
+ /* { dg-final { scan-assembler "vbitseti\.d\t\\\$vr\[0-9\]+,\\\$vr\[0-9\]+,63" } } */
+ 
+ typedef long unsigned int size_t;
+ typedef unsigned char simde__mmask8;
+ typedef long simde__m128i __attribute__ ((__aligned__ ((16))))
+ __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+ typedef union
+ {
+ 
+   __attribute__ ((__aligned__ ((16)))) long i64
+       __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+ } simde__m128i_private;
+ typedef double simde_float64;
+ typedef simde_float64 simde__m128d __attribute__ ((__aligned__ ((16))))
+ __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+ typedef long int int_fast32_t;
+ typedef union
+ {
+ 
+   __attribute__ ((__aligned__ ((16)))) int_fast32_t i32f
+       __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+   __attribute__ ((__aligned__ ((16)))) long i64
+       __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+   __attribute__ ((__aligned__ ((16)))) simde_float64 f64
+       __attribute__ ((__vector_size__ (16))) __attribute__ ((__may_alias__));
+ } simde__m128d_private;
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde__m128d_from_private (simde__m128d_private v)
+ {
+   simde__m128d r;
+   __builtin_memcpy (&r, &v, sizeof (r));
+   return r;
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_set_pd (simde_float64 e1, simde_float64 e0)
+ {
+ 
+   simde__m128d_private r_;
+   r_.f64[0] = e0;
+   r_.f64[1] = e1;
+ 
+   return simde__m128d_from_private (r_);
+ }
+ __attribute__ ((__always_inline__)) inline static simde__m128i
+ simde_mm_castpd_si128 (simde__m128d a)
+ {
+   simde__m128i r;
+   __builtin_memcpy (&r, &a, sizeof (a));
+   return r;
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128i
+ simde__m128i_from_private (simde__m128i_private v)
+ {
+   simde__m128i r;
+   __builtin_memcpy (&r, &v, sizeof (r));
+   return r;
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128i_private
+ simde__m128i_to_private (simde__m128i v)
+ {
+   simde__m128i_private r;
+   __builtin_memcpy (&r, &v, sizeof (r));
+   return r;
+ }
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_castsi128_pd (simde__m128i a)
+ {
+   simde__m128d r;
+   __builtin_memcpy (&r, &a, sizeof (a));
+   return r;
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128i
+ simde_mm_mask_mov_epi64 (simde__m128i src, simde__mmask8 k, simde__m128i a)
+ {
+ 
+   simde__m128i_private src_ = simde__m128i_to_private (src),
+                        a_ = simde__m128i_to_private (a), r_;
+ 
+   for (size_t i = 0; i < (sizeof (r_.i64) / sizeof (r_.i64[0])); i++)
+     {
+       r_.i64[i] = ((k >> i) & 1) ? a_.i64[i] : src_.i64[i];
+     }
+ 
+   return simde__m128i_from_private (r_);
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_mask_mov_pd (simde__m128d src, simde__mmask8 k, simde__m128d a)
+ {
+   return simde_mm_castsi128_pd (simde_mm_mask_mov_epi64 (
+       simde_mm_castpd_si128 (src), k, simde_mm_castpd_si128 (a)));
+ }
+ 
+ static double
+ simde_test_f64_precision_to_slop (int precision)
+ {
+   return __builtin_expect (!!(precision == 0x7fffffff), 0)
+              ? 0.0
+              : __builtin_pow (10.0, -((double)(precision)));
+ }
+ __attribute__ ((__always_inline__)) inline static void
+ simde_mm_storeu_pd (simde_float64 *mem_addr, simde__m128d a)
+ {
+ 
+   __builtin_memcpy (mem_addr, &a, sizeof (a));
+ }
+ int simde_test_equal_f64 (simde_float64 a, simde_float64 b,
+                           simde_float64 slop);
+ void simde_test_debug_printf_ (const char *format, ...);
+ static int
+ simde_assert_equal_vf64_ (size_t vec_len, simde_float64 const a[(vec_len)],
+                           simde_float64 const b[(vec_len)], simde_float64 slop,
+                           const char *filename, int line, const char *astr,
+                           const char *bstr)
+ {
+   for (size_t i = 0; i < vec_len; i++)
+     {
+       if (__builtin_expect (!!(!simde_test_equal_f64 (a[i], b[i], slop)), 0))
+         {
+           simde_test_debug_printf_ (
+               "%s:%d: assertion failed: %s[%zu] ~= %s[%zu] (%f ~= %f)\n",
+               filename, line, astr, i, bstr, i, ((double)(a[i])),
+               ((double)(b[i])));
+           return 1;
+         }
+     }
+   return 0;
+ }
+ static int
+ simde_test_x86_assert_equal_f64x2_ (simde__m128d a, simde__m128d b,
+                                     simde_float64 slop, const char *filename,
+                                     int line, const char *astr,
+                                     const char *bstr)
+ {
+   simde_float64 a_[sizeof (a) / sizeof (simde_float64)],
+       b_[sizeof (a) / sizeof (simde_float64)];
+   simde_mm_storeu_pd (a_, a);
+   simde_mm_storeu_pd (b_, b);
+   return simde_assert_equal_vf64_ (sizeof (a_) / sizeof (a_[0]), a_, b_, slop,
+                                    filename, line, astr, bstr);
+ }
+ __attribute__ ((__always_inline__)) inline static simde__m128d_private
+ simde__m128d_to_private (simde__m128d v)
+ {
+   simde__m128d_private r;
+   __builtin_memcpy (&r, &v, sizeof (r));
+   return r;
+ }
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_min_pd (simde__m128d a, simde__m128d b)
+ {
+ 
+   simde__m128d_private r_, a_ = simde__m128d_to_private (a),
+                            b_ = simde__m128d_to_private (b);
+ 
+   for (size_t i = 0; i < (sizeof (r_.f64) / sizeof (r_.f64[0])); i++)
+     {
+       r_.f64[i] = (a_.f64[i] < b_.f64[i]) ? a_.f64[i] : b_.f64[i];
+     }
+ 
+   return simde__m128d_from_private (r_);
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_max_pd (simde__m128d a, simde__m128d b)
+ {
+ 
+   simde__m128d_private r_, a_ = simde__m128d_to_private (a),
+                            b_ = simde__m128d_to_private (b);
+ 
+   for (size_t i = 0; i < (sizeof (r_.f64) / sizeof (r_.f64[0])); i++)
+     {
+       r_.f64[i] = (a_.f64[i] > b_.f64[i]) ? a_.f64[i] : b_.f64[i];
+     }
+ 
+   return simde__m128d_from_private (r_);
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_x_mm_abs_pd (simde__m128d a)
+ {
+ 
+   simde__m128d_private r_, a_ = simde__m128d_to_private (a);
+   for (size_t i = 0; i < (sizeof (r_.f64) / sizeof (r_.f64[0])); i++)
+     {
+       r_.f64[i] = __builtin_fabs (a_.f64[i]);
+     }
+ 
+   return simde__m128d_from_private (r_);
+ }
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_cmple_pd (simde__m128d a, simde__m128d b)
+ {
+ 
+   simde__m128d_private r_, a_ = simde__m128d_to_private (a),
+                            b_ = simde__m128d_to_private (b);
+ 
+   r_.i64 = ((__typeof__ (r_.i64))((a_.f64 <= b_.f64)));
+   return simde__m128d_from_private (r_);
+ }
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_x_mm_select_pd (simde__m128d a, simde__m128d b, simde__m128d mask)
+ {
+   simde__m128d_private r_, a_ = simde__m128d_to_private (a),
+                            b_ = simde__m128d_to_private (b),
+                            mask_ = simde__m128d_to_private (mask);
+ 
+   r_.i64 = a_.i64 ^ ((a_.i64 ^ b_.i64) & mask_.i64);
+   return simde__m128d_from_private (r_);
+ }
+ simde__m128d simde_mm_cmpge_pd (simde__m128d a, simde__m128d b);
+ 
+ simde__m128d
+ simde_x_mm_copysign_pd (simde__m128d dest, simde__m128d src)
+ {
+   simde__m128d_private r_, dest_ = simde__m128d_to_private (dest),
+                            src_ = simde__m128d_to_private (src);
+   for (size_t i = 0; i < (sizeof (r_.f64) / sizeof (r_.f64[0])); i++)
+     {
+       r_.f64[i] = __builtin_copysign (dest_.f64[i], src_.f64[i]);
+     }
+ 
+   return simde__m128d_from_private (r_);
+ }
+ simde__m128d simde_mm_or_pd (simde__m128d a, simde__m128d b);
+ 
+ simde__m128d simde_mm_set1_pd (simde_float64 a);
+ 
+ __attribute__ ((__always_inline__)) inline static simde__m128d
+ simde_mm_range_pd (simde__m128d a, simde__m128d b, int imm8)
+ {
+   simde__m128d r;
+ 
+   r = simde_x_mm_select_pd (
+       b, a, simde_mm_cmple_pd (simde_x_mm_abs_pd (a), simde_x_mm_abs_pd (b)));
+ 
+   r = simde_x_mm_copysign_pd (r, a);
+ 
+   return r;
+ }
+ int
+ test_simde_mm_mask_range_pd (void)
+ {
+ 
+   simde__m128d src, a, b, e, r;
+ 
+   src = simde_mm_set_pd (-2.92, -85.39);
+   a = simde_mm_set_pd (-47.59, -122.31);
+   b = simde_mm_set_pd (877.42, 69.15);
+   e = simde_mm_set_pd (-47.59, -69.15);
+   r = simde_mm_mask_mov_pd (src, 143, simde_mm_range_pd (a, b, 2));
+   do
+     {
+       if (simde_test_x86_assert_equal_f64x2_ (
+               r, e, simde_test_f64_precision_to_slop (1),
+               "../test/x86/avx512/range.c", 1454, "r", "e"))
+         {
+           return 1;
+         }
+     }
+   while (0);
+ 
+   return 0;
+ }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/include/bits/atomic_base.h gcc-14-20251114/libstdc++-v3/include/bits/atomic_base.h
*** gcc-14-20251107/libstdc++-v3/include/bits/atomic_base.h	Fri Nov  7 22:34:59 2025
--- gcc-14-20251114/libstdc++-v3/include/bits/atomic_base.h	Fri Nov 14 22:34:49 2025
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 686,697 ****
  
        __pointer_type 	_M_p _GLIBCXX20_INIT(nullptr);
  
!       // Factored out to facilitate explicit specialization.
!       constexpr ptrdiff_t
!       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
! 
!       constexpr ptrdiff_t
!       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
  
      public:
        __atomic_base() noexcept = default;
--- 686,694 ----
  
        __pointer_type 	_M_p _GLIBCXX20_INIT(nullptr);
  
!       static constexpr ptrdiff_t
!       _S_type_size(ptrdiff_t __d)
!       { return __d * sizeof(_PTp); }
  
      public:
        __atomic_base() noexcept = default;
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 741,782 ****
  
        __pointer_type
        operator++() noexcept
!       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator++() volatile noexcept
!       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator--() noexcept
!       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator--() volatile noexcept
!       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator+=(ptrdiff_t __d) noexcept
!       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator+=(ptrdiff_t __d) volatile noexcept
!       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator-=(ptrdiff_t __d) noexcept
!       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator-=(ptrdiff_t __d) volatile noexcept
!       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        bool
--- 738,779 ----
  
        __pointer_type
        operator++() noexcept
!       { return __atomic_add_fetch(&_M_p, _S_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator++() volatile noexcept
!       { return __atomic_add_fetch(&_M_p, _S_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator--() noexcept
!       { return __atomic_sub_fetch(&_M_p, _S_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator--() volatile noexcept
!       { return __atomic_sub_fetch(&_M_p, _S_type_size(1),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator+=(ptrdiff_t __d) noexcept
!       { return __atomic_add_fetch(&_M_p, _S_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator+=(ptrdiff_t __d) volatile noexcept
!       { return __atomic_add_fetch(&_M_p, _S_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator-=(ptrdiff_t __d) noexcept
!       { return __atomic_sub_fetch(&_M_p, _S_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        __pointer_type
        operator-=(ptrdiff_t __d) volatile noexcept
!       { return __atomic_sub_fetch(&_M_p, _S_type_size(__d),
  				  int(memory_order_seq_cst)); }
  
        bool
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 931,952 ****
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_add(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) noexcept
!       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_add(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) volatile noexcept
!       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_sub(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) noexcept
!       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_sub(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) volatile noexcept
!       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
      };
  
    namespace __atomic_impl
--- 928,949 ----
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_add(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) noexcept
!       { return __atomic_fetch_add(&_M_p, _S_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_add(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) volatile noexcept
!       { return __atomic_fetch_add(&_M_p, _S_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_sub(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) noexcept
!       { return __atomic_fetch_sub(&_M_p, _S_type_size(__d), int(__m)); }
  
        _GLIBCXX_ALWAYS_INLINE __pointer_type
        fetch_sub(ptrdiff_t __d,
  		memory_order __m = memory_order_seq_cst) volatile noexcept
!       { return __atomic_fetch_sub(&_M_p, _S_type_size(__d), int(__m)); }
      };
  
    namespace __atomic_impl
diff -Nrcpad gcc-14-20251107/libstdc++-v3/include/bits/forward_list.h gcc-14-20251114/libstdc++-v3/include/bits/forward_list.h
*** gcc-14-20251107/libstdc++-v3/include/bits/forward_list.h	Fri Nov  7 22:34:59 2025
--- gcc-14-20251114/libstdc++-v3/include/bits/forward_list.h	Fri Nov 14 22:34:49 2025
*************** _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*** 670,676 ****
  	void
  	assign(_InputIterator __first, _InputIterator __last)
  	{
! 	  typedef is_assignable<_Tp, decltype(*__first)> __assignable;
  	  _M_assign(__first, __last, __assignable());
  	}
  
--- 670,676 ----
  	void
  	assign(_InputIterator __first, _InputIterator __last)
  	{
! 	  typedef is_assignable<_Tp&, decltype(*__first)> __assignable;
  	  _M_assign(__first, __last, __assignable());
  	}
  
diff -Nrcpad gcc-14-20251107/libstdc++-v3/include/std/any gcc-14-20251114/libstdc++-v3/include/std/any
*** gcc-14-20251107/libstdc++-v3/include/std/any	Fri Nov  7 22:35:00 2025
--- gcc-14-20251114/libstdc++-v3/include/std/any	Fri Nov 14 22:34:52 2025
***************
*** 42,47 ****
--- 42,50 ----
  #include <type_traits>
  #include <bits/utility.h> // in_place_type_t
  
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations" // aligned_storage
+ 
  namespace std _GLIBCXX_VISIBILITY(default)
  {
  _GLIBCXX_BEGIN_NAMESPACE_VERSION
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 661,665 ****
--- 664,670 ----
  _GLIBCXX_END_NAMESPACE_VERSION
  } // namespace std
  
+ #pragma GCC diagnostic pop
+ 
  #endif // __cpp_lib_any
  #endif // _GLIBCXX_ANY
diff -Nrcpad gcc-14-20251107/libstdc++-v3/include/std/atomic gcc-14-20251114/libstdc++-v3/include/std/atomic
*** gcc-14-20251107/libstdc++-v3/include/std/atomic	Fri Nov  7 22:35:00 2025
--- gcc-14-20251114/libstdc++-v3/include/std/atomic	Fri Nov 14 22:34:52 2025
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 450,456 ****
        operator++(int) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b++;
        }
--- 450,456 ----
        operator++(int) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b++;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 459,465 ****
        operator++(int) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b++;
        }
--- 459,465 ----
        operator++(int) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b++;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 468,474 ****
        operator--(int) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b--;
        }
--- 468,474 ----
        operator--(int) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b--;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 477,483 ****
        operator--(int) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b--;
        }
--- 477,483 ----
        operator--(int) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b--;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 486,492 ****
        operator++() noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return ++_M_b;
        }
--- 486,492 ----
        operator++() noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return ++_M_b;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 495,501 ****
        operator++() volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return ++_M_b;
        }
--- 495,501 ----
        operator++() volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return ++_M_b;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 504,510 ****
        operator--() noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return --_M_b;
        }
--- 504,510 ----
        operator--() noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return --_M_b;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 513,519 ****
        operator--() volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return --_M_b;
        }
--- 513,519 ----
        operator--() volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return --_M_b;
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 522,528 ****
        operator+=(ptrdiff_t __d) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.operator+=(__d);
        }
--- 522,528 ----
        operator+=(ptrdiff_t __d) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.operator+=(__d);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 531,537 ****
        operator+=(ptrdiff_t __d) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.operator+=(__d);
        }
--- 531,537 ----
        operator+=(ptrdiff_t __d) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.operator+=(__d);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 540,546 ****
        operator-=(ptrdiff_t __d) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.operator-=(__d);
        }
--- 540,546 ----
        operator-=(ptrdiff_t __d) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.operator-=(__d);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 549,555 ****
        operator-=(ptrdiff_t __d) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.operator-=(__d);
        }
--- 549,555 ----
        operator-=(ptrdiff_t __d) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.operator-=(__d);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 670,676 ****
  		memory_order __m = memory_order_seq_cst) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.fetch_add(__d, __m);
        }
--- 670,676 ----
  		memory_order __m = memory_order_seq_cst) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.fetch_add(__d, __m);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 680,686 ****
  		memory_order __m = memory_order_seq_cst) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.fetch_add(__d, __m);
        }
--- 680,686 ----
  		memory_order __m = memory_order_seq_cst) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.fetch_add(__d, __m);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 690,696 ****
  		memory_order __m = memory_order_seq_cst) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.fetch_sub(__d, __m);
        }
--- 690,696 ----
  		memory_order __m = memory_order_seq_cst) noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.fetch_sub(__d, __m);
        }
*************** _GLIBCXX_BEGIN_NAMESPACE_VERSION
*** 700,706 ****
  		memory_order __m = memory_order_seq_cst) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object<_Tp>::value, "pointer to object type" );
  #endif
  	return _M_b.fetch_sub(__d, __m);
        }
--- 700,706 ----
  		memory_order __m = memory_order_seq_cst) volatile noexcept
        {
  #if __cplusplus >= 201703L
! 	static_assert( is_object_v<_Tp>, "pointer to object type" );
  #endif
  	return _M_b.fetch_sub(__d, __m);
        }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/src/c++17/memory_resource.cc gcc-14-20251114/libstdc++-v3/src/c++17/memory_resource.cc
*** gcc-14-20251107/libstdc++-v3/src/c++17/memory_resource.cc	Fri Nov  7 22:35:00 2025
--- gcc-14-20251114/libstdc++-v3/src/c++17/memory_resource.cc	Fri Nov 14 22:34:52 2025
*************** namespace pmr
*** 179,186 ****
    // versions will not use this symbol.
    monotonic_buffer_resource::~monotonic_buffer_resource() { release(); }
  
!   namespace {
! 
    // aligned_size<N> stores the size and alignment of a memory allocation.
    // The size must be a multiple of N, leaving the low log2(N) bits free
    // to store the base-2 logarithm of the alignment.
--- 179,186 ----
    // versions will not use this symbol.
    monotonic_buffer_resource::~monotonic_buffer_resource() { release(); }
  
! namespace
! {
    // aligned_size<N> stores the size and alignment of a memory allocation.
    // The size must be a multiple of N, leaving the low log2(N) bits free
    // to store the base-2 logarithm of the alignment.
*************** namespace pmr
*** 218,224 ****
      return (n + alignment - 1) & ~(alignment - 1);
    }
  
!   } // namespace
  
    // Memory allocated by the upstream resource is managed in a linked list
    // of _Chunk objects. A _Chunk object recording the size and alignment of
--- 218,224 ----
      return (n + alignment - 1) & ~(alignment - 1);
    }
  
! } // namespace
  
    // Memory allocated by the upstream resource is managed in a linked list
    // of _Chunk objects. A _Chunk object recording the size and alignment of
*************** namespace pmr
*** 304,311 ****
  
    // Helper types for synchronized_pool_resource & unsynchronized_pool_resource
  
!   namespace {
! 
    // Simple bitset with runtime size.
    // Tracks which blocks in a pool chunk are used/unused.
    struct bitset
--- 304,311 ----
  
    // Helper types for synchronized_pool_resource & unsynchronized_pool_resource
  
! namespace
! {
    // Simple bitset with runtime size.
    // Tracks which blocks in a pool chunk are used/unused.
    struct bitset
*************** namespace pmr
*** 632,638 ****
  
    static_assert(sizeof(big_block) == (2 * sizeof(void*)));
  
!   } // namespace
  
    // A pool that serves blocks of a particular size.
    // Each pool manages a number of chunks.
--- 632,638 ----
  
    static_assert(sizeof(big_block) == (2 * sizeof(void*)));
  
! } // namespace
  
    // A pool that serves blocks of a particular size.
    // Each pool manages a number of chunks.
*************** namespace pmr
*** 864,870 ****
      using big_block::big_block;
    };
  
!   namespace {
  
    constexpr size_t pool_sizes[] = {
        8, 16, 24,
--- 864,879 ----
      using big_block::big_block;
    };
  
! namespace
! {
!   // N.B. it is important that we don't skip any power of two sizes if there
!   // is a non-power of two size between them, e.g. must not have pool sizes
!   // of 24 and 40 without having a pool size of 32. Otherwise an allocation
!   // of 32 bytes with alignment 16 would choose the 40-byte pool which is not
!   // correctly aligned for 16-byte alignment. It would be OK (but suboptimal)
!   // to have no pool of size 32 if we have pool sizes of 16 and 64 and no
!   // non-power of two sizes between those, because the example of (32, 16)
!   // would choose the 64-byte pool, which would be correctly aligned.
  
    constexpr size_t pool_sizes[] = {
        8, 16, 24,
*************** namespace pmr
*** 979,985 ****
    using exclusive_lock = lock_guard<shared_mutex>;
  #endif
  
!   } // namespace
  
    __pool_resource::
    __pool_resource(const pool_options& opts, memory_resource* upstream)
--- 988,994 ----
    using exclusive_lock = lock_guard<shared_mutex>;
  #endif
  
! } // namespace
  
    __pool_resource::
    __pool_resource(const pool_options& opts, memory_resource* upstream)
*************** namespace pmr
*** 1071,1082 ****
      return p;
    }
  
  #ifdef _GLIBCXX_HAS_GTHREADS
    // synchronized_pool_resource members.
  
    /* Notes on implementation and thread safety:
     *
!    * Each synchronized_pool_resource manages an linked list of N+1 _TPools
     * objects, where N is the number of threads using the pool resource.
     * Each _TPools object has its own set of pools, with their own chunks.
     * The first element of the list, _M_tpools[0], can be used by any thread.
--- 1080,1112 ----
      return p;
    }
  
+   // Determine the appropriate allocation size, rounding up to a multiple
+   // of the alignment if needed.
+   static inline size_t
+   choose_block_size(size_t bytes, size_t alignment)
+   {
+     if (bytes == 0) [[unlikely]]
+       return alignment;
+ 
+     // Use bit_ceil in case alignment is invalid (i.e. not a power of two).
+     size_t mask = std::__bit_ceil(alignment) - 1;
+     // Round up to a multiple of alignment.
+     size_t block_size = (bytes + mask) & ~mask;
+ 
+     if (block_size >= bytes) [[likely]]
+       return block_size;
+ 
+     // Wrapped around to zero, bytes must have been impossibly large.
+     return numeric_limits<size_t>::max();
+   }
+ 
+ 
  #ifdef _GLIBCXX_HAS_GTHREADS
    // synchronized_pool_resource members.
  
    /* Notes on implementation and thread safety:
     *
!    * Each synchronized_pool_resource manages a linked list of N+1 _TPools
     * objects, where N is the number of threads using the pool resource.
     * Each _TPools object has its own set of pools, with their own chunks.
     * The first element of the list, _M_tpools[0], can be used by any thread.
*************** namespace pmr
*** 1243,1249 ****
    synchronized_pool_resource::
    do_allocate(size_t bytes, size_t alignment)
    {
!     const auto block_size = std::max(bytes, alignment);
      const pool_options opts = _M_impl._M_opts;
      if (block_size <= opts.largest_required_pool_block)
        {
--- 1273,1279 ----
    synchronized_pool_resource::
    do_allocate(size_t bytes, size_t alignment)
    {
!     const auto block_size = choose_block_size(bytes, alignment);
      const pool_options opts = _M_impl._M_opts;
      if (block_size <= opts.largest_required_pool_block)
        {
*************** namespace pmr
*** 1290,1296 ****
    synchronized_pool_resource::
    do_deallocate(void* p, size_t bytes, size_t alignment)
    {
!     size_t block_size = std::max(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	const ptrdiff_t index = pool_index(block_size, _M_impl._M_npools);
--- 1320,1326 ----
    synchronized_pool_resource::
    do_deallocate(void* p, size_t bytes, size_t alignment)
    {
!     size_t block_size = choose_block_size(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	const ptrdiff_t index = pool_index(block_size, _M_impl._M_npools);
*************** namespace pmr
*** 1449,1455 ****
    void*
    unsynchronized_pool_resource::do_allocate(size_t bytes, size_t alignment)
    {
!     const auto block_size = std::max(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	// Recreate pools if release() has been called:
--- 1479,1485 ----
    void*
    unsynchronized_pool_resource::do_allocate(size_t bytes, size_t alignment)
    {
!     const auto block_size = choose_block_size(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	// Recreate pools if release() has been called:
*************** namespace pmr
*** 1466,1472 ****
    unsynchronized_pool_resource::
    do_deallocate(void* p, size_t bytes, size_t alignment)
    {
!     size_t block_size = std::max(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	if (auto pool = _M_find_pool(block_size))
--- 1496,1502 ----
    unsynchronized_pool_resource::
    do_deallocate(void* p, size_t bytes, size_t alignment)
    {
!     size_t block_size = choose_block_size(bytes, alignment);
      if (block_size <= _M_impl._M_opts.largest_required_pool_block)
        {
  	if (auto pool = _M_find_pool(block_size))
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc gcc-14-20251114/libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc	Fri Nov  7 22:35:00 2025
--- gcc-14-20251114/libstdc++-v3/testsuite/20_util/bind/dangling_ref.cc	Fri Nov 14 22:34:53 2025
*************** int f();
*** 6,10 ****
--- 6,11 ----
  auto b = std::bind<const int&>(f);
  int i = b(); // { dg-error "here" "" { target { c++14_down } } }
  // { dg-error "dangling reference" "" { target { c++14_down } } 0 }
+ // { dg-error "reference to temporary" "" { target { c++14_down } } 0 }
  // { dg-error "no matching function" "" { target c++17 } 0 }
  // { dg-error "enable_if" "" { target c++17 } 0 }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc gcc-14-20251114/libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/libstdc++-v3/testsuite/20_util/synchronized_pool_resource/118681.cc	Fri Nov 14 22:34:54 2025
***************
*** 0 ****
--- 1,6 ----
+ // { dg-do run { target c++17 } }
+ // { dg-require-gthreads "" }
+ // Bug 118681 - unsynchronized_pool_resource may fail to respect alignment
+ 
+ #define RESOURCE std::pmr::synchronized_pool_resource
+ #include "../unsynchronized_pool_resource/118681.cc"
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/118681.cc gcc-14-20251114/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/118681.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/118681.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/libstdc++-v3/testsuite/20_util/unsynchronized_pool_resource/118681.cc	Fri Nov 14 22:34:54 2025
***************
*** 0 ****
--- 1,58 ----
+ // { dg-do run { target c++17 } }
+ // Bug 118681 - unsynchronized_pool_resource may fail to respect alignment
+ 
+ #include <memory_resource>
+ #include <cstdio>
+ #include <testsuite_hooks.h>
+ 
+ #ifndef RESOURCE
+ # define RESOURCE std::pmr::unsynchronized_pool_resource
+ #endif
+ 
+ bool any_misaligned = false;
+ 
+ bool
+ is_aligned(void* p, [[maybe_unused]] std::size_t size, std::size_t alignment)
+ {
+   const bool misaligned = reinterpret_cast<std::uintptr_t>(p) % alignment;
+ #ifdef DEBUG
+   std::printf("allocate(%2zu, %2zu): %p is aligned %scorrectly\n",
+ 	      size, alignment, p, misaligned ? "in" : "");
+   any_misaligned |= misaligned;
+   return true;
+ #endif
+   return ! misaligned;
+ }
+ 
+ void
+ test_alignment(std::pmr::memory_resource& res, bool dealloc)
+ {
+   for (std::size_t alignment : { 8, 16, 32, 64 })
+   {
+     for (std::size_t size : { 9, 12, 24, 40, 48, 56, 72 })
+     {
+       void* p1 = res.allocate(size, alignment);
+       void* p2 = res.allocate(size, alignment);
+ 
+       VERIFY( is_aligned(p1, size, alignment) );
+       VERIFY( is_aligned(p2, size, alignment) );
+ 
+       if (dealloc)
+       {
+ 	res.deallocate(p1, size, alignment);
+ 	res.deallocate(p2, size, alignment);
+       }
+     }
+   }
+ }
+ 
+ int main()
+ {
+   RESOURCE res;
+   test_alignment(res, true);
+   res.release();
+   test_alignment(res, false);
+   res.release();
+ 
+   VERIFY( ! any_misaligned );
+ }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/122661.cc gcc-14-20251114/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/122661.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/122661.cc	Thu Jan  1 00:00:00 1970
--- gcc-14-20251114/libstdc++-v3/testsuite/23_containers/forward_list/modifiers/122661.cc	Fri Nov 14 22:34:55 2025
***************
*** 0 ****
--- 1,20 ----
+ // { dg-do compile { target c++11 } }
+ 
+ // Bug 122661 - Incorrect value category handling in forward_list::assign
+ 
+ #include <forward_list>
+ 
+ struct S
+ {
+   S();
+   S& operator=(S const&) & = delete;
+   S& operator=(S const&) &&;
+ };
+ 
+ void
+ test_pr122661()
+ {
+   std::forward_list<S> fl;
+   S* iter = nullptr;
+   fl.assign(iter, iter);
+ }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc gcc-14-20251114/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc	Fri Nov  7 22:35:05 2025
--- gcc-14-20251114/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc	Fri Nov 14 22:34:59 2025
*************** int main(void)
*** 69,71 ****
--- 69,72 ----
  
    return 0;
  }
+ // { dg-warning "invalid application of 'sizeof' to a void type" "" { target *-*-* } 0 }
diff -Nrcpad gcc-14-20251107/libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc gcc-14-20251114/libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc
*** gcc-14-20251107/libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc	Fri Nov  7 22:35:05 2025
--- gcc-14-20251114/libstdc++-v3/testsuite/30_threads/packaged_task/cons/dangling_ref.cc	Fri Nov 14 22:34:59 2025
***************
*** 8,13 ****
--- 8,14 ----
  int f();
  std::packaged_task<const int&()> task(f);
  // { dg-error "dangling reference" "" { target { c++14_down } } 0 }
+ // { dg-error "reference to temporary" "" { target { c++14_down } } 0 }
  // { dg-error "no matching function" "" { target c++17 } 0 }
  // { dg-error "enable_if" "" { target c++17 } 0 }
  // { dg-error "static assertion failed" "" { target c++17 } 0 }
