X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gcc%2FChangeLog;h=215d47d97234243a3e9a2546f84948ce2862d3c7;hb=8b5d2c55128d953d1d2d29362ea4522057bc016a;hp=e1ae217c03c2bc7e817e351fcd9f9ee3b4bb9b2e;hpb=1abb44f863d32ef738d28144d2c984603e27721a;p=platform%2Fupstream%2Fgcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e1ae217..215d47d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,660 @@ +2019-01-22 Jakub Jelinek + + PR target/88965 + * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h. + (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy + is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first. + + PR middle-end/88968 + * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with + non-integral DECL_BIT_FIELD_REPRESENTATIVEs. + + PR target/87064 + * config/rs6000/vsx.md (*vsx_reduc__v2df_scalar): + Disable for little endian. + +2019-01-22 Richard Earnshaw + + PR target/88469 + * config/arm/arm.c (arm_needs_double_word_align): Check + DECL_BIT_FIELD_TYPE. + +2019-01-22 Hongtao Liu + H.J. Lu + + PR target/88909 + * config/i386/i386-builtin.def: Add mask2 to all builtin + initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and + SPECIAL_ARGS. + * config/i386/i386.c (BDESC): Add mask2 to the definition. + (BDESC_FIRST): Likewise. + (define_builtin): Add an argument for mask2. Updated to handle + both ix86_isa_flags and ix86_isa_flags2. + (define_builtin_const): Likewise. + (define_builtin_pure): Likewise. + (define_builtin2): Deleted. + (define_builtin_const2): Likewise. + (builtin_description): Add a member, mask2. + (bdesc_*): Add mask2 to builtin initializations. + (ix86_init_mmx_sse_builtins): Update calls to def_builtin, + def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2 + support. + (ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support. + +2019-01-22 H.J. Lu + + PR target/88954 + * config/i386/i386.c (ix86_force_load_from_GOT_p): Also check + noplt attribute. + +2019-01-22 Richard Earnshaw + + PR target/88469 + * config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's + alignment is dominated by a bitfield with 64-bit aligned base type. + (arm_function_arg): Emit a warning if the alignment has changed since + earlier GCC releases. + (arm_function_arg_boundary): Likewise. + (arm_setup_incoming_varargs): Likewise. + +2019-01-22 Richard Biener + + PR tree-optimization/88862 + * graphite-scop-detection.c + (scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR. + +2019-01-22 Andrew Stubbs + + * doc/extend.tex (AMD GCN Function Attributes): New section. + * doc/install.texi (amdgcn-unknown-amdhsa): New instructions. + * doc/invoke.texi (AMD GCN Options): New section. + * doc/md.texi (Constraints for Particular Machines): Add AMD GCN. + +2019-01-22 Eric Botcazou + + * config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT + register and decoded HIGH/LO_SUM combinations for labels in PIC mode. + +2019-01-22 Jakub Jelinek + + PR tree-optimization/88044 + * tree-ssa-loop-niter.c (number_of_iterations_cond): If condition + is false in the first iteration, but !every_iteration, return false + instead of true with niter->niter zero. + + PR rtl-optimization/88904 + * cfgcleanup.c (thread_jump): Verify cond2 doesn't mention + any nonequal registers before processing BB_END (b). + + PR target/88905 + * optabs.c (add_equal_note): Add op0_mode argument, use it instead of + GET_MODE (op0). + (expand_binop_directly, expand_doubleword_clz, + expand_doubleword_popcount, expand_ctz, expand_ffs, + expand_unop_direct, maybe_emit_unop_insn): Adjust callers. + + PR rtl-optimization/49429 + PR target/49454 + PR rtl-optimization/86334 + PR target/88906 + * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs + addressable from here... + (emit_block_op_via_libcall): ... to here. + +2019-01-22 Richard Biener + + * tree-vect-loop.c (vect_analyze_loop_operations): Use + auto_vec for cost vector to fix memleak. + (vectorize_fold_left_reduction): Properly gather SLP defs. + (vectorizable_comparison): Do not swap operands to properly + gather SLP defs. + +2019-01-22 Alan Modra + + PR target/88614 + * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg + stays a reg. Allow a const_int. + * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare. + * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define. + (IS_NOMARK_TLSGETADDR): Define. + * config/rs6000/rs6000.c (edit_tls_call_insn): Delete. + (rs6000_output_tlsargs): New function. + (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS + __tls_get_addr call takes an arg. + (rs6000_call_sysv): Generate sysv4 secure plt call pattern here.. + * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here, + delete split.. + (call_value_nonlocal_sysv): ..or here, delete split. + (tls_gdld_nomark): Delete. + (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2 + predicate. Call rs6000_output_tlsargs. Adjust length to suit. + (call_value_nonlocal_sysv): Likewise. + (call_value_nonlocal_sysv_secure): Likewise. + (call_value_nonlocal_aix): Likewise. + (call_value_indirect_aix): Likewise. + (call_value_indirect_elfv2): Likewise. + (call_value_local32, call_value_local64): Disable for no-mark tls. + (call_value_local_aix): Likewise. + +2019-01-21 Uroš Bizjak + + PR target/88938 + * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32, + case IX86_BUILTIN_BEXTRI64]: Sanitize operands. + +2019-01-21 Michael Ploujnikov + + * hash-map-tests.c (test_map_of_strings_to_int): Show how to use + string contents as hash_map keys. + +2019-01-21 Bernd Edlinger + + PR c/88928 + * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter + for rvalue context. Handle rvalues correctly. Use min_align_of_type + instead of TYPE_ALIGN. + (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly. + Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL + pointer from TYPE_STUB_DECL. + +2019-01-21 Richard Biener + + PR tree-optimization/88934 + * tree-vect-slp.c (vect_mask_constant_operand_p): Always look + at the possibly non-constant operand. + (vect_get_constant_vectors): Adjust. + +2019-01-21 H.J. Lu + + PR target/71659 + * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED. + * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED + instead of _X86INTRIN_H_INCLUDED. + * onfig/i386/clwbintrin.h: Likewise. + * config/i386/pkuintrin.h: Likewise. + * config/i386/prfchwintrin.h: Likewise. + * config/i386/rdseedintrin.h: Likewise. + * config/i386/wbnoinvdintrin.h: Likewise. + * config/i386/xsavecintrin.h: Likewise. + * config/i386/xsavesintrin.h: Likewise. + * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check. + * config/i386/xsaveintrin.h: Likewise. + * config/i386/xsaveoptintrin.h: Likewise. + * config/i386/x86intrin.h: Move "#include" , + , , , + , , , + , , , + and to ... + * config/i386/immintrin.h: Here. + +2019-01-20 Martin Jambor + + PR ipa/87615 + * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked + with aa_walk_budget. + * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add + aa_walk_budget_p parameter. + * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA + walk. Updated all callers. + (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1. + (eliminated_by_inlining_prob): New parameter fbi, pass it on to + unmodified_parm. + (will_be_nonconstant_expr_predicate): New parameter fbi, removed + parameter info. Extract info from fbi. Pass fbi to recursive calls + and to unmodified_parm. + (phi_result_unknown_predicate): New parameter fbi, removed parameter + info, updated call to will_be_nonconstant_expr_predicate. + (param_change_prob): New parameter fbi, limit AA walking. + (analyze_function_body): Initialize aa_walk_budget in fbi. Update + calls to various above functions. + * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p + parameter. Use it to limit AA walking. + * ipa-prop.c (detect_type_change_from_memory_writes): New parameter + fbi, limit AA walk. + (detect_type_change): New parameter fbi, pass it on to + detect_type_change_from_memory_writes. + (detect_type_change_ssa): Likewise. + (aa_overwalked): Removed. + (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line + accordingly, adjust to the neew AA limiting scheme. + (parm_ref_data_preserved_p): Likewise. + (ipa_compute_jump_functions_for_edge): Adjust call to + get_dynamic_type. + (ipa_analyze_call_uses): Likewise. + (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa. + (ipa_analyze_node): Initialize aa_walk_budget. + (ipcp_transform_function): Likewise. + * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call + to get_dynamic_type. + +2019-01-19 Jakub Jelinek + + * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move + outside of #if CHECKING_P code. + +2019-01-19 Richard Sandiford + + * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood): + New function, split out from... + (loop_versioning::analyze_stride): ...here. + (loop_versioning::find_per_loop_multiplication): Use gassign. + (loop_versioning::analyze_term_using_scevs): Return a success code. + (loop_versioning::analyze_arbitrary_term): New function. + (loop_versioning::analyze_address_fragment): Use + analyze_arbitrary_term if all else fails. + +2019-01-18 Segher Boessenkool + + PR target/88892 + * config/rs6000/rs6000.md (*movsi_from_df): Allow only register + operands. + +2019-01-18 Richard Biener + + PR tree-optimization/88903 + * tree-vect-stmts.c (vectorizable_shift): Verify we see all + scalar stmts a SLP shift amount is composed of when detecting + shifts by scalars. + +2019-01-18 Richard Earnshaw + + PR target/88799 + * config/arm/arm-cpus.in (mp): New feature. + (sec): New feature. + (fgroup ARMv7ve): Add mp and sec features. + (arch armv7-a): Add options to allow mp and sec extensions. + (cpu generic-armv7-a): Add options to allow mp and sec extensions. + (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec + extenstions to the base architecture. + (cpu cortex-a8): Add sec extension to the base architecture. + (cpu marvell-pj4): Add mp and sec extensions to the base architecture. + * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch + variants down to the base v7-a varaint. + * config/arm/t-multilib (v7_a_arch_variants): New variable. + * doc/invoke.texi (ARM Options): Add +mp and +sec to the list + of permitted extensions for -march=armv7-a and for + -mcpu=generic-armv7-a. + +2019-01-18 Martin Liska + + * params.def: Fix comment. + * tree-profile.c (gimple_init_gcov_profiler): Bump function + name. + (gimple_gen_ic_func_profiler): Likewise. + +2019-01-18 Ramana Radhakrishnan + + * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New + * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle + and put in error checks for stack protector guard options. + (aarch64_stack_protect_guard): New. + (TARGET_STACK_PROTECT_GUARD): Define. + * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New. + (reg_stack_protect_address): New. + (stack_protect_set): Adjust for SSP_GLOBAL. + (stack_protect_test): Likewise. + * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New. + (-mstack-protector-guard): Likewise. + (-mstack-protector-guard-offset): Likewise. + +2019-01-18 Jakub Jelinek + + PR tree-optimization/86214 + * tree-inline.h (struct copy_body_data): Add + add_clobbers_to_eh_landing_pads member. + * tree-inline.c (add_clobbers_to_eh_landing_pad): New function. + (copy_edges_for_bb): Call it if EH edge destination is < + id->add_clobbers_to_eh_landing_pads. Fix a comment typo. + (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads + if flag_stack_reuse != SR_NONE and clear it afterwards. + +2019-01-18 Christophe Lyon + + PR target/85596 + * doc/install.texi (with-multilib-list): Document for aarch64. + +2019-01-18 Jakub Jelinek + + PR target/88734 + * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace + (("..."))) with ("..."). + +2019-01-18 Sebastian Huber + + * doc/extend.texi (Built-in Functions for Memory Model Aware + Atomic Operations): Document atomic fetch and nand. + +2019-01-18 Martin Liska + Richard Biener + + PR middle-end/88587 + * cgraph.h (create_version_clone_with_body): Add new argument + with attributes. + * cgraphclones.c (cgraph_node::create_version_clone): Add + DECL_ATTRIBUTES to a newly created decl. And call + valid_attribute_p so that proper cl_target_optimization_node + is set for the newly created declaration. + * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES + for declaration. + (expand_target_clones): Do not call valid_attribute_p, it must + be already done. + * tree-inline.c (copy_decl_for_dup_finish): Reset mode for + vector types. + +2019-01-17 Jakub Jelinek + + PR target/88734 + * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace + (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of + arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics. + +2019-01-17 Martin Sebor + + PR middle-end/88273 + * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range): + Handle anti-ranges the same as no range at all. + +2018-01-17 Steve Ellcey + + * config/aarch64/aarch64.c (cgraph.h): New include. + (intl.h): New include. + (supported_simd_type): New function. + (currently_supported_simd_type): Ditto. + (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto. + (aarch64_simd_clone_adjust): Ditto. + (aarch64_simd_clone_usable): Ditto. + (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro. + (TARGET_SIMD_CLONE_ADJUST): Ditto. + (TARGET_SIMD_CLONE_USABLE): Ditto. + * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check. + * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust + call. + +2019-01-17 Martin Sebor + + PR tree-optimization/88800 + * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking + NO_WARNING bit here. Avoid folding out-of-bounds calls. + * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove + redundant argument. Add new argument and issue diagnostics under + its control. Detect out-of-bounds access even with warnings + disabled. + (check_bounds_or_overlap): Change return type. Add argument. + (wrestrict_dom_walker::check_call): Adjust. + * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument. + * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in + check_bounds_or_overlap's return value. + (handle_builtin_stxncpy): Same. + (handle_builtin_strcat): Same. + +2019-01-17 Andrew Stubbs + Kwok Cheung Yeung + Julian Brown + Tom de Vries + + * doc/sourcebuild.texi: Document dg-add-options sqrt_insn. + +2019-01-17 Andrew Stubbs + + * doc/sourcebuild.texi: Document dg-require-effective-target + llvm_binutils and offload_gcn. + +2019-01-17 Andrew Stubbs + Kwok Cheung Yeung + Julian Brown + Tom de Vries + + * doc/sourcebuild.texi: Document dg-required-effective-target + exceptions. + +2019-01-17 Andrew Stubbs + Kwok Cheung Yeung + Julian Brown + Tom de Vries + Jan Hubicka + Martin Jambor + + * config.gcc: Add amdgcn*-*-amdhsa configuration. + * configure.ac: Check for dlopen. + * configure: Regenerate. + +2019-01-17 Andrew Stubbs + Kwok Cheung Yeung + Julian Brown + Tom de Vries + Jan Hubicka + Martin Jambor + + * common/config/gcn/gcn-common.c: New file. + * config/gcn/driver-gcn.c: New file. + * config/gcn/gcn-builtins.def: New file. + * config/gcn/gcn-hsa.h: New file. + * config/gcn/gcn-modes.def: New file. + * config/gcn/gcn-opts.h: New file. + * config/gcn/gcn-passes.def: New file. + * config/gcn/gcn-protos.h: New file. + * config/gcn/gcn-run.c: New file. + * config/gcn/gcn-tree.c: New file. + * config/gcn/gcn.c: New file. + * config/gcn/gcn.h: New file. + * config/gcn/gcn.opt: New file. + * config/gcn/t-gcn-hsa: New file. + +2019-01-17 Andrew Stubbs + Kwok Cheung Yeung + Julian Brown + Tom de Vries + Jan Hubicka + Martin Jambor + + * config/gcn/constraints.md: New file. + * config/gcn/gcn-valu.md: New file. + * config/gcn/gcn.md: New file. + * config/gcn/predicates.md: New file. + +2019-01-17 Eric Botcazou + + * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace + flag_non_call_exceptions with cfun->can_throw_non_call_exceptions. + (stmt_uses_0_or_null_in_undefined_way): Likewise. + * tree-ssa-alias.c (same_addr_size_stores_p): Likewise. + +2019-01-17 Tamar Christina + + PR target/88851 + * config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New. + * config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use + it and document registers. + +2019-01-17 Kyrylo Tkachov + + * config/aarch64/aarch64.c (ares_tunings): Define. + * config/aarch64/aarch64-cores.def (ares): Use the above. + +2019-01-17 Wei Xiao + + PR target/88794 + Revert: + 2018-11-06 Wei Xiao + + * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics. + (_mm512_fixupimm_round_pd): Update parameters and builtin. + (_mm512_maskz_fixupimm_round_pd): Ditto. + (_mm512_fixupimm_round_ps): Ditto. + (_mm512_maskz_fixupimm_round_ps): Ditto. + (_mm_fixupimm_round_sd): Ditto. + (_mm_maskz_fixupimm_round_sd): Ditto. + (_mm_fixupimm_round_ss): Ditto. + (_mm_maskz_fixupimm_round_ss): Ditto. + (_mm512_fixupimm_pd): Ditto. + (_mm512_maskz_fixupimm_pd): Ditto. + (_mm512_fixupimm_ps): Ditto. + (_mm512_maskz_fixupimm_ps): Ditto. + (_mm_fixupimm_sd): Ditto. + (_mm_maskz_fixupimm_sd): Ditto. + (_mm_fixupimm_ss): Ditto. + (_mm_maskz_fixupimm_ss): Ditto. + (_mm512_mask_fixupimm_round_pd): Update builtin. + (_mm512_mask_fixupimm_round_ps): Ditto. + (_mm_mask_fixupimm_round_sd): Ditto. + (_mm_mask_fixupimm_round_ss): Ditto. + (_mm512_mask_fixupimm_pd): Ditto. + (_mm512_mask_fixupimm_ps): Ditto. + (_mm_mask_fixupimm_sd): Ditto. + (_mm_mask_fixupimm_ss): Ditto. + * config/i386/avx512vlintrin.h: + (_mm256_fixupimm_pd): Update parameters and builtin. + (_mm256_maskz_fixupimm_pd): Ditto. + (_mm256_fixupimm_ps): Ditto. + (_mm256_maskz_fixupimm_ps): Ditto. + (_mm_fixupimm_pd): Ditto. + (_mm_maskz_fixupimm_pd): Ditto. + (_mm_fixupimm_ps): Ditto. + (_mm_maskz_fixupimm_ps): Ditto. + (_mm256_mask_fixupimm_pd): Update builtin. + (_mm256_mask_fixupimm_ps): Ditto. + (_mm_mask_fixupimm_pd): Ditto. + (_mm_mask_fixupimm_ps): Ditto. + * config/i386/i386-builtin-types.def: Add new types and remove useless ones. + * config/i386/i386-builtin.def: Update builtin definitions. + * config/i386/i386.c: Handle new builtin types and remove useless ones. + * config/i386/sse.md: Update VFIXUPIMM* patterns. + (_fixupimm_maskz): Update. + (_fixupimm): Update. + (_fixupimm_mask): Update. + (avx512f_sfixupimm_maskz): Update. + (avx512f_sfixupimm): Update. + (avx512f_sfixupimm_mask): Update. + * config/i386/subst.md: + (round_saeonly_sd_mask_operand4): Add new subst_attr. + (round_saeonly_sd_mask_op4): Ditto. + (round_saeonly_expand_operand5): Ditto. + (round_saeonly_expand): Update. + +2019-01-17 Wei Xiao + + PR target/88794 + Revert: + 2018-11-12 Wei Xiao + + * config/i386/sse.md: Combine VFIXUPIMM* patterns + (_fixupimm_maskz): Update. + (_fixupimm): Update. + (_fixupimm_mask): Remove. + (avx512f_sfixupimm_maskz): Update. + (avx512f_sfixupimm): Update. + (avx512f_sfixupimm_mask): Remove. + +2019-01-17 Wei Xiao + + PR target/88794 + Revert: + 2018-12-15 Jakub Jelinek + + PR target/88489 + * config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator. + (avx512f_sfixupimm): Use it + instead of UNSPEC_FIXUPIMM. + +2019-01-17 Richard Biener + + PR lto/86736 + * dwarf2out.c (want_pubnames): Never generate pubnames sections + and friends for the LTO part of debug info. + +2019-01-17 Jakub Jelinek + + PR tree-optimization/86214 + * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts + if x == y. + + PR rtl-optimization/88870 + * dce.c (deletable_insn_p): Never delete const/pure calls that can + throw if we can't alter the cfg or delete dead exceptions. + (mark_insn): Don't call find_call_stack_args for such calls. + +2019-01-17 Kewen Lin + + * doc/extend.texi: Add four new prototypes for vec_ld and seven new + prototypes for vec_st. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries + for scalar address type variants of altivec_vec_ld/altivec_vec_st, + mainly on signed/unsigned long long and double. + +2019-01-16 David Malcolm + + PR target/88861 + * combine.c (delete_noop_moves): Convert to "bool" return, + returning true if any edges are eliminated. + (combine_instructions): Also return true if delete_noop_moves + returns true. + +2019-01-16 Tamar Christina + + * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use + correct max nunits for endian swap. + (aarch64_expand_fcmla_builtin): Correct subreg code. + * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane, + aarch64_fcmla_laneqv4hf, aarch64_fcmlaq_lane): Correct + lane endianness. + +2019-01-16 Uroš Bizjak + + * config/alpha/alpha.c (alpha_gimplify_va_arg): + Handle split indirect COMPLEX_TYPE arguments. + +2019-01-16 Richard Earnshaw + + PR target/86891 + * config/aarch64/aarch64-modes.def: Add comment about how the carry + bit is set by add and compare. + (CC_ADC): New CC_MODE. + * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables + to cache the code and mode of X. Adjust the shape of a CC_Cmode + comparison. Add detection for CC_ADCmode. + (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add + CC_ADCmode. + * config/aarch64/aarch64.md (uaddv4): Use LTU with CCmode. + (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU. + (add3_compareC_cconly_imm): Delete. Merge into... + (add3_compareC_cconly): ... this. Restructure the comparison + to eliminate the need for zero-extending the operands. + (add3_compareC_imm): Delete. Merge into ... + (add3_compareC): ... this. Restructure the comparison to + eliminate the need for zero-extending the operands. + (add3_carryin): Use LTU for the overflow detection. + (add3_carryinC): Use CC_ADCmode for the result of the carry out. + Reexpress comparison for overflow. + (add3_carryinC_zero): Update for change to add3_carryinC. + (add3_carryinC): Likewise. + (add3_carryinV): Use LTU for carry between partials. + * config/aarch64/predicates.md (aarch64_carry_operation): Update + handling of CC_Cmode and add CC_ADCmode. + (aarch64_borrow_operation): Likewise. + +2019-01-16 Tamar Christina + + * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode. + * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise. + * config/arm/neon.md (neon_vcmla_lane, neon_vcmla_laneq, + neon_vcmlaq_lane): Remove endianness conversion. + +2019-01-16 Martin Liska + + * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR + for GCC driver. + * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as + a new argument. + * gcc.c (add_sysrooted_hdrs_prefix): New function. + (path_prefix_reset): Move up in the source file. + (find_fortran_preinclude_file): Make complex search for the + fortran header files. + +2019-01-15 Nikhil Benesch + + * godump.c (go_output_typedef): When outputting a typedef, refer + to the underlying type by its name and not its structure. + 2019-01-15 David Malcolm PR c++/88795