diff -Nrcpad gcc-14-20260723/LAST_UPDATED gcc-14-20260730/LAST_UPDATED
*** gcc-14-20260723/LAST_UPDATED	Thu Jul 23 22:32:24 2026
--- gcc-14-20260730/LAST_UPDATED	Thu Jul 30 22:32:22 2026
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision 218ce55ae770b24fd7e0a5cce95d2f1b26c33be5
--- 1 ----
! Obtained from git: releases/gcc-14 revision bd236a3b41d5292c47dd239e187580db2464440f
diff -Nrcpad gcc-14-20260723/MD5SUMS gcc-14-20260730/MD5SUMS
*** gcc-14-20260723/MD5SUMS	Thu Jul 23 22:32:29 2026
--- gcc-14-20260730/MD5SUMS	Thu Jul 30 22:32:27 2026
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260723.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20260730.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
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 8ce521b1df36981d8df7f4656d160f78  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 403417498fd9bab7ac2e52bdfa764312  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** dc52c51af1f9b66c50b2cf01afeee11d  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 1503c2c2807862a4000658e40e712b65  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
--- 505,511 ----
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 26df853c613e2008566a82fd85d4192c  gcc/ChangeLog
  a3b63c675afa7a655cc2bfa8a907af79  gcc/ChangeLog-1997
  d9a88529352a010253c2e8fb1ed6023b  gcc/ChangeLog-1998
  240f08f81cb4699e8b49347db38233db  gcc/ChangeLog-1999
*************** fb3fadb88e1d2b3b640cfaaa5ff11780  gcc/Ch
*** 541,547 ****
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! bf7a62cad7e72572733c31b890eefa1e  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
--- 541,547 ----
  3eb07e0b2e542409bf73d359f7f65609  gcc/ChangeLog.ptr
  e13638e26743ba41e6011b76cc00d9a9  gcc/ChangeLog.tree-ssa
  739ab47f6425bcea1d05e4fc0542de54  gcc/ChangeLog.tuples
! 1013e7ed2d6bf54c87dd14c18974e564  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** e82f2dd2df5fd204d1c7102be6f29c11  gcc/co
*** 4133,4142 ****
  70a56f513b7336a41d2b3a23877154f8  gcc/config/i386/sm4intrin.h
  8fce480b063b9abc4081b814b0fc7e01  gcc/config/i386/smmintrin.h
  fe9eadd749e61a2279304a5617888723  gcc/config/i386/sol2.h
! 16d5c3d42c09beb8e4f5cd8738110617  gcc/config/i386/sse.md
  b415a4e3e2cdd58a97ae395bffcb7e09  gcc/config/i386/ssemath.h
  618acc597863bc9b3c097b7b7669aed0  gcc/config/i386/stringop.def
! 8fdfd8196f3dd509d9f9806774c453e0  gcc/config/i386/subst.md
  945c6888d50080573fad6f6c8969b67f  gcc/config/i386/sym-mingw32.cc
  67cf4f5a13fcf71032df7aa7645b46f4  gcc/config/i386/sync.md
  d1e6b547d4ed10e1c05b4ab91bd946eb  gcc/config/i386/sysv4.h
--- 4133,4142 ----
  70a56f513b7336a41d2b3a23877154f8  gcc/config/i386/sm4intrin.h
  8fce480b063b9abc4081b814b0fc7e01  gcc/config/i386/smmintrin.h
  fe9eadd749e61a2279304a5617888723  gcc/config/i386/sol2.h
! 9327d44c21db217ea8dfdd05d821f1eb  gcc/config/i386/sse.md
  b415a4e3e2cdd58a97ae395bffcb7e09  gcc/config/i386/ssemath.h
  618acc597863bc9b3c097b7b7669aed0  gcc/config/i386/stringop.def
! dc5059b21c86daca12f00fdbb6c7beeb  gcc/config/i386/subst.md
  945c6888d50080573fad6f6c8969b67f  gcc/config/i386/sym-mingw32.cc
  67cf4f5a13fcf71032df7aa7645b46f4  gcc/config/i386/sync.md
  d1e6b547d4ed10e1c05b4ab91bd946eb  gcc/config/i386/sysv4.h
*************** dce7dac7e905ada28c6563d930b531eb  gcc/fo
*** 5874,5880 ****
  b954a317257afa3149e46a5bce58d9c2  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! 52fd4249e9e8ba096713d05dcee8ff13  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5874,5880 ----
  b954a317257afa3149e46a5bce58d9c2  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! 510a23566148d908c64cb4195bdce026  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** af59533c4bfc13e7b07e6ec1c164832c  gcc/fo
*** 5920,5926 ****
  8e370801f4b220b49e7bc0024382e8b7  gcc/fortran/error.cc
  bc1f18ba2210cae506aafc11286af0e6  gcc/fortran/expr.cc
  5790e4e2fb5a21288fcb647a0dca23c4  gcc/fortran/f95-lang.cc
! da0911555c2867fd5d1f6899cd24cbab  gcc/fortran/frontend-passes.cc
  f12471f71a85ea43d5295d1190faf890  gcc/fortran/gfc-diagnostic.def
  21286a817891898ac50a2b843007652d  gcc/fortran/gfc-internals.texi
  c4a213d76d236acb33bf86ba3c71e93d  gcc/fortran/gfortran.h
--- 5920,5926 ----
  8e370801f4b220b49e7bc0024382e8b7  gcc/fortran/error.cc
  bc1f18ba2210cae506aafc11286af0e6  gcc/fortran/expr.cc
  5790e4e2fb5a21288fcb647a0dca23c4  gcc/fortran/f95-lang.cc
! 9398ad939dcc6b0a2300a8f78cd9e8d8  gcc/fortran/frontend-passes.cc
  f12471f71a85ea43d5295d1190faf890  gcc/fortran/gfc-diagnostic.def
  21286a817891898ac50a2b843007652d  gcc/fortran/gfc-internals.texi
  c4a213d76d236acb33bf86ba3c71e93d  gcc/fortran/gfortran.h
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8062,8068 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! e810fae6ba75e9422c970a4f2846e1c6  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8062,8068 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 990680d466fa606b40ce16a5480ba5b6  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** fd0c95fcad577a49c3553f21604c3b61  gcc/te
*** 75514,75519 ****
--- 75514,75520 ----
  0871390dda9d3f14f2d642eb1d5aa640  gcc/testsuite/gcc.target/i386/pr124056.c
  d9ed650f309dc0e24daeb25d90c34fa0  gcc/testsuite/gcc.target/i386/pr124316.c
  dc1ca8471081be67fdad4d340997d425  gcc/testsuite/gcc.target/i386/pr125351.c
+ daa1cb0a89547fecac9f64b4325b1f0c  gcc/testsuite/gcc.target/i386/pr126429-1.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  9a752a4b3b77930d91d3c8b0c8897b90  gcc/testsuite/gcc.target/i386/pr13685.c
  31ead0ee84b382ba03e3561931bc6e40  gcc/testsuite/gcc.target/i386/pr14289-1.c
*************** e5a418513e079e50ea576e021cf5ad8e  gcc/te
*** 97650,97655 ****
--- 97651,97657 ----
  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
+ b86dbc1f75df99fd92a0357727ec3a37  gcc/testsuite/gfortran.dg/inline_matmul_28.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
diff -Nrcpad gcc-14-20260723/gcc/ChangeLog gcc-14-20260730/gcc/ChangeLog
*** gcc-14-20260723/gcc/ChangeLog	Thu Jul 23 22:32:05 2026
--- gcc-14-20260730/gcc/ChangeLog	Thu Jul 30 22:32:05 2026
***************
*** 1,3 ****
--- 1,18 ----
+ 2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
+ 
+ 	PR target/126429
+ 	* config/i386/sse.md (avx512fmaskhalfmode): Removed.
+ 	(avx512f_dpbf16ps_<mode>_maskz): Use avx512fmaskmode instead of
+ 	avx512fmaskhalfmode.
+ 	(avx512f_dpbf16ps_<mode>_mask): Ditto.
+ 	(avx512f_dpbf16ps_<mode><maskz_half_name>): Rename to ...
+ 	(avx512f_dpbf16ps_<mode><sd_maskz_name>): ... this. Use
+ 	corresponding sd_mask_op4.
+ 	* config/i386/subst.md (maskz_half): Remove not used pattern.
+ 
  2026-07-21  Alice Carlotti  <alice.carlotti@arm.com>
  
  	* config/aarch64/aarch64.cc (aarch64_start_call_args): Extend
diff -Nrcpad gcc-14-20260723/gcc/DATESTAMP gcc-14-20260730/gcc/DATESTAMP
*** gcc-14-20260723/gcc/DATESTAMP	Thu Jul 23 22:32:06 2026
--- gcc-14-20260730/gcc/DATESTAMP	Thu Jul 30 22:32:05 2026
***************
*** 1 ****
! 20260723
--- 1 ----
! 20260730
diff -Nrcpad gcc-14-20260723/gcc/config/i386/sse.md gcc-14-20260730/gcc/config/i386/sse.md
*** gcc-14-20260723/gcc/config/i386/sse.md	Thu Jul 23 22:32:07 2026
--- gcc-14-20260730/gcc/config/i386/sse.md	Thu Jul 30 22:32:07 2026
***************
*** 1040,1056 ****
     (V16SF "hi") (V8SF  "qi") (V4SF  "qi")
     (V8DF  "qi") (V4DF  "qi") (V2DF  "qi")])
  
- ;; Mapping of vector modes to corresponding mask half size
- (define_mode_attr avx512fmaskhalfmode
-   [(V64QI "SI") (V32QI "HI") (V16QI "QI")
-    (V32HI "HI") (V16HI "QI") (V8HI  "QI") (V4HI "QI")
-    (V16SI "QI") (V8SI  "QI") (V4SI  "QI")
-    (V8DI  "QI") (V4DI  "QI") (V2DI  "QI")
-    (V32HF "HI") (V16HF "QI") (V8HF  "QI")
-    (V32BF "HI") (V16BF "QI") (V8BF  "QI")
-    (V16SF "QI") (V8SF  "QI") (V4SF  "QI")
-    (V8DF  "QI") (V4DF  "QI") (V2DF  "QI")])
- 
  ;; Mapping of vector float modes to an integer mode of the same size
  (define_mode_attr sseintvecmode
    [(V32HF "V32HI") (V32BF "V32HI") (V16SF "V16SI") (V8DF  "V8DI")
--- 1040,1045 ----
***************
*** 30695,30701 ****
     (match_operand:VF1_AVX512VL 1 "register_operand")
     (match_operand:<sf_bf16> 2 "register_operand")
     (match_operand:<sf_bf16> 3 "register_operand")
!    (match_operand:<avx512fmaskhalfmode> 4 "register_operand")]
    "TARGET_AVX512BF16"
  {
    emit_insn (gen_avx512f_dpbf16ps_<mode>_maskz_1(operands[0], operands[1],
--- 30684,30690 ----
     (match_operand:VF1_AVX512VL 1 "register_operand")
     (match_operand:<sf_bf16> 2 "register_operand")
     (match_operand:<sf_bf16> 3 "register_operand")
!    (match_operand:<avx512fmaskmode> 4 "register_operand")]
    "TARGET_AVX512BF16"
  {
    emit_insn (gen_avx512f_dpbf16ps_<mode>_maskz_1(operands[0], operands[1],
***************
*** 30703,30709 ****
    DONE;
  })
  
! (define_insn "avx512f_dpbf16ps_<mode><maskz_half_name>"
    [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=v")
  	(unspec:VF1_AVX512VL
  	  [(match_operand:VF1_AVX512VL 1 "register_operand" "0")
--- 30692,30698 ----
    DONE;
  })
  
! (define_insn "avx512f_dpbf16ps_<mode><sd_maskz_name>"
    [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=v")
  	(unspec:VF1_AVX512VL
  	  [(match_operand:VF1_AVX512VL 1 "register_operand" "0")
***************
*** 30711,30717 ****
  	   (match_operand:<sf_bf16> 3 "nonimmediate_operand" "vm")]
          UNSPEC_VDPBF16PS))]
    "TARGET_AVX512BF16"
!   "vdpbf16ps\t{%3, %2, %0<maskz_half_operand4>|%0<maskz_half_operand4>, %2, %3}")
  
  (define_insn "avx512f_dpbf16ps_<mode>_mask"
    [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=v")
--- 30700,30706 ----
  	   (match_operand:<sf_bf16> 3 "nonimmediate_operand" "vm")]
          UNSPEC_VDPBF16PS))]
    "TARGET_AVX512BF16"
!   "vdpbf16ps\t{%3, %2, %0<sd_mask_op4>|%0<sd_mask_op4>, %2, %3}")
  
  (define_insn "avx512f_dpbf16ps_<mode>_mask"
    [(set (match_operand:VF1_AVX512VL 0 "register_operand" "=v")
***************
*** 30722,30728 ****
  	     (match_operand:<sf_bf16> 3 "nonimmediate_operand" "vm")]
               UNSPEC_VDPBF16PS)
            (match_dup 1)
!           (match_operand:<avx512fmaskhalfmode> 4 "register_operand" "Yk")))]
    "TARGET_AVX512BF16"
    "vdpbf16ps\t{%3, %2, %0%{%4%}|%0%{%4%}, %2, %3}")
  
--- 30711,30717 ----
  	     (match_operand:<sf_bf16> 3 "nonimmediate_operand" "vm")]
               UNSPEC_VDPBF16PS)
            (match_dup 1)
!           (match_operand:<avx512fmaskmode> 4 "register_operand" "Yk")))]
    "TARGET_AVX512BF16"
    "vdpbf16ps\t{%3, %2, %0%{%4%}|%0%{%4%}, %2, %3}")
  
diff -Nrcpad gcc-14-20260723/gcc/config/i386/subst.md gcc-14-20260730/gcc/config/i386/subst.md
*** gcc-14-20260723/gcc/config/i386/subst.md	Thu Jul 23 22:32:07 2026
--- gcc-14-20260730/gcc/config/i386/subst.md	Thu Jul 30 22:32:07 2026
***************
*** 471,486 ****
  		(const_int 1))
  	     (match_operand:SI 3 "const48_operand")]
  		UNSPEC_EMBEDDED_ROUNDING))])
- 
- (define_subst_attr "maskz_half_name" "maskz_half" "" "_maskz_1")
- (define_subst_attr "maskz_half_operand4" "maskz_half" "" "%{%5%}%N4")
- 
- (define_subst "maskz_half"
-   [(set (match_operand:SUBST_V 0)
-         (match_operand:SUBST_V 1))]
-   ""
-   [(set (match_dup 0)
-         (vec_merge:SUBST_V
- 	  (match_dup 1)
- 	  (match_operand:SUBST_V 2 "const0_operand")
- 	  (match_operand:<avx512fmaskhalfmode> 3 "register_operand" "Yk")))])
--- 471,473 ----
diff -Nrcpad gcc-14-20260723/gcc/fortran/ChangeLog gcc-14-20260730/gcc/fortran/ChangeLog
*** gcc-14-20260723/gcc/fortran/ChangeLog	Thu Jul 23 22:32:08 2026
--- gcc-14-20260730/gcc/fortran/ChangeLog	Thu Jul 30 22:32:07 2026
***************
*** 1,3 ****
--- 1,12 ----
+ 2026-07-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-07-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/126386
+ 	* frontend-passes.cc (matmul_lhs_realloc):  Fix size calculation of
+ 	A2B1 case.
+ 
  2026-07-20  Mikael Morin  <mikael@gcc.gnu.org>
  
  	Backported from master:
diff -Nrcpad gcc-14-20260723/gcc/fortran/frontend-passes.cc gcc-14-20260730/gcc/fortran/frontend-passes.cc
*** gcc-14-20260723/gcc/fortran/frontend-passes.cc	Thu Jul 23 22:32:08 2026
--- gcc-14-20260730/gcc/fortran/frontend-passes.cc	Thu Jul 30 22:32:07 2026
*************** matmul_lhs_realloc (gfc_expr *c, gfc_exp
*** 3604,3610 ****
        ar->start[0] = get_array_inq_function (GFC_ISYM_SIZE, a, 1);
        cond = build_logical_expr (INTRINSIC_NE,
  				 get_array_inq_function (GFC_ISYM_SIZE, c, 1),
! 				 get_array_inq_function (GFC_ISYM_SIZE, a, 2));
        break;
  
      case A1B2:
--- 3604,3610 ----
        ar->start[0] = get_array_inq_function (GFC_ISYM_SIZE, a, 1);
        cond = build_logical_expr (INTRINSIC_NE,
  				 get_array_inq_function (GFC_ISYM_SIZE, c, 1),
! 				 get_array_inq_function (GFC_ISYM_SIZE, a, 1));
        break;
  
      case A1B2:
diff -Nrcpad gcc-14-20260723/gcc/testsuite/ChangeLog gcc-14-20260730/gcc/testsuite/ChangeLog
*** gcc-14-20260723/gcc/testsuite/ChangeLog	Thu Jul 23 22:32:10 2026
--- gcc-14-20260730/gcc/testsuite/ChangeLog	Thu Jul 30 22:32:10 2026
***************
*** 1,3 ****
--- 1,19 ----
+ 2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
+ 
+ 	Backported from master:
+ 	2026-07-28  Haochen Jiang  <haochen.jiang@intel.com>
+ 
+ 	PR target/126429
+ 	* gcc.target/i386/pr126429-1.c: New test.
+ 
+ 2026-07-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	Backported from master:
+ 	2026-07-26  Thomas Koenig  <tkoenig@gcc.gnu.org>
+ 
+ 	PR fortran/126386
+ 	* gfortran.dg/inline_matmul_28.f90: New test.
+ 
  2026-07-21  Alice Carlotti  <alice.carlotti@arm.com>
  
  	PR target/119210
diff -Nrcpad gcc-14-20260723/gcc/testsuite/gcc.target/i386/pr126429-1.c gcc-14-20260730/gcc/testsuite/gcc.target/i386/pr126429-1.c
*** gcc-14-20260723/gcc/testsuite/gcc.target/i386/pr126429-1.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20260730/gcc/testsuite/gcc.target/i386/pr126429-1.c	Thu Jul 30 22:32:15 2026
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-do compile } */
+ /* { dg-options "-O2 -mavx512bf16 -mavx512dq" } */
+ /* { dg-final { scan-assembler-not "kmovb" } } */
+ 
+ #include <immintrin.h>
+ 
+ __m512 dp16ps_mask (__m512 src, __mmask16 k, __m512bh a, __m512bh b)
+ {
+   return _mm512_mask_dpbf16_ps (src, k, a, b);
+ }
+ 
+ __m512 dp16ps_maskz (__mmask16 k, __m512 src, __m512bh a, __m512bh b)
+ {
+   return _mm512_maskz_dpbf16_ps (k, src, a, b);
+ }
diff -Nrcpad gcc-14-20260723/gcc/testsuite/gfortran.dg/inline_matmul_28.f90 gcc-14-20260730/gcc/testsuite/gfortran.dg/inline_matmul_28.f90
*** gcc-14-20260723/gcc/testsuite/gfortran.dg/inline_matmul_28.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20260730/gcc/testsuite/gfortran.dg/inline_matmul_28.f90	Thu Jul 30 22:32:16 2026
***************
*** 0 ****
--- 1,21 ----
+ ! { dg-do run }
+ ! { dg-options "-ffrontend-optimize" }
+ ! PR 126386 - size calculation for allocation of the lhs for matmmul
+ ! was wrong.  Original test case by Christoph Hofer.
+ 
+ PROGRAM reallocation_bug
+     REAL(8), DIMENSION(:), ALLOCATABLE :: y
+     REAL(8), DIMENSION(3,2) :: A
+     real(8), dimension(3) :: x
+     
+     A(:,1) = [1,-2,3]
+     A(:,2) = [-4,5,6]
+     
+     x =  [7,-8,9]
+ 
+     ALLOCATE(y(3))
+     y = matmul(transpose(2*a),x)
+     if (size(y,1) /= 2) stop 1
+     if (any(y /= [100, -28])) stop 2
+     
+ END PROGRAM reallocation_bug
