https://gcc.gnu.org/g:afd1220e0ba653118b3699659e89c8bd35e1b722
commit afd1220e0ba653118b3699659e89c8bd35e1b722 Merge: ddbb4d3a4145 18c90eaa2536 Author: Thomas Schwinge <tschwi...@baylibre.com> Date: Mon Mar 11 00:34:22 2024 +0100 Merge commit '1ad5ae5a45f2e3fc6948b35a3b052fdd48453704^' into HEAD Diff: ChangeLog | 5 + config-ml.in | 10 + contrib/ChangeLog | 5 + gcc/ChangeLog | 1524 +++++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/ada/ChangeLog | 168 + gcc/ada/Makefile.rtl | 51 + gcc/ada/accessibility.adb | 54 +- gcc/ada/accessibility.ads | 12 +- .../building_executable_programs_with_gnat.rst | 2 +- gcc/ada/exp_aggr.adb | 23 +- gcc/ada/exp_ch9.adb | 2 +- gcc/ada/freeze.adb | 14 + gcc/ada/gcc-interface/decl.cc | 8 +- gcc/ada/gcc-interface/misc.cc | 14 +- gcc/ada/gcc-interface/trans.cc | 2 +- gcc/ada/gnat_ugn.texi | 4 +- gcc/ada/libgnarl/a-reatim.adb | 5 + gcc/ada/libgnarl/s-linux__loongarch.ads | 134 + gcc/ada/libgnarl/s-taprop__qnx.adb | 45 +- gcc/ada/libgnarl/s-tassta.adb | 4 +- gcc/ada/libgnarl/s-tpopsp__posix-foreign.adb | 10 +- gcc/ada/libgnat/s-aridou.adb | 11 + gcc/ada/libgnat/s-carsi8.adb | 9 +- gcc/ada/libgnat/s-carun8.adb | 9 +- gcc/ada/libgnat/s-casi128.adb | 9 +- gcc/ada/libgnat/s-casi16.adb | 13 +- gcc/ada/libgnat/s-casi32.adb | 9 +- gcc/ada/libgnat/s-casi64.adb | 9 +- gcc/ada/libgnat/s-caun128.adb | 9 +- gcc/ada/libgnat/s-caun16.adb | 13 +- gcc/ada/libgnat/s-caun32.adb | 9 +- gcc/ada/libgnat/s-caun64.adb | 9 +- gcc/ada/libgnat/s-geveop.adb | 43 +- gcc/ada/libgnat/s-imguti.adb | 11 +- gcc/ada/libgnat/s-multip.adb | 5 + gcc/ada/libgnat/s-vauspe.ads | 3 + gcc/ada/libgnat/system-linux-loongarch.ads | 145 + gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads | 1 + gcc/ada/sem_aggr.adb | 14 + gcc/ada/sem_attr.adb | 4 +- gcc/ada/sem_ch12.adb | 54 +- gcc/ada/sem_ch13.adb | 2 +- gcc/ada/sem_ch3.adb | 105 + gcc/ada/sem_ch4.adb | 10 +- gcc/ada/sem_ch6.adb | 8 +- gcc/ada/sem_ch7.adb | 17 +- gcc/ada/sem_res.adb | 1 + gcc/ada/sem_type.adb | 44 +- gcc/analyzer/ChangeLog | 29 + gcc/analyzer/kf.cc | 285 +- gcc/analyzer/region-model.cc | 21 +- gcc/analyzer/region-model.h | 7 +- gcc/builtins.cc | 7 +- gcc/c-family/ChangeLog | 52 + gcc/c-family/c-attribs.cc | 3 +- gcc/c-family/c-common.cc | 298 +- gcc/c-family/c-common.h | 2 +- gcc/c-family/c-cppbuiltin.cc | 23 + gcc/c-family/c-lex.cc | 184 +- gcc/c-family/c-pretty-print.cc | 34 +- gcc/c-family/c-ubsan.cc | 4 +- gcc/c-family/c-warn.cc | 14 +- gcc/c/ChangeLog | 49 + gcc/c/c-aux-info.cc | 11 + gcc/c/c-convert.cc | 1 + gcc/c/c-decl.cc | 210 +- gcc/c/c-fold.cc | 14 +- gcc/c/c-parser.cc | 36 +- gcc/c/c-tree.h | 18 +- gcc/c/c-typeck.cc | 153 +- gcc/cfgexpand.cc | 4 + gcc/common.opt | 1 + gcc/common/config/arc/arc-common.cc | 1 - gcc/common/config/riscv/riscv-common.cc | 2 + gcc/config.gcc | 410 +- gcc/config/aarch64/aarch64.h | 1 - gcc/config/arc/arc-protos.h | 2 - gcc/config/arc/arc.cc | 94 +- gcc/config/arc/arc.h | 58 +- gcc/config/arc/arc.md | 112 +- gcc/config/arc/arc.opt | 4 +- gcc/config/arc/arc700.md | 2 +- gcc/config/arc/arcHS.md | 2 +- gcc/config/arc/arcHS4x.md | 2 +- gcc/config/arc/constraints.md | 71 +- gcc/config/i386/i386-expand.cc | 17 + gcc/config/i386/i386.cc | 32 +- gcc/config/i386/sse.md | 25 +- gcc/config/loongarch/constraints.md | 131 +- gcc/config/loongarch/elf.h | 51 + gcc/config/loongarch/genopts/loongarch-strings | 8 +- gcc/config/loongarch/genopts/loongarch.opt.in | 66 +- gcc/config/loongarch/la464.md | 32 +- gcc/config/loongarch/lasx.md | 5104 ++++++++++++++++ gcc/config/loongarch/lasxintrin.h | 5338 +++++++++++++++++ gcc/config/loongarch/loongarch-builtins.cc | 2686 ++++++++- gcc/config/loongarch/loongarch-c.cc | 22 +- gcc/config/loongarch/loongarch-cpu.cc | 263 +- gcc/config/loongarch/loongarch-cpu.h | 3 +- gcc/config/loongarch/loongarch-def.c | 67 +- gcc/config/loongarch/loongarch-def.h | 57 +- gcc/config/loongarch/loongarch-driver.cc | 208 +- gcc/config/loongarch/loongarch-driver.h | 40 +- gcc/config/loongarch/loongarch-ftypes.def | 666 ++- gcc/config/loongarch/loongarch-modes.def | 39 + gcc/config/loongarch/loongarch-opts.cc | 372 +- gcc/config/loongarch/loongarch-opts.h | 55 +- gcc/config/loongarch/loongarch-protos.h | 39 +- gcc/config/loongarch/loongarch-str.h | 7 +- gcc/config/loongarch/loongarch.cc | 4814 +++++++++++++++- gcc/config/loongarch/loongarch.h | 121 +- gcc/config/loongarch/loongarch.md | 147 +- gcc/config/loongarch/loongarch.opt | 64 +- gcc/config/loongarch/lsx.md | 4467 ++++++++++++++ gcc/config/loongarch/lsxintrin.h | 5181 +++++++++++++++++ gcc/config/loongarch/predicates.md | 341 +- gcc/config/loongarch/t-linux | 32 +- gcc/config/riscv/autovec-opt.md | 314 +- gcc/config/riscv/autovec-vls.md | 22 + gcc/config/riscv/autovec.md | 89 +- gcc/config/riscv/bitmanip.md | 11 +- gcc/config/riscv/linux.h | 2 - gcc/config/riscv/pic.md | 30 +- gcc/config/riscv/riscv-opts.h | 8 +- gcc/config/riscv/riscv-protos.h | 7 + gcc/config/riscv/riscv-sr.cc | 8 +- gcc/config/riscv/riscv-v.cc | 63 +- gcc/config/riscv/riscv-vector-builtins.cc | 12 +- gcc/config/riscv/riscv-vector-switch.def | 8 +- gcc/config/riscv/riscv-vsetvl.cc | 86 +- gcc/config/riscv/riscv.cc | 525 +- gcc/config/riscv/riscv.h | 43 + gcc/config/riscv/riscv.md | 165 +- gcc/config/riscv/riscv.opt | 8 + gcc/config/riscv/vector.md | 24 +- gcc/config/riscv/zicond.md | 55 +- gcc/config/xtensa/xtensa.cc | 43 +- gcc/config/xtensa/xtensa.md | 34 - gcc/convert.cc | 8 +- gcc/cp/ChangeLog | 65 + gcc/cp/call.cc | 107 +- gcc/cp/class.cc | 28 +- gcc/cp/constexpr.cc | 63 +- gcc/cp/decl.cc | 1 + gcc/cp/name-lookup.cc | 77 +- gcc/cp/name-lookup.h | 12 +- gcc/cp/parser.cc | 11 +- gcc/cp/semantics.cc | 1 + gcc/doc/generic.texi | 9 + gcc/doc/install.texi | 56 +- gcc/doc/invoke.texi | 34 +- gcc/doc/libgcc.texi | 83 + gcc/doc/md.texi | 11 + gcc/doc/tm.texi | 15 + gcc/doc/tm.texi.in | 2 + gcc/dwarf2out.cc | 43 +- gcc/expr.cc | 62 +- gcc/fold-const.cc | 75 +- gcc/gimple-expr.cc | 9 + gcc/gimple-fold.cc | 84 +- gcc/gimple-lower-bitint.cc | 6077 ++++++++++++++++++++ gcc/gimple-lower-bitint.h | 31 + gcc/glimits.h | 5 + gcc/go/gofrontend/MERGE | 2 +- gcc/godump.cc | 19 + gcc/internal-fn.cc | 145 +- gcc/internal-fn.def | 6 + gcc/internal-fn.h | 4 + gcc/lra-eliminations.cc | 2 +- gcc/match.pd | 48 +- gcc/passes.def | 3 + gcc/pretty-print.h | 19 +- gcc/stor-layout.cc | 88 + gcc/target.def | 19 + gcc/target.h | 14 + gcc/targhooks.cc | 8 + gcc/targhooks.h | 1 + gcc/testsuite/ChangeLog | 436 ++ .../analyzer/null-terminated-strings-2.c | 17 + .../c-c++-common/analyzer/overlapping-buffers.c | 24 +- gcc/testsuite/c-c++-common/analyzer/strncpy-1.c | 157 + gcc/testsuite/c-c++-common/analyzer/strstr-1.c | 54 + gcc/testsuite/c-c++-common/gomp/allocate-13.c | 28 + gcc/testsuite/g++.dg/abi/no_unique_address8.C | 30 + gcc/testsuite/g++.dg/abi/no_unique_address8a.C | 31 + gcc/testsuite/g++.dg/diagnostic/constexpr3.C | 33 + gcc/testsuite/g++.dg/diagnostic/redeclaration-1.C | 2 +- gcc/testsuite/g++.dg/diagnostic/redeclaration-3.C | 225 + gcc/testsuite/g++.dg/diagnostic/redeclaration-4.C | 167 + gcc/testsuite/g++.dg/diagnostic/redeclaration-5.C | 167 + gcc/testsuite/g++.dg/ext/bitint1.C | 9 + gcc/testsuite/g++.dg/ext/bitint2.C | 10 + gcc/testsuite/g++.dg/ext/bitint3.C | 8 + gcc/testsuite/g++.dg/ext/bitint4.C | 9 + gcc/testsuite/g++.dg/parse/pr31952-1.C | 2 +- gcc/testsuite/g++.dg/parse/pr31952-3.C | 2 +- gcc/testsuite/g++.dg/warn/Wshadow-19.C | 27 + .../g++.target/loongarch/bstrins-compile.C | 22 + gcc/testsuite/g++.target/loongarch/bstrins-run.C | 65 + gcc/testsuite/g++.target/riscv/rvv/base/pr111296.C | 18 + .../gcc.dg/analyzer/null-terminated-strings-1.c | 24 + gcc/testsuite/gcc.dg/atomic/stdatomic-bitint-1.c | 442 ++ gcc/testsuite/gcc.dg/atomic/stdatomic-bitint-2.c | 450 ++ gcc/testsuite/gcc.dg/bitint-1.c | 26 + gcc/testsuite/gcc.dg/bitint-10.c | 15 + gcc/testsuite/gcc.dg/bitint-11.c | 9 + gcc/testsuite/gcc.dg/bitint-12.c | 31 + gcc/testsuite/gcc.dg/bitint-13.c | 17 + gcc/testsuite/gcc.dg/bitint-14.c | 11 + gcc/testsuite/gcc.dg/bitint-15.c | 10 + gcc/testsuite/gcc.dg/bitint-16.c | 31 + gcc/testsuite/gcc.dg/bitint-17.c | 47 + gcc/testsuite/gcc.dg/bitint-18.c | 44 + gcc/testsuite/gcc.dg/bitint-19.c | 16 + gcc/testsuite/gcc.dg/bitint-2.c | 122 + gcc/testsuite/gcc.dg/bitint-20.c | 16 + gcc/testsuite/gcc.dg/bitint-21.c | 11 + gcc/testsuite/gcc.dg/bitint-22.c | 18 + gcc/testsuite/gcc.dg/bitint-23.c | 18 + gcc/testsuite/gcc.dg/bitint-24.c | 18 + gcc/testsuite/gcc.dg/bitint-25.c | 18 + gcc/testsuite/gcc.dg/bitint-26.c | 18 + gcc/testsuite/gcc.dg/bitint-27.c | 18 + gcc/testsuite/gcc.dg/bitint-28.c | 401 ++ gcc/testsuite/gcc.dg/bitint-29.c | 351 ++ gcc/testsuite/gcc.dg/bitint-3.c | 40 + gcc/testsuite/gcc.dg/bitint-30.c | 470 ++ gcc/testsuite/gcc.dg/bitint-31.c | 480 ++ gcc/testsuite/gcc.dg/bitint-32.c | 14 + gcc/testsuite/gcc.dg/bitint-33.c | 9 + gcc/testsuite/gcc.dg/bitint-34.c | 16 + gcc/testsuite/gcc.dg/bitint-35.c | 37 + gcc/testsuite/gcc.dg/bitint-36.c | 39 + gcc/testsuite/gcc.dg/bitint-4.c | 39 + gcc/testsuite/gcc.dg/bitint-5.c | 63 + gcc/testsuite/gcc.dg/bitint-6.c | 15 + gcc/testsuite/gcc.dg/bitint-7.c | 16 + gcc/testsuite/gcc.dg/bitint-8.c | 34 + gcc/testsuite/gcc.dg/bitint-9.c | 52 + gcc/testsuite/gcc.dg/c11-floatn-1.c | 21 + gcc/testsuite/gcc.dg/c11-floatn-2.c | 9 + gcc/testsuite/gcc.dg/c11-floatn-3.c | 9 + gcc/testsuite/gcc.dg/c11-floatn-4.c | 9 + gcc/testsuite/gcc.dg/c11-floatn-5.c | 21 + gcc/testsuite/gcc.dg/c11-floatn-6.c | 9 + gcc/testsuite/gcc.dg/c11-floatn-7.c | 9 + gcc/testsuite/gcc.dg/c11-floatn-8.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-1.c | 21 + gcc/testsuite/gcc.dg/c2x-floatn-2.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-3.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-4.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-5.c | 21 + gcc/testsuite/gcc.dg/c2x-floatn-6.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-7.c | 9 + gcc/testsuite/gcc.dg/c2x-floatn-8.c | 9 + gcc/testsuite/gcc.dg/dfp/bitint-1.c | 106 + gcc/testsuite/gcc.dg/dfp/bitint-2.c | 102 + gcc/testsuite/gcc.dg/dfp/bitint-3.c | 107 + gcc/testsuite/gcc.dg/dfp/bitint-4.c | 156 + gcc/testsuite/gcc.dg/dfp/bitint-5.c | 159 + gcc/testsuite/gcc.dg/dfp/bitint-6.c | 156 + gcc/testsuite/gcc.dg/dfp/bitint-7.c | 110 + gcc/testsuite/gcc.dg/dfp/bitint-8.c | 182 + gcc/testsuite/gcc.dg/fixed-point/bitint-1.c | 10 + .../gcc.dg/plugin/analyzer_cpython_plugin.c | 2 +- gcc/testsuite/gcc.dg/torture/bitint-1.c | 114 + gcc/testsuite/gcc.dg/torture/bitint-10.c | 38 + gcc/testsuite/gcc.dg/torture/bitint-11.c | 77 + gcc/testsuite/gcc.dg/torture/bitint-12.c | 128 + gcc/testsuite/gcc.dg/torture/bitint-13.c | 171 + gcc/testsuite/gcc.dg/torture/bitint-14.c | 140 + gcc/testsuite/gcc.dg/torture/bitint-15.c | 264 + gcc/testsuite/gcc.dg/torture/bitint-16.c | 385 ++ gcc/testsuite/gcc.dg/torture/bitint-17.c | 82 + gcc/testsuite/gcc.dg/torture/bitint-18.c | 117 + gcc/testsuite/gcc.dg/torture/bitint-19.c | 190 + gcc/testsuite/gcc.dg/torture/bitint-2.c | 118 + gcc/testsuite/gcc.dg/torture/bitint-20.c | 190 + gcc/testsuite/gcc.dg/torture/bitint-21.c | 282 + gcc/testsuite/gcc.dg/torture/bitint-22.c | 284 + gcc/testsuite/gcc.dg/torture/bitint-23.c | 804 +++ gcc/testsuite/gcc.dg/torture/bitint-24.c | 804 +++ gcc/testsuite/gcc.dg/torture/bitint-25.c | 91 + gcc/testsuite/gcc.dg/torture/bitint-26.c | 66 + gcc/testsuite/gcc.dg/torture/bitint-27.c | 373 ++ gcc/testsuite/gcc.dg/torture/bitint-28.c | 20 + gcc/testsuite/gcc.dg/torture/bitint-29.c | 24 + gcc/testsuite/gcc.dg/torture/bitint-3.c | 134 + gcc/testsuite/gcc.dg/torture/bitint-30.c | 19 + gcc/testsuite/gcc.dg/torture/bitint-31.c | 23 + gcc/testsuite/gcc.dg/torture/bitint-32.c | 24 + gcc/testsuite/gcc.dg/torture/bitint-33.c | 24 + gcc/testsuite/gcc.dg/torture/bitint-34.c | 24 + gcc/testsuite/gcc.dg/torture/bitint-35.c | 23 + gcc/testsuite/gcc.dg/torture/bitint-36.c | 23 + gcc/testsuite/gcc.dg/torture/bitint-37.c | 23 + gcc/testsuite/gcc.dg/torture/bitint-38.c | 56 + gcc/testsuite/gcc.dg/torture/bitint-39.c | 57 + gcc/testsuite/gcc.dg/torture/bitint-4.c | 134 + gcc/testsuite/gcc.dg/torture/bitint-40.c | 40 + gcc/testsuite/gcc.dg/torture/bitint-41.c | 34 + gcc/testsuite/gcc.dg/torture/bitint-42.c | 184 + gcc/testsuite/gcc.dg/torture/bitint-5.c | 359 ++ gcc/testsuite/gcc.dg/torture/bitint-6.c | 359 ++ gcc/testsuite/gcc.dg/torture/bitint-7.c | 386 ++ gcc/testsuite/gcc.dg/torture/bitint-8.c | 391 ++ gcc/testsuite/gcc.dg/torture/bitint-9.c | 391 ++ gcc/testsuite/gcc.dg/tree-ssa/andor-6.c | 19 + gcc/testsuite/gcc.dg/tree-ssa/andor-7.c | 16 + gcc/testsuite/gcc.dg/tree-ssa/andor-8.c | 19 + gcc/testsuite/gcc.dg/tree-ssa/andor-bool-1.c | 13 + gcc/testsuite/gcc.dg/tree-ssa/minmax-24.c | 31 + gcc/testsuite/gcc.dg/tree-ssa/neg-cast-2.c | 20 + gcc/testsuite/gcc.dg/tree-ssa/neg-cast-3.c | 15 + gcc/testsuite/gcc.dg/tree-ssa/pr105832-1.c | 25 + gcc/testsuite/gcc.dg/tree-ssa/pr105832-2.c | 30 + gcc/testsuite/gcc.dg/tree-ssa/pr105832-3.c | 46 + gcc/testsuite/gcc.dg/ubsan/bitint-1.c | 49 + gcc/testsuite/gcc.dg/ubsan/bitint-2.c | 49 + gcc/testsuite/gcc.dg/ubsan/bitint-3.c | 45 + gcc/testsuite/gcc.dg/vect/bb-slp-44.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-71.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-72.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-73.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-74.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr101207.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr101615-1.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr101615-2.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr101668.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr54400.c | 1 - gcc/testsuite/gcc.dg/vect/bb-slp-pr98516-1.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-pr98516-2.c | 2 - gcc/testsuite/gcc.dg/vect/bb-slp-pr98544.c | 2 - gcc/testsuite/gcc.dg/vect/pr101445.c | 2 - gcc/testsuite/gcc.dg/vect/pr105219.c | 1 - gcc/testsuite/gcc.dg/vect/pr107160.c | 2 - gcc/testsuite/gcc.dg/vect/pr107212-1.c | 2 - gcc/testsuite/gcc.dg/vect/pr107212-2.c | 2 - gcc/testsuite/gcc.dg/vect/pr109502.c | 1 - gcc/testsuite/gcc.dg/vect/pr110381.c | 1 - gcc/testsuite/gcc.dg/vect/pr110838.c | 2 - gcc/testsuite/gcc.dg/vect/pr88497-1.c | 1 - gcc/testsuite/gcc.dg/vect/pr88497-7.c | 1 - gcc/testsuite/gcc.dg/vect/pr96783-1.c | 2 - gcc/testsuite/gcc.dg/vect/pr96783-2.c | 2 - gcc/testsuite/gcc.dg/vect/pr97558-2.c | 1 - gcc/testsuite/gcc.dg/vect/pr99253.c | 2 - gcc/testsuite/gcc.dg/vect/slp-mask-store-1.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-10.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-11.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-2.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-3.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-4.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-5.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-6.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-8.c | 1 - gcc/testsuite/gcc.dg/vect/vect-bic-bitmask-9.c | 1 - gcc/testsuite/gcc.dg/vect/vect-cond-13.c | 2 - gcc/testsuite/gcc.dg/vect/vect-recurr-1.c | 1 - gcc/testsuite/gcc.dg/vect/vect-recurr-2.c | 1 - gcc/testsuite/gcc.dg/vect/vect-recurr-3.c | 1 - gcc/testsuite/gcc.dg/vect/vect-recurr-4.c | 1 - gcc/testsuite/gcc.dg/vect/vect-recurr-5.c | 1 - gcc/testsuite/gcc.dg/vect/vect-recurr-6.c | 1 - gcc/testsuite/gcc.misc-tests/godump-1.c | 11 + .../gcc.target/i386/avx512fp16-vmovsh-1a.c | 2 +- .../riscv/rvv/autovec/cond/cond_sqrt-1.c | 24 + .../riscv/rvv/autovec/cond/cond_sqrt-2.c | 24 + .../riscv/rvv/autovec/cond/cond_sqrt_run-1.c | 29 + .../riscv/rvv/autovec/cond/cond_sqrt_run-2.c | 29 + .../gcc.target/riscv/rvv/autovec/partial/slp-9.c | 2 +- .../gcc.target/riscv/rvv/autovec/pr111232.c | 18 + .../gcc.target/riscv/rvv/autovec/pr111295.c | 36 + .../gcc.target/riscv/rvv/autovec/pr111313.c | 20 + .../gcc.target/riscv/rvv/autovec/vls/def.h | 8 + .../riscv/rvv/autovec/vls/floating-point-sgnj-1.c | 43 + .../riscv/rvv/autovec/vls/floating-point-sgnj-2.c | 43 + .../gcc.target/riscv/rvv/autovec/widen/widen-4.c | 7 +- .../riscv/rvv/autovec/widen/widen-complicate-4.c | 11 +- .../riscv/rvv/autovec/zve32f_zvl1024b-1.c | 2 +- .../riscv/rvv/autovec/zve32f_zvl128b-1.c | 2 +- .../riscv/rvv/autovec/zve32f_zvl2048b-1.c | 2 +- .../riscv/rvv/autovec/zve32f_zvl256b-1.c | 2 +- .../riscv/rvv/autovec/zve32f_zvl4096b-1.c | 2 +- .../riscv/rvv/autovec/zve32f_zvl512b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl1024b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl128b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl2048b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl256b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl4096b-1.c | 2 +- .../riscv/rvv/autovec/zve32x_zvl512b-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/zve64d-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/zve64f-1.c | 2 +- .../gcc.target/riscv/rvv/autovec/zve64x-1.c | 2 +- .../riscv/rvv/base/abi-call-args-1-run.c | 127 + .../gcc.target/riscv/rvv/base/abi-call-args-1.c | 197 + .../riscv/rvv/base/abi-call-args-2-run.c | 34 + .../gcc.target/riscv/rvv/base/abi-call-args-2.c | 27 + .../riscv/rvv/base/abi-call-args-3-run.c | 260 + .../gcc.target/riscv/rvv/base/abi-call-args-3.c | 116 + .../riscv/rvv/base/abi-call-args-4-run.c | 145 + .../gcc.target/riscv/rvv/base/abi-call-args-4.c | 111 + .../gcc.target/riscv/rvv/base/abi-call-error-1.c | 11 + .../riscv/rvv/base/abi-call-return-run.c | 127 + .../gcc.target/riscv/rvv/base/abi-call-return.c | 197 + .../riscv/rvv/base/abi-call-variant_cc.c | 39 + .../riscv/rvv/base/abi-callee-saved-1-fixed-1.c | 86 + .../riscv/rvv/base/abi-callee-saved-1-fixed-2.c | 86 + .../rvv/base/abi-callee-saved-1-save-restore.c | 85 + .../riscv/rvv/base/abi-callee-saved-1-zcmp.c | 85 + .../gcc.target/riscv/rvv/base/abi-callee-saved-1.c | 88 + .../rvv/base/abi-callee-saved-2-save-restore.c | 108 + .../riscv/rvv/base/abi-callee-saved-2-zcmp.c | 107 + .../gcc.target/riscv/rvv/base/abi-callee-saved-2.c | 117 + .../riscv/rvv/{ => base}/intrisinc-vrgatherei16.c | 0 .../gcc.target/riscv/rvv/vsetvl/avl_single-13.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-17.c | 8 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-18.c | 8 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-19.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_bb_prop-20.c | 4 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-1.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-10.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-11.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-12.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-13.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-14.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-15.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-16.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-17.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-18.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-19.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-2.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-20.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-21.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-22.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-23.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-24.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-25.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-26.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-27.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-28.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-3.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-4.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-5.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-6.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-7.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-8.c | 2 +- .../gcc.target/riscv/rvv/vsetvl/vlmax_phi-9.c | 2 +- .../riscv/rvv/vsetvl/vlmax_switch_vtype-2.c | 2 +- gcc/testsuite/gcc.target/riscv/xtheadbb-li-rotr.c | 88 + .../gcc.target/riscv/xtheadcondmov-mveqz-imm-eqz.c | 2 +- .../gcc.target/riscv/xtheadcondmov-mveqz-imm-not.c | 2 +- .../gcc.target/riscv/xtheadcondmov-mveqz-reg-eqz.c | 2 +- .../gcc.target/riscv/xtheadcondmov-mveqz-reg-not.c | 2 +- .../riscv/xtheadcondmov-mvnez-imm-cond.c | 2 +- .../gcc.target/riscv/xtheadcondmov-mvnez-imm-nez.c | 2 +- .../riscv/xtheadcondmov-mvnez-reg-cond.c | 2 +- .../gcc.target/riscv/xtheadcondmov-mvnez-reg-nez.c | 2 +- .../xventanacondops-primitiveSemantics-rv32.c | 8 + .../riscv/xventanacondops-primitiveSemantics.c | 10 + .../gcc.target/riscv/xventanacondops-xor-01.c | 8 + gcc/testsuite/gcc.target/riscv/zbb-li-rotr.c | 57 +- gcc/testsuite/gcc.target/riscv/zicond-ice-2.c | 11 + gcc/testsuite/gnat.dg/unroll3.adb | 2 +- gcc/testsuite/lib/target-supports.exp | 27 + gcc/tree-pass.h | 3 + gcc/tree-pretty-print.cc | 23 +- gcc/tree-ssa-coalesce.cc | 148 +- gcc/tree-ssa-live.cc | 8 +- gcc/tree-ssa-live.h | 8 +- gcc/tree-ssa-sccvn.cc | 11 +- gcc/tree-ssa-tail-merge.cc | 2 +- gcc/tree-switch-conversion.cc | 71 +- gcc/tree.cc | 71 +- gcc/tree.def | 9 +- gcc/tree.h | 94 +- gcc/typeclass.h | 3 +- gcc/ubsan.cc | 89 +- gcc/ubsan.h | 3 +- gcc/varasm.cc | 55 + gcc/vr-values.cc | 27 +- libcpp/ChangeLog | 12 + libcpp/expr.cc | 52 +- libcpp/include/cpplib.h | 1 + libgcc/ChangeLog | 70 + libgcc/Makefile.in | 5 +- libgcc/config.host | 9 +- libgcc/config/aarch64/t-softfp | 2 +- libgcc/config/i386/64/t-softfp | 2 +- libgcc/config/i386/libgcc-glibc.ver | 10 + libgcc/config/i386/t-softfp | 5 +- libgcc/config/riscv/t-softfp32 | 6 +- libgcc/config/rs6000/t-e500v1-fp | 2 +- libgcc/config/rs6000/t-e500v2-fp | 2 +- libgcc/config/t-softfp | 12 + libgcc/config/t-softfp-sfdftf | 1 + libgcc/config/t-softfp-tf | 1 + libgcc/libgcc-std.ver.in | 10 + libgcc/libgcc2.c | 683 +++ libgcc/libgcc2.h | 15 + libgcc/soft-fp/bitint.h | 355 ++ libgcc/soft-fp/bitintpow10.c | 132 + libgcc/soft-fp/bitintpow10.h | 4947 ++++++++++++++++ libgcc/soft-fp/fixddbitint.c | 205 + libgcc/soft-fp/fixdfbitint.c | 71 + libgcc/soft-fp/fixsdbitint.c | 196 + libgcc/soft-fp/fixsfbitint.c | 71 + libgcc/soft-fp/fixtdbitint.c | 242 + libgcc/soft-fp/fixtfbitint.c | 81 + libgcc/soft-fp/fixxfbitint.c | 82 + libgcc/soft-fp/floatbitintbf.c | 59 + libgcc/soft-fp/floatbitintdd.c | 264 + libgcc/soft-fp/floatbitintdf.c | 64 + libgcc/soft-fp/floatbitinthf.c | 59 + libgcc/soft-fp/floatbitintsd.c | 235 + libgcc/soft-fp/floatbitintsf.c | 59 + libgcc/soft-fp/floatbitinttd.c | 271 + libgcc/soft-fp/floatbitinttf.c | 73 + libgcc/soft-fp/floatbitintxf.c | 74 + libgcc/soft-fp/op-common.h | 31 +- libgo/go/cmd/go/internal/work/gccgo.go | 8 +- libgomp/ChangeLog | 5 + libstdc++-v3/ChangeLog | 77 + libstdc++-v3/acinclude.m4 | 2 +- libstdc++-v3/configure | 2 +- libstdc++-v3/include/bits/iterator_concepts.h | 53 +- libstdc++-v3/include/bits/ranges_base.h | 114 +- libstdc++-v3/include/bits/version.def | 2 +- libstdc++-v3/include/bits/version.h | 4 +- libstdc++-v3/include/std/concepts | 13 +- libstdc++-v3/include/std/ranges | 72 +- libstdc++-v3/libsupc++/compare | 37 +- .../23_containers/unordered_map/operations/1.cc | 1 + .../unordered_multimap/operations/1.cc | 1 + .../unordered_multiset/operations/1.cc | 1 + .../23_containers/unordered_set/operations/1.cc | 1 + libstdc++-v3/testsuite/std/ranges/access/cbegin.cc | 13 + libstdc++-v3/testsuite/std/ranges/access/cdata.cc | 38 +- libstdc++-v3/testsuite/std/ranges/access/cend.cc | 29 +- .../testsuite/std/ranges/access/crbegin.cc | 40 +- libstdc++-v3/testsuite/std/ranges/access/crend.cc | 33 +- libstdc++-v3/testsuite/std/ranges/access/p2602.cc | 31 + .../std/ranges/adaptors/adjacent_transform/1.cc | 14 + libstdc++-v3/testsuite/std/ranges/adaptors/take.cc | 2 + .../testsuite/std/ranges/adaptors/take_while.cc | 2 + .../testsuite/std/ranges/adaptors/transform.cc | 23 + libstdc++-v3/testsuite/std/ranges/repeat/1.cc | 12 + libstdc++-v3/testsuite/std/ranges/single_view.cc | 17 + libstdc++-v3/testsuite/std/ranges/version_c++23.cc | 2 +- .../testsuite/std/ranges/zip_transform/1.cc | 14 + libstdc++-v3/testsuite/std/time/parse.cc | 2 +- libstdc++-v3/testsuite/util/testsuite_iterators.h | 2 +- 554 files changed, 68752 insertions(+), 2343 deletions(-)