S/390: Remove loc splitter
[gcc.git] / gcc / ChangeLog
index 14d34098a2b873324c726e82e3c5aa088416f4d9..fa2a8722e788c5c49c1b51a375e2bc56e8affb53 100644 (file)
@@ -1,3 +1,669 @@
+2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * config/s390/s390.md: Remove movcc splitter.
+
+2017-07-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
+
+       * config/s390/s390.c (s390_rtx_costs): Return proper costs for
+       load/store on condition.
+
+2017-07-12  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/81407
+       * config/avr/avr.c (avr_encode_section_info)
+       [progmem && !TREE_READONLY]: Error if progmem object needs
+       constructing.
+
+2017-07-11  Michael Collison  <michael.collison@arm.com>
+
+       * config/aarch64/aarch64-simd.md (aarch64_sub<mode>_compare0):
+       New pattern.
+
+2017-07-11  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-c.c: Add support for builtins
+       vector unsigned int vec_parity_lsbb (vector signed int);
+       vector unsigned int vec_parity_lsbb (vector unsigned int);
+       vector unsigned __int128 vec_parity_lsbb (vector signed __int128);
+       vector unsigned __int128 vec_parity_lsbb (vector unsigned __int128);
+       vector unsigned long long vec_parity_lsbb (vector signed long long);
+       vector unsigned long long vec_parity_lsbb (vector unsigned long long);
+       * config/rs6000/rs6000-builtin.def (VPARITY_LSBB): Add BU_P9V_OVERLOAD1.
+       * config/rs6000/altivec.h (vec_parity_lsbb): Add define.
+       * doc/extend.texi: Update the built-in documentation file for the
+       new built-in functions.
+
+2017-07-11  David Malcolm  <dmalcolm@redhat.com>
+
+       * diagnostic-show-locus.c: Include "gcc-rich-location.h".
+       (layout::m_primary_loc): New field.
+       (layout::layout): Initialize new field.  Move location filtering
+       logic from here to...
+       (layout::maybe_add_location_range): ...this new method.  Add
+       support for filtering to just the lines already specified by other
+       locations.
+       (layout::will_show_line_p): New method.
+       (gcc_rich_location::add_location_if_nearby): New method.
+       (selftest::test_add_location_if_nearby): New test function.
+       (selftest::diagnostic_show_locus_c_tests): Call it.
+       * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
+       New method.
+
+2017-07-11  Tom de Vries  <tom@codesourcery.com>
+
+       * config/nvptx/nvptx.c (WORKAROUND_PTXJIT_BUG): New macro.
+       (bb_first_real_insn): New function.
+       (nvptx_single): Add extra initialization of broadcasted condition
+       variables.
+
+2017-07-11  Nathan Sidwell  <nathan@acm.org>
+
+       * dwarf2out.c (gen_member_die): Remove useless check for anon ctors.
+
+2017-07-11  Georg-Johann Lay  <avr@gjlay.de>
+
+       * doc/extend.texi (AVR Function Attributes): Remove weblink to
+       Binutils doc as TEXI will mess them up.
+       * doc/invoke.texi (AVR Options): Same here.
+
+2017-07-11  Daniel Cederman  <cederman@gaisler.com>
+
+       * config/sparc/sparc.opt (mfix-ut700): New option.
+       (mfix-gr712rc): Likewise.
+       (sparc_fix_b2bst): New variable.
+       * doc/invoke.texi (SPARC options): Document them.
+       (ARM options): Fix warnings.
+       * config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP
+       instructions to prevent sequences that can trigger the store-store
+       errata for certain LEON3FT processors.
+       (pass_work_around_errata::gate): Also test sparc_fix_b2bst.
+       (sparc_option_override): Set sparc_fix_b2bst appropriately.
+       * config/sparc/sparc.md (fix_b2bst): New attribute.
+       (in_branch_delay): Prevent stores in delay slot if fix_b2bst.
+
+2017-07-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/81375
+       * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
+       (rcpps): Ditto.
+       (*rsqrtsf2_sse): Ditto.
+       (rsqrtsf2): Ditto.
+       (div<mode>3): Macroize insn from divdf3 and divsf3
+       using MODEF mode iterator.
+
+2017-07-10  Martin Sebor  <msebor@redhat.com>
+
+       PR tree-optimization/80397
+       * gimple-ssa-sprintf.c (format_integer): Use INTEGRAL_TYPE_P()
+       instead of testing for equality to INTEGER_TYPE.
+
+2017-07-10  Vineet Gupta <vgupta@synopsys.com>
+
+       * config.gcc: Remove uclibc from arc target spec.
+
+2017-07-10  Claudiu Zissulescu  <claziss@synopsys.com>
+
+       * config/arc/arc.h (ADDITIONAL_REGISTER_NAMES): Define.
+
+2017-07-07  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR lto/80838
+       * lto-wrapper.c (remove_option): New function.
+       (merge_and_complain): Merge PIC/PIE options more realistically.
+
+2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
+
+       Better ISR prologues by supporting GASes __gcc_isr pseudo insn.
+
+       PR target/20296
+       PR target/81268
+       * configure.ac [target=avr]: Add GAS check for -mgcc-isr.
+       (HAVE_AS_AVR_MGCCISR_OPTION):  If so, AC_DEFINE it.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * doc/extend.texi (AVR Function Attributes) <no_gccisr>: Document it.
+       * doc/invoke.texi (AVR Options) <-mgas-isr-prologues>: Document it.
+       * config/avr/avr.opt (-mgas-isr-prologues): New option and...
+       (TARGET_GASISR_PROLOGUES): ...target mask.
+       * common/config/avr/avr-common.c
+       (avr_option_optimization_table) [OPT_LEVELS_1_PLUS_NOT_DEBUG]:
+       Set -mgas-isr-prologues.
+       * config/avr/avr-passes.def (avr_pass_pre_proep): Add
+       INSERT_PASS_BEFORE for it.
+       * config/avr/avr-protos.h (make_avr_pass_pre_proep): New proto.
+       * config/avr/avr.c (avr_option_override)
+       [!HAVE_AS_AVR_MGCCISR_OPTION]: Unset TARGET_GASISR_PROLOGUES.
+       (avr_no_gccisr_function_p, avr_hregs_split_reg): New static functions.
+       (avr_attribute_table) <no_gccisr>: Add new function attribute.
+       (avr_set_current_function) <is_no_gccisr>: Init machine field.
+       (avr_pass_data_pre_proep, avr_pass_pre_proep): New pass data
+       and rtl_opt_pass.
+       (make_avr_pass_pre_proep): New function.
+       (emit_push_sfr) <treg>: Add argument to function and use it
+       instead of TMP_REG.
+       (avr_expand_prologue) [machine->gasisr.maybe]: Emit gasisr insn
+       and set machine->gasisr.yes.
+       (avr_expand_epilogue) [machine->gasisr.yes]: Similar.
+       (avr_asm_function_end_prologue) [machine->gasisr.yes]: Add
+       __gcc_isr.n_pushed to .L__stack_usage.
+       (TARGET_ASM_FINAL_POSTSCAN_INSN): Define to...
+       (avr_asm_final_postscan_insn): ...this new static function.
+       * config/avr/avr.h (machine_function)
+       <is_no_gccisr, use_L__stack_usage>: New fields.
+       <gasisr, gasisr.yes, gasisr.maybe, gasisr.regno>: New fields.
+       * config/avr/avr.md (UNSPECV_GASISR): Add unspecv enum.
+       (GASISR_Prologue, GASISR_Epilogue, GASISR_Done): New define_constants.
+       (gasisr, *gasisr): New expander and insn.
+       * config/avr/gen-avr-mmcu-specs.c (print_mcu)
+       [HAVE_AS_AVR_MGCCISR_OPTION]: Print asm_gccisr spec.
+       * config/avr/specs.h (ASM_SPEC) <asm_gccisr>: Add sub spec.
+
+2017-07-10  Richard Earnshaw  <rearnsha@arm.com>
+
+       * config/arm/parsecpu.awk (gen_comm_data): Do not escape single quotes
+       in quoted strings.
+
+2017-07-10  Georg-Johann Lay  <avr@gjlay.de>
+
+       Move jump-tables out of .text again.
+
+       PR target/81075
+       * config/avr/avr.c (ASM_OUTPUT_ADDR_VEC_ELT): Remove function.
+       (ASM_OUTPUT_ADDR_VEC): New function.
+       (avr_adjust_insn_length) [JUMP_TABLE_DATA_P]: Return 0.
+       (avr_final_prescan_insn) [avr_log.insn_addresses]: Dump
+       INSN_ADDRESSes as asm comment.
+       * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Adjust comment.
+       (ASM_OUTPUT_ADDR_VEC_ELT): Remove define.
+       (ASM_OUTPUT_ADDR_VEC): Define to avr_output_addr_vec.
+       * config/avr/avr.md (*tablejump): Adjust comment.
+       * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
+       * config/avr/avr-log.c (avr_log_set_avr_log) <insn_addresses>:
+       New detail.
+       * config/avr/avr-protos.h (avr_output_addr_vec_elt): Remove proto.
+       (avr_output_addr_vec): New proto.
+       (avr_log_t) <insn_addresses>: New field.
+
+2017-07-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/81313
+       * config/i386/i386.c (ix86_function_arg_advance): Set
+       outgoing_args_on_stack to true if there are outgoing arguments
+       on stack.
+       (ix86_function_arg): Likewise.
+       (ix86_get_drap_rtx): Use DRAP only if there are outgoing
+       arguments on stack and ACCUMULATE_OUTGOING_ARGS is false.
+       * config/i386/i386.h (machine_function): Add
+       outgoing_args_on_stack.
+
+2017-07-09  Krister Walfridsson  <krister.walfridsson@gmail.com>
+
+       * config.gcc (*-*-netbsd*): Remove check for NetBSD versions not
+       supporting pthreds.
+       * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always enable pthreads.
+
+2017-07-08  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * Makefile.in (HOOKS_H, RTL_BASE_H, FUNCTION_H, EXPR_H, REGS_H)
+       (REAL_H): Remove $(MACHMODE_H).
+       (FIXED_VALUE_H, TREE_CORE_H, CFGLOOP_H): Remove $(MACHMODE_H) and
+       double-int.h.
+       (CORETYPES_H): Add signop.h, wide-int.h, wide-int-print.h,
+       $(MACHMODE_H) and double-int.h.
+       (build/min-insn-modes.o): Depend on $(CORETYPES_H) rather than
+       $(MACHMODE_H).
+       (gengtype-state.o, gengtype.o, build/gengtype.o): Don't depend on
+       double-int.h.
+
+2017-07-07  Andrew Pinski  <apinski@cavium.com>
+
+       * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Check
+       prev_set and curr_set for AARCH64_FUSE_ALU_BRANCH.
+
+2017-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_get_function_versions_dispatcher):
+       Add warning if GCC was not configured to link against a GLIBC that
+       exports the hardware capability bits.
+       (make_resolver_func): Make resolver function private and not a
+       COMDAT function.  Create the name with clone_function_name instead
+       of make_unique_name.
+
+       PR target/81348
+       * config/rs6000/rs6000.md (HI sign_extend splitter): Use the
+       correct operand in doing the split.
+
+2017-07-07 Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-c: Add support for built-in function
+       vector unsigned short vec_pack_to_short_fp32 (vector float,
+                                                     vector float).
+       * config/rs6000/rs6000-builtin.def (CONVERT_4F32_8I16): Add
+       BU_P9V_AV_2 and BU_P9V_OVERLOAD_2 definitions.
+       * config/rs6000/altivec.h (vec_pack_to_short_fp32): Add define.
+       * config/rs6000/altivec.md(UNSPEC_CONVERT_4F32_8I16): Add UNSPEC.
+       (convert_4f32_8i16): Add define_expand.
+       * doc/extend.texi: Update the built-in documentation file for the
+       new built-in function.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/m8.md: New file.
+       * config/sparc/sparc.md: Include m8.md.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/sparc.opt: New option -mvis4b.
+       * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B.
+       (sparc_option_override): Handle VIS4B.
+       (enum sparc_builtins): Define
+       SPARC_BUILTIN_DICTUNPACK{8,16,32},
+       SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL,
+       SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL,
+       SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and
+       SPARC_BUILTIN_FPCMPUR{8,16,32}SHL.
+       (check_constant_argument): New function.
+       (sparc_vis_init_builtins): Define builtins
+       __builtin_vis_dictunpack{8,16,32},
+       __builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl,
+       __builtin_vis_fpcmpu{le,gt}{8,16,32}shl,
+       __builtin_vis_fpcmpde{8,16,32}shl and
+       __builtin_vis_fpcmpur{8,16,32}shl.
+       (sparc_expand_builtin): Check that the constant operands to
+       __builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed
+       constant and in range.
+       * config/sparc/sparc-c.c (sparc_target_macros): Handle
+       TARGET_VIS4B.
+       * config/sparc/sparc.h (SPARC_IMM2_P): Define.
+       (SPARC_IMM5_P): Likewise.
+       * config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b".
+       (enabled): Handle vis4b.
+       (UNSPEC_DICTUNPACK): New unspec.
+       (UNSPEC_FPCMPSHL): Likewise.
+       (UNSPEC_FPUCMPSHL): Likewise.
+       (UNSPEC_FPCMPDESHL): Likewise.
+       (UNSPEC_FPCMPURSHL): Likewise.
+       (cpu_feature): New CPU feature `vis4b'.
+       (dictunpack{8,16,32}): New insns.
+       (FPCSMODE): New mode iterator.
+       (fpcscond): New code iterator.
+       (fpcsucond): Likewise.
+       (fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns.
+       (fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise.
+       (fpcmpde{8,16,32}{si,di}shl): Likewise.
+       (fpcmpur{8,16,32}{si,di}shl): Likewise.
+       * config/sparc/constraints.md: Define constraints `q' for unsigned
+       2-bit integer constants and `t' for unsigned 5-bit integer
+       constants.
+       * config/sparc/predicates.md (imm5_operand_dictunpack8): New
+       predicate.
+       (imm5_operand_dictunpack16): Likewise.
+       (imm5_operand_dictunpack32): Likewise.
+       (imm2_operand): Likewise.
+       * doc/invoke.texi (SPARC Options): Document -mvis4b.
+       * doc/extend.texi (SPARC VIS Built-in Functions): Document the
+       ditunpack* and fpcmp*shl builtins.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config.gcc: Handle m8 in --with-{cpu,tune} options.
+       * config.in: Add HAVE_AS_SPARC6 define.
+       * config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC
+       M8.
+       * config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for
+       TARGET_CPU_m8.
+       (ASM_CPU32_DEFAUILT_SPEC): Likewise.
+       (CPP_CPU_SPEC): Handle m8.
+       (ASM_CPU_SPEC): Likewise.
+       * config/sparc/sparc-opts.h (enum processor_type): Add
+       PROCESSOR_M8.
+       * config/sparc/sparc.c (m8_costs): New struct.
+       (sparc_option_override): Handle TARGET_CPU_m8.
+       (sparc32_initialize_trampoline): Likewise.
+       (sparc64_initialize_trampoline): Likewise.
+       (sparc_issue_rate): Likewise.
+       (sparc_register_move_cost): Likewise.
+       * config/sparc/sparc.h (TARGET_CPU_m8): Define.
+       (CPP_CPU64_DEFAULT_SPEC): Define for M8.
+       (ASM_CPU64_DEFAULT_SPEC): Likewise.
+       (CPP_CPU_SPEC): Handle M8.
+       (ASM_CPU_SPEC): Likewise.
+       (AS_M8_FLAG): Define.
+       * config/sparc/sparc.md: Add m8 to the cpu attribute.
+       * config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets.
+       * configure.ac (HAVE_AS_SPARC6): Check for assembler support for
+       M8 instructions.
+       * configure: Regenerate.
+       * doc/invoke.texi (SPARC Options): Document -mcpu=m8 and
+       -mtune=m8.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/niagara7.md: Rework the DFA scheduler to use insn
+       subtypes.
+       * config/sparc/sparc.md: Remove the `v3pipe' insn attribute.
+       ("*movdi_insn_sp32"): Do not set v3pipe.
+       ("*movsi_insn"): Likewise.
+       ("*movdi_insn_sp64"): Likewise.
+       ("*movsf_insn"): Likewise.
+       ("*movdf_insn_sp32"): Likewise.
+       ("*movdf_insn_sp64"): Likewise.
+       ("*zero_extendsidi2_insn_sp64"): Likewise.
+       ("*sign_extendsidi2_insn"): Likewise.
+       ("*mov<VM32:mode>_insn"): Likewise.
+       ("*mov<VM64:mode>_insn_sp64"): Likewise.
+       ("*mov<VM64:mode>_insn_sp32"): Likewise.
+       ("<plusminus_insn><VADDSUB:mode>3"): Likewise.
+       ("<vlop:code><VL:mode>3"): Likewise.
+       ("*not_<vlop:code><VL:mode>3"): Likewise.
+       ("*nand<VL:mode>_vis"): Likewise.
+       ("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise.
+       ("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise.
+       ("one_cmpl<VL:mode>2"): Likewise.
+       ("faligndata<VM64:mode>_vis"): Likewise.
+       ("alignaddrsi_vis"): Likewise.
+       ("alignaddrdi_vis"): Likweise.
+       ("alignaddrlsi_vis"): Likewise.
+       ("alignaddrldi_vis"): Likewise.
+       ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
+       ("bmaskdi_vis"): Likewise.
+       ("bmasksi_vis"): Likewise.
+       ("bshuffle<VM64:mode>_vis"): Likewise.
+       ("cmask8<P:mode>_vis"): Likewise.
+       ("cmask16<P:mode>_vis"): Likewise.
+       ("cmask32<P:mode>_vis"): Likewise.
+       ("pdistn<P:mode>_vis"): Likewise.
+       ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/sparc.md ("subtype"): New insn attribute.
+       ("*wrgsr_sp64"): Set insn subtype.
+       ("*rdgsr_sp64"): Likewise.
+       ("alignaddrsi_vis"): Likewise.
+       ("alignaddrdi_vis"): Likewise.
+       ("alignaddrlsi_vis"): Likewise.
+       ("alignaddrldi_vis"): Likewise.
+       ("<plusminus_insn><VADDSUB:mode>3"): Likewise.
+       ("fexpand_vis"): Likewise.
+       ("fpmerge_vis"): Likewise.
+       ("faligndata<VM64:mode>_vis"): Likewise.
+       ("bshuffle<VM64:mode>_vis"): Likewise.
+       ("cmask8<P:mode>_vis"): Likewise.
+       ("cmask16<P:mode>_vis"): Likewise.
+       ("cmask32<P:mode>_vis"): Likewise.
+       ("fchksm16_vis"): Likewise.
+       ("v<vis3_shift_patname><GCM:mode>3"): Likewise.
+       ("fmean16_vis"): Likewise.
+       ("fp<plusminus_insn>64_vis"): Likewise.
+       ("<plusminus_insn>v8qi3"): Likewise.
+       ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
+       ("<vis4_minmax_patname><VMMAX:mode>3"): Likewise.
+       ("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise.
+       ("<vis3_addsub_ss_patname>v8qi3"): Likewise.
+       ("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise.
+       ("*movqi_insn"): Likewise.
+       ("*movhi_insn"): Likewise.
+       ("*movsi_insn"): Likewise.
+       ("movsi_pic_gotdata_op"): Likewise.
+       ("*movdi_insn_sp32"): Likewise.
+       ("*movdi_insn_sp64"): Likewise.
+       ("movdi_pic_gotdata_op"): Likewise.
+       ("*movsf_insn"): Likewise.
+       ("*movdf_insn_sp32"): Likewise.
+       ("*movdf_insn_sp64"): Likewise.
+       ("*zero_extendhisi2_insn"): Likewise.
+       ("*zero_extendqihi2_insn"): Likewise.
+       ("*zero_extendqisi2_insn"): Likewise.
+       ("*zero_extendqidi2_insn"): Likewise.
+       ("*zero_extendhidi2_insn"): Likewise.
+       ("*zero_extendsidi2_insn_sp64"): Likewise.
+       ("ldfsr"): Likewise.
+       ("prefetch_64"): Likewise.
+       ("prefetch_32"): Likewise.
+       ("tie_ld32"): Likewise.
+       ("tie_ld64"): Likewise.
+       ("*tldo_ldub_sp32"): Likewise.
+       ("*tldo_ldub1_sp32"): Likewise.
+       ("*tldo_ldub2_sp32"): Likewise.
+       ("*tldo_ldub_sp64"): Likewise.
+       ("*tldo_ldub1_sp64"): Likewise.
+       ("*tldo_ldub2_sp64"): Likewise.
+       ("*tldo_ldub3_sp64"): Likewise.
+       ("*tldo_lduh_sp32"): Likewise.
+       ("*tldo_lduh1_sp32"): Likewise.
+       ("*tldo_lduh_sp64"): Likewise.
+       ("*tldo_lduh1_sp64"): Likewise.
+       ("*tldo_lduh2_sp64"): Likewise.
+       ("*tldo_lduw_sp32"): Likewise.
+       ("*tldo_lduw_sp64"): Likewise.
+       ("*tldo_lduw1_sp64"): Likewise.
+       ("*tldo_ldx_sp64"): Likewise.
+       ("*mov<VM32:mode>_insn"): Likewise.
+       ("*mov<VM64:mode>_insn_sp64"): Likewise.
+       ("*mov<VM64:mode>_insn_sp32"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/sparc.md ("type"): New insn type viscmp.
+       ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to
+       viscmp.
+       ("fpcmp<gcond:code>8<P:mode>_vis"): Likewise.
+       ("fucmp<gcond:code>8<P:mode>_vis"): Likewise.
+       ("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
+       * config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle
+       viscmp.
+       ("n7_vis_logical_11cycle"): Likewise.
+       * config/sparc/niagara4.md ("n4_vis_logical"): Likewise.
+       * config/sparc/niagara2.md ("niag3_vis": Likewise.
+       * config/sparc/niagara.md ("niag_vis"): Likewise.
+       * config/sparc/ultra3.md ("us3_fga"): Likewise.
+       * config/sparc/ultra1_2.md ("us1_fga_double"): Likewise.
+
+2017-07-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
+
+       * config/sparc/sparc.md: New instruction type `bmask'.
+       (bmaskdi_vis): Use the `bmask' type.
+       (bmasksi_vis): Likewise.
+       * config/sparc/ultra3.md (us3_array): Likewise.
+       * config/sparc/niagara7.md (n7_array): Likewise.
+       * config/sparc/niagara4.md (n4_array): Likewise.
+       * config/sparc/niagara2.md (niag2_vis): Likewise.
+       (niag3_vis): Likewise.
+       * config/sparc/niagara.md (niag_vis): Likewise.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa-comdats.c: Remove optimize check from gate.
+       * ipa-fnsummary.c (ipa_fn_summary_generate): do not generate summary
+       for functions not optimized.
+       (ipa_fn_summary_read): Skip optimize check.
+       (ipa_fn_summary_write): Likewise.
+       * ipa-inline-analysis.c (do_estimate_growth_1): Check that caller
+       is optimized.
+       * ipa-inline.c (can_inline_edge_p): Not optimized functions are
+       uninlinable.
+       (can_inline_edge_p): Check flag_pcc_struct_return for match.
+       (check_callers): Give up on caller which is not optimized.
+       (inline_small_functions): Likewise.
+       (ipa_inline): Do not give up when not optimizing.
+       * ipa-visbility.c (function_and_variable_visibility): Do not optimize
+       away unoptimizes cdtors.
+       (whole_program_function_and_variable_visibility): Do
+       ipa_discover_readonly_nonaddressable_vars in LTO mode.
+       * ipa.c (process_references): Do not check optimize.
+       (symbol_table::remove_unreachable_nodes): Update optimize check.
+       (set_writeonly_bit): Update optimize check.
+       (pass_ipa_cdtor_merge::gate): Do not check optimize.
+       (pass_ipa_single_use::gate): Remove.
+
+2017-07-06  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (union_defs, union_uses, insn_is_load_p,
+       insn_is_store_p, insn_is_swap_p, const_load_sequence_p, v2df_reduction_p,
+       rtx_is_swappable_p, insn_is_swappable_p, chain_contains_only_swaps,
+       mark_swaps_for_removal, swap_const_vector_halves, adjust_subreg_index,
+       permute_load, permute_store, adjust_extract, adjust_splat,
+       adjust_xxpermdi, adjust_concat, adjust_vperm, handle_special_swappables,
+       replace_swap_with_copy, dump_swap_insn_table,
+       alignment_with_canonical_addr, alignment_mask, find_alignment_op,
+       recombine_lvx_pattern, recombine_stvx_pattern,
+       recombine_lvx_stvx_patterns, rs6000_analyze_swaps,
+       make_pass_analyze_swaps): Move all code related to p8 swap optimizations
+       to file rs6000-p8swap.c.
+       * config/rs6000/rs6000-p8swap.c: New file.
+       * config/rs6000/t-rs6000: Add rule to build rs6000-p8swap.o.
+       * config.gcc: Add rs6000-p8swap.o to extra_objs for powerpc*-*-*
+       and rs6000*-*-* targets.
+
+2017-07-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (selftest): Remove dependency on s-selftest-c++.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * lto-wrapper.c (merge_and_complain): Do not merge
+       fexceptions, fnon_call_exceptions, ftrapv, ffp_contract_, fmath_errno,
+       fsigned_zeros, ftrapping_math, fwrapv.
+       (append_compiler_options): Do not track these options.
+       (append_linker_options): Likewie
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * cgraphunit.c (cgraph_node::finalize_function): When
+       !flag_toplevel_reorde set no_reorder flag.
+       (varpool_node::finalize_decl): Likewise.
+       (symbol_table::compile): Drop no toplevel reorder path.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * bb-reorder.c (better_edge_p): Do not build traces across abnormal/eh
+       edges; zero probability is not better than uninitialized.
+
+2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+       * asan.h (asan_sanitize_allocas_p): Declare.
+       * asan.c (asan_sanitize_allocas_p): New function.
+       (handle_builtin_stack_restore): Bail out if !asan_sanitize_allocas_p.
+       (handle_builtin_alloca): Likewise.
+       * cfgexpand.c (expand_used_vars): Do not add allocas unpoisoning stuff
+       if !asan_sanitize_allocas_p.
+       * params.def (asan-instrument-allocas): Add new option.
+       * params.h (ASAN_PROTECT_ALLOCAS): Define.
+       * opts.c (common_handle_option): Disable allocas sanitization for
+       KASan by default.
+
+2017-07-06  Maxim Ostapenko  <m.ostapenko@samsung.com>
+
+       * asan.c: Include gimple-fold.h.
+       (get_last_alloca_addr): New function.
+       (handle_builtin_stackrestore): Likewise.
+       (handle_builtin_alloca): Likewise.
+       (asan_emit_allocas_unpoison): Likewise.
+       (get_mem_refs_of_builtin_call): Add new parameter, remove const
+       quallifier from first paramerer. Handle BUILT_IN_ALLOCA,
+       BUILT_IN_ALLOCA_WITH_ALIGN and BUILT_IN_STACK_RESTORE builtins.
+       (instrument_builtin_call): Pass gimple iterator to
+       get_mem_refs_of_builtin_call.
+       (last_alloca_addr): New global.
+       * asan.h (asan_emit_allocas_unpoison): Declare.
+       * builtins.c (expand_asan_emit_allocas_unpoison): New function.
+       (expand_builtin): Handle BUILT_IN_ASAN_ALLOCAS_UNPOISON.
+       * cfgexpand.c (expand_used_vars): Call asan_emit_allocas_unpoison
+       if function calls alloca.
+       * gimple-fold.c (replace_call_with_value): Remove static keyword.
+       * gimple-fold.h (replace_call_with_value): Declare.
+       * internal-fn.c: Include asan.h.
+       * sanitizer.def (BUILT_IN_ASAN_ALLOCA_POISON,
+       BUILT_IN_ASAN_ALLOCAS_UNPOISON): New builtins.
+
+2017-07-06  David Malcolm  <dmalcolm@redhat.com>
+
+       * Makefile.in (SELFTEST_FLAGS): Drop "-x c", moving it to...
+       (C_SELFTEST_FLAGS): New.
+       (CPP_SELFTEST_FLAGS): New.
+       (SELFTEST_DEPS): New, from deps of s-selftest.
+       (C_SELFTEST_DEPS): New, from deps of s-selftest.
+       (CPP_SELFTEST_DEPS): New.
+       (selftest): Add dependency on s-selftest-c++.
+       (s-selftest): Rename to...
+       (s-selftest-c): ...this, moving deps to SELFTEST_DEPS
+       and C_SELFTEST_DEPS, and using C_SELFTEST_FLAGS rather
+       than SELFTEST_FLAGS.
+       (selftest-gdb): Rename to...
+       (selftest-c-gdb): ...this, using C_SELFTEST_DEPS and
+       C_SELFTEST_FLAGS.
+       (selftest-gdb): Reintroduce as an alias for selftest-c-gdb.
+       (selftest-valgrind): Rename to...
+       (selftest-c-valgrind): ...this, using C_SELFTEST_DEPS and
+       C_SELFTEST_FLAGS.
+       (selftest-valgrind): Reintroduce as an alias for
+       selftest-c-valgrind.
+       (s-selftest-c++): New.
+       (selftest-c++-gdb): New.
+       (selftest-c++-valgrind): New.
+
+2017-07-06  Olivier Hainque  <hainque@adacore.com>
+
+       * gcc.c (process_command): When deciding if undefined variables
+       should be ignored when processing specs, accept "gcc -v" as well.
+
+2017-07-06  Jan Hubicka  <hubicka@ucw.cz>
+
+       * auto-profile.c (afdo_set_bb_count, afdo_propagate_edge,
+       afdo_annotate_cfg): Set counts/probabilities as determined by afdo.
+
+2017-07-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * config/arm/arm-cpus.in (armv8-r): Add new entry.
+       * config/arm/arm-isa.h (ISA_ARMv8r): Define macro.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm.h (enum base_architecture): Add BASE_ARCH_8R
+       enumerator.
+       * doc/invoke.texi: Mention -march=armv8-r and its extensions.
+
+2017-07-06  Carl Love  <cel@us.ibm.com>
+
+       * ChangeLog: Clean up from mid air collision
+
+2017-07-06  Carl Love  <cel@us.ibm.com>
+
+       * config/rs6000/rs6000-c.c: Add support for built-in functions
+       vector signed int vec_subc (vector signed int, vector signed int);
+       vector signed __int128 vec_subc (vector signed __int128,
+                                        vector signed __int128);
+       vector unsigned __int128 vec_subc (vector unsigned __int128,
+                                          vector unsigned __int128);
+       vector signed int vec_sube (vector signed int, vector signed int,
+                                   vector signed int);
+       vector unsigned int vec_sube (vector unsigned int,
+                                     vector unsigned int,
+                                     vector unsigned int);
+       vector signed __int128 vec_sube (vector signed __int128,
+                                        vector signed __int128,
+                                        vector signed__int128);
+       vector unsigned __int128 vec_sube (vector unsigned __int128,
+                                          vector unsigned __int128,
+                                          vector unsigned __int128);
+       vector signed int vec_subec (vector signed int, vector signed int,
+                                    vector signed int);
+       vector unsigned int vec_subec (vector unsigned int,
+                                      vector unsigned int,
+                                      vector unsigned int);
+       vector signed __int128 vec_subec (vector signed __int128,
+                                         vector signed __int128,
+                                         vector signed__int128);
+       vector unsigned __int128 vec_subec (vector unsigned __int128,
+                                           vector unsigned __int128,
+                                           vector unsigned __int128);
+       * config/rs6000/rs6000.c (ALTIVEC_BUILTIN_VEC_SUBE,
+       ALTIVEC_BUILTIN_VEC_SUBEC): Add ef_builtins.
+       * config/rs6000/rs6000-builtin.def (SUBE, SUBEC): Add
+       BU_ALTIVEC_OVERLOAD_X definitions.
+       * config/rs6000/altivec.h (vec_sube, vec_subec): Add builtin defines.
+       * doc/extend.texi: Update the built-in documentation file for the new
+       built-in functions.
+
 2017-07-06  David Malcolm  <dmalcolm@redhat.com>
 
        PR c++/79300
        * gcc/config/i386/i386.c (ix86_erase_embedded_rounding):
        Remove code for old rounding pattern.
 
-2017-07-06  Richard Earnshaw  <rearnsha@arm.com>
-
-       * config/arm/parsecpu.awk (gen_comm_data): Do not escape single quotes
-       in quoted strings.
-
 2017-07-06  Richard Earnshaw  <rearnsha@arm.com>
 
        * config/arm/t-arm (GTM_H): Add arm-cpu.h.