diff -Nrcpad gcc-13-20250807/LAST_UPDATED gcc-13-20250814/LAST_UPDATED
*** gcc-13-20250807/LAST_UPDATED	Thu Aug  7 22:33:33 2025
--- gcc-13-20250814/LAST_UPDATED	Thu Aug 14 22:33:04 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-13 revision 1b01355849653f4b6f4dd15b4959fc3983e4b121
--- 1 ----
! Obtained from git: releases/gcc-13 revision 1c6880c740c478980a8e09325ec7c5939a7f0a09
diff -Nrcpad gcc-13-20250807/MD5SUMS gcc-13-20250814/MD5SUMS
*** gcc-13-20250807/MD5SUMS	Thu Aug  7 22:33:37 2025
--- gcc-13-20250814/MD5SUMS	Thu Aug 14 22:33:12 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-13-20250807.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-13-20250814.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 21,27 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! b923706e2afeb7f81db402e330ee5956  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
--- 21,27 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 446f9cd2b189527e3e3ec4a7dd17c1d7  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 510,516 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! f42a3669642a4d6d33c86ff2d88de03b  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 510,516 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! c9f8ec33503c7f170ac73774182540e7  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** d626f1f61bc2d0cad5551d7bb2666b91  gcc/co
*** 3283,3292 ****
  afd3ea5ae83178ba9ef0abc732623c75  gcc/config/aarch64/aarch64-simd-builtins.def
  a8aad92f02ba8729f4cd1b8b3c4efc5f  gcc/config/aarch64/aarch64-simd.md
  0fd01f881e8207e1d6c6521e7122e0a0  gcc/config/aarch64/aarch64-speculation.cc
! 33a2627754cd7f586c413d23113cca3e  gcc/config/aarch64/aarch64-sve-builtins-base.cc
  59c3c335a6c6e57c547fb2e9fef3eef9  gcc/config/aarch64/aarch64-sve-builtins-base.def
  33bd4a836a53e47b04b4c46ba55098c9  gcc/config/aarch64/aarch64-sve-builtins-base.h
! 768e4d9fba61f6fed2d93aa6876abcc2  gcc/config/aarch64/aarch64-sve-builtins-functions.h
  95fba8f677af6b5ce473993252b2e591  gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
  33225ba0ccaf7cef5d184301b71d91f2  gcc/config/aarch64/aarch64-sve-builtins-shapes.h
  fb2af51188d71aa0ad4edbb97be3fe41  gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
--- 3283,3292 ----
  afd3ea5ae83178ba9ef0abc732623c75  gcc/config/aarch64/aarch64-simd-builtins.def
  a8aad92f02ba8729f4cd1b8b3c4efc5f  gcc/config/aarch64/aarch64-simd.md
  0fd01f881e8207e1d6c6521e7122e0a0  gcc/config/aarch64/aarch64-speculation.cc
! 8f88ded36b1feeec1c2d4c1278b885ae  gcc/config/aarch64/aarch64-sve-builtins-base.cc
  59c3c335a6c6e57c547fb2e9fef3eef9  gcc/config/aarch64/aarch64-sve-builtins-base.def
  33bd4a836a53e47b04b4c46ba55098c9  gcc/config/aarch64/aarch64-sve-builtins-base.h
! 3ef925c8b0f8ce245e440cf959f51dab  gcc/config/aarch64/aarch64-sve-builtins-functions.h
  95fba8f677af6b5ce473993252b2e591  gcc/config/aarch64/aarch64-sve-builtins-shapes.cc
  33225ba0ccaf7cef5d184301b71d91f2  gcc/config/aarch64/aarch64-sve-builtins-shapes.h
  fb2af51188d71aa0ad4edbb97be3fe41  gcc/config/aarch64/aarch64-sve-builtins-sve2.cc
*************** fb2af51188d71aa0ad4edbb97be3fe41  gcc/co
*** 3295,3308 ****
  45d75fc8775a4aa44d49b8571fdf7b29  gcc/config/aarch64/aarch64-sve-builtins.cc
  d944ba1876e827e8299a96fc31433c22  gcc/config/aarch64/aarch64-sve-builtins.def
  4ec15579b7cd3388c4d8eb7117540e35  gcc/config/aarch64/aarch64-sve-builtins.h
! de96fdd9da0d4a9bb48655452dc138c2  gcc/config/aarch64/aarch64-sve.md
  539c5094467274e03fa1ea0087d02d65  gcc/config/aarch64/aarch64-sve2.md
  7110ab6fb22b0e5dc8f7c105640b73f4  gcc/config/aarch64/aarch64-tune.md
  59a2e50c10aa66ea9757d8594c3cb6dc  gcc/config/aarch64/aarch64-tuning-flags.def
  703c876523c318a07e43cdfe4a0a2bee  gcc/config/aarch64/aarch64-vxworks.h
! d32970a53b05552eadc6493e3657fc9d  gcc/config/aarch64/aarch64.cc
  8df0eba1e11a7d9dcc4820353ddc6ba5  gcc/config/aarch64/aarch64.h
! a0a174ab1c6d081490ab52ebf1d0bee1  gcc/config/aarch64/aarch64.md
  27b3d58e07a631b044b51b2920e36271  gcc/config/aarch64/aarch64.opt
  f10e987cf60989a2c0882723035228c8  gcc/config/aarch64/arm_acle.h
  037341ded31b1b6e3ab4e48e63f32185  gcc/config/aarch64/arm_bf16.h
--- 3295,3308 ----
  45d75fc8775a4aa44d49b8571fdf7b29  gcc/config/aarch64/aarch64-sve-builtins.cc
  d944ba1876e827e8299a96fc31433c22  gcc/config/aarch64/aarch64-sve-builtins.def
  4ec15579b7cd3388c4d8eb7117540e35  gcc/config/aarch64/aarch64-sve-builtins.h
! 8527b14f19d829b3e608d7a35b7f216c  gcc/config/aarch64/aarch64-sve.md
  539c5094467274e03fa1ea0087d02d65  gcc/config/aarch64/aarch64-sve2.md
  7110ab6fb22b0e5dc8f7c105640b73f4  gcc/config/aarch64/aarch64-tune.md
  59a2e50c10aa66ea9757d8594c3cb6dc  gcc/config/aarch64/aarch64-tuning-flags.def
  703c876523c318a07e43cdfe4a0a2bee  gcc/config/aarch64/aarch64-vxworks.h
! e3d60529c154e5cee18711ff9142b61d  gcc/config/aarch64/aarch64.cc
  8df0eba1e11a7d9dcc4820353ddc6ba5  gcc/config/aarch64/aarch64.h
! 9a34b88782e645b1f51ad5bf799a9ce5  gcc/config/aarch64/aarch64.md
  27b3d58e07a631b044b51b2920e36271  gcc/config/aarch64/aarch64.opt
  f10e987cf60989a2c0882723035228c8  gcc/config/aarch64/arm_acle.h
  037341ded31b1b6e3ab4e48e63f32185  gcc/config/aarch64/arm_bf16.h
*************** c89c7b8fec07c5b75e3628a6ee822c1f  gcc/co
*** 3322,3328 ****
  47ed472d8ab7676239a8c2afaee00d0c  gcc/config/aarch64/geniterators.sh
  02eca4bc365f9478480ced1203a5fbf8  gcc/config/aarch64/gentune.sh
  86eaf33edeb885c2c9ae2a9825879e59  gcc/config/aarch64/host-aarch64-darwin.cc
! cbc20167372d42d8ad4c6b6f5ef3d54e  gcc/config/aarch64/iterators.md
  3ffffea8efebe8709a5fb79b70ebef56  gcc/config/aarch64/predicates.md
  0cba3aa930062f2526baf26c05de99ce  gcc/config/aarch64/rtems.h
  bfaa30c9cf04a5f4960f9507fb6c93ed  gcc/config/aarch64/saphira.md
--- 3322,3328 ----
  47ed472d8ab7676239a8c2afaee00d0c  gcc/config/aarch64/geniterators.sh
  02eca4bc365f9478480ced1203a5fbf8  gcc/config/aarch64/gentune.sh
  86eaf33edeb885c2c9ae2a9825879e59  gcc/config/aarch64/host-aarch64-darwin.cc
! f171a70307e9860a97a38e541016da90  gcc/config/aarch64/iterators.md
  3ffffea8efebe8709a5fb79b70ebef56  gcc/config/aarch64/predicates.md
  0cba3aa930062f2526baf26c05de99ce  gcc/config/aarch64/rtems.h
  bfaa30c9cf04a5f4960f9507fb6c93ed  gcc/config/aarch64/saphira.md
*************** ffb1b3ecba72997c3e6804714698295d  gcc/co
*** 3913,3919 ****
  7512d54a6f733ab8b39bf9b02c1ba4db  gcc/config/i386/i386-opts.h
  3d980f6dc86b67acb7d8e5be6c08c589  gcc/config/i386/i386-passes.def
  15146e6cff34da8c1205b0df0813ccb0  gcc/config/i386/i386-protos.h
! 2c1a1dada63d12c6ab128b7c403d03b9  gcc/config/i386/i386.cc
  0c9ab892c366f3f64c88a3562987a4ba  gcc/config/i386/i386.h
  34ac6019772ce9f98393f897917b0607  gcc/config/i386/i386.md
  c32251e85ab598cb51e89383639566bb  gcc/config/i386/i386.opt
--- 3913,3919 ----
  7512d54a6f733ab8b39bf9b02c1ba4db  gcc/config/i386/i386-opts.h
  3d980f6dc86b67acb7d8e5be6c08c589  gcc/config/i386/i386-passes.def
  15146e6cff34da8c1205b0df0813ccb0  gcc/config/i386/i386-protos.h
! 2c409b2e91479e1b4ab91095d80e95c3  gcc/config/i386/i386.cc
  0c9ab892c366f3f64c88a3562987a4ba  gcc/config/i386/i386.h
  34ac6019772ce9f98393f897917b0607  gcc/config/i386/i386.md
  c32251e85ab598cb51e89383639566bb  gcc/config/i386/i386.opt
*************** a92be6f532ece352cab8309520cf28f0  gcc/co
*** 5078,5084 ****
  6614aac0ce8960f693faf880a7560bc5  gcc/coroutine-passes.cc
  9d6931fedff9a87a6266d15841579e67  gcc/coverage.cc
  b964f4291cd58a61a06769149429435f  gcc/coverage.h
! 17cfa04414cbd9b0565cbe07f90f5742  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
--- 5078,5084 ----
  6614aac0ce8960f693faf880a7560bc5  gcc/coroutine-passes.cc
  9d6931fedff9a87a6266d15841579e67  gcc/coverage.cc
  b964f4291cd58a61a06769149429435f  gcc/coverage.h
! a38b74a29e12f0922e4a43aa22400bd6  gcc/cp/ChangeLog
  d271e3663538ba1f3281cab3838e92cd  gcc/cp/ChangeLog-1993
  f5a44adbc05521162350ca409d1d95ce  gcc/cp/ChangeLog-1994
  ac55db48d964cb5469ff03c1cd3ee04d  gcc/cp/ChangeLog-1995
*************** d9b5ec86750c5cd59daf7a5aae58585b  gcc/cp
*** 5117,5123 ****
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
! 08921b99d388726f86b809fbbce118ef  gcc/cp/constexpr.cc
  edccbdb3f4c2f1f4d32e807cb29e3c40  gcc/cp/constraint.cc
  da0483e6a5389a7d06c30a4f41b34d48  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
--- 5117,5123 ----
  896d83eec5aaaa6e6d65eaf91d39d283  gcc/cp/cfns.h
  0b2a03d49770c4eace1cd0be60ee4b69  gcc/cp/class.cc
  b0062ee9c9d42ee91eaf7512f6e1e0be  gcc/cp/config-lang.in
! a9ea35da5e555a2aac44a84c5e679609  gcc/cp/constexpr.cc
  edccbdb3f4c2f1f4d32e807cb29e3c40  gcc/cp/constraint.cc
  da0483e6a5389a7d06c30a4f41b34d48  gcc/cp/contracts.cc
  3fff7a95b0ebd54a1f3f2b2ace365aae  gcc/cp/contracts.h
*************** b829ed0032c899e107be2db349c913f3  gcc/ta
*** 7637,7643 ****
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 79f03c74f6deabdbe9fba71683e9b7f8  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 7637,7643 ----
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 5b5d9f2df40e7b6754773d579cf728f0  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** b5f4f9a8f5933754f321648f67e54dac  gcc/te
*** 18653,18658 ****
--- 18653,18660 ----
  1a30baf82f09866d37d6e96a76379f47  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic16.C
  aa504b7ff788990adcf5e4c4b174e0ae  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic17.C
  8fe226b0e900985b1f76643e8aaf737b  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic18.C
+ ba2b3d3cd6f23028bc237ee7025256fb  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic19.C
+ dd98bfd651ed53723db105ea6def894e  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic1a.C
  6a856dd4720aaf5ca7ba6e7422f849a9  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic2.C
  6ddf97a1878f89c02ca0c76de5f0f08f  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic3.C
  28c0eaf9ba35a479b5d50ddb90e7dc07  gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic4.C
*************** ae44d68f203e7d5a17d19738cfbc53a0  gcc/te
*** 57653,57658 ****
--- 57655,57666 ----
  23037c19fa0b1b3f5bcac32c8d73393c  gcc/testsuite/gcc.target/aarch64/sve/acle/general/nrv_1.c
  618eed08c799209fcc7e876e7bc1f5a9  gcc/testsuite/gcc.target/aarch64/sve/acle/general/orn_1.c
  c43619dc0345cb75df63193d4ecf32a5  gcc/testsuite/gcc.target/aarch64/sve/acle/general/orr_1.c
+ 0a35f14f6f82735e897ca461fd10bd66  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_2.c
+ acdd75031b126bdb8ede449a87a8b4c8  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_3.c
+ eb5400f39cf4b8034ce9bf768b42f01e  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_4.c
+ dc5cc4bd54f699543e29d49d190cf7f3  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_5.c
+ 4505bd757cf0718372154e481c4a2da0  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_6.c
+ 453c5ef83bc5137397e38e9f3c9d6da9  gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_7.c
  bb3a7f2587d8584d185738649f93a6f6  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pfirst_1.c
  4a5457bf98a3061b6c949b777ceca410  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pnext_1.c
  6d3b0cbb6b0b88e0030fbf0003faa4c9  gcc/testsuite/gcc.target/aarch64/sve/acle/general/pnext_2.c
*************** a5788fbbeb941609b02d51151c326705  gcc/te
*** 57672,57677 ****
--- 57680,57686 ----
  bf328a0ed3cadaf01cdcd516cb16a2eb  gcc/testsuite/gcc.target/aarch64/sve/acle/general/ptrue_pat_4.c
  21cf8f26265cb4080b1703c09d296dc5  gcc/testsuite/gcc.target/aarch64/sve/acle/general/ptrue_pat_5.c
  ef386f442776c7325a9c4120d5f0f1cd  gcc/testsuite/gcc.target/aarch64/sve/acle/general/qincb_1.c
+ 52959d72e6279c53e3e28e80ecb896fe  gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c
  b73d2b4b9aeaceb7898b89f8e147cc04  gcc/testsuite/gcc.target/aarch64/sve/acle/general/stack_vars_1.c
  a60971180940fb9126dc3f2440073c3a  gcc/testsuite/gcc.target/aarch64/sve/acle/general/struct_1.c
  9404c4e4b822b81b48891a1fe0625266  gcc/testsuite/gcc.target/aarch64/sve/acle/general/temporaries_1.c
*************** f5a1252b1fe24ea2b97ff3762c399ed9  gcc/te
*** 70267,70272 ****
--- 70276,70287 ----
  16984aa55364473d08d90334f60bf59e  gcc/testsuite/gcc.target/i386/pr120427-5.c
  e33b63cd8f6d60b286b2286424f25714  gcc/testsuite/gcc.target/i386/pr120908.c
  b03b1d817538a863277c823b5e4cdf75  gcc/testsuite/gcc.target/i386/pr12092-1.c
+ 06cf62e068f23c847b4e4ce15a37d992  gcc/testsuite/gcc.target/i386/pr121208-1a.c
+ d7bb5368ed41a3ee6fb312a80c99d313  gcc/testsuite/gcc.target/i386/pr121208-1b.c
+ 4bc0f0b5cb9d3cd77907d3b642e0f8db  gcc/testsuite/gcc.target/i386/pr121208-2a.c
+ 26d68c5cba57817989670af4634fe936  gcc/testsuite/gcc.target/i386/pr121208-2b.c
+ d4ebe08b4cb963582547d8bb5712e712  gcc/testsuite/gcc.target/i386/pr121208-3a.c
+ 5064c3ab2b92e2f20dcd604d557d738c  gcc/testsuite/gcc.target/i386/pr121208-3b.c
  f99f88a6e994ad6e55e065e41bc58f8f  gcc/testsuite/gcc.target/i386/pr12329.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
diff -Nrcpad gcc-13-20250807/gcc/DATESTAMP gcc-13-20250814/gcc/DATESTAMP
*** gcc-13-20250807/gcc/DATESTAMP	Thu Aug  7 22:32:28 2025
--- gcc-13-20250814/gcc/DATESTAMP	Thu Aug 14 22:32:05 2025
***************
*** 1 ****
! 20250807
--- 1 ----
! 20250814
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/aarch64-sve-builtins-base.cc gcc-13-20250814/gcc/config/aarch64/aarch64-sve-builtins-base.cc
*** gcc-13-20250807/gcc/config/aarch64/aarch64-sve-builtins-base.cc	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/aarch64-sve-builtins-base.cc	Thu Aug 14 22:32:06 2025
*************** public:
*** 2032,2038 ****
    rtx
    expand (function_expander &e) const override
    {
!     return e.use_exact_insn (code_for_aarch64_sve_rev (e.vector_mode (0)));
    }
  };
  
--- 2032,2041 ----
    rtx
    expand (function_expander &e) const override
    {
!     auto mode = e.vector_mode (0);
!     return e.use_exact_insn (e.type_suffix (0).bool_p
! 			     ? code_for_aarch64_sve_rev_acle (mode)
! 			     : code_for_aarch64_sve_rev (mode));
    }
  };
  
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/aarch64-sve-builtins-functions.h gcc-13-20250814/gcc/config/aarch64/aarch64-sve-builtins-functions.h
*** gcc-13-20250807/gcc/config/aarch64/aarch64-sve-builtins-functions.h	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/aarch64-sve-builtins-functions.h	Thu Aug 14 22:32:06 2025
*************** public:
*** 481,487 ****
    rtx
    expand (function_expander &e) const override
    {
!     insn_code icode = code_for_aarch64_sve (m_unspec, e.vector_mode (0));
      return e.use_exact_insn (icode);
    }
  
--- 481,490 ----
    rtx
    expand (function_expander &e) const override
    {
!     auto mode = e.vector_mode (0);
!     insn_code icode = (e.type_suffix (0).bool_p
! 		       ? code_for_aarch64_sve_acle (m_unspec, mode)
! 		       : code_for_aarch64_sve (m_unspec, mode));
      return e.use_exact_insn (icode);
    }
  
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/aarch64-sve.md gcc-13-20250814/gcc/config/aarch64/aarch64-sve.md
*** gcc-13-20250807/gcc/config/aarch64/aarch64-sve.md	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/aarch64-sve.md	Thu Aug 14 22:32:06 2025
***************
*** 8834,8840 ****
  	(unspec:PRED_ALL [(match_operand:PRED_ALL 1 "register_operand" "Upa")]
  			 UNSPEC_REV))]
    "TARGET_SVE"
!   "rev\t%0.<Vetype>, %1.<Vetype>")
  
  ;; -------------------------------------------------------------------------
  ;; ---- [PRED] Special-purpose binary permutes
--- 8834,8863 ----
  	(unspec:PRED_ALL [(match_operand:PRED_ALL 1 "register_operand" "Upa")]
  			 UNSPEC_REV))]
    "TARGET_SVE"
!   "rev\t%0.<Vetype>, %1.<Vetype>"
! )
! 
! (define_expand "@aarch64_sve_rev<mode>_acle"
!   [(set (match_operand:VNx16BI 0 "register_operand")
! 	(unspec:VNx16BI
! 	  [(match_operand:VNx16BI 1 "register_operand")
! 	   (match_dup:PRED_ALL 2)]
! 	  UNSPEC_REV_PRED))]
!   "TARGET_SVE"
!   {
!     operands[2] = CONST0_RTX (<MODE>mode);
!   }
! )
! 
! (define_insn "*aarch64_sve_rev<mode>_acle"
!   [(set (match_operand:VNx16BI 0 "register_operand" "=Upa")
! 	(unspec:VNx16BI
! 	  [(match_operand:VNx16BI 1 "register_operand" "Upa")
! 	   (match_operand:PRED_ALL 2 "aarch64_simd_imm_zero")]
! 	  UNSPEC_REV_PRED))]
!   "TARGET_SVE"
!   "rev\t%0.<Vetype>, %1.<Vetype>"
! )
  
  ;; -------------------------------------------------------------------------
  ;; ---- [PRED] Special-purpose binary permutes
***************
*** 8859,8876 ****
    "<perm_insn>\t%0.<Vetype>, %1.<Vetype>, %2.<Vetype>"
  )
  
! ;; Special purpose permute used by the predicate generation instructions.
! ;; Unlike the normal permute patterns, these instructions operate on VNx16BI
! ;; regardless of the element size, so that all input and output bits are
! ;; well-defined.  Operand 3 then indicates the size of the permute.
! (define_insn "@aarch64_sve_trn1_conv<mode>"
    [(set (match_operand:VNx16BI 0 "register_operand" "=Upa")
  	(unspec:VNx16BI [(match_operand:VNx16BI 1 "register_operand" "Upa")
  			 (match_operand:VNx16BI 2 "register_operand" "Upa")
! 			 (match_operand:PRED_ALL 3 "aarch64_simd_imm_zero")]
! 			UNSPEC_TRN1_CONV))]
    "TARGET_SVE"
!   "trn1\t%0.<PRED_ALL:Vetype>, %1.<PRED_ALL:Vetype>, %2.<PRED_ALL:Vetype>"
  )
  
  ;; =========================================================================
--- 8882,8920 ----
    "<perm_insn>\t%0.<Vetype>, %1.<Vetype>, %2.<Vetype>"
  )
  
! ;; Special-purpose permutes used by the ACLE intrinsics and predicate
! ;; generation instructions.  Unlike the normal permute patterns, these
! ;; instructions operate on VNx16BI regardless of the element size, so that
! ;; all input and output bits are well-defined.  Operand 3 then indicates
! ;; the size of the permute.
! ;;
! ;; To make generation easier, this pattern embeds the permute type as the
! ;; fourth operand to the unspec.  On the one hand, this avoids overloading
! ;; unspecs like UNSPEC_ZIP1 to represent two different operations.  On the
! ;; other hand, it avoids having a separate unspec for each variant, and
! ;; having to map from one kind of unspec to the other.
! (define_expand "@aarch64_sve_<perm_insn><mode>_acle"
!   [(set (match_operand:VNx16BI 0 "register_operand")
! 	(unspec:VNx16BI [(match_operand:VNx16BI 1 "register_operand")
! 			 (match_operand:VNx16BI 2 "register_operand")
! 			 (match_dup:PRED_ALL 3)
! 			 (const_int PERMUTE)]
! 			UNSPEC_PERMUTE_PRED))]
!   "TARGET_SVE"
!   {
!     operands[3] = CONST0_RTX (<MODE>mode);
!   }
! )
! 
! (define_insn "*aarch64_sve_<perm_insn><mode>_acle"
    [(set (match_operand:VNx16BI 0 "register_operand" "=Upa")
  	(unspec:VNx16BI [(match_operand:VNx16BI 1 "register_operand" "Upa")
  			 (match_operand:VNx16BI 2 "register_operand" "Upa")
! 			 (match_operand:PRED_ALL 3 "aarch64_simd_imm_zero")
! 			 (const_int PERMUTE)]
! 			UNSPEC_PERMUTE_PRED))]
    "TARGET_SVE"
!   "<perm_insn>\t%0.<PRED_ALL:Vetype>, %1.<PRED_ALL:Vetype>, %2.<PRED_ALL:Vetype>"
  )
  
  ;; =========================================================================
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/aarch64.cc gcc-13-20250814/gcc/config/aarch64/aarch64.cc
*** gcc-13-20250807/gcc/config/aarch64/aarch64.cc	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/aarch64.cc	Thu Aug 14 22:32:06 2025
*************** aarch64_expand_sve_const_pred_trn (rtx t
*** 6663,6670 ****
       operands but permutes them as though they had mode MODE.  */
    machine_mode mode = aarch64_sve_pred_mode (permute_size).require ();
    target = aarch64_target_reg (target, GET_MODE (a));
!   rtx type_reg = CONST0_RTX (mode);
!   emit_insn (gen_aarch64_sve_trn1_conv (mode, target, a, b, type_reg));
    return target;
  }
  
--- 6663,6669 ----
       operands but permutes them as though they had mode MODE.  */
    machine_mode mode = aarch64_sve_pred_mode (permute_size).require ();
    target = aarch64_target_reg (target, GET_MODE (a));
!   emit_insn (gen_aarch64_sve_acle (UNSPEC_TRN1, mode, target, a, b));
    return target;
  }
  
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/aarch64.md gcc-13-20250814/gcc/config/aarch64/aarch64.md
*** gcc-13-20250807/gcc/config/aarch64/aarch64.md	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/aarch64.md	Thu Aug 14 22:32:06 2025
***************
*** 203,208 ****
--- 203,209 ----
      UNSPEC_PACIBSP
      UNSPEC_PRLG_STK
      UNSPEC_REV
+     UNSPEC_REV_PRED
      UNSPEC_RBIT
      UNSPEC_SABAL
      UNSPEC_SABAL2
diff -Nrcpad gcc-13-20250807/gcc/config/aarch64/iterators.md gcc-13-20250814/gcc/config/aarch64/iterators.md
*** gcc-13-20250807/gcc/config/aarch64/iterators.md	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/aarch64/iterators.md	Thu Aug 14 22:32:06 2025
***************
*** 771,777 ****
      UNSPEC_UZP2Q	; Used in aarch64-sve.md.
      UNSPEC_ZIP1Q	; Used in aarch64-sve.md.
      UNSPEC_ZIP2Q	; Used in aarch64-sve.md.
-     UNSPEC_TRN1_CONV	; Used in aarch64-sve.md.
      UNSPEC_COND_CMPEQ_WIDE ; Used in aarch64-sve.md.
      UNSPEC_COND_CMPGE_WIDE ; Used in aarch64-sve.md.
      UNSPEC_COND_CMPGT_WIDE ; Used in aarch64-sve.md.
--- 771,776 ----
***************
*** 979,984 ****
--- 978,986 ----
      UNSPEC_BFCVTN2     ; Used in aarch64-simd.md.
      UNSPEC_BFCVT       ; Used in aarch64-simd.md.
      UNSPEC_FCVTXN	; Used in aarch64-simd.md.
+ 
+     ;; All used in aarch64-sve.md
+     UNSPEC_PERMUTE_PRED
  ])
  
  ;; ------------------------------------------------------------------
diff -Nrcpad gcc-13-20250807/gcc/config/i386/i386.cc gcc-13-20250814/gcc/config/i386/i386.cc
*** gcc-13-20250807/gcc/config/i386/i386.cc	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/config/i386/i386.cc	Thu Aug 14 22:32:06 2025
*************** static GTY(()) rtx ix86_tls_symbol;
*** 11502,11507 ****
--- 11502,11527 ----
  static rtx
  ix86_tls_get_addr (void)
  {
+   if (cfun->machine->no_caller_saved_registers)
+     {
+       /* __tls_get_addr doesn't preserve vector registers.  When a
+ 	 function with no_caller_saved_registers attribute calls
+ 	 __tls_get_addr, YMM and ZMM registers will be clobbered.
+ 	 Issue an error and suggest -mtls-dialect=gnu2 in this case.  */
+       if (cfun->machine->func_type == TYPE_NORMAL)
+ 	error (G_("%<-mtls-dialect=gnu2%> must be used with a function"
+ 		  " with the %<no_caller_saved_registers%> attribute"));
+       else
+ 	error (cfun->machine->func_type == TYPE_EXCEPTION
+ 	       ? G_("%<-mtls-dialect=gnu2%> must be used with an"
+ 		    " exception service routine")
+ 	       : G_("%<-mtls-dialect=gnu2%> must be used with an"
+ 		    " interrupt service routine"));
+       /* Don't issue the same error twice.  */
+       cfun->machine->func_type = TYPE_NORMAL;
+       cfun->machine->no_caller_saved_registers = false;
+     }
+ 
    if (!ix86_tls_symbol)
      {
        const char *sym
diff -Nrcpad gcc-13-20250807/gcc/cp/ChangeLog gcc-13-20250814/gcc/cp/ChangeLog
*** gcc-13-20250807/gcc/cp/ChangeLog	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/cp/ChangeLog	Thu Aug 14 22:32:07 2025
***************
*** 1,3 ****
--- 1,12 ----
+ 2025-08-08  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-04  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/120620
+ 	* constexpr.cc (cxx_dynamic_cast_fn_p): Return true only
+ 	for synthesized __dynamic_cast.
+ 
  2025-07-03  Jakub Jelinek  <jakub@redhat.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250807/gcc/cp/constexpr.cc gcc-13-20250814/gcc/cp/constexpr.cc
*** gcc-13-20250807/gcc/cp/constexpr.cc	Thu Aug  7 22:32:29 2025
--- gcc-13-20250814/gcc/cp/constexpr.cc	Thu Aug 14 22:32:07 2025
*************** cxx_dynamic_cast_fn_p (tree fndecl)
*** 2272,2278 ****
  {
    return (cxx_dialect >= cxx20
  	  && id_equal (DECL_NAME (fndecl), "__dynamic_cast")
! 	  && CP_DECL_CONTEXT (fndecl) == abi_node);
  }
  
  /* Often, we have an expression in the form of address + offset, e.g.
--- 2272,2282 ----
  {
    return (cxx_dialect >= cxx20
  	  && id_equal (DECL_NAME (fndecl), "__dynamic_cast")
! 	  && CP_DECL_CONTEXT (fndecl) == abi_node
! 	  /* Only consider implementation-detail __dynamic_cast calls that
! 	     correspond to a dynamic_cast, and ignore direct calls to
! 	     abi::__dynamic_cast.  */
! 	  && DECL_ARTIFICIAL (fndecl));
  }
  
  /* Often, we have an expression in the form of address + offset, e.g.
diff -Nrcpad gcc-13-20250807/gcc/testsuite/ChangeLog gcc-13-20250814/gcc/testsuite/ChangeLog
*** gcc-13-20250807/gcc/testsuite/ChangeLog	Thu Aug  7 22:32:31 2025
--- gcc-13-20250814/gcc/testsuite/ChangeLog	Thu Aug 14 22:32:08 2025
***************
*** 1,3 ****
--- 1,12 ----
+ 2025-08-08  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	Backported from master:
+ 	2025-08-04  Patrick Palka  <ppalka@redhat.com>
+ 
+ 	PR c++/120620
+ 	* g++.dg/cpp2a/constexpr-dynamic19.C: New test.
+ 	* g++.dg/cpp2a/constexpr-dynamic1a.C: New test.
+ 
  2025-07-31  Jeevitha  <jeevitha@linux.ibm.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20250807/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic19.C gcc-13-20250814/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic19.C
*** gcc-13-20250807/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic19.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic19.C	Thu Aug 14 22:32:09 2025
***************
*** 0 ****
--- 1,10 ----
+ // PR c++/120620
+ // { dg-do compile }
+ 
+ #include <cxxabi.h>
+ 
+ struct A* a;
+ 
+ void f() {
+   void* const p = abi::__dynamic_cast(&a, 0, 0, 42);
+ }
diff -Nrcpad gcc-13-20250807/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic1a.C gcc-13-20250814/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic1a.C
*** gcc-13-20250807/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic1a.C	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/g++.dg/cpp2a/constexpr-dynamic1a.C	Thu Aug 14 22:32:09 2025
***************
*** 0 ****
--- 1,6 ----
+ // Test that including <cxxabi.h>, whence the actual abi:__dynamic_cast
+ // is declared, doesn't affect our constexpr dynamic_cast handling.
+ // { dg-do compile { target c++20 } }
+ 
+ #include <cxxabi.h>
+ #include "constexpr-dynamic1.C"
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_2.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_2.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_2.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_2.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	trn1	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svtrn1_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	trn1	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svtrn1_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	trn1	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svtrn1_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	trn1	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svtrn1_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	trn1	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svtrn1_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	trn1	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svtrn1_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_3.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_3.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_3.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_3.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	trn2	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svtrn2_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	trn2	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svtrn2_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	trn2	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svtrn2_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	trn2	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svtrn2_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	trn2	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svtrn2_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	trn2	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svtrn2_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_4.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_4.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_4.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_4.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	zip1	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svzip1_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	zip1	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svzip1_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	zip1	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svzip1_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	zip1	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svzip1_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	zip1	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svzip1_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	zip1	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svzip1_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_5.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_5.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_5.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_5.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	zip2	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svzip2_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	zip2	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svzip2_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	zip2	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svzip2_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	zip2	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svzip2_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	zip2	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svzip2_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	zip2	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svzip2_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_6.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_6.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_6.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_6.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	uzp1	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svuzp1_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	uzp1	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svuzp1_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	uzp1	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svuzp1_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	uzp1	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svuzp1_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	uzp1	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svuzp1_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	uzp1	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svuzp1_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_7.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_7.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_7.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/perm_7.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,96 ----
+ /* { dg-options "-O2" } */
+ /* { dg-final { check-function-bodies "**" "" } } */
+ 
+ #include <arm_sve.h>
+ 
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+ 
+ /*
+ ** test1:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	uzp2	p0\.h, p[0-3]\.h, \1\.h
+ **	ret
+ */
+ svbool_t
+ test1 ()
+ {
+   return svuzp2_b16 (svptrue_b8 (), svptrue_b16 ());
+ }
+ 
+ /*
+ ** test2:
+ **	...
+ **	ptrue	(p[0-3])\.h, all
+ **	...
+ **	uzp2	p0\.h, \1\.h, p[0-3]\.h
+ **	ret
+ */
+ svbool_t
+ test2 ()
+ {
+   return svuzp2_b16 (svptrue_b16 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test3:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	uzp2	p0\.s, p[0-3]\.s, \1\.s
+ **	ret
+ */
+ svbool_t
+ test3 ()
+ {
+   return svuzp2_b32 (svptrue_b8 (), svptrue_b32 ());
+ }
+ 
+ /*
+ ** test4:
+ **	...
+ **	ptrue	(p[0-3])\.s, all
+ **	...
+ **	uzp2	p0\.s, \1\.s, p[0-3]\.s
+ **	ret
+ */
+ svbool_t
+ test4 ()
+ {
+   return svuzp2_b32 (svptrue_b32 (), svptrue_b8 ());
+ }
+ 
+ /*
+ ** test5:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	uzp2	p0\.d, p[0-3]\.d, \1\.d
+ **	ret
+ */
+ svbool_t
+ test5 ()
+ {
+   return svuzp2_b64 (svptrue_b8 (), svptrue_b64 ());
+ }
+ 
+ /*
+ ** test6:
+ **	...
+ **	ptrue	(p[0-3])\.d, all
+ **	...
+ **	uzp2	p0\.d, \1\.d, p[0-3]\.d
+ **	ret
+ */
+ svbool_t
+ test6 ()
+ {
+   return svuzp2_b64 (svptrue_b64 (), svptrue_b8 ());
+ }
+ 
+ #ifdef __cplusplus
+ }
+ #endif
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/aarch64/sve/acle/general/rev_2.c	Thu Aug 14 22:32:14 2025
***************
*** 0 ****
--- 1,27 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2" } */
+ 
+ #include <arm_sve.h>
+ 
+ svbool_t test1()
+ {
+   return svrev_b16 (svptrue_b16 ());
+ }
+ 
+ svbool_t test2()
+ {
+   return svrev_b32 (svptrue_b32 ());
+ }
+ 
+ svbool_t test3()
+ {
+   return svrev_b64 (svptrue_b64 ());
+ }
+ 
+ /* { dg-final { scan-assembler {\tptrue\tp[0-7]\.h} } } */
+ /* { dg-final { scan-assembler {\tptrue\tp[0-7]\.s} } } */
+ /* { dg-final { scan-assembler {\tptrue\tp[0-7]\.d} } } */
+ /* { dg-final { scan-assembler-not {\tptrue\tp[0-7]\.b} } } */
+ /* { dg-final { scan-assembler {\trev\tp0\.h} } } */
+ /* { dg-final { scan-assembler {\trev\tp0\.s} } } */
+ /* { dg-final { scan-assembler {\trev\tp0\.d} } } */
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-1a.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-1a.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-1a.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-1a.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mno-sse -mno-mmx -mno-80387 -mtls-dialect=gnu" } */
+ 
+ extern __thread int bar;
+ extern void func (void);
+ 
+ __attribute__((no_caller_saved_registers))
+ void
+ foo (int error)
+ {
+   bar = 1; /* { dg-error -mtls-dialect=gnu2 } */
+   if (error == 0)
+     func ();
+   bar = 0;
+ }
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-1b.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-1b.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-1b.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-1b.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,4 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mno-sse -mno-mmx -mno-80387 -mtls-dialect=gnu2" } */
+ 
+ #include "pr121208-1a.c"
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-2a.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-2a.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-2a.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-2a.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mtls-dialect=gnu" } */
+ 
+ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
+ extern __thread int bar;
+ extern void func (void);
+ 
+ __attribute__((target("general-regs-only")))
+ __attribute__((interrupt))
+ void
+ foo (void *frame, uword_t error)
+ {
+   bar = 1; /* { dg-error -mtls-dialect=gnu2 } */
+   if (error == 0)
+     func ();
+   bar = 0;
+ }
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-2b.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-2b.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-2b.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-2b.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,4 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mtls-dialect=gnu2" } */
+ 
+ #include "pr121208-2a.c"
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-3a.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-3a.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-3a.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-3a.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,17 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mtls-dialect=gnu" } */
+ 
+ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
+ extern __thread int bar;
+ extern void func (void);
+ 
+ __attribute__((target("general-regs-only")))
+ __attribute__((interrupt))
+ void
+ foo (void *frame)
+ {
+   bar = 1; /* { dg-error -mtls-dialect=gnu2 } */
+   if (frame == 0)
+     func ();
+   bar = 0;
+ }
diff -Nrcpad gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-3b.c gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-3b.c
*** gcc-13-20250807/gcc/testsuite/gcc.target/i386/pr121208-3b.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20250814/gcc/testsuite/gcc.target/i386/pr121208-3b.c	Thu Aug 14 22:32:27 2025
***************
*** 0 ****
--- 1,4 ----
+ /* { dg-do compile { target *-*-linux* } } */
+ /* { dg-options "-O2 -fPIC -mtls-dialect=gnu2" } */
+ 
+ #include "pr121208-3a.c"
