https://gcc.gnu.org/g:b84ce6a258e01f6559a1855b5f1d1ba4e69a927b
commit b84ce6a258e01f6559a1855b5f1d1ba4e69a927b Merge: 3f6cf880bdad 2a9fbe192077 Author: Jakub Jelinek <ja...@redhat.com> Date: Mon Nov 4 15:48:41 2024 +0100 Merge commit 'r14-10877-g2a9fbe1920779b65eb817db7ce0c60096b0cea9e' into redhat/gcc-14-branch Diff: gcc/ChangeLog | 187 ++++++++++ gcc/DATESTAMP | 2 +- gcc/Makefile.in | 1 + gcc/ada/ChangeLog | 7 + gcc/ada/checks.adb | 10 +- gcc/config/aarch64/aarch64-ldp-fusion.cc | 127 ++++++- gcc/config/aarch64/aarch64-sve-builtins-base.def | 13 +- gcc/config/aarch64/aarch64.cc | 7 + gcc/config/i386/cmpccxaddintrin.h | 6 +- gcc/config/i386/i386.cc | 13 +- gcc/config/i386/i386.h | 4 + gcc/config/i386/sse.md | 268 ++++++-------- gcc/config/rs6000/rs6000-logue.cc | 5 + gcc/config/rs6000/rs6000-p8swap.cc | 8 +- gcc/config/rs6000/rs6000.cc | 4 - gcc/config/rs6000/rs6000.h | 2 + gcc/cp/ChangeLog | 10 + gcc/expr.cc | 4 +- gcc/fortran/ChangeLog | 27 ++ gcc/fortran/decl.cc | 7 +- gcc/fortran/match.h | 2 +- gcc/fortran/primary.cc | 8 +- gcc/function.cc | 2 + gcc/gimple-range-fold.cc | 20 -- gcc/gimple-range-fold.h | 14 + gcc/gimple-range.cc | 188 ---------- gcc/gimple-range.h | 17 - gcc/range-op.cc | 13 + gcc/reorg.cc | 38 +- gcc/testsuite/ChangeLog | 224 ++++++++++++ gcc/testsuite/g++.dg/cpp23/attr-assume-opt.C | 37 +- gcc/testsuite/g++.dg/cpp23/pr117287-attr.C | 38 ++ gcc/testsuite/g++.dg/lto/pr107467_0.C | 52 +++ gcc/testsuite/g++.dg/torture/pr116783.C | 98 ++++++ .../g++.target/aarch64/sve/aarch64-ssve.exp | 6 + gcc/testsuite/gcc.c-torture/execute/20241029-1.c | 23 ++ gcc/testsuite/gcc.dg/bitint-113.c | 40 +++ .../gcc.target/aarch64/sve/acle/asm/trn1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/trn2q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/uzp2q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip1q_u8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_bf16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_f64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_s8.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u16.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u32.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u64.c | 1 + .../gcc.target/aarch64/sve/acle/asm/zip2q_u8.c | 1 + gcc/testsuite/gcc.target/arm/bti-1.c | 2 +- gcc/testsuite/gcc.target/arm/bti-2.c | 2 +- gcc/testsuite/gcc.target/arm/pac-1.c | 4 +- gcc/testsuite/gcc.target/arm/pac-10.c | 4 +- gcc/testsuite/gcc.target/arm/pac-11.c | 4 +- gcc/testsuite/gcc.target/arm/pac-15.c | 2 +- gcc/testsuite/gcc.target/arm/pac-2.c | 4 +- gcc/testsuite/gcc.target/arm/pac-3.c | 4 +- gcc/testsuite/gcc.target/arm/pac-4.c | 2 +- gcc/testsuite/gcc.target/arm/pac-6.c | 6 +- gcc/testsuite/gcc.target/arm/pac-7.c | 4 +- gcc/testsuite/gcc.target/arm/pac-8.c | 4 +- gcc/testsuite/gcc.target/arm/pac-9.c | 4 +- gcc/testsuite/gcc.target/arm/pac-sibcall.c | 2 +- gcc/testsuite/gcc.target/i386/apx-ppx-2.c | 14 + gcc/testsuite/gcc.target/i386/apx-ppx-3.c | 7 + gcc/testsuite/gcc.target/i386/cmpccxadd-1b.c | 15 + gcc/testsuite/gcc.target/i386/pr117296.c | 12 + gcc/testsuite/gcc.target/i386/pr117318.c | 12 + gcc/testsuite/gcc.target/powerpc/pr114759-1.c | 16 + gcc/testsuite/gcc.target/powerpc/pr116415.c | 42 +++ gcc/testsuite/gfortran.dg/use_rename_13.f90 | 37 ++ gcc/testsuite/gnat.dg/specs/array7.ads | 14 + .../jit.dg/test-error-pr63969-missing-driver.c | 2 +- gcc/toplev.cc | 1 + gcc/tree-assume.cc | 384 +++++++++++++++++++++ gcc/tree-vrp.cc | 68 ---- gcc/varasm.cc | 55 +++ gcc/varasm.h | 2 + libstdc++-v3/include/c_global/cmath | 36 +- .../testsuite/26_numerics/headers/cmath/117321.cc | 5 + .../testsuite/26_numerics/headers/cmath/117406.cc | 59 ++++ 141 files changed, 1860 insertions(+), 573 deletions(-)