diff -Nrcpad gcc-15-20260522/LAST_UPDATED gcc-15-20260529/LAST_UPDATED
*** gcc-15-20260522/LAST_UPDATED	Fri May 22 22:32:20 2026
--- gcc-15-20260529/LAST_UPDATED	Fri May 29 22:32:20 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-15 revision 19de5568f75cd7e213df318bcd1ebd9976a56d14
--- 1 ----
! Obtained from git: releases/gcc-15 revision 9c3d2b6d54f3a488be1ffe3886900ab041df3e30
diff -Nrcpad gcc-15-20260522/MD5SUMS gcc-15-20260529/MD5SUMS
*** gcc-15-20260522/MD5SUMS	Fri May 22 22:32:24 2026
--- gcc-15-20260529/MD5SUMS	Fri May 29 22:32:25 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260522.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-15-20260529.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** d32239bcb673463ab874e80d47fae504  COPYIN
*** 25,31 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! be0d06c65749c0953b20e25d8e0a9ca4  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
--- 25,31 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 7d1990b0fa597fcdadee6ed7f729832e  LAST_UPDATED
  9d2cf5b58292c2e8b0804d3eafc2d6f3  MAINTAINERS
  b714b83dd28679b75c5fd3e619d35956  Makefile.def
  9d0808afc70085c5ca8d45062fc59689  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 514,520 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 5abb42221a2ec68bc0882161ac115b76  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
--- 514,520 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! ae9d056ee44af13303f6b508127a24f6  gcc/ChangeLog
  51281e73aa07fb62394bd72f3c9299ba  gcc/ChangeLog-1997
  f77af8c9ac412064886b00c5506123b5  gcc/ChangeLog-1998
  00a2e4ead1b289bf69bca0196fed6f9f  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 551,557 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 94dc98f80ecdfed1bb6361e3bf4e5889  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 551,557 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 25307d44fce452290f86ed6a023b4aa0  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** ec6799501b2eb2923d5de6a66169dbd2  gcc/ON
*** 563,569 ****
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! 206ea122de4c99ca541552082f529590  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
--- 563,569 ----
  cd96bf34cb76c97f86704a59b9ddb18a  gcc/acinclude.m4
  18db4664d7e31002aac43ebcf20e075f  gcc/aclocal.m4
  16a499934b71eb6cf7c0d6899cd6006a  gcc/ada/.gitignore
! f36709fc24d22a8935da29915d5fd419  gcc/ada/ChangeLog
  c2094c0d3135f9ac89917f162046ee04  gcc/ada/ChangeLog-2001
  fa410b57f5d814d5d3ac3b45f486cdcf  gcc/ada/ChangeLog-2002
  2dbefa7bdc8dc28ec746002028861278  gcc/ada/ChangeLog-2003
*************** a012e0cb5df366014b5a4988036a509a  gcc/ad
*** 698,704 ****
  a279ed6487990a204e636674f9c44623  gcc/ada/doc/gnat_rm.rst
  c4f5f27a027adfe3db5b39193542c956  gcc/ada/doc/gnat_rm/about_this_guide.rst
  e183e323bf87ac50a5767106862fef97  gcc/ada/doc/gnat_rm/compatibility_and_porting_guide.rst
! 8e52fb340bf9b3b220e7e6a9cee8be87  gcc/ada/doc/gnat_rm/gnat_language_extensions.rst
  c2ce843af1cfd3f0c588b2a488ad8d45  gcc/ada/doc/gnat_rm/implementation_advice.rst
  9841e49a49af522a8041a3b7a4df8b92  gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst
  687e948eae92592a9bb4b738fd473d80  gcc/ada/doc/gnat_rm/implementation_defined_attributes.rst
--- 698,704 ----
  a279ed6487990a204e636674f9c44623  gcc/ada/doc/gnat_rm.rst
  c4f5f27a027adfe3db5b39193542c956  gcc/ada/doc/gnat_rm/about_this_guide.rst
  e183e323bf87ac50a5767106862fef97  gcc/ada/doc/gnat_rm/compatibility_and_porting_guide.rst
! 19627ce6fbabc04031674f1954a44add  gcc/ada/doc/gnat_rm/gnat_language_extensions.rst
  c2ce843af1cfd3f0c588b2a488ad8d45  gcc/ada/doc/gnat_rm/implementation_advice.rst
  9841e49a49af522a8041a3b7a4df8b92  gcc/ada/doc/gnat_rm/implementation_defined_aspects.rst
  687e948eae92592a9bb4b738fd473d80  gcc/ada/doc/gnat_rm/implementation_defined_attributes.rst
*************** ceea56f2846e3f170ecd0707ee0cd771  gcc/ad
*** 882,888 ****
  917ea7311a30ec4c5cec3e610ca640c2  gcc/ada/gnat2.gpr
  49c5329fd360e2bf4e549bc7de93aab7  gcc/ada/gnat_cuda.adb
  de69fc271ce889490809004600fcac0f  gcc/ada/gnat_cuda.ads
! dc9cda00481a5069f6febcb6a54e9c73  gcc/ada/gnat_rm.texi
  aab9a487c7c6377a292d239367dc7c62  gcc/ada/gnat_ugn.texi
  957e02fdb4684d592d9172cea8dfb4cb  gcc/ada/gnatbind.adb
  fff8dfca966e9d6f779ce90e57344a0f  gcc/ada/gnatbind.ads
--- 882,888 ----
  917ea7311a30ec4c5cec3e610ca640c2  gcc/ada/gnat2.gpr
  49c5329fd360e2bf4e549bc7de93aab7  gcc/ada/gnat_cuda.adb
  de69fc271ce889490809004600fcac0f  gcc/ada/gnat_cuda.ads
! 99ba48291635f2190727bb9bb49660d6  gcc/ada/gnat_rm.texi
  aab9a487c7c6377a292d239367dc7c62  gcc/ada/gnat_ugn.texi
  957e02fdb4684d592d9172cea8dfb4cb  gcc/ada/gnatbind.adb
  fff8dfca966e9d6f779ce90e57344a0f  gcc/ada/gnatbind.ads
*************** e364f4e3ae92066699cc93a8f7b828c1  gcc/ad
*** 2926,2932 ****
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
  add4ee44b18268dbe3d59cb4d9783497  gcc/ada/sem_ch12.adb
  b0a3315dce9de8e3bbbb3682c8b0e2ff  gcc/ada/sem_ch12.ads
! 15eb4c6e6a36d1557dba3f2a571d4519  gcc/ada/sem_ch13.adb
  24bb91233702860aa2a308e59ba7cb6a  gcc/ada/sem_ch13.ads
  14326c522718c8cb8415b13a79c07972  gcc/ada/sem_ch2.adb
  2471d629be4739ff5135aa87a2ec9166  gcc/ada/sem_ch2.ads
--- 2926,2932 ----
  1b6f89866a5d427002df059be3847d62  gcc/ada/sem_ch11.ads
  add4ee44b18268dbe3d59cb4d9783497  gcc/ada/sem_ch12.adb
  b0a3315dce9de8e3bbbb3682c8b0e2ff  gcc/ada/sem_ch12.ads
! d66c7c0f7cdacbc9e39c757583ff4ee1  gcc/ada/sem_ch13.adb
  24bb91233702860aa2a308e59ba7cb6a  gcc/ada/sem_ch13.ads
  14326c522718c8cb8415b13a79c07972  gcc/ada/sem_ch2.adb
  2471d629be4739ff5135aa87a2ec9166  gcc/ada/sem_ch2.ads
*************** ad0769e595277d36f17947f5c5ac4550  gcc/co
*** 3765,3771 ****
  7ec1071b6a2f5dda8bfa124dd9543e12  gcc/config/avr/avr-c.cc
  fc218940ab265ae323b54d5f007d0d98  gcc/config/avr/avr-devices.cc
  5ed27daaa89e74cf4016168779065375  gcc/config/avr/avr-dimode.md
! a22b4318830a45fe7c7db53efb64970d  gcc/config/avr/avr-fixed.md
  f43b68e01b2d61fffb5336ef45fa1e7f  gcc/config/avr/avr-log.cc
  8b73988703afc48dba5f660f6f684492  gcc/config/avr/avr-mcus.def
  1db4fe94056a22e92de33b6d365176c6  gcc/config/avr/avr-modes.def
--- 3765,3771 ----
  7ec1071b6a2f5dda8bfa124dd9543e12  gcc/config/avr/avr-c.cc
  fc218940ab265ae323b54d5f007d0d98  gcc/config/avr/avr-devices.cc
  5ed27daaa89e74cf4016168779065375  gcc/config/avr/avr-dimode.md
! 202321106e6cf061505a50f7652826e2  gcc/config/avr/avr-fixed.md
  f43b68e01b2d61fffb5336ef45fa1e7f  gcc/config/avr/avr-log.cc
  8b73988703afc48dba5f660f6f684492  gcc/config/avr/avr-mcus.def
  1db4fe94056a22e92de33b6d365176c6  gcc/config/avr/avr-modes.def
*************** d4774d1c1bf66446a29da4693ee53d1e  gcc/co
*** 4320,4326 ****
  acfa3e6ce1f37bbad35e49e06b663ea9  gcc/config/i386/x86-tune-sched-bd.cc
  13fcb5234b2d8208c12932d96efef72b  gcc/config/i386/x86-tune-sched-core.cc
  9054e39f9f68ade31cfdeb33e9c905ce  gcc/config/i386/x86-tune-sched.cc
! 82399aeaa1c5709524b16e94186d7bc7  gcc/config/i386/x86-tune.def
  95b91fd21504348ecd2f8510ebab204c  gcc/config/i386/x86gprintrin.h
  1ef1746c703bfdb9c245f7b7276b7d56  gcc/config/i386/x86intrin.h
  709155b5a0371d397baf22295493b77b  gcc/config/i386/xm-cygwin.h
--- 4320,4326 ----
  acfa3e6ce1f37bbad35e49e06b663ea9  gcc/config/i386/x86-tune-sched-bd.cc
  13fcb5234b2d8208c12932d96efef72b  gcc/config/i386/x86-tune-sched-core.cc
  9054e39f9f68ade31cfdeb33e9c905ce  gcc/config/i386/x86-tune-sched.cc
! 23ca41fb2cba760dc5d556aa758bd93b  gcc/config/i386/x86-tune.def
  95b91fd21504348ecd2f8510ebab204c  gcc/config/i386/x86gprintrin.h
  1ef1746c703bfdb9c245f7b7276b7d56  gcc/config/i386/x86intrin.h
  709155b5a0371d397baf22295493b77b  gcc/config/i386/xm-cygwin.h
*************** b3a965e425e6cf7888319667faf58da9  gcc/sy
*** 8448,8454 ****
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! d9e6935330af627065a3d3935713bfa6  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
--- 8448,8454 ----
  b4bbfe8a8f62eed5c75429762e88d324  gcc/targhooks.cc
  ae57260b8b60d8b8dfaef3556c3ac5e5  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 31383a7f54cf1bbc0735406d7b61afec  gcc/testsuite/ChangeLog
  47e8e29b649ead73b8a1e4797da470ed  gcc/testsuite/ChangeLog-1993-2007
  35198a9e4fd31b935de8789faabf3351  gcc/testsuite/ChangeLog-2008
  0f19934540750356d1b91595cebfd9a8  gcc/testsuite/ChangeLog-2009
*************** f0df0c8f4daf66789854622391d700cf  gcc/te
*** 73400,73405 ****
--- 73400,73414 ----
  335e928612eeba541ace98419cfa1588  gcc/testsuite/gcc.target/avr/torture/pr120423-116389.c
  63785ceba6e301ca68abd46c75c8f6a8  gcc/testsuite/gcc.target/avr/torture/pr120423-2.c
  d0438290469e79373f6dd3933d324608  gcc/testsuite/gcc.target/avr/torture/pr122187.c
+ 29f4c964db7ef564a3a000cb063b157c  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c
+ 67193b81ec722633cd4a96c262f212b7  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c
+ 74bee38deb2c7a93221837e40bbfadc7  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c
+ cfa6dc119f8aecd5a863526026a0b850  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c
+ ebbf958a9ec613b0e83f39734d21b008  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c
+ 61f30bb6c17362860da7175576769d9c  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c
+ b5f3dac0a4aa3e456482d4b3162d64b6  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c
+ f5a1361523de0e3faf7dfdd815bbaedf  gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c
+ 33205c0601ab01f0a0bb4fcfdc9bd796  gcc/testsuite/gcc.target/avr/torture/pr125409.h
  42a74f28c740c9bd42dab79171f49a39  gcc/testsuite/gcc.target/avr/torture/pr39633.c
  8fb17af722ee890b7fa08b5610cdb80e  gcc/testsuite/gcc.target/avr/torture/pr41885.c
  70b849f57ecf42299230b99b7734dd2d  gcc/testsuite/gcc.target/avr/torture/pr51374-1.c
diff -Nrcpad gcc-15-20260522/gcc/ChangeLog gcc-15-20260529/gcc/ChangeLog
*** gcc-15-20260522/gcc/ChangeLog	Fri May 22 22:32:04 2026
--- gcc-15-20260529/gcc/ChangeLog	Fri May 29 22:32:05 2026
***************
*** 1,3 ****
--- 1,20 ----
+ 2026-05-27  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	Backported from master:
+ 	2026-05-27  liuhongt  <hongtao.liu@intel.com>
+ 
+ 	* config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
+ 	for m_DIAMONDRAPIDS.
+ 	(X86_TUNE_USE_GATHER_4PARTS): Likewise.
+ 
+ 2026-05-25  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2026-05-25  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/125409
+ 	* config/avr/avr-fixed.md (FIXED_A, FIXED_B): Add PSI to iterators.
+ 
  2026-05-20  Xi Ruoyao  <xry111@xry111.site>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260522/gcc/DATESTAMP gcc-15-20260529/gcc/DATESTAMP
*** gcc-15-20260522/gcc/DATESTAMP	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/DATESTAMP	Fri May 29 22:32:05 2026
***************
*** 1 ****
! 20260522
--- 1 ----
! 20260529
diff -Nrcpad gcc-15-20260522/gcc/ada/ChangeLog gcc-15-20260529/gcc/ada/ChangeLog
*** gcc-15-20260522/gcc/ada/ChangeLog	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/ada/ChangeLog	Fri May 29 22:32:05 2026
***************
*** 1,3 ****
--- 1,13 ----
+ 2026-05-28  Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	* doc/gnat_rm/gnat_language_extensions.rst
+ 	(Generalized Finalization): Document the new restriction.
+ 	* sem_ch13.adb (Resolve_Finalizable_Argument): Adjust wording of
+ 	error message.
+ 	(Resolve_Finalization_Procedure.Is_Finalizable_Primitive): Require
+ 	the procedure to be a primitive operation.
+ 	* gnat_rm.texi: Regenerate.
+ 
  2026-05-10  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/125240
diff -Nrcpad gcc-15-20260522/gcc/ada/doc/gnat_rm/gnat_language_extensions.rst gcc-15-20260529/gcc/ada/doc/gnat_rm/gnat_language_extensions.rst
*** gcc-15-20260522/gcc/ada/doc/gnat_rm/gnat_language_extensions.rst	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/ada/doc/gnat_rm/gnat_language_extensions.rst	Fri May 29 22:32:05 2026
*************** Here is the archetypal example:
*** 1469,1476 ****
      procedure Finalize   (Obj : in out T);
      procedure Initialize (Obj : in out T);
  
! The three procedures have the same profile, with a single ``in out`` parameter,
! and also have the same dynamic semantics as for controlled types:
  
   - ``Initialize`` is called when an object of type ``T`` is declared without
     initialization expression.
--- 1469,1477 ----
      procedure Finalize   (Obj : in out T);
      procedure Initialize (Obj : in out T);
  
! The three procedures must be primitive operations of ``T`` and have a single
! ``in out`` parameter. They need not be all specified by the aspect. If they
! are specified, they have the same dynamic semantics as for controlled types:
  
   - ``Initialize`` is called when an object of type ``T`` is declared without
     initialization expression.
diff -Nrcpad gcc-15-20260522/gcc/ada/gnat_rm.texi gcc-15-20260529/gcc/ada/gnat_rm.texi
*** gcc-15-20260522/gcc/ada/gnat_rm.texi	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/ada/gnat_rm.texi	Fri May 29 22:32:05 2026
*************** procedure Finalize   (Obj : in out T);
*** 30882,30889 ****
  procedure Initialize (Obj : in out T);
  @end example
  
! The three procedures have the same profile, with a single @code{in out} parameter,
! and also have the same dynamic semantics as for controlled types:
  
  @quotation
  
--- 30882,30890 ----
  procedure Initialize (Obj : in out T);
  @end example
  
! The three procedures must be primitive operations of @code{T} and have a single
! @code{in out} parameter. They need not be all specified by the aspect. If they
! are specified, they have the same dynamic semantics as for controlled types:
  
  @quotation
  
diff -Nrcpad gcc-15-20260522/gcc/ada/sem_ch13.adb gcc-15-20260529/gcc/ada/sem_ch13.adb
*** gcc-15-20260522/gcc/ada/sem_ch13.adb	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/ada/sem_ch13.adb	Fri May 29 22:32:06 2026
*************** package body Sem_Ch13 is
*** 16885,16890 ****
--- 16885,16891 ----
        begin
           return Ekind (E) = E_Procedure
             and then Scope (E) = Scope (Typ)
+            and then Is_Primitive (E)
             and then Present (First_Formal (E))
             and then Ekind (First_Formal (E)) = E_In_Out_Parameter
             and then Etype (First_Formal (E)) = Typ
*************** package body Sem_Ch13 is
*** 16938,16944 ****
        end if;
  
        Error_Msg_N
!         ("finalizable primitive must be local procedure whose only formal " &
           "parameter has mode `IN OUT` and is of the finalizable type", N);
     end Resolve_Finalizable_Argument;
  
--- 16939,16945 ----
        end if;
  
        Error_Msg_N
!         ("subprogram must denote primitive procedure whose only formal " &
           "parameter has mode `IN OUT` and is of the finalizable type", N);
     end Resolve_Finalizable_Argument;
  
diff -Nrcpad gcc-15-20260522/gcc/config/avr/avr-fixed.md gcc-15-20260529/gcc/config/avr/avr-fixed.md
*** gcc-15-20260522/gcc/config/avr/avr-fixed.md	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/config/avr/avr-fixed.md	Fri May 29 22:32:06 2026
***************
*** 43,51 ****
     SQ USQ SA USA
     DQ UDQ DA UDA
     TA UTA
!    QI HI SI DI])
  
! ;; Same so that be can build cross products
  
  (define_mode_iterator FIXED_B
    [QQ UQQ
--- 43,51 ----
     SQ USQ SA USA
     DQ UDQ DA UDA
     TA UTA
!    QI HI PSI SI DI])
  
! ;; Same so that we can build cartesian products.
  
  (define_mode_iterator FIXED_B
    [QQ UQQ
***************
*** 53,59 ****
     SQ USQ SA USA
     DQ UDQ DA UDA
     TA UTA
!    QI HI SI DI])
  
  (define_insn_and_split "fract<FIXED_B:mode><FIXED_A:mode>2"
    [(set (match_operand:FIXED_A 0 "register_operand" "=r")
--- 53,59 ----
     SQ USQ SA USA
     DQ UDQ DA UDA
     TA UTA
!    QI HI PSI SI DI])
  
  (define_insn_and_split "fract<FIXED_B:mode><FIXED_A:mode>2"
    [(set (match_operand:FIXED_A 0 "register_operand" "=r")
diff -Nrcpad gcc-15-20260522/gcc/config/i386/x86-tune.def gcc-15-20260529/gcc/config/i386/x86-tune.def
*** gcc-15-20260522/gcc/config/i386/x86-tune.def	Fri May 22 22:32:05 2026
--- gcc-15-20260529/gcc/config/i386/x86-tune.def	Fri May 29 22:32:06 2026
*************** DEF_TUNE (X86_TUNE_AVOID_4BYTE_PREFIXES,
*** 514,520 ****
  /* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2
     elements.  */
  DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts",
! 	  ~(m_ZNVER | m_CORE_HYBRID
  	    | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS))
  
  /* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2
--- 514,520 ----
  /* X86_TUNE_USE_GATHER_2PARTS: Use gather instructions for vectors with 2
     elements.  */
  DEF_TUNE (X86_TUNE_USE_GATHER_2PARTS, "use_gather_2parts",
! 	  ~(m_ZNVER | m_CORE_HYBRID | m_DIAMONDRAPIDS
  	    | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS))
  
  /* X86_TUNE_USE_SCATTER_2PARTS: Use scater instructions for vectors with 2
*************** DEF_TUNE (X86_TUNE_USE_SCATTER_2PARTS, "
*** 525,531 ****
  /* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4
     elements.  */
  DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts",
! 	  ~(m_ZNVER | m_CORE_HYBRID
  	    | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS))
  
  /* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4
--- 525,531 ----
  /* X86_TUNE_USE_GATHER_4PARTS: Use gather instructions for vectors with 4
     elements.  */
  DEF_TUNE (X86_TUNE_USE_GATHER_4PARTS, "use_gather_4parts",
! 	  ~(m_ZNVER | m_CORE_HYBRID | m_DIAMONDRAPIDS
  	    | m_YONGFENG | m_SHIJIDADAO | m_CORE_ATOM | m_GENERIC | m_GDS))
  
  /* X86_TUNE_USE_SCATTER_4PARTS: Use scater instructions for vectors with 4
diff -Nrcpad gcc-15-20260522/gcc/testsuite/ChangeLog gcc-15-20260529/gcc/testsuite/ChangeLog
*** gcc-15-20260522/gcc/testsuite/ChangeLog	Fri May 22 22:32:07 2026
--- gcc-15-20260529/gcc/testsuite/ChangeLog	Fri May 29 22:32:07 2026
***************
*** 1,3 ****
--- 1,19 ----
+ 2026-05-25  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	Backported from master:
+ 	2026-05-25  Georg-Johann Lay  <avr@gjlay.de>
+ 
+ 	PR target/125409
+ 	* gcc.target/avr/torture/pr125409.h: New file.
+ 	* gcc.target/avr/torture/pr125409-fx24-ssk.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-ssr.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-suk.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-sur.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-usk.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-usr.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-uuk.c: New test.
+ 	* gcc.target/avr/torture/pr125409-fx24-uur.c: New test.
+ 
  2026-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __int24
+ #define UU signed
+ #define FX _Accum
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __int24
+ #define UU signed
+ #define FX _Fract
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __int24
+ #define UU unsigned
+ #define FX _Accum
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __int24
+ #define UU unsigned
+ #define FX _Fract
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __uint24
+ #define UU signed
+ #define FX _Accum
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __uint24
+ #define UU signed
+ #define FX _Fract
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __uint24
+ #define UU unsigned
+ #define FX _Accum
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,8 ----
+ /* { dg-do link { target { ! avr_tiny } } } */
+ /* { dg-additional-options "-std=gnu99 -Wno-pedantic" } */
+ 
+ #define TT __uint24
+ #define UU unsigned
+ #define FX _Fract
+ 
+ #include "pr125409.h"
diff -Nrcpad gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409.h gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409.h
*** gcc-15-20260522/gcc/testsuite/gcc.target/avr/torture/pr125409.h	Thu Jan  1 00:00:00 1970
--- gcc-15-20260529/gcc/testsuite/gcc.target/avr/torture/pr125409.h	Fri May 29 22:32:12 2026
***************
*** 0 ****
--- 1,16 ----
+ UU FX fx_fun (TT x) { return x; }
+ TT fun_fx (UU FX x) { return x; }
+ 
+ short UU FX hfx_fun (TT x) { return x; }
+ TT fun_hfx (UU short FX x) { return x; }
+ 
+ long UU FX lfx_fun (TT x) { return x; }
+ TT fun_lfx (UU long FX x) { return x; }
+ 
+ long long UU FX llfx_fun (TT x) { return x; }
+ TT fun_llfx (UU long long FX x) { return x; }
+ 
+ int main (void)
+ {
+   return 0;
+ }
