diff -Nrcpad gcc-13-20260520/LAST_UPDATED gcc-13-20260527/LAST_UPDATED
*** gcc-13-20260520/LAST_UPDATED	Wed May 20 22:32:18 2026
--- gcc-13-20260527/LAST_UPDATED	Wed May 27 22:32:17 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-13 revision f2b1a0cae33adbd4942eb1ee966bb2d1f3768ffc
--- 1 ----
! Obtained from git: releases/gcc-13 revision c991125a92f0458261e7c46ec2049e3becd3cff0
diff -Nrcpad gcc-13-20260520/MD5SUMS gcc-13-20260527/MD5SUMS
*** gcc-13-20260520/MD5SUMS	Wed May 20 22:32:22 2026
--- gcc-13-20260527/MD5SUMS	Wed May 27 22:32:21 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-13-20260520.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-20260527.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
! dde56c40f0cb10625bc8958243331095  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
--- 21,27 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! e70e386c151f2d2b5d7434c6dbe17011  LAST_UPDATED
  81b3330d422f3ce1ef8b720dfae35068  MAINTAINERS
  2b61ddbd876fa839639a7ca551773426  Makefile.def
  5d2d6a74f897f8158d37f5f2ec6877ce  Makefile.in
*************** a22e70b3f29292d0e628450f4bb11e62  fixinc
*** 475,481 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! dfe6ab56a785177f46aa6c4f853170a8  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 475,481 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 16ae245450540f9d12a2ba3781e5ad67  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 510,516 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 2be3a41fc42b990389d9d285f1c38441  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
! 4b164bf56e651a0b6efd8f18ff758eed  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** f4c79e9220e9187c3a843e0a42c1d503  gcc/co
*** 3534,3540 ****
  5ac6143a494b67b2408579331c71c89a  gcc/config/avr/avr-c.cc
  1f1b24bccebced685f22675a39d03550  gcc/config/avr/avr-devices.cc
  45d01b1a247cd92dd44c4bc361a97321  gcc/config/avr/avr-dimode.md
! 708f772e2588821bfa91118474a89d0a  gcc/config/avr/avr-fixed.md
  c3ab3d8980033cd869c1c27b318115ce  gcc/config/avr/avr-log.cc
  82d18b02b662531290604c811b5cd303  gcc/config/avr/avr-mcus.def
  69b36d3d75fa8c748a6f1c843d6888f7  gcc/config/avr/avr-modes.def
--- 3534,3540 ----
  5ac6143a494b67b2408579331c71c89a  gcc/config/avr/avr-c.cc
  1f1b24bccebced685f22675a39d03550  gcc/config/avr/avr-devices.cc
  45d01b1a247cd92dd44c4bc361a97321  gcc/config/avr/avr-dimode.md
! 88c70dbe14ec8bf9fc4bf0c2506de8e4  gcc/config/avr/avr-fixed.md
  c3ab3d8980033cd869c1c27b318115ce  gcc/config/avr/avr-log.cc
  82d18b02b662531290604c811b5cd303  gcc/config/avr/avr-mcus.def
  69b36d3d75fa8c748a6f1c843d6888f7  gcc/config/avr/avr-modes.def
*************** c2dbf831f4bbc53553765214d1b2d674  gcc/fl
*** 5576,5582 ****
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  e091b0ed4e31525d6d685d5e6f7a7fa0  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! eb82abec25b07bc3b8cdb0b327887385  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5576,5582 ----
  46538296abcbd26df93f276f5974ec0f  gcc/fold-const-call.h
  e091b0ed4e31525d6d685d5e6f7a7fa0  gcc/fold-const.cc
  9dd2c87502c864095a8b942bea07b5f3  gcc/fold-const.h
! fca0a2926591d6a12937d1d9d28f35ac  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** e626fc9f74be348b19ed678ca99adfee  gcc/fo
*** 5621,5627 ****
  75860b58e8a01aadbfb046789efa8a88  gcc/fortran/error.cc
  0af32ed33f5748db7e33876cb180cbb3  gcc/fortran/expr.cc
  012392c6483a51939022df7c6de22fbc  gcc/fortran/f95-lang.cc
! c72f76ffeb64c1f2c57f2a2cbe55c377  gcc/fortran/frontend-passes.cc
  5d21a6b2bc38e36e9ce485f9b899cf5d  gcc/fortran/gfc-diagnostic.def
  d428ee96a4c880140da26aec0f107bda  gcc/fortran/gfc-internals.texi
  18f9a7bac53ec8c9ec3d6e189090e830  gcc/fortran/gfortran.h
--- 5621,5627 ----
  75860b58e8a01aadbfb046789efa8a88  gcc/fortran/error.cc
  0af32ed33f5748db7e33876cb180cbb3  gcc/fortran/expr.cc
  012392c6483a51939022df7c6de22fbc  gcc/fortran/f95-lang.cc
! 9ba3df765f32f1f6aab588f53218058a  gcc/fortran/frontend-passes.cc
  5d21a6b2bc38e36e9ce485f9b899cf5d  gcc/fortran/gfc-diagnostic.def
  d428ee96a4c880140da26aec0f107bda  gcc/fortran/gfc-internals.texi
  18f9a7bac53ec8c9ec3d6e189090e830  gcc/fortran/gfortran.h
*************** b829ed0032c899e107be2db349c913f3  gcc/ta
*** 7637,7643 ****
  811da275a2b9d3186a6decf96c01b0ed  gcc/targhooks.cc
  edb193a32070c4a7626fb75382def9b9  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! bf4aea36e7538535be30e26ae659668a  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
! cb5fc1d5d907425dffe98f30cbb21197  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** c6848ef9d4a9873e77016b18db0eef64  gcc/te
*** 49973,49978 ****
--- 49973,49979 ----
  5dd2285e0a64c83e08b6d68b6cd36eba  gcc/testsuite/gcc.dg/tree-ssa/pr117142.c
  5f36d3d6eda4211f506ed2e65fc779c4  gcc/testsuite/gcc.dg/tree-ssa/pr117423.c
  b0891b1dddf226da47f4f976abdd7cb0  gcc/testsuite/gcc.dg/tree-ssa/pr119085.c
+ 71eb14b3ae5faf81c5226dc766d48edd  gcc/testsuite/gcc.dg/tree-ssa/pr122976.c
  78e6c5fe63f7305009c8a79840fe20dc  gcc/testsuite/gcc.dg/tree-ssa/pr13146.c
  eab19e0c04884cd782c9879cbe292109  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
  9945ed7002a5f7d4918e8ff5eb4cb647  gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c
*************** c02c9b09a64e3c14adfe954730cf8f3c  gcc/te
*** 64112,64117 ****
--- 64113,64127 ----
  caa7b81fc83f2373b987ae3dec63aa32  gcc/testsuite/gcc.target/avr/torture/pr119989-memx-3.c
  9d65901f178212417bd03274e7a0ff1d  gcc/testsuite/gcc.target/avr/torture/pr119989-memx-4.c
  51d04706ca0c4216d8d453fbe55f52ca  gcc/testsuite/gcc.target/avr/torture/pr119989.h
+ 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
  0844a939ea2464d30cc8892c85b4aecc  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
*************** e5a418513e079e50ea576e021cf5ad8e  gcc/te
*** 88298,88303 ****
--- 88308,88314 ----
  1545bc137f7bcb397e7986a3324b63be  gcc/testsuite/gfortran.dg/inline_matmul_23.f90
  89a35f94060b171becdc54771a02040b  gcc/testsuite/gfortran.dg/inline_matmul_24.f90
  d5dddad98efc37928795b446cb8d6501  gcc/testsuite/gfortran.dg/inline_matmul_25.f90
+ f500cc59ecbd3442513dea98e8f73719  gcc/testsuite/gfortran.dg/inline_matmul_27.f90
  ffdb4ca68f61f3bd618415335c9c7c21  gcc/testsuite/gfortran.dg/inline_matmul_3.f90
  f95e5fd479c839cfa9cb3ac127ee7584  gcc/testsuite/gfortran.dg/inline_matmul_4.f90
  6cb787ca0dac6ea814c8af4ac7cb8022  gcc/testsuite/gfortran.dg/inline_matmul_5.f90
*************** feca017a2b8993f6879429c3b7fa9740  gcc/tr
*** 100627,100633 ****
  13e933e748d0799695ef67be87740769  gcc/tree-profile.cc
  c48cd3335056d0f516107ea6b728d398  gcc/tree-scalar-evolution.cc
  b8223329488a4001552728350c5dbbef  gcc/tree-scalar-evolution.h
! 4b97a5fc431c29ba0c8cdf1b7ba47147  gcc/tree-sra.cc
  1f7981f8ac0c98c7d1acb674035e2c16  gcc/tree-sra.h
  931fca6fc15298fa1f2021f8e4f2ed8d  gcc/tree-ssa-address.cc
  c37e139873f3e8da2fffefa09903ee42  gcc/tree-ssa-address.h
--- 100638,100644 ----
  13e933e748d0799695ef67be87740769  gcc/tree-profile.cc
  c48cd3335056d0f516107ea6b728d398  gcc/tree-scalar-evolution.cc
  b8223329488a4001552728350c5dbbef  gcc/tree-scalar-evolution.h
! 6fd6cf5046eb913b128365fa0b3c50d6  gcc/tree-sra.cc
  1f7981f8ac0c98c7d1acb674035e2c16  gcc/tree-sra.h
  931fca6fc15298fa1f2021f8e4f2ed8d  gcc/tree-ssa-address.cc
  c37e139873f3e8da2fffefa09903ee42  gcc/tree-ssa-address.h
diff -Nrcpad gcc-13-20260520/gcc/ChangeLog gcc-13-20260527/gcc/ChangeLog
*** gcc-13-20260520/gcc/ChangeLog	Wed May 20 22:32:05 2026
--- gcc-13-20260527/gcc/ChangeLog	Wed May 27 22:32:04 2026
***************
*** 1,3 ****
--- 1,11 ----
+ 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-03  Collin Funk  <collin.funk1@gmail.com>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260520/gcc/DATESTAMP gcc-13-20260527/gcc/DATESTAMP
*** gcc-13-20260520/gcc/DATESTAMP	Wed May 20 22:32:05 2026
--- gcc-13-20260527/gcc/DATESTAMP	Wed May 27 22:32:04 2026
***************
*** 1 ****
! 20260520
--- 1 ----
! 20260527
diff -Nrcpad gcc-13-20260520/gcc/config/avr/avr-fixed.md gcc-13-20260527/gcc/config/avr/avr-fixed.md
*** gcc-13-20260520/gcc/config/avr/avr-fixed.md	Wed May 20 22:32:06 2026
--- gcc-13-20260527/gcc/config/avr/avr-fixed.md	Wed May 27 22:32:05 2026
***************
*** 44,52 ****
     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
--- 44,52 ----
     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
***************
*** 54,60 ****
     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")
--- 54,60 ----
     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-13-20260520/gcc/fortran/ChangeLog gcc-13-20260527/gcc/fortran/ChangeLog
*** gcc-13-20260520/gcc/fortran/ChangeLog	Wed May 20 22:32:06 2026
--- gcc-13-20260527/gcc/fortran/ChangeLog	Wed May 27 22:32:06 2026
***************
*** 1,3 ****
--- 1,23 ----
+ 2026-05-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/106546
+ 	* frontend-passes.cc (create_var): Set attr->automatic on
+ 	new symbol.
+ 	(create_do_loop): Likewise on iteration variable.
+ 
+ 2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-05-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/115260
+ 	* trans-expr.cc (gfc_conv_subref_array_arg): Pass false to
+ 	dealloc argument of gfc_trans_scalar_assign if we are
+ 	converting a g77-style argument.
+ 
  2026-05-14  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260520/gcc/fortran/frontend-passes.cc gcc-13-20260527/gcc/fortran/frontend-passes.cc
*** gcc-13-20260520/gcc/fortran/frontend-passes.cc	Wed May 20 22:32:07 2026
--- gcc-13-20260527/gcc/fortran/frontend-passes.cc	Wed May 27 22:32:06 2026
*************** create_var (gfc_expr * e, const char *vn
*** 846,851 ****
--- 846,852 ----
    symbol->attr.referenced = 1;
    symbol->attr.dimension = e->rank > 0;
    symbol->attr.fe_temp = 1;
+   symbol->attr.automatic = 1;
    gfc_commit_symbol (symbol);
  
    result = gfc_get_expr ();
*************** create_do_loop (gfc_expr *start, gfc_exp
*** 3846,3851 ****
--- 3847,3853 ----
    symbol->attr.referenced = 1;
    symbol->attr.dimension = 0;
    symbol->attr.fe_temp = 1;
+   symbol->attr.automatic = 1;
    gfc_commit_symbol (symbol);
  
    i = gfc_get_expr ();
diff -Nrcpad gcc-13-20260520/gcc/testsuite/ChangeLog gcc-13-20260527/gcc/testsuite/ChangeLog
*** gcc-13-20260520/gcc/testsuite/ChangeLog	Wed May 20 22:32:08 2026
--- gcc-13-20260527/gcc/testsuite/ChangeLog	Wed May 27 22:32:07 2026
***************
*** 1,3 ****
--- 1,35 ----
+ 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:
+ 	2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/106546
+ 	* gfortran.dg/inline_matmul_27.f90: New test.
+ 
+ 2026-05-20  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-05-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/115260
+ 	* gfortran.dg/pr115260.f90: New test.
+ 
  2026-05-14  Christopher Albert  <albert@tugraz.at>
  
  	Backported from master:
diff -Nrcpad gcc-13-20260520/gcc/testsuite/gcc.dg/tree-ssa/pr122976.c gcc-13-20260527/gcc/testsuite/gcc.dg/tree-ssa/pr122976.c
*** gcc-13-20260520/gcc/testsuite/gcc.dg/tree-ssa/pr122976.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.dg/tree-ssa/pr122976.c	Wed May 27 22:32:09 2026
***************
*** 0 ****
--- 1,105 ----
+ /* { dg-do run } */
+ /* { dg-options "-O2" } */
+ 
+ typedef unsigned long NI;
+ 
+ struct inner_t_Content
+ {
+   int x[8], y[16];
+   char a[10], b[20], c[30];
+ };
+ 
+ struct inner_t {
+   NI len;
+   struct inner_t_Content* p;
+ };
+ 
+ struct outer_t {
+   struct inner_t bytes;
+   NI position;
+ };
+ 
+ struct localo_t {
+   struct outer_t fo;
+   char stuff[222];
+ };
+ 
+ struct alien_t {
+   NI Field0;
+   struct inner_t Field1;
+ };
+ 
+ static struct inner_t_Content gic;
+ struct inner_t gis;
+ struct outer_t gos;
+ volatile int vgi;
+ 
+ int __attribute__((noipa))
+ get_int (void)
+ {
+   return 0;
+ }
+ 
+ struct inner_t __attribute__((noipa))
+ get_inner_t ()
+ {
+   struct inner_t v = {0, (void *)0};
+   return v;
+ }
+ 
+ void __attribute__((noipa))
+ use_inner_t (struct inner_t v)
+ {
+   gis = v;
+ }
+ 
+ void __attribute__((noipa))
+ init (void)
+ {
+   gos.bytes.len = 15;
+   gos.bytes.p = &gic;
+ }
+ 
+ void __attribute__((noipa))
+ check (void)
+ {
+   if (gis.p != &gic)
+     __builtin_abort ();
+ }
+ 
+ static void foo (int m, struct outer_t *a)
+ {
+   struct inner_t lis;
+ 
+   if (m == 20)
+       ((struct alien_t *) a)->Field1.len = 0;
+   if (m == 21)
+     lis = get_inner_t ();
+   else
+     lis = a->bytes;
+ 
+   vgi = get_int ();
+   if (m < 1)
+     use_inner_t (lis);
+   if (get_int ())
+     vgi = ((struct alien_t *) a)->Field1.len;
+ 
+ }
+ 
+ void bar (struct outer_t pos)
+ {
+   struct localo_t los;
+   los.fo = pos;
+   los.fo.bytes.len = get_int ();
+   foo (get_int (), &los.fo);
+   gos = los.fo;
+ }
+ 
+ int main (int argc, char **argv)
+ {
+   init ();
+   for (int i = 0; i <= get_int (); i++)
+     bar (gos);
+   check ();
+   return 0;
+ }
diff -Nrcpad gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssk.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-ssr.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-suk.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-sur.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usk.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-usr.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uuk.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409-fx24-uur.c	Wed May 27 22:32:09 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-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409.h gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409.h
*** gcc-13-20260520/gcc/testsuite/gcc.target/avr/torture/pr125409.h	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gcc.target/avr/torture/pr125409.h	Wed May 27 22:32:09 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;
+ }
diff -Nrcpad gcc-13-20260520/gcc/testsuite/gfortran.dg/inline_matmul_27.f90 gcc-13-20260527/gcc/testsuite/gfortran.dg/inline_matmul_27.f90
*** gcc-13-20260520/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Thu Jan  1 00:00:00 1970
--- gcc-13-20260527/gcc/testsuite/gfortran.dg/inline_matmul_27.f90	Wed May 27 22:32:11 2026
***************
*** 0 ****
--- 1,63 ----
+ ! { dg-do run }
+ ! { dg-options "-O2 -fcheck=bounds -fno-automatic" }
+ ! PR fortran/106546 - FE temporaries have to be automatic
+ ! Original test case by Solomon Gibbs
+ 
+ subroutine do_multiply()
+   implicit none
+   
+   integer :: rank
+   real(8) :: draw
+ 
+   real(8) :: x1(6), x2(6)
+   real(8), allocatable :: K(:,:), J(:,:), z(:)
+ 
+   character(len=300) :: out
+   ! Randomly select rank of operation 0 ... 6
+   call random_number(draw)
+   if (draw .lt. 1/7.0d0) then
+      rank = 0
+   elseif (draw .lt. 2/7.0d0) then
+      rank = 1
+   elseif (draw .lt. 3/7.0d0) then
+      rank = 2
+   elseif (draw .lt. 4/7.0d0) then
+      rank = 3
+   elseif (draw .lt. 5/7.0d0) then
+      rank = 4
+   elseif (draw .lt. 6/7.0d0) then
+      rank = 5
+   else
+      rank = 6
+   endif
+ 
+   allocate(K(rank, 6))
+   allocate(J(rank, rank))
+   allocate(z(rank))
+ 
+   call random_number(x1)
+   call random_number(x2)
+   call random_number(K)
+   call random_number(J)
+   call random_number(z)
+ 
+   ! multiply allocatables using array temporaries
+   ! Problem occurs here
+   z = matmul(J, matmul(K, x2 - x1))
+ 
+   ! Output z to prevent optimizer elimination
+   write (out,*) rank," ",z
+ 
+   deallocate(z, J, K)
+   
+ end subroutine do_multiply
+   
+ program bogus
+   implicit none
+ 
+   integer :: i
+   do i=1,100
+      call do_multiply()
+   end do
+   
+ end program bogus
diff -Nrcpad gcc-13-20260520/gcc/tree-sra.cc gcc-13-20260527/gcc/tree-sra.cc
*** gcc-13-20260520/gcc/tree-sra.cc	Wed May 20 22:32:13 2026
--- gcc-13-20260527/gcc/tree-sra.cc	Wed May 27 22:32:11 2026
*************** path_comparable_for_same_access (tree ex
*** 2154,2159 ****
--- 2154,2164 ----
      {
        if (!zerop (TREE_OPERAND (expr, 1)))
  	return false;
+       gcc_assert (TREE_CODE (TREE_OPERAND (expr, 0)) == ADDR_EXPR
+ 		  && DECL_P (TREE_OPERAND (TREE_OPERAND (expr, 0), 0)));
+       if (TYPE_MAIN_VARIANT (TREE_TYPE (expr))
+ 	  != TYPE_MAIN_VARIANT (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (expr, 0), 0))))
+ 	return false;
      }
    else
      gcc_assert (DECL_P (expr));
