]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
altivec.md (altivec_vsumsws): Replace second vspltw with vsldoi.
[gcc.git] / gcc / ChangeLog
index c4ea4d375b43b52f7e76aaddb064b80e59efd8cc..9b1638dc8a2a027dcd765fd10224cd166b46d165 100644 (file)
@@ -1,3 +1,261 @@
+2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/altivec.md (altivec_vsumsws): Replace second
+       vspltw with vsldoi.
+       (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
+       gen_altivec_vsumsws.
+
+2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/altivec.md (altivec_lvxl): Rename as
+       *altivec_lvxl_<mode>_internal and use VM2 iterator instead of
+       V4SI.
+       (altivec_lvxl_<mode>): New define_expand incorporating
+       -maltivec=be semantics where needed.
+       (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
+       (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
+       semantics where needed.
+       (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
+       (altivec_stvx_<mode>): New define_expand incorporating
+       -maltivec=be semantics where needed.
+       (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
+       VM2 iterator instead of V4SI.
+       (altivec_stvxl_<mode>): New define_expand incorporating
+       -maltivec=be semantics where needed.
+       * config/rs6000/rs6000-builtin.def: Add new built-in definitions
+       LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
+       LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
+       STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
+       STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
+       STVXL_V16QI.
+       * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
+       ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
+       similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
+       ALTIVEC_BUILTIN_STVXL.
+       * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
+       prototype.
+       (altivec_expand_stvx_be): Likewise.
+       * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
+       (altivec_expand_lvx_be): Likewise.
+       (altivec_expand_stvx_be): Likewise.
+       (altivec_expand_builtin): Add cases for
+       ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
+       ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
+       (altivec_init_builtins): Add definitions for
+       __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
+       __builtin_altivec_stvx_<mode>, and
+       __builtin_altivec_stvxl_<mode>.
+
+2014-02-21  Catherine Moore  <clm@codesourcery.com>
+
+       * doc/invoke.texi (mvirt, mno-virt): Document.
+       * config/mips/mips.opt (mvirt): New option.
+       * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
+
+2014-02-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/60276
+       * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
+       (STMT_VINFO_MIN_NEG_DIST): New macro.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
+       STMT_VINFO_MIN_NEG_DIST.
+       * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
+       made for negative dependence distances still hold.
+
+2014-02-21  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/60291
+       * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
+       DECL_INITIAL for globals not in the current function context.
+
+2014-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/56490
+       * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
+       * tree-ssa-uninit.c: Include params.h.
+       (compute_control_dep_chain): Add num_calls argument, return false
+       if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
+       num_calls to recursive call.
+       (find_predicates): Change dep_chain into normal array,
+       cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
+       variable and adjust compute_control_dep_chain caller.
+       (find_def_preds): Likewise.
+
+2014-02-21  Thomas Schwinge  <thomas@codesourcery.com>
+
+       * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
+       <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
+
+2014-02-21  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
+       (pushhi1): Likewise.
+       (popqi1): Add mode to pre_dec.
+       (pophi1): Likewise.
+
+2014-02-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
+       mode for mask of V8SFmode permutation.
+
+2014-02-20  Richard Henderson  <rth@redhat.com>
+
+       PR c++/60272
+       * builtins.c (expand_builtin_atomic_compare_exchange): Always make
+       a new pseudo for OLDVAL.
+
+2014-02-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/57896
+       * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
+       gen_reg_rtx if d->testing_p.
+       (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
+       if d->testing_p and we will certainly return true.
+       (expand_vec_perm_even_odd_1): Likewise.  Don't call gen_reg_rtx
+       if d->testing_p.
+
+2014-02-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * emit-rtl.c (gen_reg_rtx): Assert that
+       crtl->emit.regno_pointer_align_length is non-zero.
+
+2014-02-20  Richard Henderson  <rth@redhat.com>
+
+       PR c++/60272
+       * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
+       on failure the store back into EXPECT.
+
+2014-02-20  Chung-Lin Tang  <cltang@codesourcery.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
+       * config/nios2/nios2.c (nios2_function_profiler):
+       Add -fPIC (flag_pic == 2) support.
+       (nios2_handle_custom_fpu_cfg): Fix warning parameter.
+       (nios2_large_offset_p): New function.
+       (nios2_unspec_reloc_p): Move up position, update to use
+       nios2_large_offset_p.
+       (nios2_unspec_address): Remove function.
+       (nios2_unspec_offset): New function.
+       (nios2_large_got_address): New function.
+       (nios2_got_address): Add large offset support.
+       (nios2_legitimize_tls_address): Update usage of removed and new
+       functions.
+       (nios2_symbol_binds_local_p): New function.
+       (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
+       (nios2_legitimize_address): Update to use nios2_large_offset_p.
+       (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
+       (nios2_print_operand): Merge H/L processing, add hiadj/lo
+       processing for (const (unspec ...)).
+       (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
+
+2014-02-20  Richard Biener  <rguenther@suse.de>
+
+       * tree-cfg.c (replace_uses_by): Mark altered BBs before
+       doing the substitution.
+       (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
+
+2014-02-20  Martin Jambor  <mjambor@suse.cz>
+
+       PR ipa/55260
+       * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
+       info when checking whether lattices are bottom.
+
+2014-02-20  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/60221
+       * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
+       regions at -O0.
+
+2014-02-20  Jan Hubicka  <hubicka@ucw.cz>
+
+       PR ipa/58555
+       * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
+       parameter specifying the scaling.
+       (inline_call): Update.
+       (want_inline_recursively): Guard division by zero.
+       (recursive_inlining): Update.
+       * ipa-inline.h (clone_inlined_nodes): Update.
+
+2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
+
+       PR target/60204
+       * config/i386/i386.c (classify_argument): Pass structures of size
+       64 bytes or less in register.
+
+2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
+       (_mm_rcp28_round_ss): Ditto.
+       (_mm_rsqrt28_round_sd): Ditto.
+       (_mm_rsqrt28_round_ss): Ditto.
+       * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
+       (_mm_rcp14_round_ss): Ditto.
+       (_mm_rsqrt14_round_sd): Ditto.
+       (_mm_rsqrt14_round_ss): Ditto.
+       * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
+       the first input operand, get rid of match_dup.
+       (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
+       attribute to sse.
+       (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
+       Ditto.
+       (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
+       operand as the first input operand, set type attribute.
+       (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
+       Set type attribute.
+       (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
+       operand as the first input operand, set type attribute.
+
+2014-02-19  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
+       bit of zero.
+
+2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/60207
+       * config/i386/i386.c (construct_container): Remove TFmode check
+       for X86_64_INTEGER_CLASS.
+
+2014-02-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/59794
+       * config/i386/i386.c (type_natural_mode): Warn for ABI changes
+       only when -Wpsabi is enabled.
+
+2014-02-19  Michael Hudson-Doyle  <michael.hudson@linaro.org>
+
+        PR target/59799
+       * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
+       passing arrays in registers are the same as for structs, so remove the
+       special case for them.
+
+2014-02-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
+       destination type, extract only the valid bits if the source type is not
+       integral and has a different mode.
+
+2014-02-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/60243
+       * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
+       for all calls.
+
+2014-02-19  Richard Biener  <rguenther@suse.de>
+
+       PR ipa/60243
+       * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
+       (ipa_modify_call_arguments): Emit an argument load explicitely and
+       preserve virtual SSA form there and for the replacement call.
+       Do not update SSA form nor free dominance info.
+
+2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
+
+       * ipa.c (function_and_variable_visibility): Also clear WEAK
+       flag when disolving COMDAT_GROUP.
+
 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
 
        * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
        (compute_complex_ancestor_jump_func): Likewise.
        (update_jump_functions_after_inlining): Fix updating of
        ancestor function.
-       * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type
-       to be NULL.
+       * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
 
 2014-02-18  Jan Hubicka  <hubicka@ucw.cz>
 
 
        * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
 
-2014-02-10  Richard Henderson <rth@redhat.com>
+2014-02-10  Richard Henderson  <rth@redhat.com>
 
        PR target/59927
        * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
        (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
        little endian and -maltivec=be is not specified.
 
-2014-02-05  Richard Henderson <rth@redhat.com>
+2014-02-05  Richard Henderson  <rth@redhat.com>
 
        PR debug/52727
        * combine-stack-adj.c: Revert r206943.
        * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
        of moving from/to the STACK_REG register class.
 
-2014-01-15  Richard Henderson <rth@redhat.com>
+2014-01-15  Richard Henderson  <rth@redhat.com>
 
        PR debug/54694
        * reginfo.c (global_regs_decl): Globalize.
This page took 0.035894 seconds and 5 git commands to generate.