[NDS32] Implement more C ISR extension.
[gcc.git] / gcc / ChangeLog
index 08e2d79aa69052e5959ac1cb2d7c02cbd4fc4e0e..09ec7e4f7fdc2429a1adf6a75694d49fd1e1c30c 100644 (file)
@@ -1,3 +1,577 @@
+2018-08-12  Chung-Ju Wu  <jasonwucj@gmail.com>
+
+       * config.gcc (nds32*): Add nds32_isr.h and nds32_init.inc in
+       extra_headers.
+       * common/config/nds32/nds32-common.c (nds32_handle_option): Handle
+       OPT_misr_secure_ case.
+       * config/nds32/nds32-isr.c: Implementation of backward compatibility.
+       * config/nds32/nds32-protos.h (nds32_isr_function_critical_p): New.
+       * config/nds32/nds32.c (nds32_attribute_table): Add critical and
+       secure attribute.
+       * config/nds32/nds32.h (nds32_isr_nested_type): Add NDS32_CRITICAL.
+       (nds32_isr_info): New field security_level.
+       (TARGET_ISR_VECTOR_SIZE_4_BYTE): New macro.
+       * config/nds32/nds32.md (return_internal): Consider critical attribute.
+       * config/nds32/nds32.opt (misr-secure): New option.
+       * config/nds32/nds32_init.inc: New file.
+       * config/nds32/nds32_isr.h: New file.
+
+2018-08-11  John David Anglin  <danglin@gcc.gnu.org>
+
+       * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum.
+       Update comment for atomic instructions.
+       (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf,
+       atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1):
+       Remove.
+       (atomic_loaddi): Revise fence expansion to only emit fence prior to
+       load for __ATOMIC_SEQ_CST model.
+       (atomic_loaddi_1): Remove float register target.
+       (atomic_storedi): Handle CONST_INT values.
+       (atomic_storedi_1): Remove float register source.  Add special case
+       for zero value.
+       (memory_barrier): New expander and insn.
+
+2018-08-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/86835
+       * tree-ssa-math-opts.c (insert_reciprocals): Even when inserting
+       new_stmt after def_gsi, make sure to insert new_square_stmt after
+       that stmt, not 2 stmts before it.
+
+2018-08-10  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR target/82418
+       * config/i386/i386.md (<s>mul<mode>3_highpart): Use DWIH mode iterator
+       instead of SWI48.
+
+2018-08-10  Martin Liska  <mliska@suse.cz>
+
+        PR target/83610
+       * builtin-types.def (BT_FN_LONG_LONG_LONG_DOUBLE): Add new
+        function type.
+       * builtins.c (expand_builtin_expect_with_probability):
+        New function.
+       (expand_builtin_expect_with_probability): New function.
+       (build_builtin_expect_predicate): Add new argumnet probability
+        for BUILT_IN_EXPECT_WITH_PROBABILITY.
+       (fold_builtin_expect):
+       (fold_builtin_2):
+       (fold_builtin_3):
+       * builtins.def (BUILT_IN_EXPECT_WITH_PROBABILITY):
+       * builtins.h (fold_builtin_expect): Set new argument.
+       * doc/extend.texi: Document __builtin_expect_with_probability.
+       * doc/invoke.texi: Likewise.
+       * gimple-fold.c (gimple_fold_call): Pass new argument.
+       * ipa-fnsummary.c (find_foldable_builtin_expect): Handle
+        also BUILT_IN_EXPECT_WITH_PROBABILITY.
+       * predict.c (get_predictor_value): New function.
+       (expr_expected_value): Add new argument probability. Assume
+        that predictor and probability are always non-null.
+       (expr_expected_value_1): Likewise.  For __builtin_expect and
+        __builtin_expect_with_probability set probability.  Handle
+        combination in binary expressions.
+       (tree_predict_by_opcode): Simplify code by simply calling
+        get_predictor_value.
+       (pass_strip_predict_hints::execute): Add handling of
+        BUILT_IN_EXPECT_WITH_PROBABILITY.
+       * predict.def (PRED_BUILTIN_EXPECT_WITH_PROBABILITY): Add
+        new predictor.
+       * tree.h (DECL_BUILT_IN_P): New function.
+
+2018-08-10  Martin Liska  <mliska@suse.cz>
+
+        PR tree-optimization/85799
+       * passes.def: Add argument for pass_strip_predict_hints.
+       * predict.c (class pass_strip_predict_hints): Add new argument
+        early_p.
+       (strip_predictor_early): New function.
+       (pass_strip_predict_hints::execute): Call the function to
+        strip predictors.
+       (strip_predict_hints): New function.
+       * predict.def: Fix comment.
+
+2018-08-10  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
+
+       * Makefile.in: Clarify which tm.texi to copy over to assert the
+       right to grant a GFDL license for all.
+
+2018-08-09  Jeff Law  <law@redhat.com>
+
+       * config/m68k/m68k.c (m68k_adjust_decorated_operand): Remove
+       unused variable.
+
+2018-08-09  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * config/m68k/m68k-protos.h (m68k_final_prescan_insn): Remove
+       prototype.
+
+2018-08-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * tree-vect-loop.c (vectorizable_reduction): Allow inner-loop
+       reductions for variable-length vectors.
+
+2018-08-09  David Malcolm  <dmalcolm@redhat.com>
+
+       PR other/84889
+       * common.opt (fdiagnostics-show-line-numbers): New option.
+       * diagnostic-show-locus.c (class layout): Add fields
+       "m_show_line_numbers_p" and "m_linenum_width";
+       (num_digits): New function.
+       (test_num_digits): New function.
+       (layout::layout): Initialize new fields.  Update m_x_offset
+       logic to handle any left margin.
+       (layout::print_source_line): Print line number when requested.
+       (layout::start_annotation_line): New member function.
+       (layout::print_annotation_line): Call it.
+       (layout::print_leading_fixits): Likewise.
+       (layout::print_trailing_fixits): Likewise.  Update calls to
+       move_to_column for new parameter.
+       (layout::get_x_bound_for_row): Add "add_left_margin" param and use
+       it to potentially call start_annotation_line.
+       (layout::show_ruler): Call start_annotation_line.
+       (selftest::test_line_numbers_multiline_range): New selftest.
+       (selftest::diagnostic_show_locus_c_tests): Call test_num_digits
+       and selftest::test_line_numbers_multiline_range.
+       * diagnostic.c (diagnostic_initialize): Initialize
+       show_line_numbers_p.
+       * diagnostic.h (struct diagnostic_context): Add field
+       "show_line_numbers_p".
+       * doc/invoke.texi (Diagnostic Message Formatting Options): Add
+       -fno-diagnostics-show-line-numbers.
+       * dwarf2out.c (gen_producer_string): Add
+       OPT_fdiagnostics_show_line_numbers to the ignored options.
+       * lto-wrapper.c (merge_and_complain): Likewise to the "pick
+       one setting" options.
+       (append_compiler_options): Likewise to the dropped options.
+       (append_diag_options): Likewise to the passed-on options.
+       * opts.c (common_handle_option): Handle the new option.
+       * toplev.c (general_init): Set up global_dc->show_line_numbers_p.
+
+2018-08-09  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * doc/extend.texi (PowerPC AltiVec Built-in Functions Available on
+       ISA 2.07): Correct spelling of bcdsub to be __builtin_bcdsub.  Add
+       third argument of type "const signed char" to descriptions of
+       __builtin_bcdadd, __builtin_bcdadd_lt, __builtin_bcdadd_eq,
+       __builtin_bcdadd_gt, __builtin_bcdadd_ov, __builtin_bcdsub,
+       __builtin_bcdsub_lt, __builtin_bcdsub_eq, __builtin_bcdsub_gt,
+       __builtin_bcdsub_ov functions.
+
+2018-08-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/86858
+       * tree-vect-loop.c (vect_is_simple_reduction): Restore
+       flow_bb_inside_loop_p calls.
+
+2018-08-09  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR tree-optimization/86871
+       * tree-vect-stmts.c (vect_transform_stmt): Use gimple_get_lhs
+       instead of gimple_assign_lhs.
+
+2018-08-09  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/86887
+       * config/aarch64/aarch64.md (add<mode>3_carryinC_zero): Add missing
+       register constraint to operand 0.
+       (add<mode>3_carryinC): Likewise.
+       (add<mode>3_carryinV_zero, add<mode>3_carryinV): Likewise.
+
+2018-08-09  Martin Liska  <mliska@suse.cz>
+
+        PR c/86895
+       * common.opt: Remove extra line.
+
+2018-08-09  Martin Liska  <mliska@suse.cz>
+
+       * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Remove double dots
+        at the end of a line, make first letter capital and end up
+        a sentence with a dot.
+       (PARAM_LOOP_INTERCHANGE_STRIDE_RATIO): Likewise.
+       (PARAM_LOOP_BLOCK_TILE_SIZE): Likewise.
+       (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Likewise.
+       (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): Likewise.
+       (PARAM_MAX_ISL_OPERATIONS): Likewise.
+       (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): Likewise.
+       (PARAM_PROFILE_FUNC_INTERNAL_ID): Likewise.
+       (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise.
+       (PARAM_SLP_MAX_INSNS_IN_BB): Likewise.
+       (PARAM_IPA_CP_EVAL_THRESHOLD): Likewise.
+       (PARAM_IPA_CP_RECURSION_PENALTY): Likewise.
+       (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
+       (PARAM_IPA_CP_LOOP_HINT_BONUS): Likewise.
+       (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): Likewise.
+       (PARAM_TREE_REASSOC_WIDTH): Likewise.
+       (PARAM_HSA_GEN_DEBUG_STORES): Likewise.
+       (PARAM_MAX_SPECULATIVE_DEVIRT_MAYDEFS): Likewise.
+       (PARAM_MAX_VRP_SWITCH_ASSERTIONS): Likewise.
+
+2018-08-09  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/84332
+       * config/s390/s390.c (s390_option_override_internal): Reduce the
+       stack-clash-protection-probe-interval param if it would be too big
+       for z900.
+
+2018-08-08  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR target/46179
+       * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Don't define.
+       * config/m68k/m68k.c (handle_move_double): Don't call
+       m68k_final_prescan_insn.
+       (m68k_adjust_decorated_operand): Renamed from
+       m68k_final_prescan_insn, remove first and third operand and
+       simplify.
+       (print_operand): Call it.
+       (print_operand_address): Call it.
+
+2018-08-08  Nathan Sidwell  <nathan@acm.org>
+
+       * diagnostic.c (diagnostic_report_current_module): Use
+       linemap_included_from & linemap_included_from_linemap.
+
+2018-08-08  Hongbo Zhang  <hongbo.zhang@linaro.org>
+
+       * config/aarch64/aarch64-cores.def: Add phecda core.
+       * config/aarch64/aarch64-tune.md: Regenerate.
+       * doc/invoke.texi: Add phecda core.
+
+2018-08-08  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       PR target/85295
+       * config/s390/constraints.md ("NxHD0", "NxSD0"): New constraint
+       definitions.
+       * config/s390/s390.md ("movti"): Add more alternatives for
+       constant to GPR copies.
+
+2018-08-08  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c: Fix whitespace damage throughout the file.
+       * config/s390/s390.h: Likewise.
+       * config/s390/tpf.h: Likewise.
+
+2018-08-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * config/s390/s390.c (s390_loadrelative_operand_p):
+        Remove TARGET_CPU_ZARCH usages.
+       (s390_rtx_costs): Likewise.
+       (s390_legitimate_constant_p): Likewise.
+       (s390_cannot_force_const_mem): Likewise.
+       (legitimate_reload_constant_p): Likewise.
+       (s390_preferred_reload_class): Likewise.
+       (legitimize_pic_address): Likewise.
+       (legitimize_tls_address): Likewise.
+       (s390_split_branches): Removed.
+       (s390_add_execute): Removed.
+       (s390_dump_pool): Remove TARGET_CPU_ZARCH usages.
+       (s390_mainpool_start): Likewise.
+       (s390_mainpool_finish): Likewise.
+       (s390_mainpool_cancel): Removed.
+       (s390_chunkify_start): Remove TARGET_CPU_ZARCH usages.
+       (s390_chunkify_cancel): Likewise.
+       (s390_return_addr_rtx): Likewise.
+       (s390_register_info): Remove split_branches_pending_p uages.
+       (s390_optimize_register_info): Likewise.
+       (s390_init_frame_layout): Remove TARGET_CPU_ZARCH and
+        split_branches_pending_p usages.
+       (s390_can_eliminate): Remove TARGET_CPU_ZARCH usages.
+       (s390_load_got): Likewise.
+       (s390_expand_split_stack_prologue): Likewise.
+       (output_asm_nops): Likewise.
+       (s390_function_profiler): Likewise.
+       (s390_emit_call): Likewise.
+       (s390_conditional_register_usage): Likewise.
+       (s390_optimize_prologue): Likewise.
+       (s390_reorg): Remove TARGET_CPU_ZARCH and
+        split_branches_pending_p usages.
+       (s390_option_override_internal): Remove TARGET_CPU_ZARCH
+        usages.
+       (s390_output_indirect_thunk_function): Likewise.
+       * config/s390/s390.h (TARGET_CPU_ZARCH): Removed.
+       (TARGET_CPU_ZARCH_P): Removed.
+       (struct machine_function): Remove split_branches_pending_p.
+       * config/s390/s390.md: Remove TARGET_CPU_ZARCH usages.
+
+2018-08-08  Ilya Leoshkevich  <iii@linux.ibm.com>
+
+       * common/config/s390/s390-common.c (processor_flags_table):
+        Remove flags.
+       * config.gcc: Remove with_arch/with_tune support.
+       * config/s390/2064.md: Remove cpu attribute comparisons.
+       * config/s390/driver-native.c (s390_host_detect_local_cpu):
+        Remove MTN.
+       * config/s390/linux.h (ASM_SPEC):
+        Remove -march support.
+       * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal):
+        Use a table to get an arch level.
+       * config/s390/s390-opts.h (enum processor_type):
+        Remove enum values.
+       * config/s390/s390.c
+        (processor_table): Remove entries, add arch_level values.
+        (s390_issue_rate): Remove cases.
+        (s390_option_override): Adjust
+        s390_option_override_internal() call.
+       (s390_option_override_internal): Remove deprecation warning.
+        (s390_valid_target_attribute_tree): Adjust
+        s390_option_override_internal() call.
+       * config/s390/s390.h (struct s390_processor):
+        Share with s390-c.c, add arch_level field.
+       * config/s390/s390.md:
+        Remove occurrences in cpu attribute.
+       * config/s390/s390.opt: Remove -march/-mtune support.
+       * config/s390/tpf.h (ASM_SPEC): Remove -march support.
+       * doc/invoke.texi: Remove deprecation warning.
+
+2018-08-08  Luis Machado  <luis.machado@linaro.org>
+
+       * config/aarch64/aarch64.c (qdf24xx_vector_cost): New static
+       global.
+       (qdf24xx_tunings): Set vector cost structure to
+       qdf24xx_vector_cost.
+
+       * config/aarch64/aarch64.c (qdf24xx_addrcost_table)
+       <register_sextend>: Set to 3.
+
+2018-08-07  Richard Sandiford  <richard.sandiford@arm.com>
+
+       PR target/86838
+       * config/aarch64/iterators.md (FRECP, frecp_suffix): Delete.
+       * config/aarch64/aarch64-simd.md
+       (aarch64_frecp<FRECP:frecp_suffix><mode>): Fold FRECPE into...
+       (@aarch64_frecpe<mode>): ...here and the move FRECPX to...
+       (aarch64_frecpx<mode>): ...this new pattern.
+       * config/aarch64/aarch64-simd-builtins.def: Remove comment
+       about aarch64_frecp<FRECP:frecp_suffix><mode>.
+
+2018-08-07  Martin Liska  <mliska@suse.cz>
+
+        PR middle-end/83023
+       * predict.c (expr_expected_value_1): Handle DECL_IS_MALLOC,
+        BUILT_IN_REALLOC and DECL_IS_OPERATOR_NEW.
+       * predict.def (PRED_MALLOC_NONNULL): New predictor.
+       * doc/extend.texi: Document that malloc attribute adds
+        hit to compiler.
+
+2018-08-06  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR target/86785
+       * config/pa/pa.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+2018-08-06  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Pass down
+       the vr_values instance to cprop_into_stmt.
+       (cprop_into_stmt): Pass vr_values instance down to cprop_operand.
+       (cprop_operand): Also query EVRP to determine if OP is a constant.
+       
+2018-08-06  Nathan Sidwell  <nathan@acm.org>
+
+       * diagnostic.c (diagnostic_report_current_module): Reroll
+       included-at loop.  Translate text.
+
+2018-08-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * function-tests.c (selftest::test_expansion_to_rtl): Call
+       free_after_compilation.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * config/aarch64/aarch64.md: Add clobber highs to tls_desc.
+
+2018-08-06  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * config/s390/s390.c (s390_loop_unroll_adjust): Prevent small
+       loops with memory block operations from getting unrolled.
+
+2018-08-06  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/86807
+       * config/spu/spu.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+2018-08-06  Jeff Law  <law@redhat.com>
+
+       * reload1.c (forget_old_reloads_1): Adjust CLOBBER_HIGH
+       assert.
+
+2018-08-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+
+       PR target/86662
+       * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array
+       with all enabled __intN types.
+
+       * gcc/testsuite/gcc.target/msp430/pr86662.c: New test.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * alias.c (record_set): Check for clobber high.
+       * cfgexpand.c (expand_gimple_stmt): Likewise.
+       * combine-stack-adj.c (single_set_for_csa): Likewise.
+       * combine.c (find_single_use_1): Likewise.
+       (set_nonzero_bits_and_sign_copies): Likewise.
+       (get_combine_src_dest): Likewise.
+       (is_parallel_of_n_reg_sets): Likewise.
+       (try_combine): Likewise.
+       (record_dead_and_set_regs_1): Likewise.
+       (reg_dead_at_p_1): Likewise.
+       (reg_dead_at_p): Likewise.
+       * dce.c (deletable_insn_p): Likewise.
+       (mark_nonreg_stores_1): Likewise.
+       (mark_nonreg_stores_2): Likewise.
+       * df-scan.c (df_find_hard_reg_defs): Likewise.
+       (df_uses_record): Likewise.
+       (df_get_call_refs): Likewise.
+       * dwarf2out.c (mem_loc_descriptor): Likewise.
+       * haifa-sched.c (haifa_classify_rtx): Likewise.
+       * ira-build.c (create_insn_allocnos): Likewise.
+       * ira-costs.c (scan_one_insn): Likewise.
+       * ira.c (equiv_init_movable_p): Likewise.
+       (rtx_moveable_p): Likewise.
+       (interesting_dest_for_shprep): Likewise.
+       * jump.c (mark_jump_label_1): Likewise.
+       * postreload-gcse.c (record_opr_changes): Likewise.
+       * postreload.c (reload_cse_simplify): Likewise.
+       (struct reg_use): Add source expr.
+       (reload_combine): Check for clobber high.
+       (reload_combine_note_use): Likewise.
+       (reload_cse_move2add): Likewise.
+       (move2add_note_store): Likewise.
+       * print-rtl.c (print_pattern): Likewise.
+       * recog.c (decode_asm_operands): Likewise.
+       (store_data_bypass_p): Likewise.
+       (if_test_bypass_p): Likewise.
+       * regcprop.c (kill_clobbered_value): Likewise.
+       (kill_set_value): Likewise.
+       * reginfo.c (reg_scan_mark_refs): Likewise.
+       * reload1.c (maybe_fix_stack_asms): Likewise.
+       (eliminate_regs_1): Likewise.
+       (elimination_effects): Likewise.
+       (mark_not_eliminable): Likewise.
+       (scan_paradoxical_subregs): Likewise.
+       (forget_old_reloads_1): Likewise.
+       * reorg.c (find_end_label): Likewise.
+       (try_merge_delay_insns): Likewise.
+       (redundant_insn): Likewise.
+       (own_thread_p): Likewise.
+       (fill_simple_delay_slots): Likewise.
+       (fill_slots_from_thread): Likewise.
+       (dbr_schedule): Likewise.
+       * resource.c (update_live_status): Likewise.
+       (mark_referenced_resources): Likewise.
+       (mark_set_resources): Likewise.
+       * rtl.c (copy_rtx): Likewise.
+       * rtlanal.c (reg_referenced_p): Likewise.
+       (single_set_2): Likewise.
+       (noop_move_p): Likewise.
+       (note_stores): Likewise.
+       * sched-deps.c (sched_analyze_reg): Likewise.
+       (sched_analyze_insn): Likewise.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * cse.c (invalidate_reg): New function extracted from...
+       (invalidate): ...here.
+       (canonicalize_insn): Check for clobber high.
+       (invalidate_from_clobbers): invalidate clobber highs.
+       (invalidate_from_sets_and_clobbers): Likewise.
+       (count_reg_usage): Check for clobber high.
+       (insn_live_p): Likewise.
+       * cselib.c (cselib_expand_value_rtx_1):Likewise.
+       (cselib_invalidate_regno): Check for clobber in setter.
+       (cselib_invalidate_rtx): Pass through setter.
+       (cselib_invalidate_rtx_note_stores):
+       (cselib_process_insn): Check for clobber high.
+       * cselib.h (cselib_invalidate_rtx): Add operand.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * lra-eliminations.c (lra_eliminate_regs_1): Check for clobber high.
+       (mark_not_eliminable): Likewise.
+       * lra-int.h (struct lra_insn_reg): Add clobber high marker.
+       * lra-lives.c (process_bb_lives): Check for clobber high.
+       * lra.c (new_insn_reg): Remember clobber highs.
+       (collect_non_operand_hard_regs): Check for clobber high.
+       (lra_set_insn_recog_data): Likewise.
+       (add_regs_to_insn_regno_info): Likewise.
+       (lra_update_insn_regno_info): Likewise.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * rtl.h (reg_is_clobbered_by_clobber_high): Add declarations.
+       * rtlanal.c (reg_is_clobbered_by_clobber_high): Add function.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * emit-rtl.c (verify_rtx_sharing): Check for CLOBBER_HIGH.
+       (copy_insn_1): Likewise.
+       (gen_hard_reg_clobber_high): New gen function.
+       * genconfig.c (walk_insn_part): Check for CLOBBER_HIGH.
+       * genemit.c (gen_exp): Likewise.
+       (gen_emit_seq): Pass through info.
+       (gen_insn): Check for CLOBBER_HIGH.
+       (gen_expand): Pass through info.
+       (gen_split): Likewise.
+       (output_add_clobbers): Likewise.
+       * genrecog.c (validate_pattern): Check for CLOBBER_HIGH.
+       (remove_clobbers): Likewise.
+       * rtl.h (gen_hard_reg_clobber_high): New declaration.
+
+2018-08-06  Alan Hayward  <alan.hayward@arm.com>
+
+       * doc/rtl.texi (clobber_high): Add.
+       (parallel): Add in clobber high
+       * rtl.c (rtl_check_failed_code3): Add function.
+       * rtl.def (CLOBBER_HIGH): Add expression.
+       * rtl.h (RTL_CHECKC3): Add macro.
+       (rtl_check_failed_code3): Add declaration.
+       (XC3EXP): Add macro.
+
+2018-08-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/86386
+       * config/i386/i386.c (ix86_finalize_stack_frame_flags): Set
+       cfun->machine->max_used_stack_alignment if needed.
+
+2018-08-04  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/86571
+       * gimple-ssa-sprintf.c (format_floating): Extend upper bound of
+       NaN output to 4.
+
+2018-08-03  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR target/86799
+       * config/nios2/nios2.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define.
+
+2018-08-03  Jeff Law  <law@redhat.com>
+
+       PR target/86795
+       * config/mn10300/mn10300.c (TARGET_HAVE_SPECULATION_SAFE_VALUE):
+       Define to speculation_safe_value_not_needed.
+
+2018-08-03  David Malcolm  <dmalcolm@redhat.com>
+
+       * doc/gcov.texi (-x): Remove duplicate "to".
+       * doc/invoke.texi (-Wnoexcept-type): Remove duplicate "calls".
+       (-Wif-not-aligned): Remove duplicate "is".
+       (-flto): Remove duplicate "the".
+       (MicroBlaze Options): In examples of "-mcpu=cpu-type", remove
+       duplicate "v5.00.b".
+       (MSP430 Options): Remove duplicate "and" from the description
+       of "-mgprel-sec=regexp".
+       (x86 Options): Remove duplicate copies of "vmldLog102" and
+       vmlsLog104 from description of "-mveclibabi=type".
+
+2018-08-03  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * internal-fn.h (first_commutative_argument): Declare.
+       * internal-fn.c (first_commutative_argument): New function.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove extra
+       restrictions for pattern statements.  Use first_commutative_argument
+       to look for commutative operands in calls to internal functions.
+
 2018-08-03  Aldy Hernandez  <aldyh@redhat.com>
 
        * Makefile.in (wide-int-range.o): New.
 
        * genemit.c (print_overload_test): Fix typo.
 
-2018-08-02  Richard Biener  <rguenther@suse.de>
-
-       PR c++/86763
-       * class.c (layout_class_type): Copy TYPE_TYPELESS_STORAGE
-       to the CLASSTYPE_AS_BASE.
-
 2018-08-02  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/86816