1. 29 Jun, 2018 11 commits
    • re PR c++/86184 (Conditional expression with omitted operand cannot use rvalue… · dd2a4498
      re PR c++/86184 (Conditional expression with omitted operand cannot use rvalue of type convertible to bool)
      
      	PR c++/86184
      	* tree.c (cp_save_expr): Don't call save_expr for TARGET_EXPRs.
      
      	* g++.dg/ext/cond3.C: New test.
      
      From-SVN: r262254
      Marek Polacek committed
    • When using -fprofile-generate=/some/path mangle absolute path of file (PR lto/85759). · 1f2bb38a
      2018-06-29  Martin Liska  <mliska@suse.cz>
      
      	PR lto/85759
      	* coverage.c (coverage_init): Mangle full path name.
      	* doc/invoke.texi: Document the change.
      	* gcov-io.c (mangle_path): New.
      	* gcov-io.h (mangle_path): Likewise.
      	* gcov.c (mangle_name): Use mangle_path for path mangling.
      
      From-SVN: r262251
      Martin Liska committed
    • [arm] Avoid STRD with odd register for TARGET_ARM in output_move_double · 52057dc4
      In this testcase the user forces an odd register as the starting reg for a DFmode value.
      The output_move_double function tries to store that using an STRD instruction.
      But for TARGET_ARM the starting register of an STRD must be an even one.
      This is always the case with compiler-allocated registers for DFmode values, but the
      inline assembly forced our hand here.
      
      This patch  restricts the STRD-emitting logic in output_move_double to not avoid
      odd-numbered source registers in STRD.
      I'm not a fan of the whole function, we should be exposing a lot of the logic in there
      to RTL rather than at the final output stage, but that would need to be fixed separately.
      
      	* config/arm/arm.c (output_move_double): Don't allow STRD instructions
      	if starting source register is not even.
      
      	* gcc.target/arm/arm-soft-strd-even.c: New test.
      
      From-SVN: r262250
      Kyrylo Tkachov committed
    • contrib: introduce Vim addon directory, add match.pd syntax plugin · b33aa720
      	* vim-gcc-dev/README: New file.
      	* vim-gcc-dev/ftdetect/gcc-dev.vim: New file.
      	* vim-gcc-dev/syntax/gcc-match.vim: New file.
      	* gimple.vim: Move under vim-gcc-dev/syntax/.
      	* gcc-rtl.vim: Likewise.
      
      From-SVN: r262249
      Alexander Monakov committed
    • [testsuite/guality] Use line number vars in gdb-test · 8864590b
      2018-06-29  Tom de Vries  <tdevries@suse.de>
      
      	* gcc.dg/guality/pr45882.c (foo): Add line number var for breakpoint
      	line, and use it.
      	* lib/gcc-dg.exp (get-absolute-line): Factor out of ...
      	(process-message): ... here.
      	* lib/gcc-gdb-test.exp (gdb-test): Use get-absolute-line.
      
      From-SVN: r262248
      Tom de Vries committed
    • Fix bit-test expansion for single cluster (PR tree-optimization/86263). · 3f10efd4
      2018-06-29  Martin Liska  <mliska@suse.cz>
      
              PR tree-optimization/86263
      	* tree-switch-conversion.c (switch_decision_tree::try_switch_expansion):
              Make edge redirection.
      2018-06-29  Martin Liska  <mliska@suse.cz>
      
              PR tree-optimization/86263
      	* gcc.dg/tree-ssa/pr86263.c: New test.
      
      From-SVN: r262247
      Martin Liska committed
    • dumpfile.c: add indentation via DUMP_VECT_SCOPE · 6475e077
      This patch adds a concept of nested "scopes" to dumpfile.c's dump_*_loc
      calls, and wires it up to the DUMP_VECT_SCOPE macro in tree-vectorizer.h,
      so that the nested structure is shown in -fopt-info by indentation.
      
      For example, this converts -fopt-info-all e.g. from:
      
      test.c:8:3: note: === analyzing loop ===
      test.c:8:3: note: === analyze_loop_nest ===
      test.c:8:3: note: === vect_analyze_loop_form ===
      test.c:8:3: note: === get_loop_niters ===
      test.c:8:3: note: symbolic number of iterations is (unsigned int) n_9(D)
      test.c:8:3: note: not vectorized: loop contains function calls or data references that cannot be analyzed
      test.c:8:3: note: vectorized 0 loops in function
      
      to:
      
      test.c:8:3: note: === analyzing loop ===
      test.c:8:3: note:  === analyze_loop_nest ===
      test.c:8:3: note:   === vect_analyze_loop_form ===
      test.c:8:3: note:    === get_loop_niters ===
      test.c:8:3: note:   symbolic number of iterations is (unsigned int) n_9(D)
      test.c:8:3: note:   not vectorized: loop contains function calls or data references that cannot be analyzed
      test.c:8:3: note: vectorized 0 loops in function
      
      showing that the "symbolic number of iterations" message is within
      the "=== analyze_loop_nest ===" (and not within the
      "=== vect_analyze_loop_form ===").
      
      This is also enabling work for followups involving optimization records
      (allowing the records to directly capture the nested structure of the
      dump messages).
      
      gcc/ChangeLog:
      	* dumpfile.c (dump_loc): Add indentation based on scope depth.
      	(dump_scope_depth): New variable.
      	(get_dump_scope_depth): New function.
      	(dump_begin_scope): New function.
      	(dump_end_scope): New function.
      	* dumpfile.h (get_dump_scope_depth): New declaration.
      	(dump_begin_scope): New declaration.
      	(dump_end_scope): New declaration.
      	(class auto_dump_scope): New class.
      	(AUTO_DUMP_SCOPE): New macro.
      	* tree-vectorizer.h (DUMP_VECT_SCOPE): Reimplement in terms of
      	AUTO_DUMP_SCOPE.
      
      From-SVN: r262246
      David Malcolm committed
    • Add whitespace to some dejagnu directives in libstdc++ tests · 6fdce073
      	* testsuite/20_util/add_rvalue_reference/requirements/alias_decl.cc:
      	Add whitespace to dejagnu directive.
      	* testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
      
      From-SVN: r262245
      Jonathan Wakely committed
    • tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Assert compute_all_dependences succeeds. · c2fd033c
      2018-06-29  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Assert
      	compute_all_dependences succeeds.
      	* tree-vect-loop.c (vect_get_datarefs_in_loop): Fail early if we
      	exceed --param loop-max-datarefs-for-datadeps.
      
      From-SVN: r262244
      Richard Biener committed
    • * config/rs6000/t-rs6000: Append rs6000-modes.h to TM_H. · 13510152
      From-SVN: r262241
      Jakub Jelinek committed
    • Daily bump. · d0c1b377
      From-SVN: r262240
      GCC Administrator committed
  2. 28 Jun, 2018 26 commits
    • C++: less verbose error-recovery for version conflict markers · eacb16dc
      gcc/cp/ChangeLog:
      	* parser.c (cp_parser_error_1): After issuing a conflict marker
      	error, consume tokens until the end of the source line.
      
      gcc/testsuite/ChangeLog:
      	* g++.dg/conflict-markers-2.C: New test.
      
      From-SVN: r262232
      David Malcolm committed
    • PR c++/86342 - -Wdeprecated-copy and system headers. · b8be1451
      	* decl2.c (cp_warn_deprecated_use): Don't warn about declarations
      	in system headers.
      
      From-SVN: r262231
      Jason Merrill committed
    • p9-extract-1.c: Add test case. · 02fa47a9
      gcc/testsuite/ChangeLog:
      
      2018-06-28  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/p9-extract-1.c: Add test case.
      	* gcc.target/builtins-3-p9-runnable.c: Add test case to match
      	name in ABI.
      
      From-SVN: r262230
      Carl Love committed
    • re PR target/86348 (ICE: in curr_insn_transform, at lra-constraints.c:3919:… · 81c8283f
      re PR target/86348 (ICE: in curr_insn_transform, at lra-constraints.c:3919: unable to generate reloads for: vec_extractv4si_0_zext_sse4)
      
      	PR target/86348
      	* config/i386/sse.md (*vec_extractv4si_0_zext_sse4): Use
      	alternative 0 in preferred_for_speed attribute.
      
      testsuite/ChangeLog:
      
      	PR target/86348
      	* gcc.target/i386/pr86348.c: New test.
      
      From-SVN: r262228
      Uros Bizjak committed
    • Fix insn length for pdp11 shift patterns. · 9cd1665b
      	* config/pdp11/pdp11-protos.h (pdp11_shift_length): New function.
      	* config/pdp11/pdp11.c (pdp11_shift_length): New function.
      	* config/pdp11/pdp11.h (ADJUST_INSN_LENGTH): Remove.
      	* config/pdp11/pdp11.md: Correct "length" attribute calculation
      	for shift insn patterns.
      
      From-SVN: r262227
      Paul Koning committed
    • re PR go/86343 (types built by GO share TYPE_FIELDS in unsupported way) · a0e8e630
      	PR go/86343
      	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
      	build_variant_type_copy rather than build_distinct_type_copy.
      
      From-SVN: r262225
      Ian Lance Taylor committed
    • [testsuite] Fix f16_mov_immediate_3.c · 42c5d121
      Fix and simplify the testcase so it generates dup even on latest trunk.
      
          testsuite/
      	* gcc.target/aarch64/f16_mov_immediate_3.c: Fix testcase.
      
      From-SVN: r262222
      Wilco Dijkstra committed
    • re PR fortran/82865 (Option -fdec collides with PDT) · 58b9de9e
      2018-06-28  Fritz Reese  <fritzoreese@gmail.com>
      
          gcc/fortran/ChangeLog:
      
      	PR fortran/82865
      	* decl.c (gfc_match_type): Refactor and check for PDT declarations.
      
          gcc/testsuite/ChangeLog:
      
      	PR fortran/82865
      	* gfortran.dg/dec_type_print_2.f03: New testcase.
      
      From-SVN: r262221
      Fritz Reese committed
    • Hide alt_dump_file within dumpfile.c · 29b54a9d
      This patch removes alt_dump_file from dumpfile.h, making it static
      within dumpfile.c.  This allows for changing how -fopt-info is
      implemented, and potentially adding other kinds of dump target, such
      as remarks or optimization records.
      
      Doing so requires changing the implementation of dump_enabled_p, so
      the patch changes this to a simple lookup of a boolean global, which
      is updated any time dump_file or alt_dump_file change.
      
      gcc/ChangeLog:
      	* cgraph.c (cgraph_node::get_body): Replace assignments to
      	"dump_file" with calls to set_dump_file.
      	* dumpfile.c (alt_dump_file): Make static, and group with...
      	(alt_flags): ...this definition.
      	(dumps_are_enabled): New variable.
      	(refresh_dumps_are_enabled): New function.
      	(set_dump_file): New function.
      	(set_alt_dump_file): New function.
      	(gcc::dump_manager::dump_start): Replace assignments to
      	"dump_file" and "alt_dump_file" with calls to set_dump_file and
      	set_alt_dump_file.
      	(gcc::dump_manager::dump_finish): Likewise.
      	* dumpfile.h (alt_dump_file): Delete decl.
      	(dumps_are_enabled): New variable decl.
      	(set_dump_file): New function decl.
      	(dump_enabled_p): Rewrite in terms of new "dumps_are_enabled"
      	global.
      	* tree-nested.c (lower_nested_functions): Replace assignments to
      	"dump_file" with calls to set_dump_file.
      
      From-SVN: r262220
      David Malcolm committed
    • tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the goto_locus of… · f601629c
      tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the goto_locus of each outgoing edge of each basic block.
      
      	* tree-cfg.c (verify_gimple_in_cfg): Call verify_location on the
      	goto_locus of each outgoing edge of each basic block.
      
      From-SVN: r262219
      Eric Botcazou committed
    • dwarf2out.c (decl_scope_table): Remove. · 291d3f4d
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (decl_scope_table): Remove.
      	(push_decl_scope): Likewise.
      	(pop_decl_scope): Likewise.
      	(gen_type_die_for_member): Do not call push/pop_decl_scope.
      	(gen_struct_or_union_type_die): Likewise.
      	(gen_tagged_type_die): Likewise.
      	(dwarf2out_init): Do not initialize decl_scope_table.
      	(dwarf2out_c_finalize): Do not free it.
      
      From-SVN: r262218
      Richard Biener committed
    • dwarf2out.c (gen_subprogram_die): Use is_unit_die when deciding whether to not re-use a DIE. · 4ece5af3
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (gen_subprogram_die): Use is_unit_die when
      	deciding whether to not re-use a DIE.
      
      From-SVN: r262217
      Richard Biener committed
    • * MAINTAINERS (write after approval): Add myself. · 8e236ddd
      From-SVN: r262216
      Jackson Woodruff committed
    • re PR c/55976 (-Werror=return-type should error on returning a value from a void function) · b62dc9ca
      2018-06-28  David Pagan  <dave.pagan@oracle.com>
      
      	PR c/55976
      	* gcc.dg/noncompile/pr55976-1.c: Add dg-prune-output for extraneous
      	message causing unexpected test FAIL.
      
      From-SVN: r262215
      David Pagan committed
    • Add missing header file inclusion. · 62bb4a4b
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* brigspec.c: Add missing header file inclusion.
      
      From-SVN: r262214
      Martin Liska committed
    • dwarf2out.c (gen_subprogram_die): Always re-use DIEs with an DW_AT_abstract_origin attribute. · 8a731f44
      2018-06-28  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (gen_subprogram_die): Always re-use DIEs with an
      	DW_AT_abstract_origin attribute.
      
      From-SVN: r262213
      Richard Biener committed
    • Come up with jump_table ratio constants used in jump_table_cluster. · 1aabb71d
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* tree-switch-conversion.c (jump_table_cluster::can_be_handled):
              Use newly introduced constants.
      	* tree-switch-conversion.h (struct jump_table_cluster):
              Define max_ratio_for_size and max_ratio_for_speed.
      
      From-SVN: r262212
      Martin Liska committed
    • Fix clustering algorithm in switch expansion. · df7c7974
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* tree-switch-conversion.c (jump_table_cluster::find_jump_tables):
              Add new checking assert to catch invalid state.
      	(jump_table_cluster::can_be_handled): Handle single case
              clusters.
      	(jump_table_cluster::is_beneficial): Bail out for such case.
      	(bit_test_cluster::find_bit_tests):
              Add new checking assert to catch invalid state.
      	(bit_test_cluster::can_be_handled): Handle single case
              clusters.
      	(bit_test_cluster::is_beneficial): Bail out for such case.
      	(switch_decision_tree::analyze_switch_statement):
              Fix comment.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/tree-ssa/switch-1.c: New test.
      
      From-SVN: r262211
      Martin Liska committed
    • Come up with new --completion option. · d86c7648
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* common.opt: Introduce -completion option.
      	* gcc.c (driver_handle_option): Handle it.
      	(driver::main): Print completions if completion
              is set.
      	* opt-suggestions.c (option_proposer::get_completions):
              New function.
      	(option_proposer::suggest_completion): Likewise.
      	(option_proposer::find_param_completions): Likewise.
      	(verify_autocompletions): Likewise.
      	(test_completion_valid_options): Likewise.
      	(test_completion_valid_params): Likewise.
      	(in_completion_p): Likewise.
      	(empty_completion_p): Likewise.
      	(test_completion_partial_match): Likewise.
      	(test_completion_garbage): Likewise.
      	(opt_proposer_c_tests): Likewise.
      	* opt-suggestions.h: Declare new functions.
      	* opts.c (common_handle_option): Handle OPT__completion_.
      	* selftest-run-tests.c (selftest::run_tests): Add
              opt_proposer_c_tests.
      	* selftest.c (assert_str_startswith): New.
      	* selftest.h (assert_str_startswith): Likewise.
      	(opt_proposer_c_tests): New.
      	(ASSERT_STR_STARTSWITH): Likewise.
      
      From-SVN: r262210
      Martin Liska committed
    • Makefile.in: Add opt-suggestions.o. · 98086b2b
      .
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Add opt-suggestions.o.
      	* gcc-main.c: Include opt-suggestions.h.
      	* gcc.c (driver::driver): Likewise.
      	(driver::~driver): Remove m_option_suggestions.
      	(driver::build_option_suggestions): Moved to option_proposer.
      	(driver::suggest_option): Likewise.
      	(driver::handle_unrecognized_options): Use option_proposer.
      	* gcc.h (class driver): Add new memver m_option_proposer.
      	* opt-suggestions.c: New file.
      	* opt-suggestions.h: New file.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* cppspec.c: Include opt-suggestions.h.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* gfortranspec.c: Include opt-suggestions.h.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* jit-playback.c: Include opt-suggestions.h.
      
      From-SVN: r262209
      Martin Liska committed
    • Introduce auto_string_vec class. · 3de37a5d
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* vec.h (class auto_string_vec): New (moved from auto_argvec).
      	(auto_string_vec::~auto_string_vec): Likewise.
      2018-06-28  Martin Liska  <mliska@suse.cz>
      
      	* jit-playback.c (class auto_argvec): Moved to vec.h.
      	(auto_argvec::~auto_argvec): Likewise.
      	(compile): Use the renamed name.
      	(invoke_driver): Likewise.
      
      From-SVN: r262208
      Martin Liska committed
    • tree-inline.c (remap_gimple_stmt): Force input_location on the new statement if… · fb18c0c9
      tree-inline.c (remap_gimple_stmt): Force input_location on the new statement if id->reset_location is true.
      
      	* tree-inline.c (remap_gimple_stmt): Force input_location on the new
      	statement if id->reset_location is true.
      	(copy_edges_for_bb): Do not set goto_locus on the new edges if
      	id->reset_location is true.
      	(copy_phis_for_bb): Force input_location on the arguments if
      	id->reset_location is true.
      	(expand_call_inline): Set id->reset_location if DECL_IGNORED_P
      	is set on the function to be inlined.
      	* tree-inline.h (struct copy_body_data): Move remapping_type_depth and
      	prevent_decl_creation_for_types fields up and add reset_location field.
      
      From-SVN: r262207
      Eric Botcazou committed
    • * doc/invoke.texi (Debugging Options): Add -gsplit-dwarf. · 09e1386f
      From-SVN: r262206
      Stephan Bergmann committed
    • lra-eliminations.c (update_reg_eliminate): Mark all spanning hard registers for Pmode. · 764df76c
      2018-06-23  Dimitar Dimitrov  <dimitar@dinux.eu>
      
      	* lra-eliminations.c (update_reg_eliminate): Mark all spanning hard
      	registers for Pmode.
      	* lra-lives.c (check_pseudos_live_through_calls): Mark all spanning
      	hard registers for the clobbered pseudo.
      
      From-SVN: r262205
      Dimitar Dimitrov committed
    • Daily bump. · 3d09a8ab
      From-SVN: r262203
      GCC Administrator committed
  3. 27 Jun, 2018 3 commits
    • C++: don't offer bogus "._0" suggestions (PR c++/86329) · 5da1234b
      PR c++/86329 reports that the C++ frontend can offer bogus suggestions like:
      
      #include <string>
      
      int compare()
      {
        return __n1 - __n2;
      }
      
      suggested.cc: In function 'int compare()':
      suggested.cc:5:10: error: '__n1' was not declared in this scope
         return __n1 - __n2;
                ^~~~
      suggested.cc:5:10: note: suggested alternative: '._61'
         return __n1 - __n2;
                ^~~~
                ._61
      suggested.cc:5:17: error: '__n2' was not declared in this scope
         return __n1 - __n2;
                       ^~~~
      suggested.cc:5:17: note: suggested alternative: '._72'
         return __n1 - __n2;
                       ^~~~
                       ._72
      
      The dot-prefixed names are an implementation detail of how we implement
      anonymous enums found in the header files, generated via
      anon_aggrname_format in make_anon_name.
      
      This patch uses anon_aggrname_p to filter them out when considering
      which names to suggest.
      
      gcc/cp/ChangeLog:
      	PR c++/86329
      	* name-lookup.c (consider_binding_level): Filter out names that
      	match anon_aggrname_p.
      
      gcc/testsuite/ChangeLog:
      	PR c++/86329
      	* g++.dg/lookup/pr86329.C: New test.
      
      From-SVN: r262199
      David Malcolm committed
    • Convert pdp11 back end to CCmode. · b4324a14
      	* common/config/pdp11/pdp11-common.c (pdp11_handle_option): Handle
      	mutually exclusive options.
      	* config/pdp11/constraints.md (h): New constraint.
      	(O): Update definition to match shift code generation.
      	(D): New constraint.
      	* config/pdp11/pdp11-modes.def (CCNZ): Define mode.
      	(CCFP): Remove.
      	* config/pdp11/pdp11-protos.h (int_no_side_effect_operand): New
      	function.
      	(output_jump): Change arguments.
      	(pdp11_fixed_cc_regs): New function.
      	(pdp11_cc_mode): Ditto.
      	(pdp11_expand_shift): Ditto.
      	(pdp11_assemble_shift): Ditto.
      	(pdp11_small_shift): Ditto.
      	(pdp11_branch_cost): Remove.
      	* config/pdp11/pdp11.c (pdp11_assemble_integer): Remove comments
      	from output.
      	(pdp11_register_move_cost): Update for CC registers.
      	(pdp11_rtx_costs): Add case for LSHIFTRT.
      	(pdp11_output_jump): Add CCNZ mode conditional branches.
      	(notice_update_cc_on_set): Remove.
      	(pdp11_cc_mode): New function.
      	(simple_memory_operand): Correct pre/post decrement case.
      	(no_side_effect_operand): New function.
      	(pdp11_regno_reg_class): Add CC_REGS class.
      	(pdp11_fixed_cc_regs): New function.
      	(pdp11_small_shift): New function.
      	(pdp11_expand_shift): New function to expand shift insns.
      	(pdp11_assemble_shift): New function to output shifts.
      	(pdp11_branch_cost): Remove.
      	(pdp11_modes_tieable_p): Make QI/HI modes tieable.
      	* config/pdp11/pdp11.h (SIZE_TYPE): Ensure 16-bit type.
      	(WCHAR_TYPE): Ditto.
      	(PTRDIFF_TYPE): Ditto.
      	(ADJUST_INSN_LENGTH): New macro.
      	(FIXED_REGISTERS): Add CC registers.
      	(CALL_USED_REGISTERS): Ditto.
      	(reg_class): Ditto.
      	(REG_CLASS_NAMES): Ditto.
      	(REG_CLASS_CONTENTS): Ditto.
      	(SELECT_CC_MODE): Use new function.
      	(TARGET_FLAGS_REGNUM): New macro.
      	(TARGET_FIXED_CONDITION_CODE_REGS): Ditto.
      	(cc0_reg_rtx): Remove.
      	(CC_STATUS_MDEP): Remove.
      	(CC_STATUS_MDEFP_INIT): Remove.
      	(CC_IN_FPU): Remove.
      	(NOTICE_UPDATE_CC): Remove.
      	(REGISTER_NAMES): Add CC registers.
      	(BRANCH_COST): Change to constant 1.
      	* config/pdp11/pdp11.md: Rewrite for CCmode condition code
      	handling.
      	* config/pdp11/pdp11.opt (mbcopy): Remove.
      	(mbcopy-builtin): Remove.
      	(mbranch-cheap): Remove.
      	(mbranch-expensive): Remove.
      	* config/pdp11/predicates.md (expand_shift_operand): Update to
      	match shift code generation.
      	(ccnz_operator): New predicate.
      	* doc/invoke.texi (PDP-11 Options): Remove deleted options
      	-mbcopy, -mbcopy-builtin, -mbranch-cheap, -mbranch-expensive.
      	Remove non-existent option -mabshi, -mno-abshi.  Document mutually
      	exclusive options.
      	* doc/md.texi (PDP-11): Document new D and h constraints.  Update
      	description of O constraint.
      
      From-SVN: r262198
      Paul Koning committed
    • Add test case that was supposed to be added in commit 255556 on 2017-12-11. · 356d5363
      gcc/testsuite/ChangeLog:
      
      2018-06-27  Carl Love  <cel@us.ibm.com>
      
      Add test case that was supposed to be added in commit 255556 on 2017-12-11.
      
      	* gcc.target/vsx-vector-abss.c: New file to test vec_abss.
      
      From-SVN: r262196
      Carl Love committed