+2021-01-27 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/97684
+ * ira.c (ira): Call ira_set_pseudo_classes before
+ update_equiv_regs when it is necessary.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/98853
+ * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
+ %w0, %w1 and %2 instead of %0, %1 and %2.
+
+2021-01-27 Aaron Sawdey <acsawdey@linux.ibm.com>
+
+ * config/rs6000/genfusion.pl: New script to generate
+ define_insn_and_split patterns so combine can arrange fused
+ instructions next to each other.
+ * config/rs6000/fusion.md: New file, generated fused instruction
+ patterns for combine.
+ * config/rs6000/predicates.md (const_m1_to_1_operand): New predicate.
+ (non_update_memory_operand): New predicate.
+ * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_P10_FUSION and
+ OPTION_MASK_P10_FUSION_LD_CMPI to ISA_3_1_MASKS_SERVER and
+ POWERPC_MASKS.
+ * config/rs6000/rs6000-protos.h (address_is_non_pfx_d_or_x): Add
+ prototype.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal):
+ Automatically set OPTION_MASK_P10_FUSION and
+ OPTION_MASK_P10_FUSION_LD_CMPI if target is power10.
+ (rs600_opt_masks): Allow -mpower10-fusion
+ in function attributes.
+ (address_is_non_pfx_d_or_x): New function.
+ * config/rs6000/rs6000.h: Add MASK_P10_FUSION.
+ * config/rs6000/rs6000.md: Include fusion.md.
+ * config/rs6000/rs6000.opt: Add -mpower10-fusion
+ and -mpower10-fusion-ld-cmpi.
+ * config/rs6000/t-rs6000: Add dependencies involving fusion.md.
+
+2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal
+ builtin generator macros.
+ * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal<mode>):
+ Rename to...
+ (aarch64_<su>mlal<mode>): This.
+ * config/aarch64/arm_neon.h (vmlal_s8): Use RTL builtin
+ instead of inline asm.
+ (vmlal_s16): Likewise.
+ (vmlal_s32): Likewise.
+ (vmlal_u8): Likewise.
+ (vmlal_u16): Likewise.
+ (vmlal_u32): Likewise.
+
+2021-01-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98854
+ * tree-vect-slp.c (vect_build_slp_tree_2): Also build
+ PHIs from scalars when the number of CTORs matches the
+ number of children.
+
+2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add mls_n builtin
+ generator macro.
+ * config/aarch64/aarch64-simd.md (*aarch64_mls_elt_merge<mode>):
+ Rename to...
+ (aarch64_mls_n<mode>): This.
+ * config/aarch64/arm_neon.h (vmls_n_s16): Use RTL builtin
+ instead of asm.
+ (vmls_n_s32): Likewise.
+ (vmls_n_u16): Likewise.
+ (vmls_n_u32): Likewise.
+ (vmlsq_n_s16): Likewise.
+ (vmlsq_n_s32): Likewise.
+ (vmlsq_n_u16): Likewise.
+ (vmlsq_n_u32): Likewise.
+
+2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add mls builtin
+ generator macro.
+ * config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather
+ than asm.
+ (vmls_s16): Likewise.
+ (vmls_s32): Likewise.
+ (vmls_u8): Likewise.
+ (vmls_u16): Likewise.
+ (vmls_u32): Likewise.
+ (vmlsq_s8): Likewise.
+ (vmlsq_s16): Likewise.
+ (vmlsq_s32): Likewise.
+ (vmlsq_u8): Likewise.
+ (vmlsq_u16): Likewise.
+ (vmlsq_u32): Likewise.
+
+2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
+
+ * config/aarch64/aarch64-simd-builtins.def: Add mla_n builtin
+ generator macro.
+ * config/aarch64/aarch64-simd.md (*aarch64_mla_elt_merge<mode>):
+ Rename to...
+ (aarch64_mla_n<mode>): This.
+ * config/aarch64/arm_neon.h (vmla_n_s16): Use RTL builtin
+ instead of asm.
+ (vmla_n_s32): Likewise.
+ (vmla_n_u16): Likewise.
+ (vmla_n_u32): Likewise.
+ (vmlaq_n_s16): Likewise.
+ (vmlaq_n_s32): Likewise.
+ (vmlaq_n_u16): Likewise.
+ (vmlaq_n_u32): Likewise.
+
+2021-01-27 liuhongt <hongtao.liu@intel.com>
+
+ PR target/98833
+ * config/i386/sse.md (sse2_gt<mode>3): Drop !TARGET_XOP in condition.
+ (*sse2_eq<mode>3): Ditto.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-pass.h (PROP_trees): Rename to ...
+ (PROP_gimple): ... this.
+ * cfgexpand.c (pass_data_expand): Replace PROP_trees with PROP_gimple.
+ * passes.c (execute_function_dump, execute_function_todo,
+ execute_one_ipa_transform_pass, execute_one_pass): Likewise.
+ * varpool.c (ctor_for_folding): Likewise.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/97260
+ * varpool.c: Include tree-pass.h.
+ (ctor_for_folding): In GENERIC return DECL_INITIAL for TREE_READONLY
+ non-TREE_SIDE_EFFECTS automatic variables.
+
2021-01-26 Paul Fee <paul.f.fee@gmail.com>
* doc/cpp.texi (__cplusplus): Document value for -std=c++23
+2021-01-27 Harris Snyder <hsnyder@structura.bio>
+
+ * gfortran.dg/ISO_Fortran_binding_18.c: New test.
+ * gfortran.dg/ISO_Fortran_binding_18.f90: New test.
+
+2021-01-27 Vladimir N. Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/97684
+ * gcc.target/i386/pr97684.c: New.
+
+2021-01-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/97874
+ * g++.dg/lookup/using4.C: No error in C++20.
+ * g++.dg/cpp0x/decltype37.C: Adjust message.
+ * g++.dg/template/crash75.C: Adjust message.
+ * g++.dg/template/crash76.C: Adjust message.
+ * g++.dg/cpp0x/inh-ctor36.C: New test.
+ * g++.dg/cpp1z/inh-ctor39.C: New test.
+ * g++.dg/cpp2a/using-enum-7.C: New test.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/98853
+ * gcc.c-torture/execute/pr98853-1.c: New test.
+ * gcc.c-torture/execute/pr98853-2.c: New test.
+
+2021-01-27 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/98854
+ * gcc.dg/vect/bb-slp-pr98854.c: New testcase.
+
+2021-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/93924
+ PR fortran/93925
+ * gfortran.dg/proc_ptr_52.f90 : New test.
+
+2021-01-27 liuhongt <hongtao.liu@intel.com>
+
+ PR target/98833
+ * gcc.target/i386/pr98833.c: New test.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/m128-check.h (CHECK_EXP): Remove
+ optimize ("no-strict-aliasing") attribute.
+ * gcc.target/i386/sse-andnps-1.c (TEST): Copy e into float[4]
+ array to avoid violating TBAA.
+ * gcc.target/i386/sse2-andpd-1.c (TEST): Copy e.d into double[2]
+ array to avoid violating TBAA.
+ * gcc.target/i386/sse-andps-1.c (TEST): Copy e.f into float[4]
+ array to avoid violating TBAA.
+ * gcc.target/i386/sse2-andnpd-1.c (TEST): Copy e into double[2]
+ array to avoid violating TBAA.
+
+2021-01-27 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/98472
+ * gfortran.dg/elemental_function_5.f90 : New test.
+
+2021-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/97260
+ * gcc.dg/tree-ssa/pr97260.c: New test.
+
2021-01-26 Paul Fee <paul.f.fee@gmail.com>
* lib/target-supports.exp (check_effective_target_c++2a):
+2021-01-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/status_cxx2017.xml: Replace invalid entity.
+ * doc/html/*: Regenerate.
+
+2021-01-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/experimental/simd/generate_makefile.sh: Use printf
+ instead of echo when printing escape characters.
+
+2021-01-27 Matthias Kretz <kretz@kde.org>
+
+ * scripts/check_simd: New file. This script is called from the
+ the check-simd target. It determines a set of compiler flags and
+ simulator setups for calling generate_makefile.sh and passes the
+ information back to the check-simd target, which recurses to the
+ generated Makefiles.
+ * scripts/create_testsuite_files: Remove files below simd/tests/
+ from testsuite_files and place them in testsuite_files_simd.
+ * testsuite/Makefile.am: Add testsuite_files_simd. Add
+ check-simd target.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/experimental/simd/driver.sh: New file. This script
+ compiles and runs a given simd test, logging its output and
+ status. It uses the timeout command to implement compile and
+ test timeouts.
+ * testsuite/experimental/simd/generate_makefile.sh: New file.
+ This script generates a Makefile which uses driver.sh to compile
+ and run the tests and collect the logs into a single log file.
+ * testsuite/experimental/simd/tests/abs.cc: New file. Tests
+ abs(simd).
+ * testsuite/experimental/simd/tests/algorithms.cc: New file.
+ Tests min/max(simd, simd).
+ * testsuite/experimental/simd/tests/bits/conversions.h: New
+ file. Contains functions to support tests involving conversions.
+ * testsuite/experimental/simd/tests/bits/make_vec.h: New file.
+ Support functions make_mask and make_vec.
+ * testsuite/experimental/simd/tests/bits/mathreference.h: New
+ file. Support functions to supply precomputed math function
+ reference data.
+ * testsuite/experimental/simd/tests/bits/metahelpers.h: New
+ file. Support code for SFINAE testing.
+ * testsuite/experimental/simd/tests/bits/simd_view.h: New file.
+ * testsuite/experimental/simd/tests/bits/test_values.h: New
+ file. Test functions to easily drive a test with simd objects
+ initialized from a given list of values and a range of random
+ values.
+ * testsuite/experimental/simd/tests/bits/ulp.h: New file.
+ Support code to determine the ULP distance of simd objects.
+ * testsuite/experimental/simd/tests/bits/verify.h: New file.
+ Test framework for COMPARE'ing simd objects and instantiating
+ the test templates with value_type and ABI tag.
+ * testsuite/experimental/simd/tests/broadcast.cc: New file. Test
+ simd broadcasts.
+ * testsuite/experimental/simd/tests/casts.cc: New file. Test
+ simd casts.
+ * testsuite/experimental/simd/tests/fpclassify.cc: New file.
+ Test floating-point classification functions.
+ * testsuite/experimental/simd/tests/frexp.cc: New file. Test
+ frexp(simd).
+ * testsuite/experimental/simd/tests/generator.cc: New file. Test
+ simd generator constructor.
+ * testsuite/experimental/simd/tests/hypot3_fma.cc: New file.
+ Test 3-arg hypot(simd,simd,simd) and fma(simd,simd,sim).
+ * testsuite/experimental/simd/tests/integer_operators.cc: New
+ file. Test integer operators.
+ * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
+ New file. Test ldexp(simd), scalbn(simd), scalbln(simd), and
+ modf(simd).
+ * testsuite/experimental/simd/tests/loadstore.cc: New file. Test
+ (converting) simd loads and stores.
+ * testsuite/experimental/simd/tests/logarithm.cc: New file. Test
+ log*(simd).
+ * testsuite/experimental/simd/tests/mask_broadcast.cc: New file.
+ Test simd_mask broadcasts.
+ * testsuite/experimental/simd/tests/mask_conversions.cc: New
+ file. Test simd_mask conversions.
+ * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: New
+ file. Test simd_mask implicit conversions.
+ * testsuite/experimental/simd/tests/mask_loadstore.cc: New file.
+ Test simd_mask loads and stores.
+ * testsuite/experimental/simd/tests/mask_operator_cvt.cc: New
+ file. Test simd_mask operators convert as specified.
+ * testsuite/experimental/simd/tests/mask_operators.cc: New file.
+ Test simd_mask compares, subscripts, and negation.
+ * testsuite/experimental/simd/tests/mask_reductions.cc: New
+ file. Test simd_mask reductions.
+ * testsuite/experimental/simd/tests/math_1arg.cc: New file. Test
+ 1-arg math functions on simd.
+ * testsuite/experimental/simd/tests/math_2arg.cc: New file. Test
+ 2-arg math functions on simd.
+ * testsuite/experimental/simd/tests/operator_cvt.cc: New file.
+ Test implicit conversions on simd binary operators behave as
+ specified.
+ * testsuite/experimental/simd/tests/operators.cc: New file. Test
+ simd compares, subscripts, not, unary minus, plus, minus,
+ multiplies, divides, increment, and decrement.
+ * testsuite/experimental/simd/tests/reductions.cc: New file.
+ Test reduce(simd).
+ * testsuite/experimental/simd/tests/remqo.cc: New file. Test
+ remqo(simd).
+ * testsuite/experimental/simd/tests/simd.cc: New file. Basic
+ sanity checks of simd types.
+ * testsuite/experimental/simd/tests/sincos.cc: New file. Test
+ sin(simd) and cos(simd).
+ * testsuite/experimental/simd/tests/split_concat.cc: New file.
+ Test split(simd) and concat(simd, simd).
+ * testsuite/experimental/simd/tests/splits.cc: New file. Test
+ split(simd_mask).
+ * testsuite/experimental/simd/tests/trigonometric.cc: New file.
+ Test remaining trigonometric functions on simd.
+ * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: New
+ file. Test trunc(simd), ceil(simd), and floor(simd).
+ * testsuite/experimental/simd/tests/where.cc: New file. Test
+ masked operations using where.
+
+2021-01-27 Matthias Kretz <kretz@kde.org>
+
+ * doc/xml/manual/status_cxx2017.xml: Add implementation status
+ of the Parallelism TS 2. Document implementation-defined types
+ and behavior.
+ * include/Makefile.am: Add new headers.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/simd: New file. New header for
+ Parallelism TS 2.
+ * include/experimental/bits/numeric_traits.h: New file.
+ Implementation of P1841R1 using internal naming. Addition of
+ missing IEC559 functionality query.
+ * include/experimental/bits/simd.h: New file. Definition of the
+ public simd interfaces and general implementation helpers.
+ * include/experimental/bits/simd_builtin.h: New file.
+ Implementation of the _VecBuiltin simd_abi.
+ * include/experimental/bits/simd_converter.h: New file. Generic
+ simd conversions.
+ * include/experimental/bits/simd_detail.h: New file. Internal
+ macros for the simd implementation.
+ * include/experimental/bits/simd_fixed_size.h: New file. Simd
+ fixed_size ABI specific implementations.
+ * include/experimental/bits/simd_math.h: New file. Math
+ overloads for simd.
+ * include/experimental/bits/simd_neon.h: New file. Simd NEON
+ specific implementations.
+ * include/experimental/bits/simd_ppc.h: New file. Implement bit
+ shifts to avoid invalid results for integral types smaller than
+ int.
+ * include/experimental/bits/simd_scalar.h: New file. Simd scalar
+ ABI specific implementations.
+ * include/experimental/bits/simd_x86.h: New file. Simd x86
+ specific implementations.
+ * include/experimental/bits/simd_x86_conversions.h: New file.
+ x86 specific conversion optimizations. The conversion patterns
+ work around missing conversion patterns in the compiler and
+ should be removed as soon as PR85048 is resolved.
+ * testsuite/experimental/simd/standard_abi_usable.cc: New file.
+ Test that all (not all fixed_size<N>, though) standard simd and
+ simd_mask types are usable.
+ * testsuite/experimental/simd/standard_abi_usable_2.cc: New
+ file. As above but with -ffast-math.
+ * testsuite/libstdc++-dg/conformance.exp: Don't build simd tests
+ from the standard test loop. Instead use
+ check_vect_support_and_set_flags to build simd tests with the
+ relevant machine flags.
+
+2021-01-27 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/66414
+ * include/bits/string_view.tcc
+ (basic_string_view::find(const CharT*, size_type, size_type)):
+ Optimize.
+
+2021-01-27 Paul Fee <paul.f.fee@gmail.com>
+
+ * include/bits/basic_string.h (basic_string::contains): New
+ member functions.
+ * include/std/string_view (basic_string_view::contains):
+ Likewise.
+ * include/std/version (__cpp_lib_string_contains): Define.
+ * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
+ Remove trailing whitespace.
+ * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
+ Likewise.
+ * testsuite/21_strings/basic_string/operations/contains/char/1.cc: New test.
+ * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc: New test.
+ * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc: New test.
+ * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: New test.
+ * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc: New test.
+
2021-01-21 Jonathan Wakely <jwakely@redhat.com>
* src/c++17/Makefile.in: Regenerate.