diff -Nrcpad gcc-14-20251024/LAST_UPDATED gcc-14-20251031/LAST_UPDATED
*** gcc-14-20251024/LAST_UPDATED	Fri Oct 24 22:33:57 2025
--- gcc-14-20251031/LAST_UPDATED	Fri Oct 31 22:33:19 2025
***************
*** 1 ****
! Obtained from git: releases/gcc-14 revision adb6b1851b552d4cbbedd00a6d8eb737dbf5edcd
--- 1 ----
! Obtained from git: releases/gcc-14 revision dfb81b8cb5eb2fc4908beb65f367ea2d26ffa09c
diff -Nrcpad gcc-14-20251024/MD5SUMS gcc-14-20251031/MD5SUMS
*** gcc-14-20251024/MD5SUMS	Fri Oct 24 22:34:02 2025
--- gcc-14-20251031/MD5SUMS	Fri Oct 31 22:33:26 2025
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the
! # gcc-14-20251024.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-20251031.tar.xz tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
*************** fc9280b02bc68e4fb1ef8d51ccc25061  Change
*** 23,29 ****
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! 0dbd7b4de3f4ea38e30eb89a48280c11  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
--- 23,29 ----
  fd4ecdf5d672efe2b0e409aca9cf9446  ChangeLog.jit
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
  24ab760126489e69436a43185dc3d202  INSTALL/README
! fb3b857145f7f224a1db612678316e3e  LAST_UPDATED
  1671040823f8eb8436a06fdd18065e02  MAINTAINERS
  304c3887135aefa27c21292ec585b0a3  Makefile.def
  8dd93fbf2e32bcbd2faba10e3b8ba2b0  Makefile.in
*************** bc7394806417778d77541ba1ec0e4a70  gcc/BA
*** 505,511 ****
  a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
  d32239bcb673463ab874e80d47fae504  gcc/COPYING3
  6a6a8e020838b23406c81b19c1d46df6  gcc/COPYING3.LIB
! 77dc00009e9a882fd0a5d47bdb91924d  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
! 3e14a46b3a2526c661e4325a6baad19e  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
! 4ec40a89617d8efe3e093b8bd6100d78  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
! abab72064e43906129b6d4c29ac73c6f  gcc/DATESTAMP
  d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  eb92e1ff5e982ca07e173e0eb286d243  gcc/FSFChangeLog
  30e1e33411566388b3164558482dc5e6  gcc/FSFChangeLog.10
*************** fccc6d65638a2ce66ebc6b06766912c2  gcc/co
*** 4065,4071 ****
  4f7ab8c57b3148a31d24838528313ef2  gcc/config/i386/i386-rust.h
  80f84866a20a9a955dca79eb63b29354  gcc/config/i386/i386.cc
  050a9384b955805718fbe5df50684b1c  gcc/config/i386/i386.h
! 215f456a9ff752a196b146dd19b58d70  gcc/config/i386/i386.md
  85b5302c87709e4b2325868fe370b441  gcc/config/i386/i386.opt
  fb32c950c45e643174eb7c58d7f4218f  gcc/config/i386/i386.opt.urls
  95e430a8a19e9226167376a9a7ca34d9  gcc/config/i386/i386elf.h
--- 4065,4071 ----
  4f7ab8c57b3148a31d24838528313ef2  gcc/config/i386/i386-rust.h
  80f84866a20a9a955dca79eb63b29354  gcc/config/i386/i386.cc
  050a9384b955805718fbe5df50684b1c  gcc/config/i386/i386.h
! 877c115a572e59ca25b951e37f2204f3  gcc/config/i386/i386.md
  85b5302c87709e4b2325868fe370b441  gcc/config/i386/i386.opt
  fb32c950c45e643174eb7c58d7f4218f  gcc/config/i386/i386.opt.urls
  95e430a8a19e9226167376a9a7ca34d9  gcc/config/i386/i386elf.h
*************** ba884745a15d4b194d0ad2e286b0c617  gcc/co
*** 4284,4290 ****
  33ffb3b80383744cc4872c3213e50ac5  gcc/config/loongarch/gnu-user.h
  73cc35d0159715accf631cf5373b9fcf  gcc/config/loongarch/la464.md
  56be38a805f1110cf87ba4a7105324a5  gcc/config/loongarch/larchintrin.h
! b6b05945481137a1070e0c2ba183074e  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
  fe166d2fd30d3bf70487dde04e5ba257  gcc/config/loongarch/loongarch-builtins.cc
--- 4284,4290 ----
  33ffb3b80383744cc4872c3213e50ac5  gcc/config/loongarch/gnu-user.h
  73cc35d0159715accf631cf5373b9fcf  gcc/config/loongarch/la464.md
  56be38a805f1110cf87ba4a7105324a5  gcc/config/loongarch/larchintrin.h
! 8d26b2428208f8a96ec47308927102e1  gcc/config/loongarch/lasx.md
  4bf4ab82622674f6e0397a7f88fe5723  gcc/config/loongarch/lasxintrin.h
  82679ddaca16efc485abf4e3b347a3c9  gcc/config/loongarch/linux.h
  fe166d2fd30d3bf70487dde04e5ba257  gcc/config/loongarch/loongarch-builtins.cc
*************** ea6cc43b3fa3313db4228947eed2152e  gcc/co
*** 4312,4322 ****
  979b7bb4986f91fe92c3ac05a83f249c  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
  93b3f21362e888da73ecb40a067439a3  gcc/config/loongarch/loongarch.opt.urls
! 0830066c1468503aba6fc659f821fa0a  gcc/config/loongarch/lsx.md
  936e07cd1770c2a1e09db72cf3dc7e24  gcc/config/loongarch/lsxintrin.h
  42270d3318bceb069807243f3475a89f  gcc/config/loongarch/musl.h
  f6fd546f0f47cd5d43b7f1082da4ede6  gcc/config/loongarch/predicates.md
! 0a4a99a6247644fd821658f9d410b52c  gcc/config/loongarch/simd.md
  f4de53ee085303195a3c4eb57c3663c6  gcc/config/loongarch/sync.md
  49279b28d5c2ec9c67b9f93840713af2  gcc/config/loongarch/t-linux
  88690e1c28b92ae6052572c149de682f  gcc/config/loongarch/t-loongarch
--- 4312,4322 ----
  979b7bb4986f91fe92c3ac05a83f249c  gcc/config/loongarch/loongarch.md
  b62396c60e7bd1b4de8956c5869d45f2  gcc/config/loongarch/loongarch.opt
  93b3f21362e888da73ecb40a067439a3  gcc/config/loongarch/loongarch.opt.urls
! 089d55be1626bf01eaae34410b06b8ef  gcc/config/loongarch/lsx.md
  936e07cd1770c2a1e09db72cf3dc7e24  gcc/config/loongarch/lsxintrin.h
  42270d3318bceb069807243f3475a89f  gcc/config/loongarch/musl.h
  f6fd546f0f47cd5d43b7f1082da4ede6  gcc/config/loongarch/predicates.md
! 2b4069944791d9480d23a0ea09341165  gcc/config/loongarch/simd.md
  f4de53ee085303195a3c4eb57c3663c6  gcc/config/loongarch/sync.md
  49279b28d5c2ec9c67b9f93840713af2  gcc/config/loongarch/t-linux
  88690e1c28b92ae6052572c149de682f  gcc/config/loongarch/t-loongarch
*************** dce7dac7e905ada28c6563d930b531eb  gcc/fo
*** 5873,5879 ****
  090850db6c719557b18e35fafc041a4c  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! ba4639d958c3d1fd0c011c6d7a985737  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
--- 5873,5879 ----
  090850db6c719557b18e35fafc041a4c  gcc/fold-const.cc
  62f9c541bc34eb653f289ecd29c7848a  gcc/fold-const.h
  5cce8057cb6a40c0ce23fcd6497d35c0  gcc/fold-mem-offsets.cc
! a782fa81cf11dc8c9276921a3e36a4b1  gcc/fortran/ChangeLog
  3330102ad3a0217cba963be6b5eefd58  gcc/fortran/ChangeLog-2002
  d000ab985b1eeb1ad5749f98b8fef99f  gcc/fortran/ChangeLog-2003
  bf42f94f0c51dcc7d8051cc7fda1efdc  gcc/fortran/ChangeLog-2004
*************** c420f80da3e0e794311a9b90c49abce5  gcc/fo
*** 5966,5976 ****
  a13796bc19ee899957fa78d9652f5ff5  gcc/fortran/trans-decl.cc
  21a44c257ad7cf25a62a230c8e619afb  gcc/fortran/trans-expr.cc
  50146a04d803fafbc56c31ef04c375c3  gcc/fortran/trans-intrinsic.cc
! cd62c1c77bf122047b8b1222354a9b5b  gcc/fortran/trans-io.cc
  be2abe61b914863c8dce5e37cb7f1491  gcc/fortran/trans-openmp.cc
  0a23775591d7d3e4fdb603d7bd9febb1  gcc/fortran/trans-stmt.cc
  1b5e4247678ad0441b5b0f26de2ebd4f  gcc/fortran/trans-stmt.h
! 79193e25cb2d902ca9eeb88b180288bd  gcc/fortran/trans-types.cc
  99093042b01c6c4c1ee2c064808bdaa0  gcc/fortran/trans-types.h
  d9d274d783642f6e1749266ab7178b64  gcc/fortran/trans.cc
  29a1230eb3bca55231d07eb0a5c33e86  gcc/fortran/trans.h
--- 5966,5976 ----
  a13796bc19ee899957fa78d9652f5ff5  gcc/fortran/trans-decl.cc
  21a44c257ad7cf25a62a230c8e619afb  gcc/fortran/trans-expr.cc
  50146a04d803fafbc56c31ef04c375c3  gcc/fortran/trans-intrinsic.cc
! 835293509cb408b8c6b793d2cc9c1e48  gcc/fortran/trans-io.cc
  be2abe61b914863c8dce5e37cb7f1491  gcc/fortran/trans-openmp.cc
  0a23775591d7d3e4fdb603d7bd9febb1  gcc/fortran/trans-stmt.cc
  1b5e4247678ad0441b5b0f26de2ebd4f  gcc/fortran/trans-stmt.h
! 3fc891f910a151aeff7237aa0891a96a  gcc/fortran/trans-types.cc
  99093042b01c6c4c1ee2c064808bdaa0  gcc/fortran/trans-types.h
  d9d274d783642f6e1749266ab7178b64  gcc/fortran/trans.cc
  29a1230eb3bca55231d07eb0a5c33e86  gcc/fortran/trans.h
*************** e8a9eb01b9451a357155e7152df1c669  gcc/ta
*** 8061,8067 ****
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! a2d5aa9a86f7bc58583ed8f7f28972f9  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
--- 8061,8067 ----
  a05663c52c607143c607d3ecf1391979  gcc/targhooks.cc
  51d240e574a3f9ecec346d64a04ac634  gcc/targhooks.h
  f39fcaa8197187283ccfed40107b426d  gcc/testsuite/.gitattributes
! 29de9f367a6e7bfcc52eceef0fd58263  gcc/testsuite/ChangeLog
  862f04afbd87da2cc6bc432c3f28430f  gcc/testsuite/ChangeLog-1993-2007
  029a5d8dacd25eb5d4711452ac448e5b  gcc/testsuite/ChangeLog-2008
  13ac28c41d51b66b4ec40dba6bd50f39  gcc/testsuite/ChangeLog-2009
*************** f6df41d6d0c00a657a60617993e7fd37  gcc/te
*** 64095,64101 ****
  10614e0cbb3e88c95f34ea133bf8898e  gcc/testsuite/gcc.target/aarch64/sve2/pr107830-1.c
  f5f6f291e9c1c848a46c8ef91ca99f58  gcc/testsuite/gcc.target/aarch64/sve2/pr107830-2.c
  429b387819fe31e459436020f966ae50  gcc/testsuite/gcc.target/aarch64/sve2/pr109636_1.c
! 1620fd00b76f773c65274065175f0eb2  gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c
  3ddfd16fcbf89890fd9785fec8f0c081  gcc/testsuite/gcc.target/aarch64/sve2/shracc_1.c
  8cd4d6e010de57b57d5d8fb325fa79bb  gcc/testsuite/gcc.target/aarch64/sve2/unpred_mul_1.c
  253ea1793d85a6047e9fc6e69f5a62af  gcc/testsuite/gcc.target/aarch64/sve2/whilerw_1.c
--- 64095,64101 ----
  10614e0cbb3e88c95f34ea133bf8898e  gcc/testsuite/gcc.target/aarch64/sve2/pr107830-1.c
  f5f6f291e9c1c848a46c8ef91ca99f58  gcc/testsuite/gcc.target/aarch64/sve2/pr107830-2.c
  429b387819fe31e459436020f966ae50  gcc/testsuite/gcc.target/aarch64/sve2/pr109636_1.c
! b2d92d06e51698908b628bbf67a8336b  gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c
  3ddfd16fcbf89890fd9785fec8f0c081  gcc/testsuite/gcc.target/aarch64/sve2/shracc_1.c
  8cd4d6e010de57b57d5d8fb325fa79bb  gcc/testsuite/gcc.target/aarch64/sve2/unpred_mul_1.c
  253ea1793d85a6047e9fc6e69f5a62af  gcc/testsuite/gcc.target/aarch64/sve2/whilerw_1.c
*************** fa6ebeb8a38629b307b197117b388ef7  gcc/te
*** 73695,73701 ****
  28a4a0d6bd0e09a7f1da7f5515db9c70  gcc/testsuite/gcc.target/i386/builtin-copysign-6.c
  eeb2c795579e4b693eed6b471e041925  gcc/testsuite/gcc.target/i386/builtin-copysign-7.c
  4dde22c7279c7c8e684af5f718431d7d  gcc/testsuite/gcc.target/i386/builtin-copysign-8a.c
! a6cac29ed0855c52ab4ab6fa01911e5f  gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c
  04d6147486a507d49f5d165aac499b5d  gcc/testsuite/gcc.target/i386/builtin-copysign.c
  7c1badccd4856954ccba2139093860d2  gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
  d0d68d3b60ec7e31cbccbfd63299fac2  gcc/testsuite/gcc.target/i386/builtin-fabs-2.c
--- 73695,73701 ----
  28a4a0d6bd0e09a7f1da7f5515db9c70  gcc/testsuite/gcc.target/i386/builtin-copysign-6.c
  eeb2c795579e4b693eed6b471e041925  gcc/testsuite/gcc.target/i386/builtin-copysign-7.c
  4dde22c7279c7c8e684af5f718431d7d  gcc/testsuite/gcc.target/i386/builtin-copysign-8a.c
! 19fe0cd1992bc2d71db601dda2c2bd34  gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c
  04d6147486a507d49f5d165aac499b5d  gcc/testsuite/gcc.target/i386/builtin-copysign.c
  7c1badccd4856954ccba2139093860d2  gcc/testsuite/gcc.target/i386/builtin-fabs-1.c
  d0d68d3b60ec7e31cbccbfd63299fac2  gcc/testsuite/gcc.target/i386/builtin-fabs-2.c
*************** c9d08bb72896d9b4861ce4073ec5e57f  gcc/te
*** 78423,78428 ****
--- 78423,78429 ----
  f72ce6aeb8beb0eff27354c07ef71cd1  gcc/testsuite/gcc.target/loongarch/flt-abi-isa-3.c
  ab6db876a44193a92b0a1625c65eb4e7  gcc/testsuite/gcc.target/loongarch/flt-abi-isa-4.c
  aaaf53a882a8a0ae0583d851021e03cc  gcc/testsuite/gcc.target/loongarch/fmax-fmin.c
+ ba1f9cd7776de398eabc15fb6f7d523b  gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c
  fee1bedd25e7db9b4e91f3ede9e05608  gcc/testsuite/gcc.target/loongarch/frint.c
  2f79a7482d38a9632f39b484c09a8f2f  gcc/testsuite/gcc.target/loongarch/fscaleb.c
  40d69683116e216d2295e4600c830736  gcc/testsuite/gcc.target/loongarch/ftint-no-inexact.c
*************** b75cb93f87f099ad715aceb9cb7b1bf2  gcc/te
*** 97240,97245 ****
--- 97241,97247 ----
  1f7a9307002a1f0f2a5f8eb76998dcda  gcc/testsuite/gfortran.dg/implied_do_io_6.f90
  2b548a8a46da28ac4ce23e2509a886fc  gcc/testsuite/gfortran.dg/implied_do_io_7.f90
  1b11291348a686162c0e48c6b1b5cd66  gcc/testsuite/gfortran.dg/implied_do_io_8.f90
+ f9c9e0932087ab8751e466c8efd22612  gcc/testsuite/gfortran.dg/implied_do_io_9.f90
  a8761a2aaffb7680e80dcad5eceada12  gcc/testsuite/gfortran.dg/implied_shape_1.f08
  f9528d7042bf84bf037d6e2b109272ec  gcc/testsuite/gfortran.dg/implied_shape_2.f90
  1b2b68c816459c1a9395771e9851de87  gcc/testsuite/gfortran.dg/implied_shape_3.f08
*************** b3de2cdb7dfd995e8d4a97fabcc29a38  gcc/te
*** 97515,97520 ****
--- 97517,97523 ----
  e797a26594e33f4316a85af1fe223cbc  gcc/testsuite/gfortran.dg/interface_abstract_3.f90
  a30d85d2601e16438a18162122cbc190  gcc/testsuite/gfortran.dg/interface_abstract_4.f90
  bb1e6a032a10a9e1ff7d9a5d79c13aa6  gcc/testsuite/gfortran.dg/interface_abstract_5.f90
+ a584146c98b61024b29fba4d0cf9aa8c  gcc/testsuite/gfortran.dg/interface_abstract_6.f90
  33a2f608c30f217c3799ca2ecec2ffec  gcc/testsuite/gfortran.dg/interface_assignment_1.f90
  4f0c646f0732570a97ff9a9dc8755be6  gcc/testsuite/gfortran.dg/interface_assignment_2.f90
  91f77567fb0079c826db40c2ce9296c0  gcc/testsuite/gfortran.dg/interface_assignment_3.f90
diff -Nrcpad gcc-14-20251024/gcc/ChangeLog gcc-14-20251031/gcc/ChangeLog
*** gcc-14-20251024/gcc/ChangeLog	Fri Oct 24 22:32:23 2025
--- gcc-14-20251031/gcc/ChangeLog	Fri Oct 31 22:32:19 2025
***************
*** 1,3 ****
--- 1,34 ----
+ 2025-10-30  Guo Jie  <guojie@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-10-30  Guo Jie  <guojie@loongson.cn>
+ 
+ 	* config/loongarch/lasx.md (fnma<mode>4): Remove.
+ 	* config/loongarch/lsx.md (fnma<mode>4): Remove.
+ 	* config/loongarch/simd.md (fnma<mode>4): Simplify and correct.
+ 
+ 2025-10-26  LIU Hao  <lh_mouse@126.com>
+ 
+ 	Backported from master:
+ 	2025-10-26  LIU Hao  <lh_mouse@126.com>
+ 
+ 	PR target/119079
+ 	* config/i386/i386.md: Use `movsxd` to perform SI-to-DI extension in Intel
+ 	syntax.
+ 
+ 2025-10-24  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-10-20  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/99930
+ 	PR target/122323
+ 	* config/i386/i386-expand.cc (ix86_expand_copysign): Swap
+ 	operands[1] with operands[2].  Optimize copysign (x, const_double)
+ 	instead of copysign (const_double, x).
+ 	* config/i386/i386.md (copysign<mode>3): Swap constraints for
+ 	operands[1] and operands[2].
+ 
  2025-10-22  Haochen Jiang  <haochen.jiang@intel.com>
  
  	* config/i386/driver-i386.cc (host_detect_local_cpu): Correct
diff -Nrcpad gcc-14-20251024/gcc/DATESTAMP gcc-14-20251031/gcc/DATESTAMP
*** gcc-14-20251024/gcc/DATESTAMP	Fri Oct 24 22:32:23 2025
--- gcc-14-20251031/gcc/DATESTAMP	Fri Oct 31 22:32:20 2025
***************
*** 1 ****
! 20251024
--- 1 ----
! 20251031
diff -Nrcpad gcc-14-20251024/gcc/config/i386/i386.md gcc-14-20251031/gcc/config/i386/i386.md
*** gcc-14-20251024/gcc/config/i386/i386.md	Fri Oct 24 22:32:25 2025
--- gcc-14-20251031/gcc/config/i386/i386.md	Fri Oct 31 22:32:20 2025
***************
*** 4888,4894 ****
    "TARGET_64BIT"
    "@
     {cltq|cdqe}
!    movs{lq|x}\t{%1, %0|%0, %1}"
    [(set_attr "type" "imovx")
     (set_attr "mode" "DI")
     (set_attr "prefix_0f" "0")
--- 4888,4894 ----
    "TARGET_64BIT"
    "@
     {cltq|cdqe}
!    movs{lq|xd}\t{%1, %0|%0, %1}"
    [(set_attr "type" "imovx")
     (set_attr "mode" "DI")
     (set_attr "prefix_0f" "0")
***************
*** 25763,25769 ****
  {
    output_asm_insn ("mov{<imodesuffix>}\t{%3, %<k>1|%<k>1, %3}", operands);
    output_asm_insn ("mov{<imodesuffix>}\t{%<k>1, %0|%0, %<k>1}", operands);
!   return "movs{lq|x}\t{%2, %1|%1, %2}";
  }
    [(set_attr "type" "multi")
     (set_attr "length" "24")])
--- 25763,25769 ----
  {
    output_asm_insn ("mov{<imodesuffix>}\t{%3, %<k>1|%<k>1, %3}", operands);
    output_asm_insn ("mov{<imodesuffix>}\t{%<k>1, %0|%0, %<k>1}", operands);
!   return "movs{lq|xd}\t{%2, %1|%1, %2}";
  }
    [(set_attr "type" "multi")
     (set_attr "length" "24")])
diff -Nrcpad gcc-14-20251024/gcc/config/loongarch/lasx.md gcc-14-20251031/gcc/config/loongarch/lasx.md
*** gcc-14-20251024/gcc/config/loongarch/lasx.md	Fri Oct 24 22:32:25 2025
--- gcc-14-20251031/gcc/config/loongarch/lasx.md	Fri Oct 31 22:32:20 2025
***************
*** 1148,1163 ****
    [(set_attr "type" "simd_fmadd")
     (set_attr "mode" "<MODE>")])
  
- (define_insn "fnma<mode>4"
-   [(set (match_operand:FLASX 0 "register_operand" "=f")
- 	(fma:FLASX (neg:FLASX (match_operand:FLASX 1 "register_operand" "f"))
- 		   (match_operand:FLASX 2 "register_operand" "f")
- 		   (match_operand:FLASX 3 "register_operand" "0")))]
-   "ISA_HAS_LASX"
-   "xvfnmsub.<flasxfmt>\t%u0,%u1,%u2,%u0"
-   [(set_attr "type" "simd_fmadd")
-    (set_attr "mode" "<MODE>")])
- 
  (define_expand "sqrt<mode>2"
    [(set (match_operand:FLASX 0 "register_operand")
      (sqrt:FLASX (match_operand:FLASX 1 "register_operand")))]
--- 1148,1153 ----
diff -Nrcpad gcc-14-20251024/gcc/config/loongarch/lsx.md gcc-14-20251031/gcc/config/loongarch/lsx.md
*** gcc-14-20251024/gcc/config/loongarch/lsx.md	Fri Oct 24 22:32:25 2025
--- gcc-14-20251031/gcc/config/loongarch/lsx.md	Fri Oct 31 22:32:20 2025
***************
*** 1006,1021 ****
    [(set_attr "type" "simd_fmadd")
     (set_attr "mode" "<MODE>")])
  
- (define_insn "fnma<mode>4"
-   [(set (match_operand:FLSX 0 "register_operand" "=f")
- 	(fma:FLSX (neg:FLSX (match_operand:FLSX 1 "register_operand" "f"))
- 		  (match_operand:FLSX 2 "register_operand" "f")
- 		  (match_operand:FLSX 3 "register_operand" "0")))]
-   "ISA_HAS_LSX"
-   "vfnmsub.<flsxfmt>\t%w0,%w1,%w2,%w0"
-   [(set_attr "type" "simd_fmadd")
-    (set_attr "mode" "<MODE>")])
- 
  (define_expand "sqrt<mode>2"
    [(set (match_operand:FLSX 0 "register_operand")
      (sqrt:FLSX (match_operand:FLSX 1 "register_operand")))]
--- 1006,1011 ----
diff -Nrcpad gcc-14-20251024/gcc/config/loongarch/simd.md gcc-14-20251031/gcc/config/loongarch/simd.md
*** gcc-14-20251024/gcc/config/loongarch/simd.md	Fri Oct 24 22:32:25 2025
--- gcc-14-20251031/gcc/config/loongarch/simd.md	Fri Oct 31 22:32:20 2025
***************
*** 327,332 ****
--- 327,343 ----
    [(set_attr "type" "simd_int_arith")
     (set_attr "mode" "<MODE>")])
  
+ ;; <x>vfnmsub.{s/d}
+ (define_insn "fnma<mode>4"
+   [(set (match_operand:FVEC 0 "register_operand" "=f")
+ 	(fma:FVEC (neg:FVEC (match_operand:FVEC 1 "register_operand" "f"))
+ 		  (match_operand:FVEC 2 "register_operand" "f")
+ 		  (match_operand:FVEC 3 "register_operand" "f")))]
+   "!HONOR_SIGNED_ZEROS (<MODE>mode)"
+   "<x>vfnmsub.<simdfmt>\t%<wu>0,%<wu>1,%<wu>2,%<wu>3"
+   [(set_attr "type" "simd_fmadd")
+    (set_attr "mode" "<MODE>")])
+ 
  ;; <x>vfcmp.*.{s/d} with defined RTX code
  ;; There are no fcmp.{sugt/suge/cgt/cge}.{s/d} menmonics in GAS, so we have
  ;; to reverse the operands ourselves :(.
diff -Nrcpad gcc-14-20251024/gcc/fortran/ChangeLog gcc-14-20251031/gcc/fortran/ChangeLog
*** gcc-14-20251024/gcc/fortran/ChangeLog	Fri Oct 24 22:32:26 2025
--- gcc-14-20251031/gcc/fortran/ChangeLog	Fri Oct 31 22:32:21 2025
***************
*** 1,3 ****
--- 1,21 ----
+ 2025-10-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-10-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/107968
+ 	* trans-io.cc (gfc_trans_transfer): Also scalarize I/O of section
+ 	of an array pointer.
+ 
+ 2025-10-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-10-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/122206
+ 	* trans-types.cc (gfc_get_function_type): Do not clobber an
+ 	existing procedure interface.
+ 
  2025-10-05  Harald Anlauf  <anlauf@gmx.de>
  
  	Backported from master:
diff -Nrcpad gcc-14-20251024/gcc/fortran/trans-io.cc gcc-14-20251031/gcc/fortran/trans-io.cc
*** gcc-14-20251024/gcc/fortran/trans-io.cc	Fri Oct 24 22:32:26 2025
--- gcc-14-20251031/gcc/fortran/trans-io.cc	Fri Oct 31 22:32:21 2025
*************** gfc_trans_transfer (gfc_code * code)
*** 2630,2636 ****
  	 && ((expr->symtree->n.sym->ts.type == BT_DERIVED && expr->ts.deferred)
  	     || (expr->symtree->n.sym->assoc
  		 && expr->symtree->n.sym->assoc->variable)
! 	     || gfc_expr_attr (expr).pointer))
  	goto scalarize;
  
        /* With array-bounds checking enabled, force scalarization in some
--- 2630,2638 ----
  	 && ((expr->symtree->n.sym->ts.type == BT_DERIVED && expr->ts.deferred)
  	     || (expr->symtree->n.sym->assoc
  		 && expr->symtree->n.sym->assoc->variable)
! 	     || gfc_expr_attr (expr).pointer
! 	     || (expr->symtree->n.sym->attr.pointer
! 		 && gfc_expr_attr (expr).target)))
  	goto scalarize;
  
        /* With array-bounds checking enabled, force scalarization in some
diff -Nrcpad gcc-14-20251024/gcc/fortran/trans-types.cc gcc-14-20251031/gcc/fortran/trans-types.cc
*** gcc-14-20251024/gcc/fortran/trans-types.cc	Fri Oct 24 22:32:26 2025
--- gcc-14-20251031/gcc/fortran/trans-types.cc	Fri Oct 31 22:32:21 2025
*************** gfc_get_function_type (gfc_symbol * sym,
*** 3171,3176 ****
--- 3171,3177 ----
  	}
      }
    if (sym->backend_decl == error_mark_node && actual_args != NULL
+       && sym->ts.interface == NULL
        && sym->formal == NULL && (sym->attr.proc == PROC_EXTERNAL
  				 || sym->attr.proc == PROC_UNKNOWN))
      gfc_get_formal_from_actual_arglist (sym, actual_args);
diff -Nrcpad gcc-14-20251024/gcc/testsuite/ChangeLog gcc-14-20251031/gcc/testsuite/ChangeLog
*** gcc-14-20251024/gcc/testsuite/ChangeLog	Fri Oct 24 22:32:27 2025
--- gcc-14-20251031/gcc/testsuite/ChangeLog	Fri Oct 31 22:32:22 2025
***************
*** 1,3 ****
--- 1,69 ----
+ 2025-10-30  Guo Jie  <guojie@loongson.cn>
+ 
+ 	Backported from master:
+ 	2025-10-30  Guo Jie  <guojie@loongson.cn>
+ 
+ 	* gcc.target/loongarch/fnmam4-vec.c: New test.
+ 
+ 2025-10-28  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-10-27  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/122323
+ 	* gcc.target/i386/builtin-copysign-8b.c: Add -mtune=generic.
+ 
+ 2025-10-26  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	Backported from master:
+ 	2025-10-26  Alexandre Oliva  <oliva@adacore.com>
+ 
+ 	PR target/121599
+ 	* gcc.target/aarch64/sve2/pr121599.c: Tolerate alterate insn
+ 	selection.
+ 
+ 2025-10-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-10-04  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/107968
+ 	* gfortran.dg/implied_do_io_9.f90: New test.
+ 
+ 2025-10-25  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	Backported from master:
+ 	2025-10-09  Harald Anlauf  <anlauf@gmx.de>
+ 
+ 	PR fortran/122206
+ 	* gfortran.dg/interface_abstract_6.f90: New test.
+ 
+ 2025-10-24  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-10-24  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/122323
+ 	* gcc.target/i386/builtin-fabs-2.c: Also scan (%edi)for x32.
+ 
+ 2025-10-24  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	Backported from master:
+ 	2025-10-20  H.J. Lu  <hjl.tools@gmail.com>
+ 
+ 	PR target/99930
+ 	PR target/122323
+ 	* gcc.target/i386/builtin-copysign-2.c: New test.
+ 	* gcc.target/i386/builtin-copysign-3.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-4.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-5.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-6.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-7.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-8a.c: Likewise.
+ 	* gcc.target/i386/builtin-copysign-8b.c: Likewise.
+ 	* gcc.target/i386/builtin-fabs-1.c: Likewise.
+ 	* gcc.target/i386/builtin-fabs-2.c: Likewise.
+ 
  2025-10-21  Jennifer Schmitz  <jschmitz@nvidia.com>
  
  	PR target/121599
diff -Nrcpad gcc-14-20251024/gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c gcc-14-20251031/gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c
*** gcc-14-20251024/gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c	Fri Oct 24 22:32:49 2025
--- gcc-14-20251031/gcc/testsuite/gcc.target/aarch64/sve2/pr121599.c	Fri Oct 31 22:32:28 2025
***************
*** 7,13 ****
  
  /*
  ** foo:
! **	movi	d([0-9]+), #0
  **	movprfx	z0\.b, p0/z, z0\.b
  **	usqadd	z0\.b, p0/m, z0\.b, z\1\.b
  **	ret
--- 7,13 ----
  
  /*
  ** foo:
! **	movi?	[vdz]([0-9]+)\.?b?, #0
  **	movprfx	z0\.b, p0/z, z0\.b
  **	usqadd	z0\.b, p0/m, z0\.b, z\1\.b
  **	ret
*************** svuint8_t foo (svbool_t pg, svuint8_t op
*** 19,25 ****
  
  /*
  ** bar:
! **	movi	d([0-9]+), #0
  **	movprfx	z0\.b, p0/z, z0\.b
  **	suqadd	z0\.b, p0/m, z0\.b, z\1\.b
  **	ret
--- 19,25 ----
  
  /*
  ** bar:
! **	movi?	[vdz]([0-9]+)\.?b?, #0
  **	movprfx	z0\.b, p0/z, z0\.b
  **	suqadd	z0\.b, p0/m, z0\.b, z\1\.b
  **	ret
diff -Nrcpad gcc-14-20251024/gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c gcc-14-20251031/gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c
*** gcc-14-20251024/gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c	Fri Oct 24 22:32:59 2025
--- gcc-14-20251031/gcc/testsuite/gcc.target/i386/builtin-copysign-8b.c	Fri Oct 31 22:32:31 2025
***************
*** 1,5 ****
  /* { dg-do compile } */
! /* { dg-options "-O2 -mno-avx512f -mavx" } */
  /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
  /* { dg-final { check-function-bodies "**" "" "" { target { ! ia32 } } {^\t?\.} } } */
  
--- 1,5 ----
  /* { dg-do compile } */
! /* { dg-options "-O2 -mno-avx512f -mavx -mtune=generic" } */
  /* Keep labels and directives ('.cfi_startproc', '.cfi_endproc').  */
  /* { dg-final { check-function-bodies "**" "" "" { target { ! ia32 } } {^\t?\.} } } */
  
diff -Nrcpad gcc-14-20251024/gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c gcc-14-20251031/gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c
*** gcc-14-20251024/gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c	Thu Jan  1 00:00:00 1970
--- gcc-14-20251031/gcc/testsuite/gcc.target/loongarch/fnmam4-vec.c	Fri Oct 31 22:32:31 2025
***************
*** 0 ****
--- 1,14 ----
+ /* { dg-do compile } */
+ /* { dg-options "-Ofast -mlasx -ftree-vectorize" } */
+ /* { dg-require-effective-target loongarch_asx } */
+ 
+ void
+ foo (float *u, float x, float *y, float z)
+ {
+   int i;
+   for (i = 0; i < 1024; i++)
+     *(u++) = (x - y[i] * z);
+ }
+ 
+ /* { dg-final { scan-assembler-not "\tvori.b"} } */
+ /* { dg-final { scan-assembler-not "\txvori.b"} } */
diff -Nrcpad gcc-14-20251024/gcc/testsuite/gfortran.dg/implied_do_io_9.f90 gcc-14-20251031/gcc/testsuite/gfortran.dg/implied_do_io_9.f90
*** gcc-14-20251024/gcc/testsuite/gfortran.dg/implied_do_io_9.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20251031/gcc/testsuite/gfortran.dg/implied_do_io_9.f90	Fri Oct 31 22:32:35 2025
***************
*** 0 ****
--- 1,72 ----
+ ! { dg-do run }
+ ! { dg-additional-options "-O2" }
+ !
+ ! PR fortran/107968
+ !
+ ! Verify that array I/O optimization is not used for a section
+ ! of an array pointer as the pointee can be non-contiguous
+ !
+ ! Contributed by Nils Dreier
+ 
+ PROGRAM foo
+   implicit none
+ 
+   TYPE t_geographical_coordinates
+      REAL :: lon
+      REAL :: lat
+   END TYPE t_geographical_coordinates
+ 
+   TYPE t_vertices
+      REAL, POINTER          :: vlon(:) => null()
+      REAL, POINTER          :: vlat(:) => null()
+   END TYPE t_vertices
+ 
+   TYPE(t_geographical_coordinates), TARGET :: vertex(2)
+   TYPE(t_vertices), POINTER :: vertices_pointer
+   TYPE(t_vertices), TARGET  :: vertices_target
+ 
+   character(24)           :: s0, s1, s2
+   character(*), parameter :: fmt = '(2f8.3)'
+ 
+   ! initialization
+   vertex%lon = [1,3]
+   vertex%lat = [2,4]
+ 
+   ! obtain pointer to (non-contiguous) field
+   vertices_target%vlon => vertex%lon
+ 
+   ! reference output of write
+   write (s0,fmt) vertex%lon
+ 
+   ! set pointer vertices_pointer in a subroutine
+   CALL set_vertices_pointer(vertices_target)
+ 
+   write (s1,fmt) vertices_pointer%vlon
+   write (s2,fmt) vertices_pointer%vlon(1:)
+   if (s1 /= s0 .or. s2 /= s0) then
+      print *, s0, s1, s2
+      stop 3
+   end if
+ 
+ CONTAINS
+ 
+   SUBROUTINE set_vertices_pointer(vertices)
+     TYPE(t_vertices), POINTER, INTENT(IN) :: vertices
+ 
+     vertices_pointer => vertices
+ 
+     write (s1,fmt) vertices        %vlon
+     write (s2,fmt) vertices        %vlon(1:)
+     if (s1 /= s0 .or. s2 /= s0) then
+        print *, s0, s1, s2
+        stop 1
+     end if
+ 
+     write (s1,fmt) vertices_pointer%vlon
+     write (s2,fmt) vertices_pointer%vlon(1:)
+     if (s1 /= s0 .or. s2 /= s0) then
+        print *, s0, s1, s2
+        stop 2
+     end if
+   END SUBROUTINE set_vertices_pointer
+ END PROGRAM foo
diff -Nrcpad gcc-14-20251024/gcc/testsuite/gfortran.dg/interface_abstract_6.f90 gcc-14-20251031/gcc/testsuite/gfortran.dg/interface_abstract_6.f90
*** gcc-14-20251024/gcc/testsuite/gfortran.dg/interface_abstract_6.f90	Thu Jan  1 00:00:00 1970
--- gcc-14-20251031/gcc/testsuite/gfortran.dg/interface_abstract_6.f90	Fri Oct 31 22:32:35 2025
***************
*** 0 ****
--- 1,53 ----
+ ! { dg-do compile }
+ ! { dg-options "-fdump-tree-original" }
+ !
+ ! PR fortran/122206
+ !
+ ! Verify that procedure interfaces are "stable"
+ 
+ module test_example
+   use, intrinsic :: iso_c_binding, only: c_double, c_int
+   implicit none
+ 
+   abstract interface
+      function simple_interface(iarg1, arg2) bind(c) result(res)
+        import c_double, c_int
+        integer(c_int), value, intent(in) :: iarg1
+        real(c_double), value, intent(in) :: arg2
+        real(c_double) :: res
+      end function simple_interface
+   end interface
+ 
+   procedure(simple_interface), bind(c,name="simple_function") :: simple_function
+ 
+   interface
+      function other_interface(iarg1, arg2) result(res)
+        import c_double, c_int
+        integer(c_int), value, intent(in) :: iarg1
+        real(c_double), value, intent(in) :: arg2
+        real(c_double) :: res
+      end function other_interface
+   end interface
+ 
+   procedure(other_interface) :: other_function
+ 
+ contains
+   subroutine test_example_interface
+     implicit none
+     integer(c_int) :: iarg1 = 2
+     real(c_double) :: arg2  = 10.
+     real(c_double) :: val1, val2
+ 
+     val1 = simple_function(iarg1, arg2)
+     val2 = simple_function(iarg1, arg2)
+     if (val1 /= val2) stop 1
+ 
+     val1 = other_function(iarg1, arg2)
+     val2 = other_function(iarg1, arg2)
+     if (val1 /= val2) stop 2
+ 
+   end subroutine test_example_interface
+ end module test_example
+ 
+ ! { dg-final { scan-tree-dump-times "simple_function \\(iarg1, arg2\\);" 2 "original"} }
+ ! { dg-final { scan-tree-dump-times "other_function \\(iarg1, arg2\\);" 2 "original"} }
