+2020-08-19 2020-08-19 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def (BU_P10V_0, BU_P10V_1,
+ BU_P10V_2, BU_P10V_3): Rename BU_P10V_VSX_0, BU_P10V_VSX_1,
+ BU_P10V_VSX_2, BU_P10V_VSX_3 respectively.
+ (BU_P10V_4): Remove.
+ (BU_P10V_AV_0, BU_P10V_AV_1, BU_P10V_AV_2, BU_P10V_AV_3, BU_P10V_AV_4):
+ New definitions for Power 10 Altivec macros.
+ (VSTRIBR, VSTRIHR, VSTRIBL, VSTRIHL, VSTRIBR_P, VSTRIHR_P,
+ VSTRIBL_P, VSTRIHL_P, MTVSRBM, MTVSRHM, MTVSRWM, MTVSRDM, MTVSRQM,
+ VEXPANDMB, VEXPANDMH, VEXPANDMW, VEXPANDMD, VEXPANDMQ, VEXTRACTMB,
+ VEXTRACTMH, VEXTRACTMW, VEXTRACTMD, VEXTRACTMQ): Replace macro
+ expansion BU_P10V_1 with BU_P10V_AV_1.
+ (VCLRLB, VCLRRB, VCFUGED, VCLZDM, VCTZDM, VPDEPD, VPEXTD, VGNB,
+ VCNTMBB, VCNTMBH, VCNTMBW, VCNTMBD): Replace macro expansion
+ BU_P10V_2 with BU_P10V_AV_2.
+ (VEXTRACTBL, VEXTRACTHL, VEXTRACTWL, VEXTRACTDL, VEXTRACTBR, VEXTRACTHR,
+ VEXTRACTWR, VEXTRACTDR, VINSERTGPRBL, VINSERTGPRHL, VINSERTGPRWL,
+ VINSERTGPRDL, VINSERTVPRBL, VINSERTVPRHL, VINSERTVPRWL, VINSERTGPRBR,
+ VINSERTGPRHR, VINSERTGPRWR, VINSERTGPRDR, VINSERTVPRBR, VINSERTVPRHR,
+ VINSERTVPRWR, VREPLACE_ELT_V4SI, VREPLACE_ELT_UV4SI, VREPLACE_ELT_V2DF,
+ VREPLACE_ELT_V4SF, VREPLACE_ELT_V2DI, VREPLACE_ELT_UV2DI, VREPLACE_UN_V4SI,
+ VREPLACE_UN_UV4SI, VREPLACE_UN_V4SF, VREPLACE_UN_V2DI, VREPLACE_UN_UV2DI,
+ VREPLACE_UN_V2DF, VSLDB_V16QI, VSLDB_V8HI, VSLDB_V4SI, VSLDB_V2DI,
+ VSRDB_V16QI, VSRDB_V8HI, VSRDB_V4SI, VSRDB_V2DI): Replace macro expansion
+ BU_P10V_3 with BU_P10V_AV_3.
+ (VXXSPLTIW_V4SI, VXXSPLTIW_V4SF, VXXSPLTID): Replace macro expansion
+ BU_P10V_1 with BU_P10V_AV_1.
+ (XXGENPCVM_V16QI, XXGENPCVM_V8HI, XXGENPCVM_V4SI, XXGENPCVM_V2DI):
+ Replace macro expansion BU_P10V_2 with BU_P10V_VSX_2.
+ (VXXSPLTI32DX_V4SI, VXXSPLTI32DX_V4SF, VXXBLEND_V16QI, VXXBLEND_V8HI,
+ VXXBLEND_V4SI, VXXBLEND_V2DI, VXXBLEND_V4SF, VXXBLEND_V2DF): Replace macor
+ expansion BU_P10V_3 with BU_P10V_VSX_3.
+ (XXEVAL, VXXPERMX): Replace macro expansion BU_P10V_4 with BU_P10V_VSX_4.
+ (XVCVBF16SP, XVCVSPBF16): Replace macro expansion BU_VSX_1 with
+ BU_P10V_VSX_1. Also change MISC to CONST.
+ * config/rs6000/rs6000-c.c: (P10_BUILTIN_VXXPERMX): Replace with
+ P10V_BUILTIN_VXXPERMX.
+ (P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRLB, P10_BUILTIN_VCLRRB,
+ P10_BUILTIN_VGNB, P10_BUILTIN_XXEVAL, P10_BUILTIN_VXXPERMX,
+ P10_BUILTIN_VEXTRACTBL, P10_BUILTIN_VEXTRACTHL, P10_BUILTIN_VEXTRACTWL,
+ P10_BUILTIN_VEXTRACTDL, P10_BUILTIN_VINSERTGPRHL,
+ P10_BUILTIN_VINSERTGPRWL, P10_BUILTIN_VINSERTGPRDL,
+ P10_BUILTIN_VINSERTVPRBL, P10_BUILTIN_VINSERTVPRHL,
+ P10_BUILTIN_VEXTRACTBR, P10_BUILTIN_VEXTRACTHR,
+ P10_BUILTIN_VEXTRACTWR, P10_BUILTIN_VEXTRACTDR,
+ P10_BUILTIN_VINSERTGPRBR, P10_BUILTIN_VINSERTGPRHR,
+ P10_BUILTIN_VINSERTGPRWR, P10_BUILTIN_VINSERTGPRDR,
+ P10_BUILTIN_VINSERTVPRBR, P10_BUILTIN_VINSERTVPRHR,
+ P10_BUILTIN_VINSERTVPRWR, P10_BUILTIN_VREPLACE_ELT_UV4SI,
+ P10_BUILTIN_VREPLACE_ELT_V4SI, P10_BUILTIN_VREPLACE_ELT_UV2DI,
+ P10_BUILTIN_VREPLACE_ELT_V2DI, P10_BUILTIN_VREPLACE_ELT_V2DF,
+ P10_BUILTIN_VREPLACE_UN_UV4SI, P10_BUILTIN_VREPLACE_UN_V4SI,
+ P10_BUILTIN_VREPLACE_UN_V4SF, P10_BUILTIN_VREPLACE_UN_UV2DI,
+ P10_BUILTIN_VREPLACE_UN_V2DI, P10_BUILTIN_VREPLACE_UN_V2DF,
+ P10_BUILTIN_VSLDB_V16QI, P10_BUILTIN_VSLDB_V16QI,
+ P10_BUILTIN_VSLDB_V8HI, P10_BUILTIN_VSLDB_V4SI,
+ P10_BUILTIN_VSLDB_V2DI, P10_BUILTIN_VXXSPLTIW_V4SI,
+ P10_BUILTIN_VXXSPLTIW_V4SF, P10_BUILTIN_VXXSPLTID,
+ P10_BUILTIN_VXXSPLTI32DX_V4SI, P10_BUILTIN_VXXSPLTI32DX_V4SF,
+ P10_BUILTIN_VXXBLEND_V16QI, P10_BUILTIN_VXXBLEND_V8HI,
+ P10_BUILTIN_VXXBLEND_V4SI, P10_BUILTIN_VXXBLEND_V2DI,
+ P10_BUILTIN_VXXBLEND_V4SF, P10_BUILTIN_VXXBLEND_V2DF,
+ P10_BUILTIN_VSRDB_V16QI, P10_BUILTIN_VSRDB_V8HI,
+ P10_BUILTIN_VSRDB_V4SI, P10_BUILTIN_VSRDB_V2DI,
+ P10_BUILTIN_VSTRIBL, P10_BUILTIN_VSTRIHL,
+ P10_BUILTIN_VSTRIBL_P, P10_BUILTIN_VSTRIHL_P,
+ P10_BUILTIN_VSTRIBR, P10_BUILTIN_VSTRIHR,
+ P10_BUILTIN_VSTRIBR_P, P10_BUILTIN_VSTRIHR_P,
+ P10_BUILTIN_MTVSRBM, P10_BUILTIN_MTVSRHM,
+ P10_BUILTIN_MTVSRWM, P10_BUILTIN_MTVSRDM,
+ P10_BUILTIN_MTVSRQM, P10_BUILTIN_VCNTMBB,
+ P10_BUILTIN_VCNTMBH, P10_BUILTIN_VCNTMBW,
+ P10_BUILTIN_VCNTMBD, P10_BUILTIN_VEXPANDMB,
+ P10_BUILTIN_VEXPANDMH, P10_BUILTIN_VEXPANDMW,
+ P10_BUILTIN_VEXPANDMD, P10_BUILTIN_VEXPANDMQ,
+ P10_BUILTIN_VEXTRACTMB, P10_BUILTIN_VEXTRACTMH,
+ P10_BUILTIN_VEXTRACTMW, P10_BUILTIN_VEXTRACTMD,
+ P10_BUILTIN_VEXTRACTMQ, P10_BUILTIN_XVTLSBB_ZEROS,
+ P10_BUILTIN_XVTLSBB_ONES): Replace with
+ P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRLB, P10V_BUILTIN_VCLRRB,
+ P10V_BUILTIN_VGNB, P10V_BUILTIN_XXEVAL, P10V_BUILTIN_VXXPERMX,
+ P10V_BUILTIN_VEXTRACTBL, P10V_BUILTIN_VEXTRACTHL, P10V_BUILTIN_VEXTRACTWL,
+ P10V_BUILTIN_VEXTRACTDL, P10V_BUILTIN_VINSERTGPRHL,
+ P10V_BUILTIN_VINSERTGPRWL, P10V_BUILTIN_VINSERTGPRDL,
+ P10V_BUILTIN_VINSERTVPRBL,P10V_BUILTIN_VINSERTVPRHL,
+ P10V_BUILTIN_VEXTRACTBR, P10V_BUILTIN_VEXTRACTHR
+ P10V_BUILTIN_VEXTRACTWR, P10V_BUILTIN_VEXTRACTDR,
+ P10V_BUILTIN_VINSERTGPRBR, P10V_BUILTIN_VINSERTGPRHR,
+ P10V_BUILTIN_VINSERTGPRWR, P10V_BUILTIN_VINSERTGPRDR,
+ P10V_BUILTIN_VINSERTVPRBR, P10V_BUILTIN_VINSERTVPRHR,
+ P10V_BUILTIN_VINSERTVPRWR, P10V_BUILTIN_VREPLACE_ELT_UV4SI,
+ P10V_BUILTIN_VREPLACE_ELT_V4SI, P10V_BUILTIN_VREPLACE_ELT_UV2DI,
+ P10V_BUILTIN_VREPLACE_ELT_V2DI, P10V_BUILTIN_VREPLACE_ELT_V2DF,
+ P10V_BUILTIN_VREPLACE_UN_UV4SI, P10V_BUILTIN_VREPLACE_UN_V4SI,
+ P10V_BUILTIN_VREPLACE_UN_V4SF, P10V_BUILTIN_VREPLACE_UN_UV2DI,
+ P10V_BUILTIN_VREPLACE_UN_V2DI, P10V_BUILTIN_VREPLACE_UN_V2DF,
+ P10V_BUILTIN_VSLDB_V16QI, P10V_BUILTIN_VSLDB_V16QI,
+ P10V_BUILTIN_VSLDB_V8HI, P10V_BUILTIN_VSLDB_V4SI,
+ P10V_BUILTIN_VSLDB_V2DI, P10V_BUILTIN_VXXSPLTIW_V4SI,
+ P10V_BUILTIN_VXXSPLTIW_V4SF, P10V_BUILTIN_VXXSPLTID,
+ P10V_BUILTIN_VXXSPLTI32DX_V4SI, P10V_BUILTIN_VXXSPLTI32DX_V4SF,
+ P10V_BUILTIN_VXXBLEND_V16QI, P10V_BUILTIN_VXXBLEND_V8HI,
+ P10V_BUILTIN_VXXBLEND_V4SI, P10V_BUILTIN_VXXBLEND_V2DI,
+ P10V_BUILTIN_VXXBLEND_V4SF, P10V_BUILTIN_VXXBLEND_V2DF,
+ P10V_BUILTIN_VSRDB_V16QI, P10V_BUILTIN_VSRDB_V8HI,
+ P10V_BUILTIN_VSRDB_V4SI, P10V_BUILTIN_VSRDB_V2DI,
+ P10V_BUILTIN_VSTRIBL, P10V_BUILTIN_VSTRIHL,
+ P10V_BUILTIN_VSTRIBL_P, P10V_BUILTIN_VSTRIHL_P,
+ P10V_BUILTIN_VSTRIBR, P10V_BUILTIN_VSTRIHR,
+ P10V_BUILTIN_VSTRIBR_P, P10V_BUILTIN_VSTRIHR_P,
+ P10V_BUILTIN_MTVSRBM, P10V_BUILTIN_MTVSRHM,
+ P10V_BUILTIN_MTVSRWM, P10V_BUILTIN_MTVSRDM,
+ P10V_BUILTIN_MTVSRQM, P10V_BUILTIN_VCNTMBB,
+ P10V_BUILTIN_VCNTMBH, P10V_BUILTIN_VCNTMBW,
+ P10V_BUILTIN_VCNTMBD, P10V_BUILTIN_VEXPANDMB,
+ P10V_BUILTIN_VEXPANDMH, P10V_BUILTIN_VEXPANDMW,
+ P10V_BUILTIN_VEXPANDMD, P10V_BUILTIN_VEXPANDMQ,
+ P10V_BUILTIN_VEXTRACTMB, P10V_BUILTIN_VEXTRACTMH,
+ P10V_BUILTIN_VEXTRACTMW, P10V_BUILTIN_VEXTRACTMD,
+ P10V_BUILTIN_VEXTRACTMQ, P10V_BUILTIN_XVTLSBB_ZEROS,
+ P10V_BUILTIN_XVTLSBB_ONES respectively.
+ * config/rs6000/rs6000-call.c: Ditto above, change P10_BUILTIN_name to
+ P10V_BUILTIN_name.
+ (P10_BUILTIN_XVCVSPBF16, P10_BUILTIN_XVCVBF16SP): Change to
+ P10V_BUILTIN_XVCVSPBF16, P10V_BUILTIN_XVCVBF16SP respectively.
+
+2020-08-19 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * config/rs6000/rs6000-logue.c (rs6000_decl_ok_for_sibcall):
+ Sibcalls are always legal when the caller doesn't preserve r2.
+
+2020-08-19 Uroš Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-expand.c (ix86_expand_builtin)
+ [case IX86_BUILTIN_ENQCMD, case IX86_BUILTIN_ENQCMDS]:
+ Rewrite expansion to use code_for_enqcmd.
+ [case IX86_BUILTIN_WRSSD, case IX86_BUILTIN_WRSSQ]:
+ Rewrite expansion to use code_for_wrss.
+ [case IX86_BUILTIN_WRUSSD, case IX86_BUILTIN_WRUSSD]:
+ Rewrite expansion to use code_for_wrss.
+
+2020-08-19 Feng Xue <fxue@os.amperecomputing.com>
+
+ PR tree-optimization/94234
+ * match.pd ((PTR_A + OFF) - (PTR_B + OFF)) -> (PTR_A - PTR_B): New
+ simplification.
+
+2020-08-19 H.J. Lu <hjl.tools@gmail.com>
+
+ * common/config/i386/cpuinfo.h (get_intel_cpu): Detect Rocket
+ Lake and Alder Lake.
+
+2020-08-19 Peixin Qiao <qiaopeixin@huawei.com>
+
+ * config/aarch64/aarch64.c (aarch64_init_cumulative_args): Remove
+ "fndecl && TREE_PUBLIC (fndecl)" check since it prevents the funtion
+ type check when calling via a function pointer or when calling a static
+ function.
+
+2020-08-19 Kewen Lin <linkw@linux.ibm.com>
+
+ * opts-global.c (decode_options): Call target_option_override_hook
+ before it prints for --help=*.
+
2020-08-18 Peter Bergner <bergner@linux.ibm.com>
* config/rs6000/rs6000-builtin.def (BU_VSX_1): Rename xvcvbf16sp to
+2020-08-19 Jonathan Wakely <jwakely@redhat.com>
+ Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/96042
+ * include/bits/range_access.h (__detail::__to_unsigned_like):
+ Do not use make_unsigned_t<T> in the return type, as it can
+ result in an error before the integral<T> constraint is checked.
+ [__STRICT_ANSI__]: Add overloads for 128-bit integer types.
+ (__detail::__make_unsigned_like_t): Define as the return type
+ of __to_unsigned_like.
+ * testsuite/std/ranges/subrange/96042.cc: New test.
+
+2020-08-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/stl_tree.h (operator!=, operator>, operator<=)
+ (operator>=): Remove deprecated functions.
+
+2020-08-19 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/96042
+ * include/ext/numeric_traits.h (__is_integer_nonstrict): New
+ trait which is true for 128-bit integers even in strict modes.
+ (__numeric_traits_integer, __numeric_traits): Use
+ __is_integer_nonstrict instead of __is_integer.
+ * include/std/limits [__STRICT_ANSI__ && __SIZEOF_INT128__]
+ (numeric_limits<__int128>, (numeric_limits<unsigned __int128>):
+ Define.
+ * testsuite/std/ranges/iota/96042.cc: New test.
+
+2020-08-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/c++config (_GLIBCXX_DEPRECATED_SUGGEST)
+ (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST)
+ (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST):
+ Add new macros to comment.
+
+2020-08-19 Patrick Palka <ppalka@redhat.com>
+
+ * include/Makefile.am (bits_headers): Add new header
+ <bits/max_size_type.h>.
+ * include/Makefile.in: Regenerate.
+ * include/bits/iterator_concepts.h
+ (ranges::__detail::__max_diff_type): Remove definition, replace
+ with forward declaration of class __max_diff_type.
+ (__detail::__max_size_type): Remove definition, replace with
+ forward declaration of class __max_size_type.
+ (__detail::__is_unsigned_int128, __is_signed_int128)
+ (__is_int128): New concepts.
+ (__detail::__is_integer_like): Accept __int128 and unsigned
+ __int128.
+ (__detail::__is_signed_integer_like): Accept __int128.
+ * include/bits/max_size_type.h: New header.
+ * include/bits/range_access.h: Include <bits/max_size_type.h>.
+ (__detail::__to_unsigned_like): Two new overloads.
+ * testsuite/std/ranges/iota/difference_type.cc: New test.
+ * testsuite/std/ranges/iota/max_size_type.cc: New test.
+
+2020-08-19 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/c++config (_GLIBCXX_DEPRECATED): Define for all
+ standard modes.
+ (_GLIBCXX_DEPRECATED_SUGGEST): New macro for "use 'foo' instead"
+ message in deprecated warnings.
+ (_GLIBCXX11_DEPRECATED, _GLIBCXX11_DEPRECATED_SUGGEST): New
+ macros for marking features derpecated in C++11.
+ (_GLIBCXX17_DEPRECATED_SUGGEST, _GLIBCXX20_DEPRECATED_SUGGEST):
+ New macros.
+ * include/backward/auto_ptr.h (auto_ptr_ref, auto_ptr<void>):
+ Use _GLIBCXX11_DEPRECATED instead of _GLIBCXX_DEPRECATED.
+ (auto_ptr): Use _GLIBCXX11_DEPRECATED_SUGGEST.
+ * include/backward/binders.h (binder1st, binder2nd): Likewise.
+ * include/bits/ios_base.h (io_state, open_mode, seek_dir)
+ (streampos, streamoff): Use _GLIBCXX_DEPRECATED_SUGGEST.
+ * include/std/streambuf (stossc): Replace C++11 attribute
+ with _GLIBCXX_DEPRECATED_SUGGEST.
+ * include/std/type_traits (__is_nullptr_t): Use
+ _GLIBCXX_DEPRECATED_SUGGEST instead of _GLIBCXX_DEPRECATED.
+ * testsuite/27_io/types/1.cc: Check for deprecated warnings.
+ Also check for io_state, open_mode and seek_dir typedefs.
+
+2020-08-19 Antony Polukhin <antoshkka@gmail.com>
+
+ PR libstdc++/71579
+ * include/std/type_traits (invoke_result, is_nothrow_invocable_r)
+ Add static_asserts to make sure that the argument of the type
+ trait is not misused with incomplete types.
+ (is_swappable_with, is_nothrow_swappable_with): Add static_asserts
+ to make sure that the first and second arguments of the type trait
+ are not misused with incomplete types.
+ * testsuite/20_util/invoke_result/incomplete_neg.cc: New test.
+ * testsuite/20_util/is_nothrow_invocable/incomplete_neg.cc: New test.
+ * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc: New test.
+ * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc: New
+ test.
+ * testsuite/20_util/is_swappable_with/incomplete_neg.cc: New test.
+
2020-08-18 David Edelsohn <dje.gcc@gmail.com>
Clement Chigot <clement.chigot@atos.net>