This is an automated email from the git hooks/post-receive script.
tcwg-buildslave pushed a change to branch linaro-local/ci/tcwg_cross/gnu-master-arm-build_cross in repository toolchain/ci/gcc.
from 87a0b607e40 tree-optimization/101756 - avoid vectorizing boolean MAX re [...] adds 2724d1bba6b Rewrite more vector loads to scalar loads adds 240b01b0215 libstdc++: Add [[nodiscard]] to iterators and related utilities adds 0d04fe49239 libstdc++: Add [[nodiscard]] to sequence containers adds 96146e61cd7 Fold (X<<C1)^(X<<C2) to a multiplication when possible. adds f2e5d2717d9 by_pieces: Pass MAX_PIECES to op_by_pieces_d adds 31855ba6b16 Add emulated gather capability to the vectorizer adds 9fcb8ec6030 [testsuite] Fix trapping access in test PR101750 adds 96c82a16b20 Fix debug info for ignored decls at start of assembly adds 929f2cf4105 gcov: check return code of a fclose adds eb55b5b0df2 aarch64: Fix a typo adds 315a1c3756c vect: Tweak dump messages for vector mode choice adds 5a1017dc305 vect: Tweak comparisons with existing epilogue loops adds 1d65c9d2519 aarch64: Don't include vec_select element in SIMD multiply cost adds 63834c84d43 aarch64: Don't include vec_select high-half in SIMD multiply cost adds 5391688acc9 IBM Z: Get rid of vec merge unspec adds 0aa7091befa IBM Z: Get rid of vpdi unspec adds 4e34925ef1a IBM Z: Remove redundant V_HW_64 mode iterator. adds 6dc8c465644 IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vector merge adds 361da782a25 IBM Z: Implement TARGET_VECTORIZE_VEC_PERM_CONST for vpdi adds 09dba016db9 x86: Avoid stack realignment when copying data with SSE register adds 5738a64f8b3 x86: Update STORE_MAX_PIECES new ded2c2c068f analyzer: initial implementation of asm support [PR101570]
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: gcc/Makefile.in | 1 + gcc/analyzer/analyzer.cc | 1 + gcc/analyzer/analyzer.h | 2 + gcc/analyzer/complexity.cc | 16 ++ gcc/analyzer/complexity.h | 1 + gcc/analyzer/engine.cc | 2 + gcc/analyzer/region-model-asm.cc | 303 +++++++++++++++++++ gcc/analyzer/region-model-manager.cc | 48 ++++ gcc/analyzer/region-model.cc | 5 +- gcc/analyzer/region-model.h | 13 + gcc/analyzer/store.cc | 17 ++ gcc/analyzer/store.h | 1 + gcc/analyzer/svalue.cc | 89 ++++++ gcc/analyzer/svalue.h | 145 +++++++++- gcc/config/aarch64/aarch64.c | 58 +++- gcc/config/i386/i386-expand.c | 6 +- gcc/config/i386/i386.h | 26 +- gcc/config/s390/s390-modes.def | 11 +- gcc/config/s390/s390-protos.h | 2 + gcc/config/s390/s390.c | 188 ++++++++++++ gcc/config/s390/s390.md | 3 - gcc/config/s390/vector.md | 242 +++++++++++++--- gcc/config/s390/vx-builtins.md | 75 +++-- gcc/dwarf2out.c | 11 + gcc/expr.c | 26 +- gcc/gcov-io.c | 4 +- gcc/match.pd | 56 ++++ gcc/rtlanal.c | 19 ++ gcc/rtlanal.h | 4 + gcc/testsuite/g++.dg/vect/pr99149.cc | 2 +- gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c | 69 +++++ gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c | 131 +++++++++ gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c | 34 +++ gcc/testsuite/gcc.dg/analyzer/pr101570.c | 5 + .../asm-x86-linux-array_index_mask_nospec.c | 74 +++++ .../torture/asm-x86-linux-cpuid-paravirt-1.c | 81 ++++++ .../torture/asm-x86-linux-cpuid-paravirt-2.c | 135 +++++++++ .../gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c | 46 +++ .../torture/asm-x86-linux-rdmsr-paravirt.c | 210 ++++++++++++++ .../gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c | 33 +++ .../asm-x86-linux-wfx_get_ps_timeout-full.c | 319 +++++++++++++++++++++ .../asm-x86-linux-wfx_get_ps_timeout-reduced.c | 77 +++++ gcc/testsuite/gcc.dg/fold-ior-4.c | 61 ++++ .../gcc.target/aarch64/sve/cost_model_12.c | 19 ++ .../gcc.target/aarch64/vmul_element_cost.c | 94 ++++++ gcc/testsuite/gcc.target/aarch64/vmul_high_cost.c | 85 ++++++ gcc/testsuite/gcc.target/i386/eh_return-2.c | 16 ++ gcc/testsuite/gcc.target/i386/pr101742a.c | 16 ++ gcc/testsuite/gcc.target/i386/pr101742b.c | 4 + gcc/testsuite/gcc.target/i386/vect-gather-1.c | 20 ++ .../vector/long-double-asm-in-out-hard-fp-reg.c | 8 +- .../vector/long-double-asm-inout-hard-fp-reg.c | 6 +- gcc/testsuite/gcc.target/s390/vector/perm-merge.c | 104 +++++++ gcc/testsuite/gcc.target/s390/vector/perm-vpdi.c | 49 ++++ gcc/testsuite/gcc.target/s390/vector/vec-types.h | 35 +++ gcc/testsuite/gcc.target/s390/zvector/vec-permi.c | 54 ---- gcc/testsuite/gcc.target/s390/zvector/vec-types.h | 37 +++ gcc/testsuite/gcc.target/s390/zvector/vec_merge.c | 88 ++++++ gcc/testsuite/gcc.target/s390/zvector/vec_permi.c | 66 +++++ gcc/testsuite/gfortran.dg/vect/vect-8.f90 | 2 +- gcc/tree-ssa-forwprop.c | 244 ++++++++++++---- gcc/tree-vect-data-refs.c | 31 +- gcc/tree-vect-loop.c | 21 +- gcc/tree-vect-patterns.c | 2 +- gcc/tree-vect-stmts.c | 100 ++++++- libstdc++-v3/include/bits/forward_list.h | 30 +- libstdc++-v3/include/bits/iterator_concepts.h | 1 + libstdc++-v3/include/bits/range_access.h | 26 ++ libstdc++-v3/include/bits/ranges_base.h | 22 ++ libstdc++-v3/include/bits/stl_bvector.h | 41 +++ libstdc++-v3/include/bits/stl_deque.h | 49 ++++ libstdc++-v3/include/bits/stl_iterator.h | 121 ++++++-- .../include/bits/stl_iterator_base_funcs.h | 3 + libstdc++-v3/include/bits/stl_list.h | 33 +++ libstdc++-v3/include/bits/stl_queue.h | 17 ++ libstdc++-v3/include/bits/stl_stack.h | 10 + libstdc++-v3/include/bits/stl_vector.h | 23 ++ libstdc++-v3/include/bits/stream_iterator.h | 8 + libstdc++-v3/include/bits/streambuf_iterator.h | 9 + libstdc++-v3/include/debug/deque | 18 ++ libstdc++-v3/include/debug/forward_list | 11 + libstdc++-v3/include/debug/list | 16 ++ libstdc++-v3/include/debug/safe_iterator.h | 22 ++ libstdc++-v3/include/debug/vector | 19 ++ libstdc++-v3/include/std/array | 38 ++- libstdc++-v3/include/std/ranges | 17 ++ libstdc++-v3/testsuite/20_util/rel_ops.cc | 2 + .../21_strings/basic_string/range_access/char/1.cc | 4 +- .../basic_string/range_access/wchar_t/1.cc | 4 +- .../basic_string_view/range_access/char/1.cc | 8 +- .../basic_string_view/range_access/wchar_t/1.cc | 8 +- .../23_containers/array/creation/3_neg.cc | 2 +- .../23_containers/array/debug/back1_neg.cc | 2 +- .../23_containers/array/debug/back2_neg.cc | 2 +- .../23_containers/array/debug/front1_neg.cc | 2 +- .../23_containers/array/debug/front2_neg.cc | 2 +- .../array/debug/square_brackets_operator1_neg.cc | 2 +- .../array/debug/square_brackets_operator2_neg.cc | 2 +- .../testsuite/23_containers/array/range_access.cc | 4 +- .../23_containers/array/tuple_interface/get_neg.cc | 6 +- .../23_containers/deque/cons/clear_allocator.cc | 24 +- .../23_containers/deque/debug/invalidation/4.cc | 2 +- .../testsuite/23_containers/deque/range_access.cc | 4 +- .../testsuite/23_containers/deque/types/1.cc | 1 + .../23_containers/forward_list/range_access.cc | 4 +- .../testsuite/23_containers/list/range_access.cc | 4 +- .../testsuite/23_containers/list/types/1.cc | 2 +- .../testsuite/23_containers/map/range_access.cc | 4 +- .../23_containers/multimap/range_access.cc | 4 +- .../23_containers/multiset/range_access.cc | 4 +- .../23_containers/priority_queue/members/7161.cc | 2 +- .../testsuite/23_containers/queue/members/7157.cc | 2 +- .../testsuite/23_containers/set/range_access.cc | 4 +- .../23_containers/unordered_map/range_access.cc | 4 +- .../unordered_multimap/range_access.cc | 4 +- .../unordered_multiset/range_access.cc | 4 +- .../23_containers/unordered_set/range_access.cc | 4 +- .../testsuite/23_containers/vector/59829.cc | 2 +- .../23_containers/vector/ext_pointer/types/1.cc | 8 +- .../23_containers/vector/ext_pointer/types/2.cc | 8 +- .../testsuite/23_containers/vector/range_access.cc | 8 +- .../testsuite/23_containers/vector/types/1.cc | 1 + .../24_iterators/customization_points/iter_move.cc | 2 +- .../24_iterators/istream_iterator/sentinel.cc | 6 +- .../24_iterators/istreambuf_iterator/sentinel.cc | 2 +- .../testsuite/24_iterators/move_iterator/dr2061.cc | 4 +- .../24_iterators/move_iterator/greedy_ops.cc | 2 + .../24_iterators/normal_iterator/greedy_ops.cc | 8 +- .../testsuite/24_iterators/operations/prev_neg.cc | 2 +- .../24_iterators/ostreambuf_iterator/2.cc | 6 +- .../24_iterators/range_access/range_access.cc | 4 +- .../24_iterators/range_operations/100768.cc | 22 +- .../testsuite/24_iterators/reverse_iterator/2.cc | 2 + .../24_iterators/reverse_iterator/greedy_ops.cc | 2 + .../26_numerics/valarray/range_access2.cc | 8 +- libstdc++-v3/testsuite/28_regex/range_access.cc | 4 +- .../string_view/range_access/char/1.cc | 4 +- .../string_view/range_access/wchar_t/1.cc | 4 +- libstdc++-v3/testsuite/ext/vstring/range_access.cc | 8 +- libstdc++-v3/testsuite/std/ranges/adaptors/take.cc | 2 +- libstdc++-v3/testsuite/std/ranges/p2259.cc | 4 +- 141 files changed, 4132 insertions(+), 405 deletions(-) create mode 100644 gcc/analyzer/region-model-asm.cc create mode 100644 gcc/testsuite/gcc.dg/analyzer/asm-x86-1.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-1.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/asm-x86-lp64-2.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/pr101570.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-array_index [...] create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-1.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid-paravirt-2.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-cpuid.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr-paravirt.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-rdmsr.c create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_ [...] create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/asm-x86-linux-wfx_get_ps_ [...] create mode 100644 gcc/testsuite/gcc.dg/fold-ior-4.c create mode 100644 gcc/testsuite/gcc.target/aarch64/sve/cost_model_12.c create mode 100644 gcc/testsuite/gcc.target/aarch64/vmul_element_cost.c create mode 100644 gcc/testsuite/gcc.target/aarch64/vmul_high_cost.c create mode 100644 gcc/testsuite/gcc.target/i386/eh_return-2.c create mode 100644 gcc/testsuite/gcc.target/i386/pr101742a.c create mode 100644 gcc/testsuite/gcc.target/i386/pr101742b.c create mode 100644 gcc/testsuite/gcc.target/i386/vect-gather-1.c create mode 100644 gcc/testsuite/gcc.target/s390/vector/perm-merge.c create mode 100644 gcc/testsuite/gcc.target/s390/vector/perm-vpdi.c create mode 100644 gcc/testsuite/gcc.target/s390/vector/vec-types.h delete mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec-permi.c create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec-types.h create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec_merge.c create mode 100644 gcc/testsuite/gcc.target/s390/zvector/vec_permi.c