- 15 May, 2019 9 commits
-
-
re PR tree-optimization/90474 (ICE: verify_gimple failed (error: DECL_GIMPLE_REG_P set on a variable with address taken; error: invalid address operand in MEM_REF)) 2019-05-15 Richard Biener <rguenther@suse.de> PR c/90474 * c-common.c (c_common_mark_addressable_vec): Also mark a COMPOUND_LITERAL_EXPR_DECL addressable similar to c_mark_addressable. From-SVN: r271206
Richard Biener committed -
If we build Darwin with a modern assembler, then it might well recognise insns that cannot be used on current Darwin systems. The patch augments the tests for feature support for VSX, power8 and power9 to exclude Darwin even if the assembler can handle the instructions. 2019-05-15 Iain Sandoe <iain@sandoe.co.uk> * lib/target-supports.exp (check_effective_target_powerpc_p8vector_ok): No support for Darwin. (check_effective_target_powerpc_p9vector_ok): Likewise. (check_effective_target_powerpc_float128_sw_ok): Likewise. (check_effective_target_powerpc_float128_hw_ok): Likewise. (check_effective_target_powerpc_vsx_ok): Likewise. * gcc.target/powerpc/bfp/bfp.exp: Don't try to run this for Darwin. * gcc.target/powerpc/dfp/dfp.exp: Likewise. From-SVN: r271205
Iain Sandoe committed -
2019-05-15 Richard Biener <rguenther@suse.de> PR tree-optimization/88828 * tree-ssa-forwprop.c (simplify_vector_constructor): Fix bogus check. From-SVN: r271204
Richard Biener committed -
gimple-parser.c (c_parser_gimple_statement): Remove questionable auto-promotion to VIEW_CONVERT_EXPR. 2019-05-14 Richard Biener <rguenther@suse.de> * gimple-parser.c (c_parser_gimple_statement): Remove questionable auto-promotion to VIEW_CONVERT_EXPR. (c_parser_gimple_typespec): Split out from __MEM parsing. (c_parser_gimple_postfix_expression): Handle __VIEW_CONVERT. * tree-pretty-print.c (dump_generic_node): Dump VIEW_CONVERT_EXPR as __VIEW_CONVERT with -gimple. * gcc.dg/gimplefe-40.c: New testcase. From-SVN: r271203
Richard Biener committed -
This patch makes the lto-plugin follow the same approach to save-temps as collect2. -save-temps causes the temp file to be named meaningfully, and for the relevant input files to be saved in CWD. -v, —version causes the save actions to be output to stderr. one can get this to happen by just putting -save-temps, -v on the regular link line or (for compatibility with the way the -debug flag works) by appending -plugin-opt=-save-temps, etc. lto-plugin/ 2019-05-15 Iain Sandoe <iain@sandoe.co.uk> * lto-plugin.c (exec_lto_wrapper): Make the wrapper arguments filename more user-friendly. (file_exists, maybe_unlink): New. (cleanup_handler): Use maybe unlink to handle the case when temps should be saved. (process_option): Look for -v, —-version, -save-temps. (onload): Record the linker output file name. Check for -v, —-version, -save-temps in the GCC collect options environment. From-SVN: r271202
Iain Sandoe committed -
From-SVN: r271201
Iain Sandoe committed -
The test fails on PPC Darwin because we emit __POWERPC__ instead of __powerpc__ fixed by allowing for both. 2019-05-15 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/pr87600.h: Add __POWERPC__ as an alternate test for PowerPC platforms. From-SVN: r271200
Iain Sandoe committed -
These ae test adjustments to the scan assembler strings mostly just to catch missing __USER_LABEL_PREFIX__s on symbols. 2019-05-15 Iain Sandoe <iain@sandoe.co.uk> PR target/82920 * g++.dg/cet-notrack-1.C: Adjust scan assembler for Darwin. * gcc.target/i386/cet-notrack-5a.c: Likewise. * gcc.target/i386/cet-notrack-5b.c: Likewise. * gcc.target/i386/cet-notrack-6b.c: Likewise. * gcc.target/i386/cet-notrack-icf-1.c: Likewise. * gcc.target/i386/cet-notrack-icf-2.c: Likewise. * gcc.target/i386/cet-notrack-icf-3.c: Likewise. * gcc.target/i386/cet-notrack-icf-4.c: Likewise. * gcc.target/i386/cet-sjlj-3.c: Likewise. * gcc.target/i386/cet-sjlj-5.c: Likewise. From-SVN: r271199
Iain Sandoe committed -
From-SVN: r271197
GCC Administrator committed
-
- 14 May, 2019 31 commits
-
-
PR c++/68918 * g++.dg/cpp0x/decltype71.C: New test. From-SVN: r271193
Marek Polacek committed -
PR c++/70156 * g++.dg/init/static5.C: New test. From-SVN: r271192
Marek Polacek committed -
Darwin doesn't support mx32, and some tests were failing because it was trying to do them. When we disable this it turns out that quite a few tests requiring mx32 support were not guarded. gcc/ 2019-05-14 Iain Sandoe <iain@sandoe.co.uk> PR target/82920 * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for Darwin. gcc/testsuite/ 2019-05-14 Iain Sandoe <iain@sandoe.co.uk> PR target/82920 * gcc.target/i386/cet-sjlj-6b.c: Require effective target x32. * gcc.target/i386/pr52146.c: Likewise. * gcc.target/i386/pr52698.c: Likewise. * gcc.target/i386/pr52857-1.c: Likewise. * gcc.target/i386/pr52857-2.c: Likewise. * gcc.target/i386/pr52876.c: Likewise. * gcc.target/i386/pr53698.c: Likewise. * gcc.target/i386/pr54157.c: Likewise. * gcc.target/i386/pr55049-1.c: Likewise. * gcc.target/i386/pr55093.c: Likewise. * gcc.target/i386/pr55116-1.c: Likewise. * gcc.target/i386/pr55116-2.c: Likewise. * gcc.target/i386/pr55597.c: Likewise. * gcc.target/i386/pr59929.c: Likewise. * gcc.target/i386/pr66470.c: Likewise. From-SVN: r271190
Iain Sandoe committed -
* testsuite/util/testsuite_allocator.h (NullablePointer::operator bool): Fix return value. From-SVN: r271189
Jonathan Wakely committed -
* config/rs6000/rs6000.md (eh_set_lr_<mode>): Merge with following define_split to become a define_insn_and_split. From-SVN: r271185
Segher Boessenkool committed -
We currently call rs6000_emit_epilogue with a boolean parameter saying if this is for a sibcall. We also need to create epilogues for eh_return. This isn't yet indicated directly: instead, we get an eh_return epilogue if crtl->calls_eh_return and this is not a sibcall. This patch changes things so there is a three-way enum argument. What is called "normal" now can still actually be "eh_return". The rs6000_emit_epilogue function still uses an "int sibcall" variable internally. * config/rs6000/rs6000-protos.h (rs6000_emit_epilogue): Change arguments. * config/rs6000/rs6000.c (rs6000_emit_epilogue): Change arguments. * config/rs6000/rs6000.md (epilogue_type): New define_enum. (sibcall_epilogue): Adjust. (epilogue): Adjust. From-SVN: r271184
Segher Boessenkool committed -
libstdc++-v3: * config/os/solaris/solaris2.10: Move to ... * config/os/solaris: ... this. * configure.host (os_include_dir): Adapt. (abi_baseline_pair): Remove Solaris 10 handling. * config/abi/post/i386-solaris2.10: Remove. * config/abi/post/sparc-solaris2.10: Remove. * config/abi/post/i386-solaris2.11: Rename to ... * config/abi/post/i386-solaris: ... this. * config/abi/post/sparc-solaris2.11: Rename to ... * config/abi/post/sparc-solaris: ... this. * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] [__sun]: Remove workaround. * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.10 xfail. libsanitizer: * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* handling. * configure: Regenerate. libgcc: * config.host: Simplify various *-*-solaris2.1[0-9]* to *-*-solaris2*. * configure.ac: Likewise. * configure: Regenerate. * config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove Solaris 10 and Solaris 11 < snv_125 handling. libbacktrace: * configure.ac (have_dl_iterate_phdr): Remove *-*-solaris2.10* handling. * configure: Regenerate. gcc/testsuite: * gcc.dg/atomic/c11-atomic-exec-4.c: Simplify triplet to *-*-solaris2*. * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. * gcc.dg/c99-math-double-1.c: Likewise. * gcc.dg/c99-math-float-1.c: Likewise. * gcc.dg/c99-math-long-double-1.c: Likewise. * gcc.misc-tests/linkage.exp: Simplify triplet to x86_64-*-solaris2*. * gcc.target/i386/mcount_pic.c: Remove *-*-solaris2.10* && !gld xfail. * gcc.target/i386/pr63620.c: Likewise. * lib/target-supports.exp (check_sse_os_support_available): Remove Solaris 9/x86 workaround. gcc: * config.gcc: Move *-*-solaris2.10* from obsolete configurations to unsupported ones. Simplify x86_64-*-solaris2.1[0-9]* to x86_64-*-solaris2*. * config.host: Likewise. * config/i386/sol2.h (ASM_COMMENT_START): Remove. * config/sparc/driver-sparc.c (host_detect_local_cpu) [__sun__ && __svr4__]: Remove "brand" fallback. [!KSTAT_DATA_STRING]: Remove. * configure.ac (gcc_cv_ld_hidden): Simplify *-*-solaris2.1[0-9]* to *-*-solaris2*. (comdat_group): Likewise. (set_have_as_tls): Likewise. (gcc_cv_target_dl_iterate_phdr): Likewise. (gcc_cv_as_shf_merge): Remove Solaris 10/x86 workaround. (gcc_cv_ld_aligned_shf_merge): Remove Solaris 10/SPARC workaround. * configure: Regenerate. * doc/install.texi: Simplify Solaris target triplets. (Specific, i?86-*-solaris2*): Remove Solaris 10 references. (Specific, *-*-solaris2*): Document Solaris 10 removal. Remove Solaris 10 references. Remove obsolete Solaris bug reference. (Specific, sparc-sun-solaris2.10): Remove. From-SVN: r271183
Rainer Orth committed -
This change simplifies visitation for variants, by using INVOKE<R> for the visit<R> form, and explicitly specifying the tag types for raw visitation, instead of inferring them from the return types of the lambda functions used as visitors. * include/std/variant (__visit_with_index): Remove typedef. (__deduce_visit_result): New tag type. (__raw_visit, __raw_idx_visit): New helper functions for "raw" visitation of possibly-valueless variants, forwarding to __do_visit with the relevant tag type. (_Variant_storage<false, _Types...>::_M_reset_impl): Use __raw_visit and make lambda return void. (__variant_construct): Likewise. (_Copy_assign_base::operator=, _Move_assign_base::operator=): Use __raw_idx_visit and make lambda return void. (_Multi_array::__untag_result): Add metafunction to check the function pointer type for a tag type that dictates the kind of visitation. (_Multi_array<_Ret(*)(_Visitor, _Variants...), __first, __rest...>): Use decltype(auto) instead of tagged function pointer type. (__gen_vtable_impl): Remove bool non-type parameter and unused _Variant_tuple parameter. (__gen_vtable_impl::__visit_invoke_impl): Remove. (__gen_vtable_impl::__do_visit_invoke): Remove. (__gen_vtable_impl::__do_visit_invoke_r): Remove. (__gen_vtable_impl::__visit_invoke): Use if-constexpr and __invoke_r for the visit<R> case, rather than dispatching to separate functions. (_VARIANT_RELATION_FUNCTION_TEMPLATE): Use __raw_idx_visit and make lambda return void. (variant::swap): Likewise. (__do_visit): Replace two non-type template parameters with a single type parameter, so that the caller must specify the visitor's return type (or one of the tag types). (visit): Deduce a return type from the visitor and use the __deduce_visit_result tag to enforce that all overloads return the same type. (visit<R>): Call __do_visit<R> with explicit result type. (__variant_hash_call_base_impl::operator()): Use __raw_visit and make lambda return void. From-SVN: r271182
Jonathan Wakely committed -
* config/i386/i386.md (any_div): New code iterator. (paired_mod): New code attribute. (sgnprefix): Handle DIV and UDIV RTXes. (u): Ditto. (<u>divmod<mode>4): Macroize expander from divmod<mode>4 and udivmod<mode>4 patterns using any_div code iterator. (divmod splitters): Macroize splitters using any_div code iterator. (*udivmodsi4_pow2_zext_1): Use exactl_log2 in insn condition. (*udivmodsi4_pow2_zext_2): Ditto. (*<u>divmod<mode>4_noext): Macroize insn from *divmod<mode>4_noext and *udivmod<mode>4_noext patterns using any_div code iterator. (*<u>divmod<mode>4_noext_zext_1): Macroize insn from *divmod<mode>4_noext_zext_1 and *udivmod<mode>4_noext_zext_1 patterns using any_div code iterator. (*<u>divmod<mode>4_noext_zext_2): Macroize insn from *divmod<mode>4_noext_zext_2 and *udivmod<mode>4_noext_zext_2 patterns using any_div code iterator. (<u>divmodhiqi3): Macroize insn from divmodhiqi3 and udivmodhiqi3 patterns using any_extend code iterator. From-SVN: r271179
Uros Bizjak committed -
2019-05-14 Nina Dinka Ranns <dinka.ranns@gmail.com> nonesuch is insufficiently useless (lwg2996) * include/std/type_traits (struct __nonesuch): Added private base class to make __nonesuch not an aggregate and removed deleted default constructor. * include/bits/stl_pair.h (struct __nonesuch_no_braces): Removed. (operator=(const pair&)): Use __nonesuch instead of __nonesuch_no_braces. (operator=(pair&&)): Likewise * include/std/tuple (operator=(const tuple&)): Use __nonesuch instead of __nonesuch_no_braces. (operator=(tuple&&)): Likewise * include/experimental/type_traits (struct nonesuch): Added private base class to make nonesuch not an aggregate and removed deleted default constructor. * testsuite/20_util/nonesuch/nonesuch.cc: New. * testsuite/experimental/type_traits/nonesuch.cc: New. From-SVN: r271175
Nina Dinka Ranns committed -
As well as simpifying the code by removing duplication, this means that we only need to touch std::__invoke_r if we need to implement changes to INVOKE<R>, such as those in P0932R0. * include/bits/std_function.h (_Simple_type_wrapper): Remove. (_Function_handler): Remove partial specializations for void return types and pointers to member. (_Function_handler::_M_manager): Adapt to removal of _Simple_type_wrapper. (_Function_handler::_M_invoke): Use __invoke_r instead of __invoke. * include/std/functional (_Bind_result::__enable_if_void) (_Bind_result::__disable_if_void): Remove sfinae helpers. (_Bind_result::__call): Use __invoke_r and remove overloads for void return types. * include/std/future (__future_base::_Task_state::_M_run) (__future_base::_Task_state::_M_run_delayed): Use __invoke_r and change return type of lambda expressions. From-SVN: r271174
Jonathan Wakely committed -
* include/bits/invoke.h (__invoke_r): Define new function implementing the INVOKE<R> pseudo-function. * testsuite/20_util/function_objects/invoke/1.cc: Add more tests. * testsuite/20_util/function_objects/invoke/2.cc: New test. From-SVN: r271173
Jonathan Wakely committed -
Revise the gccgo version of memory/block/mutex profiling to reduce runtime overhead. The main change is to collect raw stack traces while the profile is on line, then post-process the stacks just prior to the point where we are ready to use the final product. Memory profiling (at a very low sampling rate) is enabled by default, and the overhead of the symbolization / DWARF-reading from backtrace_full was slowing things down relative to the main Go runtime. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/171497 From-SVN: r271172
Ian Lance Taylor committed -
The definition of is_nothrow_invocable in terms of is_convertible and is_nothrow_constructible is incorrect, because a type could have an explicit constructor that means is_nothrow_constructible is true, but implicit conversions could use a different constructor that is potentially-throwing. Fix it by adding a C++11 version of C++20's is_nothrow_convertible that only considers implicit conversions. * include/std/type_traits (__is_nt_convertible_helper): Define it unconditionally, not only for C++20. (__is_nothrow_convertible): Define internal trait for use in C++11. (__is_nt_invocable_impl: Fix by using __is_nothrow_convertible. (is_invocable_r_v, is_nothrow_invocable_r_v): Add missing parameter. * testsuite/20_util/is_nothrow_convertible/value_ext.cc: New test. * testsuite/20_util/is_nothrow_convertible/value.cc: Check with type that has nothrow explicit conversion but potentially-throwing implicit conversion. * testsuite/20_util/is_nothrow_invocable/value.cc: Likewise. * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Fix helper function to only consider implicit conversions. * testsuite/20_util/tuple/cons/noexcept_specs.cc: Add comment. From-SVN: r271171
Jonathan Wakely committed -
gimple-parser.c (c_parser_gimple_statement): Remove questionable auto-promotion to VIEW_CONVERT_EXPR. 2019-05-14 Richard Biener <rguenther@suse.de> * gimple-parser.c (c_parser_gimple_statement): Remove questionable auto-promotion to VIEW_CONVERT_EXPR. (c_parser_gimple_typespec): Split out from __MEM parsing. (c_parser_gimple_postfix_expression): Handle __VIEW_CONVERT. * tree-pretty-print.c (dump_generic_node): Dump VIEW_CONVERT_EXPR as __VIEW_CONVERT with -gimple. * gcc.dg/gimplefe-40.c: New testcase. From-SVN: r271170
Richard Biener committed -
* include/std/iterator: Include <iosfwd> instead of <istream> and <ostream>. From-SVN: r271169
Jonathan Wakely committed -
* include/bits/stl_tree.h (_Rb_tree::erase(const Key*, const Key*)): Remove unused, non-standard function. From-SVN: r271168
Jonathan Wakely committed -
As both callers of match_results::_M_resize(unsigned) immediately follow it with a loop to update the value of each sub_match, that behaviour can be moved into _M_resize itself. The first caller fills the container with unmatched subs, which can be done with vector::assign, and the second caller clears the container to establish a specific state, which can be provided by a new member function specific to that purpose. Tangentially, I also noticed that match_results::max_size() doesn't account for the three special sub_match objects that are always present in a fully established result state. This patch also fixes that. * include/bits/regex.h (match_results::max_size()): Adjust return value to account for prefix/suffix/unmatched subs. (match_results::_M_resize(unsigned int)): Use _Base_type::assign to reset the contained sub matches. (match_results::_M_establish_failed_match(_Bi_iter)): Add new member function to set result state following a failed match. * include/bits/regex.tcc (__regex_algo_impl): Remove loop to set sub_match states after _M_resize. Use _M_establish_failed_match. From-SVN: r271167
Jonathan Wakely committed -
The std::thread constructor creates (and then moves) an unnecessary temporary copy of each argument. Optimize it to only make the one copy that is required. PR libstdc++/69724 * include/std/thread (thread::_State_impl, thread::_S_make_state): Replace single _Callable parameter with variadic _Args pack, to forward them directly to the tuple of decayed copies. * testsuite/30_threads/thread/cons/69724.cc: New test. From-SVN: r271166
Jonathan Wakely committed -
2019-05-14 Nina Dinka Ranns <dinka.ranns@gmail.com> Inconsistency wrt Allocators in basic_string assignment (LWG2579) * include/bits/basic_string.h: (operator=(const basic_string&): Move allocator decision to assign. (assign(const basic_string&)): Move allocator decision here. * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: Add tests. * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: Add tests. From-SVN: r271165
Nina Dinka Ranns committed -
2019-05-14 Paolo Carlini <paolo.carlini@oracle.com> PR preprocessor/90382 * decl.c (grokdeclarator): Fix value assigned to typespec_loc, use min_location. 2019-05-14 Paolo Carlini <paolo.carlini@oracle.com> PR preprocessor/90382 * g++.dg/diagnostic/trailing1.C: New test. From-SVN: r271164
Paolo Carlini committed -
2019-05-14 Martin Liska <mliska@suse.cz> PR preprocessor/90382 * line-map.c (first_map_in_common_1): Handle ADHOC locations. From-SVN: r271163
Martin Liska committed -
2019-05-14 Martin Liska <mliska@suse.cz> PR preprocessor/90382 * include/line-map.h (get_data_from_adhoc_loc): Add const to the first argument. (get_location_from_adhoc_loc): Likewise. * line-map.c(get_data_from_adhoc_loc): Add const to the first argument. (get_location_from_adhoc_loc): Likewise. (get_combined_adhoc_loc): Use get_location_from_adhoc_loc (or get_data_from_adhoc_loc). (get_range_from_adhoc_loc): Likewise. (get_pure_location): Likewise. (linemap_position_for_loc_and_offset): Likewise. (linemap_lookup): Likewise. (linemap_ordinary_map_lookup): Likewise. (linemap_macro_map_lookup): Likewise. (linemap_get_expansion_line): Likewise. (linemap_get_expansion_filename): Likewise. (linemap_location_in_system_header_p): Likewise. (linemap_location_from_macro_expansion_p): Likewise. (linemap_macro_loc_to_exp_point): Likewise. (linemap_resolve_location): Likewise. (linemap_unwind_toward_expansion): Likewise. (linemap_unwind_to_first_non_reserved_loc): Likewise. (linemap_expand_location): Likewise. (linemap_dump_location): Likewise. From-SVN: r271162
Martin Liska committed -
* testsuite/util/testsuite_allocator.h (memory_resource) (default_resource_mgr): Fix indentation. From-SVN: r271161
Jonathan Wakely committed -
* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc: Use operator-> to access raw pointer member. * testsuite/23_containers/vector/59829.cc: Likewise. * testsuite/23_containers/vector/bool/80893.cc: Likewise. * testsuite/libstdc++-prettyprinters/cxx11.cc: Use NullablePointer. * testsuite/util/testsuite_allocator.h (NullablePointer): New utility for tests. (PointerBase, PointerBase_void): Derive from NullablePointer and use its constructors and equality operators. Change converting constructors to use operator-> to access private member of the other pointer type. (PointerBase_void::operator->()): Add, for access to private member. (operator-(PointerBase, PointerBase)): Change to hidden friend. (operator==(PointerBase, PointerBase)): Remove. (operator!=(PointerBase, PointerBase)): Remove. From-SVN: r271160
Jonathan Wakely committed -
The printer was confused when unique_ptr<T,D>::pointer is an empty class, or the deleter is not empty. Instead of assuming the tuple has a single _M_head_impl member manually inspect the tuple base classes to get the first element. * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Do not assume field called _M_head_impl is the first tuple element. * testsuite/libstdc++-prettyprinters/compat.cc: Make tuple implementation more accurate. * testsuite/libstdc++-prettyprinters/cxx11.cc: Check unique_ptr with empty pointer type and non-empty deleter. From-SVN: r271159
Jonathan Wakely committed -
* include/bits/unique_ptr.h (__uniq_ptr_impl): Add move constructor, move assignment operator. (__uniq_ptr_impl::release(), __uniq_ptr_impl::reset(pointer)): Add. (__uniq_ptr_data): New class template with conditionally deleted special members. (unique_ptr, unique_ptr<T[], D>): Change type of data member from __uniq_ptr_impl<T, D> to __uniq_ptr_data<T, D>. Define move constructor and move assignment operator as defaulted. (unique_ptr::release(), unique_ptr<T[], D>::release()): Forward to __uniq_ptr_impl::release(). (unique_ptr::reset(pointer), unique_ptr<T[], D>::reset<U>(U)): Forward to __uniq_ptr_impl::reset(pointer). * python/libstdcxx/v6/printers.py (UniquePointerPrinter.__init__): Check for new __uniq_ptr_data type. * testsuite/20_util/unique_ptr/dr2899.cc: New test. From-SVN: r271158
Jonathan Wakely committed -
2019-05-14 marxin <mliska@suse.cz> PR middle-end/90340 * gcc.dg/tree-ssa/pr90340-2.c: Add case-values-threshold param. From-SVN: r271156
Martin Liska committed -
2019-05-14 Richard Biener <rguenther@suse.de> H.J. Lu <hongjiu.lu@intel.com> PR tree-optimization/88828 * tree-ssa-forwprop.c (simplify_vector_constructor): Handle permuting in a single non-constant element not extracted from a vector. * gcc.target/i386/pr88828-1.c: New test. * gcc.target/i386/pr88828-1a.c: Likewise. * gcc.target/i386/pr88828-1b.c: Likewise. * gcc.target/i386/pr88828-1c.c: Likewise. * gcc.target/i386/pr88828-4a.c: Likewise. * gcc.target/i386/pr88828-4b.c: Likewise. * gcc.target/i386/pr88828-5a.c: Likewise. * gcc.target/i386/pr88828-5b.c: Likewise. * gcc.target/i386/pr88828-7.c: Likewise. * gcc.target/i386/pr88828-7a.c: Likewise. * gcc.target/i386/pr88828-7b.c: Likewise. * gcc.target/i386/pr88828-8.c: Likewise. * gcc.target/i386/pr88828-8a.c: Likewise. * gcc.target/i386/pr88828-8b.c: Likewise. * gcc.target/i386/pr88828-9.c: Likewise. * gcc.target/i386/pr88828-9a.c: Likewise. * gcc.target/i386/pr88828-9b.c: Likewise. Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com> From-SVN: r271153
Richard Biener committed -
gcc/ * internal-fn.def (SIGNBIT): New. * config/aarch64/aarch64-simd.md (signbitv2sf2): New expand defined. (signbitv4sf2): Likewise. gcc/testsuite/ * gcc.target/aarch64/signbitv4sf.c: New test. * gcc.target/aarch64/signbitv2sf.c: New test. From-SVN: r271149
Przemyslaw Wirkus committed -
PR target/90357 gcc/ * config/mips/mips.c (mips_split_move): Skip forward SRC into next insn when the SRC reg is dead. From-SVN: r271146
Chenghua Xu committed
-