Remove snprintf from <avx512>_(load|store)<mode>_mask
[official-gcc.git] / gcc / ChangeLog
blobffe643e6084da50c45c1c75472c36803b09b6610
1 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
3         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove
4         snprintf.
5         (<avx512>_store<mode>_mask): Likewise.
7 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
8             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10         PR rtl-optimization/68841
11         * ifcvt.c (struct noce_if_info): Add orig_x field.
12         (bbs_ok_for_cmove_arith): Add to_rename parameter.
13         Don't record conflicts on to_rename if it's present.
14         Allow memory destinations in sets.
15         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
16         blocks, passing orig_x to the checks.
17         (noce_process_if_block): Set if_info->orig_x appropriately.
19 2016-01-11  Tom de Vries  <tom@codesourcery.com>
21         PR tree-optimization/69069
22         * tree-parloops.c (create_parallel_loop): Add missing phi args.
24 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
26         PR rtl-optimization/68920
27         * config/i386/i386.c (ix86_option_override_internal): Restrict number
28         of conditional moves for  RTL if-conversion to 1 for
29         TARGET_ONE_IF_CONV_INSN.
30         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
31         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
32         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
33         parameter to restirct number of conditional moves for
34         RTL if-conversion.
35         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
36         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
37         conditionl moves.
39 2016-01-11  Alexandre Oliva <aoliva@redhat.com>
41         PR bootstrap/69123
42         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
43         onepart vars.  Fix typo in comment.  Fix reversed condition in
44         unshare test.
45         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
47         PR bootstrap/69123
48         * var-tracking.c (dump_onepart_variable_differences): New.
49         (dataflow_set_different): If a detailed dump is requested,
50         delay early returns and dump differences between onepart
51         variables present before and after, and added variables.
53 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
55         PR target/69010
56         * expr.c (expand_expr_real_1): For boolean vector constants
57         with a scalar mode use const_scalar_mask_from_tree.
58         (const_scalar_mask_from_tree): New.
59         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
60         assigned to a mask type to handle constants.
62 2016-01-11  Martin Jambor  <mjambor@suse.cz>
64         PR ipa/69044
65         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
66         useless parameters if we cannot change function signature.
68 2016-01-11  Martin Jambor  <mjambor@suse.cz>
70         PR ipa/66616
71         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
72         flag.
74 2016-01-11  Tom de Vries  <tom@codesourcery.com>
76         PR tree-optimization/69109
77         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
78         latch with phi.
80 2016-01-11  Tom de Vries  <tom@codesourcery.com>
82         PR tree-optimization/69108
83         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
84         res is not used in a phi.
86 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
88         PR 67425
89         * common.opt (frandom-seed): Fix parameter name.
90         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
92 2016-01-11  Tom de Vries  <tom@codesourcery.com>
94         PR tree-optimization/69058
95         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
96         not supported.
98 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
100         * config/arc/arc.opt (mdiv-rem): Add period to the end.
101         (mcode-density): Likewise.
103 2016-01-10  Tom de Vries  <tom@codesourcery.com>
105         PR tree-optimization/69062
106         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
107         (parallelize_loops): Don't paralelize loop that has phi with address
108         arg.
110 2016-01-10  Tom de Vries  <tom@codesourcery.com>
112         PR tree-optimization/69039
113         * tree-parloops.c (try_create_reduction_list): Only allow single exit
114         phi for reduction.
116 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
118         PR middle-end/68743
119         * match.pd: Require target has function_c99_misc before doing
120         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
121         
122 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
124         * configure.ac (isl_options_set_schedule_serialize_sccs): Also 
125         use GMPINC.
126         * configure: Regenerate.
128 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
130         PR middle-end/50865
131         PR tree-optimization/69097
132         * fold-const.h (expr_not_equal_to): New prototype.
133         * fold-const.c: Include stringpool.h and tree-ssanames.h.
134         (expr_not_equal_to): New function.
135         * match.pd (X % -Y is the same as X % Y): Don't optimize
136         unless X is known not to be equal to minimum or Y is known
137         not to be equal to -1.
138         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
139         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
140         (simplify_stmt_using_ranges): Adjust caller.
141         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
142         substitute_and_fold.
144 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
146         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
147         w/o DECL_NAME.
149 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
151         PR tree-optimization/69167
152         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
153         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
154         ops[0] comparison.
155         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
157 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
158             Richard Biener  <rguenther@suse.de>
160         PR tree-optimization/68707
161         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
162         instances that can be handled via vect_load_lanes.
164 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
166         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
167         if we can't determine address equivalence.
168         * alias.c (compare_base_decl): Update for changed return value of
169         symtab_node::equal_address_to.
171 2016-01-08  Jason Merrill  <jason@redhat.com>
173         PR c++/68983
174         PR c++/67557
175         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
176         * expr.c (store_field): Not here.
177         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
178         call with TREE_ADDRESSABLE type.
179         * tree-cfg.c (verify_gimple_call): Adjust.
181 2016-01-08  Olivier Hainque  <hainque@adacore.com>
183         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
184         libc_internal.
186 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
188         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
189         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
190         (reduc_smin_v2sf): Rename to...
191         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
192         (reduc_splus_v2sf): Rename to...
193         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
195 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
197         PR tree-optimization/69162
198         * gimplify.c (gimplify_va_arg_expr): Encode original type of
199         valist argument in another argument.
200         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
201         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
202         to determine the va_list type, build a MEM_REF instead of
203         build_fold_indirect_ref.
205         PR tree-optimization/69172
206         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
207         gimple_build.
209 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
211         PR tree-optimization/67781
212         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
213         and cmpnop in two steps: first the ones not accessed in original
214         gimple expression in a endian independent way and then the ones not
215         accessed in the final result in an endian-specific way.
217 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
219         PR tree-optimization/69083
220         * tree-vect-slp.c (vect_get_constant_vectors): For
221         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
222         element type.  If op is fold_convertible_p to vector_type's element
223         type, use NOP_EXPR instead of VCE.
225 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
227         PR rtl-optimization/67778
228         PR rtl-optimization/68634
229         PR rtl-optimization/68909
230         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
231         block from the stack until done with it.  Remove a superfluous
232         bitmap set.  Remove a superfluous bitmap test.
234 2016-01-07  Martin Sebor  <msebor@redhat.com>
236         PR c/68966
237         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
238         constraint on the type of arguments.
240 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
242         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
243         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
244         unaligned_access on the gcc_options set.
245         * config/arm/arm.c (arm_option_override_internal): Use
246         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
248 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
250         PR target/69140
251         * config/i386/i386.c (ix86_frame_pointer_required): Enable
252         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
254 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
256         Revert
257         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
259         PR target/69140
260         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
261         depending on frame_pointer_needed before remaining integer and SSE
262         registers are saved.
264 2016-01-07  Sandra Loosemore <sandra@codesourcery.com>
266         PR 1078
267         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
269 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
271         PR target/69171
272         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
273         Use the "xBm" constraint.
274         (float<sseintvecmodelower><mode>2<mask_name><round_name):
275         Likewise.
276         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
277         (sse_cvtsi2ssq<round_name>): Likewise.
278         (sse_cvtss2si<round_name>): Likewise.
279         (sse_cvtss2siq<round_name>): Likewise.
280         (sse2_cvtsi2sdq<round_name>): Likewise.
281         (sse2_cvtsd2si<round_name>): Likewise.
282         (sse2_cvtsd2siq<round_name>): Likewise.
283         * config/i386/subst.md (round_nimm_scalar_predicate): New
284         predicate.
286 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
288         PR middle-end/67639
289         * varasm.c (make_decl_rtl): Mark invalid register vars as
290         DECL_EXTERNAL.
292         PR rtl-optimization/66206
293         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
294         All callers changed.
296 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
298         PR tree-optimization/69141
299         * tree-ssa-pre.c: Include langhooks.h.
300         (eliminate_dom_walker::before_dom_children): Use
301         lang_hooks.decl_printable_name instead of
302         cgraph_node::get ()->name ().
304         PR middle-end/68960
305         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
306         it and DECL_ALIGN too.
308 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
310         * config/mips/mips-ftypes.def: Sort to lexicographical order.
312 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
314         PR target/69140
315         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
316         depending on frame_pointer_needed before remaining integer and SSE
317         registers are saved.
319 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
321         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
322         mode iterator with VSX_M2.
323         (*p9_vecstore_<mode>): Likewise.
324         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
325         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
326         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
327         (define_split for VSX_LE128 stores): Likewise.
328         (define_peephole2 for TImode LE swaps): Likewise.
329         (define_split for VSX_LE128 post-reload stores): Likewise.
331 2016-01-06  Marek Polacek  <polacek@redhat.com>
333         PR sanitizer/69099
334         * convert.c (convert_to_integer_1): Adjust call to
335         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
336         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
337         EXPR instead of ARG.
338         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
340 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
342         PR 1078
343         * doc/extend.texi (RL78 Variable Attributes): New section.
345 2016-01-05  Marek Polacek  <polacek@redhat.com>
347         PR c/69104
348         * builtins.c (get_memmodel): Use expansion point location rather than
349         the input location.  Call warning_at rather than warning.
350         (expand_builtin_atomic_compare_exchange): Likewise.
351         (expand_builtin_atomic_load): Likewise.
352         (expand_builtin_atomic_store): Likewise.
353         (expand_builtin_atomic_clear): Likewise.
355 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
357         PR target/68991
358         * config/i386/i386.c (ix86_expand_vector_logical_operator):
359         Replace nonimmediate_operand with vector_operand.
360         * config/i386/predicates.md (vector_operand): New predicate.
361         (general_vector_operand): Replace nonimmediate_operand with
362         vector_operand.
363         * config/i386/sse.md: Replace nonimmediate_operand with
364         vector_operand and m constraint with Bm constraint on SSE
365         patterns with 16-byte memory operand.
366         * config/i386/subst.md (round_nimm_predicate): Replace
367         nonimmediate_operand with vector_operand.
368         (round_saeonly_nimm_predicate): Likewise.
369         (round_saeonly_nimm_scalar_predicate): New.
371 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
373         PR target/68991
374         * config/i386/constraints.md (Bm): New constraint.
375         * config/i386/predicates.md (vector_memory_operand): New
376         predicate.
377         * config/i386/sse.md: Replace xm with xBm in plusminus and
378         any_logic patterns.
380 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
382         PR 1078
383         * doc/extend.texi (V850 Function Attributes): New section.
384         (V850 Variable Attributes): New section.
386 2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
388         PR 1078
389         * doc/extend.texi (MicroBlaze Function Attributes): Document
390         interrupt_handler and fast_interrupt attributes.
392 2016-01-05  Sergei Trofimovich <siarheit@google.com>
394         PR other/60465
395         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
396         for local symbolic operands.
397         * config/ia64/predicates.md (local_symbolic_operand64): New
398         predicate.
400 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
402         PR rtl-optimization/68651
403         * combine.c (combine_simplify_rtx): Canonicalize x + x into
404         x << 1.
406 2016-01-05  Nathan Sidwell  <nathan@acm.org>
408         * alias.c (compare_base_decls): Use symtab_node::get.
410 2016-01-05  Nick Clifton  <nickc@redhat.com>
412         PR target/68770
413         * ira-costs.c (copy_cost): Initialise the t_icode field of the
414         secondary_reload_info structure.
416         PR target/66655
417         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
418         decls if weak support is available.
420 2016-01-04  Martin Sebor  <msebor@redhat.com>
422         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
424 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
426         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
427         OPTION_MASK_P9_DFORM.
429         * config/rs6000/constraints.md (wo constraint): New constraint for
430         ISA 3.0 (power9).
432         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
433         for wo constraint.
434         (rs6000_init_hard_regno_mode_ok): Likewise.
436         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
437         wo constraint.
439         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
440         expanders not to have constraints.  Add support for ISA 3.0 xxperm
441         instruction.  Add support for fusing xxlor with xxperm.
442         (altivec_vperm_<mode>_internal): Likewise.
443         (altivec_vperm_v8hiv16qi): Likewise.
444         (altivec_vperm_<mode>v16q): Likewise.
445         (altivec_vperm_<mode>_uns): Likewise.
446         (vperm_v8hiv4si): Likewise.
447         (vperm_v16qiv8hi): Likewise.
449         * doc/md.texi (RS/6000 constraints): Document wo constraint.
451 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
453         Update copyright years.
455         * gcc.c (process_command): Update copyright notice dates.
456         * gcov-dump.c (print_version): Ditto.
457         * gcov.c (print_version): Ditto.
458         * gcov-tool.c (print_version): Ditto.
459         * gengtype.c (create_file): Ditto.
460         * doc/cpp.texi: Bump @copying's copyright year.
461         * doc/cppinternals.texi: Ditto.
462         * doc/gcc.texi: Ditto.
463         * doc/gccint.texi: Ditto.
464         * doc/gcov.texi: Ditto.
465         * doc/install.texi: Ditto.
466         * doc/invoke.texi: Ditto.
468 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
470         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
471         modes larger than TImode as TImode if NEON is not enabled.
473 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
475         PR target/69100
476         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
477         mode for %f0-%f31 only if TARGET_FPU.
479 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
481         PR target/69072
482         * config/sparc/sparc.c (scan_record_type): Take into account subfields
483         to compute the PACKED_P predicate.
484         (function_arg_record_value): Minor tweaks.
486 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
488         * doc/install.texi (--with-multilib-list): Describe the meaning of the
489         option for arm*-*-* targets.
491 2016-01-03  Sandra Loosemore <sandra@codesourcery.com>
493         * doc/extend.texi (Common Function Attributes): Move docs for
494         MSP430-specific attributes to....
495         (MSP430 Function Attributes): ...here.  Delete the redundant
496         entries and copy-edit the remaining text.
497         (MSP430 Variable Attributes): Use uniform format for index
498         entries and add a cross-reference to the corresponding function
499         attribute docs.
501 2016-01-03  Vladimír Čunát <vcunat@gmail.com>
503         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
504         -finite-math typo.
505         (x86 Options): Likewise.
507 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
509         PR 1078
511         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
512         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
513         to corresponding attribute.
515 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
517         * doc/extend.texi (Common Function Attributes) <noplt>: Move
518         to correct alphabetization of table.  Copy-edit and correct
519         markup.
520         <stack_protect>: Likewise.
521         <target_clones>: Likewise.
522         <simd>: Likewise.
523         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
524         Correct punctuation.
525         (Code Gen Options) <-fno-plt>: Copy-edit.
527 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
529         PR target/68917
530         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
531         SI values.  Explicitly convert SI to DI and vice-versa.
533 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
535         PR tree-optimization/69070
536         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
537         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
539         PR sanitizer/69055
540         * ubsan.c (ubsan_instrument_float_cast): Call
541         initialize_sanitizer_builtins.
543         PR target/69015
544         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
546 Copyright (C) 2016 Free Software Foundation, Inc.
548 Copying and distribution of this file, with or without modification,
549 are permitted in any medium without royalty provided the copyright
550 notice and this notice are preserved.