aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-11-14ipa-split.c (struct split_point): Add count.Jan Hubicka5-17/+71
* ipa-split.c (struct split_point): Add count. (consider_split): Do not compute incoming frequency; compute incoming count and store it to split_point. (split_function): Set count of the call to split part correctly. * testsuite/gcc.dg/tree-ssa/fnsplit-2.c: New testcase. From-SVN: r254720
2017-11-14re PR fortran/78240 (ICE in match_clist_expr, at fortran/decl.c:728)Fritz Reese6-14/+70
2017-11-13 Fritz Reese <fritzoreese@gmail.com> PR fortran/78240 gcc/fortran/ChangeLog: PR fortran/78240 * decl.c (match_clist_expr): Replace gcc_assert with proper handling of bad result from spec_size(). * resolve.c (check_data_variable): Avoid NULL dereference when passing locus to gfc_error. gcc/testsuite/ChangeLog: PR fortran/78240 * gfortran.dg/dec_structure_23.f90: New. * gfortran.dg/pr78240.f90: New. From-SVN: r254718
2017-11-14Daily bump.GCC Administrator1-1/+1
From-SVN: r254717
2017-11-13altivec.md (altivec_vsumsws_be): Add define_expand.Carl Love4-0/+25
gcc/ChangeLog: 2017-11-13 Carl Love <cel@us.ibm.com> * config/rs6000/altivec.md (altivec_vsumsws_be): Add define_expand. gcc/testsuite/ChangeLog: 2017-11-13 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtin-vec-sums-be-int.c: New test file. From-SVN: r254714
2017-11-13Capture adjustments for P0588R1.Jason Merrill10-150/+68
* semantics.c (process_outer_var_ref): Capture variables when they are named; complain about non-capture uses when odr-used. * expr.c (mark_use): Rvalue use looks through capture proxy. * constexpr.c (potential_constant_expression_1): Improve error about use of captured variable. * lambda.c (need_generic_capture, dependent_capture_r) (do_dependent_capture, processing_nonlambda_template): Remove. * call.c (build_this): Remove uses of the above. * decl.c (cp_finish_decl): Likewise. * semantics.c (maybe_cleanup_point_expr) (maybe_cleanup_point_expr_void, finish_goto_stmt) (maybe_convert_cond): Likewise. * typeck.c (check_return_expr): Likewise. From-SVN: r254713
2017-11-13Defer folding of *&.Jason Merrill14-66/+94
* typeck.c (cp_build_fold_indirect_ref): New. (cp_build_indirect_ref_1): Split out from cp_build_indirect_ref. Add 'fold' parameter. * cp-tree.h: Declare cp_build_fold_indirect_ref. * call.c, class.c, cp-ubsan.c, decl.c, except.c, init.c, lambda.c, parser.c, rtti.c, tree.c, typeck.c, typeck2.c: Use it. * parser.c (do_range_for_auto_deduction): Use RO_UNARY_STAR. (cp_convert_range_for): Likewise. * typeck2.c (build_x_arrow): Use RO_ARROW. From-SVN: r254712
2017-11-13Fix cp-ubsan typo.Jason Merrill2-1/+4
* cp-ubsan.c (cp_ubsan_check_member_access_r): Fix handling of INDIRECT_REF of ADDR_EXPR. From-SVN: r254711
2017-11-13PR c++/82360 - ICE with static_cast in template.Jason Merrill4-1/+45
* call.c (perform_direct_initialization_if_possible): Check processing_template_decl. * typeck.c (build_static_cast_1): Likewise. From-SVN: r254710
2017-11-13Implement __VA_OPT__Tom Tromey14-34/+369
This implements __VA_OPT__, a new preprocessor feature added in C++2A. The paper can be found here: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0306r4.html gcc/ChangeLog * doc/cpp.texi (Variadic Macros): Document __VA_OPT__. gcc/testsuite/ChangeLog * c-c++-common/cpp/va-opt-pedantic.c: New file. * c-c++-common/cpp/va-opt.c: New file. * c-c++-common/cpp/va-opt-error.c: New file. libcpp/ChangeLog * pch.c (cpp_read_state): Set n__VA_OPT__. * macro.c (vaopt_state): New class. (_cpp_arguments_ok): Check va_opt flag. (replace_args, create_iso_definition): Use vaopt_state. * lex.c (lex_identifier_intern): Possibly issue errors for __VA_OPT__. (lex_identifier): Likewise. (maybe_va_opt_error): New function. * internal.h (struct lexer_state) <va_args_ok>: Update comment. (struct spec_nodes) <n__VA_OPT__>: New field. * init.c (struct lang_flags) <va_opt>: New field. (lang_defaults): Add entries for C++2A. Update all entries for va_opt. (cpp_set_lang): Initialize va_opt. * include/cpplib.h (struct cpp_options) <va_opt>: New field. * identifiers.c (_cpp_init_hashtable): Initialize n__VA_OPT__. From-SVN: r254707
2017-11-13rs6000-c.c (altivec_overloaded_builtins): Add support for builtins...Carl Love9-6/+1369
gcc/ChangeLog: 2017-11-13 Carl Love <cel@us.ibm.com> * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add support for builtins: unsigned int vec_first_{,miss}_match_{,or_eos}index, vector {un,}signed {char,int,short}, vector {un,}signed {char,int,short}) arguments. * config/rs6000/rs6000-builtin.def (VFIRSTMATCHINDEX, VFIRSTMATCHOREOSINDEX, VFIRSTMISMATCHINDEX, VFIRSTMISMATCHOREOSINDEX): Add BU_P9V_AV_2 expansions for the builtins. * config/rs6000/altivec.h (vec_first_match_index, vec_first_mismatch_index, vec_first_match_or_eos_index, vec_first_mismatch_or_eos_index): Add #defines for the builtins. * config/rs6000/rs6000-protos.h (bytes_in_mode): Add new extern declaration. * config/rs6000/rs6000.c (bytes_in_mode): Add new function. * config/rs6000/vsx.md (first_match_index_<mode>, first_match_or_eos_index_<mode>, first_mismatch_index_<mode>, first_mismatch_or_eos_index_<mode>): Add define expand. (vctzlsbb_<mode>): Add mode field to define_insn for vctzlsbb. * doc/extend.texi: Update the built-in documenation file for the new built-in functions. gcc/testsuite/ChangeLog: 2017-11-13 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/builtins-6-p9-runnable.c: Add new runnable test. * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Update expected error message. From-SVN: r254704
2017-11-13libcpp: move line typedef and column-numbering comment to top of fileDavid Malcolm2-23/+28
The description of our 1-based column-numbering convention was in a non-obvious place withn line-map.h; this patch moves it to the top of that header. libcpp/ChangeLog: * include/line-map.h (linenum_type): Move this typedef and the comment describing column numbering to near the top of the file. From-SVN: r254703
2017-11-13match.pd: Convert fminf<N>...Michael Meissner4-4/+34
[gcc] 2017-11-13 Michael Meissner <meissner@linux.vnet.ibm.com> * match.pd: Convert fminf<N>, fminf<N>x, fmax<N>, and fmax<N>x into the min/max operations for _Float<N> and _Float<N>X types. [gcc/testsuite] 2017-11-13 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/float128-minmax.c: New test. From-SVN: r254702
2017-11-13re PR lto/81351 (Many LTO testcases FAIL)Eric Botcazou2-1/+15
PR lto/81351 * dwarf2out.c (do_eh_frame): New static variable. (dwarf2out_begin_prologue): Set it. (dwarf2out_frame_finish): Test it instead of dwarf2out_do_eh_frame. From-SVN: r254700
2017-11-13* tree-ssa-coalesce.c (coalesce_cost): Fix formating.Jan Hubicka2-1/+4
From-SVN: r254699
2017-11-13* tree-ssa-sink.c (select_best_block): Do not use frequencies.Jan Hubicka2-2/+8
From-SVN: r254698
2017-11-13re PR lto/81351 (Many LTO testcases FAIL)Eric Botcazou6-82/+38
PR lto/81351 * debug.h (dwarf2out_do_eh_frame): Declare. * dwarf2cfi.c (dwarf2out_do_eh_frame): New predicate. (dwarf2out_do_frame): Use it. (dwarf2out_do_cfi_asm): Likewise. * dwarf2out.c (dwarf2out_frame_finish): Likewise. (dwarf2out_assembly_start): Likewise. (dwarf2out_begin_prologue): Fix comment. * toplev.c (compile_file): Always call dwarf2out_frame_finish if the target needs either debug or unwind DWARF2 info. * lto-opts.c (lto_write_options): Do not save -fexceptions, -fnon-call-exceptions, -ffp-contract, -fmath-errno, -fsigned-zeros, -ftrapping-math, -ftrapv and -fwrapv. From-SVN: r254697
2017-11-13cgraph.c (cgraph_edge::sreal_frequency): New function.Jan Hubicka7-15/+79
* cgraph.c (cgraph_edge::sreal_frequency): New function. * cgraph.h (cgraph_edge::sreal_frequency): Declare. * ipa-fnsummary.c (dump_ipa_call_summary): Use sreal_frequency. (estimate_edge_size_and_time): Likewise. (ipa_merge_fn_summary_after_inlining): Likewise. * ipa-inline.c (cgraph_freq_base_rec): Remove. (compute_uninlined_call_time): Use sreal_frequency. (compute_inlined_call_time): Likewise. (ipa_inline): Do not initialize cgraph_freq_base_rec. * profile-count.c: Include sreal.h. (profile_count::to_sreal_scale): New. * profile-count.h: Forward declare sreal. (profile_count::to_sreal_scale): Declare. From-SVN: r254696
2017-11-13Remove the null check from placement new in all modesVille Voutilainen7-10/+39
gcc/cp/ Remove the null check from placement new in all modes * init.c (build_new_1): Don't do a null check for a namespace-scope non-replaceable placement new in any mode unless -fcheck-new is provided. testsuite/ Remove the null check from placement new in all modes * g++.dg/init/pr35878_1.C: Adjust. * g++.dg/init/pr35878_4.C: New. * g++.dg/torture/pr48695.C: Adjust. * g++.dg/tree-ssa/pr31146-2.C: Likewise. * g++.dg/tree-ssa/pr41428.C: Adjust. From-SVN: r254694
2017-11-13[ARM] Fix more -Wreturn-type fallout (gcc.target/arm/pr67989.C).Christophe Lyon2-1/+7
2017-11-13 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/pr67989.C: Add -Wno-return-type to dg-additional-options. From-SVN: r254692
2017-11-13[Diagnostic Patch] don't print column zeroNathan Sidwell51-438/+520
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01911.html * diagnostic.c (maybe_line_and_column): New. (diagnostic_get_location_text): Use it. (diagnostic_report_current_module): Likewise. (test_diagnostic_get_location_text): Add tests. * lib/gcc-dg.exp (process-message): Use -: for no column. * c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: Mark elided column messages. * c-c++-common/cpp/pr58844-1.c: Likewise. * c-c++-common/cpp/pr58844-2.c: Likewise. * c-c++-common/cpp/warning-zero-location.c: Likewise. * g++.dg/diagnostic/pr77949.C: Likewise. * g++.dg/gomp/macro-4.C: Likewise. * gcc.dg/Wunknownprag.c: Likewise. * gcc.dg/builtin-redefine.c: Likewise. * gcc.dg/cpp/Wunknown-pragmas-1.c: Likewise. * gcc.dg/cpp/Wunused.c: Likewise. * gcc.dg/cpp/misspelled-directive-1.c: Likewise. * gcc.dg/cpp/redef2.c: Likewise. * gcc.dg/cpp/redef3.c: Likewise. * gcc.dg/cpp/redef4.c: Likewise. * gcc.dg/cpp/trad/Wunused.c: Likewise. * gcc.dg/cpp/trad/argcount.c: Likewise. * gcc.dg/cpp/trad/comment-3.c: Likewise. * gcc.dg/cpp/trad/comment.c: Likewise. * gcc.dg/cpp/trad/defined.c: Likewise. * gcc.dg/cpp/trad/directive.c: Likewise. * gcc.dg/cpp/trad/funlike-3.c: Likewise. * gcc.dg/cpp/trad/funlike.c: Likewise. * gcc.dg/cpp/trad/literals-2.c: Likewise. * gcc.dg/cpp/trad/macro.c: Likewise. * gcc.dg/cpp/trad/pr65238-4.c: Likewise. * gcc.dg/cpp/trad/recurse-1.c: Likewise. * gcc.dg/cpp/trad/recurse-2.c: Likewise. * gcc.dg/cpp/trad/redef2.c: Likewise. * gcc.dg/cpp/ucnid-11.c: Likewise. * gcc.dg/cpp/unc1.c: Likewise. * gcc.dg/cpp/unc2.c: Likewise. * gcc.dg/cpp/unc3.c: Likewise. * gcc.dg/cpp/unc4.c: Likewise. * gcc.dg/cpp/undef2.c: Likewise. * gcc.dg/cpp/warn-redefined-2.c: Likewise. * gcc.dg/cpp/warn-redefined.c: Likewise. * gcc.dg/cpp/warn-unused-macros-2.c: Likewise. * gcc.dg/cpp/warn-unused-macros.c: Likewise. * gcc.dg/empty-source-2.c: Likewise. * gcc.dg/empty-source-3.c: Likewise. * gcc.dg/gomp/macro-4.c: Likewise. * gcc.dg/noncompile/pr35447-1.c: Likewise. * gcc.dg/plugin/location-overflow-test-1.c: Likewise. * gcc.dg/pr20245-1.c: Likewise. * gcc.dg/pr28419.c: Likewise. * gcc.dg/rtl/truncated-rtl-file.c: Likewise. * gcc.dg/unclosed-init.c: Likewise. From-SVN: r254691
2017-11-13ieee_8.f90: xfail for aarch64*-*-gnu*Charles Baylis2-1/+5
gcc/testsuite/ChangeLog: 2017-11-13 Charles Baylis <charles.baylis@linaro.org> * gfortran.dg/ieee/ieee_8.f90: xfail for aarch64*-*-gnu* From-SVN: r254689
2017-11-13[Documentation] Fix latency in pipeline description exampleLuis Machado2-2/+7
2017-11-09 Luis Machado <luis.machado@linaro.org> gcc/ * doc/md.texi (Specifying processor pipeline description): Fix incorrect latency for the div instruction example. From-SVN: r254680
2017-11-13re PR tree-optimization/78821 (GCC7: Copying whole 32 bits structure field ↵Jakub Jelinek4-18/+175
by field not optimised into copying whole 32 bits at once) PR tree-optimization/78821 * gimple-ssa-store-merging.c (compatible_load_p): Don't require that bit_not_p is the same. (imm_store_chain_info::coalesce_immediate_stores): Likewise. (split_group): Count precisely bit_not_p bits in each statement. (invert_op): New function. (imm_store_chain_info::output_merged_store): Use invert_op to emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some but not all orig_stores have BIT_NOT_EXPR in the corresponding spots. * gcc.dg/store_merging_15.c: New test. From-SVN: r254679
2017-11-13GCOV: remove typedef of coverage_t.Martin Liska2-12/+22
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (struct coverage_info): Remove typedef of coverage_t. (struct source_info): Likewise. (add_branch_counts): Likewise. (add_line_counts): Likewise. (function_summary): Likewise. (output_intermediate_line): Likewise. (generate_results): Likewise. From-SVN: r254678
2017-11-13GCOV: remove typedef for block_tMartin Liska2-26/+43
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (struct block_info): Remove typedef for block_t. (struct line_info): Likewise. (line_info::has_block): Likewise. (EXIT_BLOCK): Likewise. (unblock): Likewise. (circuit): Likewise. (get_cycles_count): Likewise. (process_file): Likewise. (read_graph_file): Likewise. (solve_flow_graph): Likewise. (find_exception_blocks): Likewise. (add_line_counts): Likewise. (accumulate_line_info): Likewise. (output_line_details): Likewise. From-SVN: r254677
2017-11-13GCOV: remove typedef for arc_tMartin Liska2-29/+46
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (struct arc_info): Remove typedef for arc_t. (struct line_info): Likewise. (add_branch_counts): Likewise. (output_branch_count): Likewise. (function_info::~function_info): Likewise. (circuit): Likewise. (output_intermediate_line): Likewise. (read_graph_file): Likewise. (solve_flow_graph): Likewise. (find_exception_blocks): Likewise. (add_line_counts): Likewise. (accumulate_line_info): Likewise. (output_line_details): Likewise. (output_function_details): Likewise. From-SVN: r254676
2017-11-13GCOV: remove typedef for function_tMartin Liska2-35/+52
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (struct function_info): Remove typedef for function_t. (struct source_info): Likewise. (source_info::get_functions_at_location): Likewise. (solve_flow_graph): Likewise. (find_exception_blocks): Likewise. (add_line_counts): Likewise. (output_intermediate_file): Likewise. (process_file): Likewise. (generate_results): Likewise. (release_structures): Likewise. (read_graph_file): Likewise. (read_count_file): Likewise. (accumulate_line_counts): Likewise. (output_lines): Likewise. From-SVN: r254675
2017-11-13GCOV: introduce vector for function_info::counts.Martin Liska2-13/+18
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (function_info::function_info): Remove num_counts and add vector<gcov_type>. (function_info::~function_info): Use the vector. (process_file): Likewise. (read_graph_file): Likewise. (read_count_file): Likewise. (solve_flow_graph): Likewise. From-SVN: r254674
2017-11-13GCOV: simplify usage of function_info::artificial.Martin Liska2-26/+47
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (function_info::is_artificial): New function. (process_file): Erase all artificial early. (generate_results): Skip as all artificial are already removed. From-SVN: r254673
2017-11-13GCOV: introduce global vector of functionsMartin Liska2-66/+52
2017-11-13 Martin Liska <mliska@suse.cz> * gcov.c (read_graph_file): Store to global vector of functions. (read_count_file): Iterate the vector. (process_file): Likewise. (generate_results): Likewise. (release_structures): Likewise. From-SVN: r254672
2017-11-13re PR tree-optimization/82954 (ICE in fold_binary_loc, at fold-const.c:9061)Jakub Jelinek4-4/+40
PR tree-optimization/82954 * gimple-ssa-store-merging.c (imm_store_chain_info::coalesce_immediate_stores): If !infof->ops[N].base_addr, split group if info->ops[N].base_addr. * gcc.c-torture/execute/pr82954.c: New test. From-SVN: r254671
2017-11-13[AArch64] More aarch64_endian_lane_rtxRichard Sandiford2-10/+18
r254466 failed to update some uses of ENDIAN_LANE_N that were added after the patch was initially written, which meant that we were treating the mode number as an element count. 2017-11-13 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>): Upddate call to ENDIAN_LANE_N. (aarch64_<sur>dot_lane<vsi2qi>): Use aarch64_endian_lane_rtx. (aarch64_<sur>dot_laneq<vsi2qi>): Likewise. (*aarch64_simd_vec_copy_lane<mode>): Update calls to ENDIAN_LANE_N and use aarch64_endian_lane_rtx. (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise. From-SVN: r254670
2017-11-13Daily bump.GCC Administrator1-1/+1
From-SVN: r254669
2017-11-12[riscv] Wrap ASM_OUTPUT_LABELREF in do {} while (0)Tom de Vries2-6/+13
2017-11-12 Tom de Vries <tom@codesourcery.com> * config/riscv/riscv.h (ASM_OUTPUT_LABELREF): Wrap in do {} while (0). From-SVN: r254666
2017-11-12Remove semicolon after ASM_OUTPUT_ASCIITom de Vries2-1/+5
2017-11-12 Tom de Vries <tom@codesourcery.com> * config/elfos.h (ASM_OUTPUT_ASCII): Remove semicolon after macro body. From-SVN: r254665
2017-11-12[cr16, powerpcspe, rs6000] Remove semicolon after ASM_OUTPUT_LABELREF macro bodyTom de Vries5-4/+12
2017-11-12 Tom de Vries <tom@codesourcery.com> * config/cr16/cr16.h (ASM_OUTPUT_LABELREF): Remove semicolon after macro body. * config/powerpcspe/xcoff.h (ASM_OUTPUT_LABELREF): Same. * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Same. * defaults.h (ASM_OUTPUT_LABELREF): Same. From-SVN: r254664
2017-11-12Daily bump.GCC Administrator1-1/+1
From-SVN: r254663
2017-11-11re PR fortran/82932 ([OOP] ICE in update_compcall_arglist, at ↵Janus Weil4-1/+60
fortran/resolve.c:5837) 2017-11-11 Janus Weil <janus@gcc.gnu.org> PR fortran/82932 * resolve.c (update_compcall_arglist): Improve error recovery, remove a gcc_assert. 2017-11-11 Janus Weil <janus@gcc.gnu.org> PR fortran/82932 * gfortran.dg/typebound_call_29.f90: New test. From-SVN: r254660
2017-11-11re PR c/81117 (Improve buffer overflow checking in strncpy)Martin Sebor2-1/+4
gcc/ChangeLog: PR c/81117 * doc/extend.texi (attribute nonstring): Remove spurious argument. From-SVN: r254659
2017-11-11PR bootstrap/82948 - prefix.c:202:15: error: 'char* strncpy(char*, const char*,Martin Sebor2-1/+7
size_t)' destination unchanged after copying no bytes gcc/ChangeLog: PR bootstrap/82948 * prefic.c (translate_name): Replace strncpy with memcpy to avoid -Wstringop-truncation. From-SVN: r254658
2017-11-11Add forgotten tests.Kirill Yukhin2-0/+91
From-SVN: r254657
2017-11-11* tree-ssa-loop-im.c (execute_sm_if_changed): Do not compute freq_sum.Jan Hubicka2-2/+4
From-SVN: r254653
2017-11-11* predict.c (maybe_hot_frequency_p): Do not use cfun.Jan Hubicka1-2/+2
From-SVN: r254652
2017-11-11* predict.c (maybe_hot_frequency_p): Do not use cfun.Jan Hubicka1-0/+4
From-SVN: r254651
2017-11-11tree-ssa-tail-merge.c (replace_block_by): Fix and re-enable profile merging.Jan Hubicka2-42/+28
* tree-ssa-tail-merge.c (replace_block_by): Fix and re-enable profile merging. From-SVN: r254650
2017-11-11Remove ada/ prefixEric Botcazou1-2/+2
From-SVN: r254649
2017-11-11re PR fortran/82886 (ICE with -finit-derived in gfc_conv_expr, at ↵Fritz Reese6-13/+81
fortran/trans-expr.c:7807) 2017-11-10 Fritz Reese <fritzoreese@gmail.com> PR fortran/82886 gcc/fortran/ChangeLog: PR fortran/82886 * gfortran.h (gfc_build_init_expr): New prototype. * invoke.texi (finit-derived): Update documentation. * expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr. (gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false) (component_initializer): Force building initializers using gfc_build_init_expr(,,true). gcc/testsuite/ChangeLog: PR fortran/82886 * gfortran.dg/init_flag_16.f03: New testcase. From-SVN: r254648
2017-11-11Daily bump.GCC Administrator1-1/+1
From-SVN: r254647
2017-11-11Minor tweak to libstdc++ testsuite helper typeJonathan Wakely2-1/+3
* testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept. From-SVN: r254644
2017-11-10rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the ↵Michael Meissner4-14/+152
value is in a vector register. [gcc] 2017-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems, enable generating XXBRH if the value is in a vector register. (bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the value is in a vector register. (bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do register to register bswap64's instead of doing the GPR sequence used on previous machines. (bswapdi2_xxbrd): New insn. (bswapdi2_reg): Disallow on ISA 3.0. (register to register bswap64 splitter): Do not split the insn on ISA 3.0 systems that use XXBRD. [gcc/testsuite] 2017-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-xxbr-3.c: New test. From-SVN: r254643