1 2014-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate a
4 pattern for vector nor instead of subtract from splat(-1).
5 (altivec_expand_vec_perm_const_le): Likewise.
7 2014-03-21 Richard Henderson <rth@twiddle.net>
10 * ifcvt.c (dead_or_predicable): Return FALSE if there are any frame
11 related insns after epilogue_completed.
13 2014-03-21 Martin Jambor <mjambor@suse.cz>
16 * cgraph.h (symtab_node): New flag body_removed.
17 * ipa.c (symtab_remove_unreachable_nodes): Set body_removed flag
19 * symtab.c (dump_symtab_base): Dump body_removed flag.
20 * cgraph.c (verify_edge_corresponds_to_fndecl): Skip nodes which
21 had their bodies removed.
23 2014-03-21 Martin Jambor <mjambor@suse.cz>
26 * ipa.c (symtab_remove_unreachable_nodes): Clear thunk flag of nodes
29 2014-03-21 Richard Biener <rguenther@suse.de>
31 PR tree-optimization/60577
32 * tree-core.h (struct tree_base): Document nothrow_flag use
33 in VAR_DECL_NONALIASED.
34 * tree.h (VAR_DECL_NONALIASED): New.
35 (may_be_aliased): Adjust.
36 * coverage.c (build_var): Set VAR_DECL_NONALIASED.
38 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
40 * expr.c (expand_expr_real_1): Remove outdated comment.
42 2014-03-20 Jakub Jelinek <jakub@redhat.com>
45 * ira.c (adjust_cleared_regs): Call copy_rtx on
46 *reg_equiv[REGNO (loc)].src_p before passing it to
47 simplify_replace_fn_rtx.
50 * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
51 into CONST, put pic register as first operand of PLUS. Use
52 gen_const_mem for both 32-bit and 64-bit PIC got loads.
54 2014-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
56 * config/aarch64/aarch64.c (MEMORY_MOVE_COST): Delete.
58 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
60 * config/sparc/sparc.c (sparc_do_work_around_errata): Implement work
61 around for store forwarding issue in the FPU on the UT699.
62 * config/sparc/sparc.md (in_branch_delay): Return false for single FP
63 loads and operations if -mfix-ut699 is specified.
64 (divtf3_hq): Tweak attribute.
65 (sqrttf2_hq): Likewise.
67 2014-03-20 Eric Botcazou <ebotcazou@adacore.com>
69 * calls.c (store_one_arg): Remove incorrect const qualification on the
70 type of the temporary.
71 * cfgexpand.c (expand_return): Likewise.
72 * expr.c (expand_constructor): Likewise.
73 (expand_expr_real_1): Likewise.
75 2014-03-20 Zhenqiang Chen <zhenqiang.chen@linaro.org>
77 * config/arm/arm.c (arm_dwarf_register_span): Update the element number
80 2014-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
83 * config/sh/sh.md (udivsi3_i1): Clobber R1 register.
85 2014-03-19 James Greenhalgh <james.greenhalgh@arm.com>
87 * config/arm/aarch-common-protos.h
88 (alu_cost_table): Fix spelling of "extend".
89 * config/arm/arm.c (arm_new_rtx_costs): Fix spelling of "extend".
91 2014-03-19 Richard Biener <rguenther@suse.de>
94 * tree-core.h (tree_type_common): Re-order pointer members
95 to reduce recursion depth during GC walks.
97 2014-03-19 Marek Polacek <polacek@redhat.com>
100 * ubsan.c (ubsan_type_descriptor): Check that DECL_NAME is nonnull
103 2014-03-19 Richard Biener <rguenther@suse.de>
106 * lto-streamer-in.c (input_function): In WPA stage do not drop
109 2014-03-19 Jakub Jelinek <jakub@redhat.com>
111 PR tree-optimization/60559
112 * vectorizable_mask_load_store): Replace scalar MASK_LOAD
113 with build_zero_cst assignment.
115 2014-03-18 Kai Tietz <ktietz@redhat.com>
117 PR rtl-optimization/56356
118 * sdbout.c (sdbout_parms): Verify that parms'
119 incoming argument is valid.
120 (sdbout_reg_parms): Likewise.
122 2014-03-18 Richard Henderson <rth@redhat.com>
125 * config/i386/i386.md (*float<SWI48x><MODEF>2_i387): Move down to
126 be shadowed by *float<SWI48><MODEF>2_sse. Test X87_ENABLE_FLOAT.
127 (*float<SWI48><MODEF>2_sse): Check X87_ENABLE_FLOAT for alternative 0.
129 2014-03-18 Basile Starynkevitch <basile@starynkevitch.net>
131 * plugin.def: Improve comment for PLUGIN_INCLUDE_FILE.
132 * doc/plugins.texi (Plugin callbacks): Mention
134 Italicize plugin event names in description. Explain that
135 PLUGIN_PRAGMAS has no sense for lto1. Explain
137 Remind that no GCC functions should be called after
139 Explain what pragmas with expansion are.
141 2014-03-18 Martin Liska <mliska@suse.cz>
143 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Added case when
144 gimple call statement is update.
145 * gimple-fold.c (gimple_fold_call): Changed order for GIMPLE_ASSIGN and
146 GIMPLE_CALL, where gsi iterator still points to GIMPLE CALL.
148 2014-03-18 Jakub Jelinek <jakub@redhat.com>
151 * ubsan.c (ubsan_instrument_unreachable): Call
152 initialize_sanitizer_builtins.
153 (ubsan_pass): Likewise.
156 * ubsan.c (ubsan_type_descriptor, ubsan_create_data): Call
157 varpool_finalize_decl instead of rest_of_decl_compilation.
159 2014-03-18 Richard Biener <rguenther@suse.de>
161 * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
162 by using bitmap_and_compl instead of bitmap_and_compl_into.
163 (df_rd_transfer_function): Likewise.
165 2014-03-18 Richard Biener <rguenther@suse.de>
167 * doc/lto.texi (fresolution): Fix typo.
169 2014-03-18 Richard Biener <rguenther@suse.de>
171 * doc/invoke.texi (flto): Update for changes in 4.9.
173 2014-03-18 Richard Biener <rguenther@suse.de>
175 * doc/loop.texi: Remove section on the removed lambda framework.
176 Update loop docs with recent changes in preserving loop structure.
178 2014-03-18 Richard Biener <rguenther@suse.de>
180 * doc/lto.texi (-fresolution): Document.
182 2014-03-18 Richard Biener <rguenther@suse.de>
184 * doc/contrib.texi: Adjust my name.
186 2014-03-18 Jakub Jelinek <jakub@redhat.com>
189 * internal-fn.c: Include diagnostic-core.h.
190 (expand_BUILTIN_EXPECT): New function.
191 * gimplify.c (gimplify_call_expr): Use false instead of FALSE.
192 (gimplify_modify_expr): Gimplify 3 argument __builtin_expect into
193 IFN_BUILTIN_EXPECT call instead of __builtin_expect builtin call.
194 * ipa-inline-analysis.c (find_foldable_builtin_expect): Handle
196 * predict.c (expr_expected_value_1): Handle IFN_BUILTIN_EXPECT.
197 Revert 3 argument __builtin_expect code.
198 (strip_predict_hints): Handle IFN_BUILTIN_EXPECT.
199 * gimple-fold.c (gimple_fold_call): Likewise.
200 * tree.h (fold_builtin_expect): New prototype.
201 * builtins.c (build_builtin_expect_predicate): Add predictor
202 argument, if non-NULL, create 3 argument __builtin_expect.
203 (fold_builtin_expect): No longer static. Add ARG2 argument,
204 pass it through to build_builtin_expect_predicate.
205 (fold_builtin_2): Adjust caller.
206 (fold_builtin_3): Handle BUILT_IN_EXPECT.
207 * internal-fn.def (BUILTIN_EXPECT): New.
209 2014-03-18 Tobias Burnus <burnus@net-b.de>
212 * predict.def (PRED_FORTRAN_OVERFLOW, PRED_FORTRAN_FAIL_ALLOC,
213 PRED_FORTRAN_FAIL_IO, PRED_FORTRAN_WARN_ONCE, PRED_FORTRAN_SIZE_ZERO,
214 PRED_FORTRAN_INVALID_BOUND, PRED_FORTRAN_ABSENT_DUMMY): Add.
216 2014-03-18 Jan Hubicka <hubicka@ucw.cz>
219 * predict.c (combine_predictions_for_bb): Fix up formatting.
220 (expr_expected_value_1, expr_expected_value): Add predictor argument,
221 fill what it points to if non-NULL.
222 (tree_predict_by_opcode): Adjust caller, use the predictor.
223 * predict.def (PRED_COMPARE_AND_SWAP): Add.
225 2014-03-18 Eric Botcazou <ebotcazou@adacore.com>
227 * config/sparc/sparc.c (sparc_do_work_around_errata): Speed up and use
228 proper constant for the store mode.
230 2014-03-18 Ilya Enkovich <ilya.enkovich@intel.com>
232 * symtab.c (change_decl_assembler_name): Fix transparent alias
235 2014-03-16 Renlin Li <Renlin.Li@arm.com>
237 * config/aarch64/aarch64.c: Correct the comments about the
238 aarch64 stack layout.
240 2014-03-18 Thomas Schwinge <thomas@codesourcery.com>
242 * omp-low.c (lower_rec_input_clauses) <build_omp_barrier>: Restore
243 check for GF_OMP_FOR_KIND_FOR.
245 2013-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
247 * config/i386/i386.h (ADDITIONAL_REGISTER_NAMES): Add
248 ymm and zmm register names.
250 2014-03-17 Jakub Jelinek <jakub@redhat.com>
253 * config/i386/i386.c (ix86_expand_epilogue): Adjust REG_CFA_ADJUST_CFA
254 note creation for the 2010-08-31 changes.
256 2014-03-17 Marek Polacek <polacek@redhat.com>
259 * omp-low.c (omp_max_vf): Treat -fno-tree-loop-optimize the same
260 as -fno-tree-loop-vectorize.
261 (expand_omp_simd): Likewise.
263 2014-03-15 Eric Botcazou <ebotcazou@adacore.com>
265 * config/sparc/sparc-protos.h (tls_call_delay): Delete.
266 (eligible_for_call_delay): New prototype.
267 * config/sparc/sparc.c (tls_call_delay): Rename into...
268 (eligible_for_call_delay): ...this. Return false if the instruction
269 cannot be put in the delay slot of a branch.
270 (eligible_for_restore_insn): Simplify.
271 (eligible_for_return_delay): Return false if the instruction cannot be
272 put in the delay slot of a branch and simplify.
273 (eligible_for_sibcall_delay): Return false if the instruction cannot be
274 put in the delay slot of a branch.
275 * config/sparc/sparc.md (fix_ut699): New attribute.
276 (tls_call_delay): Delete.
277 (in_call_delay): Reimplement.
278 (eligible_for_sibcall_delay): Rename into...
279 (in_sibcall_delay): ...this.
280 (eligible_for_return_delay): Rename into...
281 (in_return_delay): ...this.
282 (in_branch_delay): Reimplement.
283 (in_uncond_branch_delay): Delete.
284 (in_annul_branch_delay): Delete.
286 2014-03-14 Richard Henderson <rth@redhat.com>
289 * config/i386/i386.md (floathi<X87MODEF>2): Delete expander; rename
290 define_insn from *floathi<X87MODEF>2_i387; allow nonimmediate_operand.
291 (*floathi<X87MODEF>2_i387_with_temp): Remove.
292 (floathi splitters): Remove.
293 (float<SWI48x>xf2): New pattern.
294 (float<SWI48><MODEF>2): Rename from float<SWI48x><X87MODEF>2. Drop
295 code that tried to handle DImode for 32-bit, but which was excluded
296 by the pattern's condition. Drop allocation of stack temporary.
297 (*floatsi<MODEF>2_vector_mixed_with_temp): Remove.
298 (*float<SWI48><MODEF>2_mixed_with_temp): Remove.
299 (*float<SWI48><MODEF>2_mixed_interunit): Remove.
300 (*float<SWI48><MODEF>2_mixed_nointerunit): Remove.
301 (*floatsi<MODEF>2_vector_sse_with_temp): Remove.
302 (*float<SWI48><MODEF>2_sse_with_temp): Remove.
303 (*float<SWI48><MODEF>2_sse_interunit): Remove.
304 (*float<SWI48><MODEF>2_sse_nointerunit): Remove.
305 (*float<SWI48x><X87MODEF>2_i387_with_temp): Remove.
306 (*float<SWI48x><X87MODEF>2_i387): Remove.
307 (all float _with_temp splitters): Remove.
308 (*float<SWI48x><MODEF>2_i387): New pattern.
309 (*float<SWI48><MODEF>2_sse): New pattern.
310 (float TARGET_USE_VECTOR_CONVERTS splitters): Merge them.
311 (float TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters): Merge them.
313 2014-03-14 Jakub Jelinek <jakub@redhat.com>
314 Marek Polacek <polacek@redhat.com>
317 * common.opt (dump_base_name_prefixed): New Variable.
318 * opts.c (finish_options): Don't prepend directory to x_dump_base_name
319 if x_dump_base_name_prefixed is already set, set it at the end.
321 2014-03-14 Vladimir Makarov <vmakarov@redhat.com>
323 PR rtl-optimization/60508
324 * lra-constraints.c (get_reload_reg): Add new parameter
326 (process_addr_reg, simplify_operand_subreg, curr_insn_transform):
327 Pass the new parameter values.
329 2014-03-14 Richard Biener <rguenther@suse.de>
331 * common.opt: Revert unintented changes from r205065.
334 2014-03-14 Richard Biener <rguenther@suse.de>
337 * cfghooks.c (split_block): Properly adjust all loops the
338 block was a latch of.
340 2014-03-14 Martin Jambor <mjambor@suse.cz>
343 * ipa-prop.c (ipa_modify_call_arguments): Fix iteration condition
346 2014-03-14 Georg-Johann Lay <avr@gjlay.de>
349 * config/avr/avr.c (avr_set_current_function): Pass function name
350 through default_strip_name_encoding before sanity checking instead
351 of skipping the first char of the assembler name.
353 2014-03-13 Richard Henderson <rth@redhat.com>
356 * config/i386/i386.c (ix86_split_fp_branch): Remove pushed argument.
357 (ix86_force_to_memory, ix86_free_from_memory): Remove.
358 * config/i386/i386-protos.h: Likewise.
359 * config/i386/i386.md (floathi<X87MODEF>2): Use assign_386_stack_local
360 in the expander instead of a splitter.
361 (float<SWI48x><X87MODEF>2): Use assign_386_stack_local if there is
362 any possibility of requiring a memory.
363 (*floatsi<MODEF>2_vector_mixed): Remove, and the splitters.
364 (*floatsi<MODEF>2_vector_sse): Remove, and the splitters.
365 (fp branch splitters): Update for ix86_split_fp_branch.
366 (*jcc<X87MODEF>_<SWI24>_i387): Remove r/f alternative.
367 (*jcc<X87MODEF>_<SWI24>_r_i387): Likewise.
368 (splitter for jcc<X87MODEF>_<SWI24>_i387 r/f): Remove.
369 (*fop_<MODEF>_2_i387): Remove f/r alternative.
370 (*fop_<MODEF>_3_i387): Likewise.
371 (*fop_xf_2_i387, *fop_xf_3_i387): Likewise.
372 (splitters for the fop_* register patterns): Remove.
373 (fscalexf4_i387): Rename from *fscalexf4_i387.
374 (ldexpxf3): Use gen_floatsixf2 and gen_fscalexf4_i387.
376 2014-03-13 Jakub Jelinek <jakub@redhat.com>
378 PR tree-optimization/59779
379 * tree-dfa.c (get_ref_base_and_extent): Use double_int
380 type for bitsize and maxsize instead of HOST_WIDE_INT.
382 2014-03-13 Steven Bosscher <steven@gcc.gnu.org>
384 PR rtl-optimization/57320
385 * function.c (rest_of_handle_thread_prologue_and_epilogue): Cleanup
386 the CFG after thread_prologue_and_epilogue_insns.
388 2014-03-13 Vladimir Makarov <vmakarov@redhat.com>
390 PR rtl-optimization/57189
391 * lra-constraints.c (process_alt_operands): Disfavor spilling
394 2014-03-13 Cesar Philippidis <cesar@codesourcery.com>
396 * lto-wrapper.c (maybe_unlink_file): Suppress diagnostic
399 2014-03-13 Jakub Jelinek <jakub@redhat.com>
401 PR tree-optimization/59025
403 * tree-ssa-reassoc.c (sort_by_operand_rank): For SSA_NAMEs with the
404 same rank, sort by bb_rank and gimple_uid of SSA_NAME_DEF_STMT first.
406 2014-03-13 Georg-Johann Lay <avr@gjlay.de>
409 * config/avr/avr.c (avr_out_plus): Swap cc_plus and cc_minus in
410 calls of avr_out_plus_1.
412 2014-03-13 Bin Cheng <bin.cheng@arm.com>
414 * tree-cfgcleanup.c (remove_forwarder_block_with_phi): Record
415 BB's single pred and update the father loop's latch info later.
417 2014-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
419 * config/rs6000/vector.md (VEC_L): Add V1TI mode to vector types.
423 (VEC_base): Likewise.
424 (mov<MODE>, VEC_M modes): If we are loading TImode into VSX
425 registers, we need to swap double words in little endian mode.
427 * config/rs6000/rs6000-modes.def (V1TImode): Add new vector mode
428 to be a container mode for 128-bit integer operations added in ISA
429 2.07. Unlike TImode and PTImode, the preferred register set is
430 the Altivec/VMX registers for the 128-bit operations.
432 * config/rs6000/rs6000-protos.h (rs6000_move_128bit_ok_p): Add
434 (rs6000_split_128bit_ok_p): Likewise.
436 * config/rs6000/rs6000-builtin.def (BU_P8V_AV_3): Add new support
437 macros for creating ISA 2.07 normal and overloaded builtin
438 functions with 3 arguments.
439 (BU_P8V_OVERLOAD_3): Likewise.
440 (VPERM_1T): Add support for V1TImode in 128-bit vector operations
441 for use as overloaded functions.
442 (VPERM_1TI_UNS): Likewise.
443 (VSEL_1TI): Likewise.
444 (VSEL_1TI_UNS): Likewise.
445 (ST_INTERNAL_1ti): Likewise.
446 (LD_INTERNAL_1ti): Likewise.
447 (XXSEL_1TI): Likewise.
448 (XXSEL_1TI_UNS): Likewise.
449 (VPERM_1TI): Likewise.
450 (VPERM_1TI_UNS): Likewise.
451 (XXPERMDI_1TI): Likewise.
453 (LXVD2X_V1TI): Likewise.
454 (STXVD2X_V1TI): Likewise.
455 (VEC_INIT_V1TI): Likewise.
456 (VEC_SET_V1TI): Likewise.
457 (VEC_EXT_V1TI): Likewise.
458 (EQV_V1TI): Likewise.
459 (NAND_V1TI): Likewise.
460 (ORC_V1TI): Likewise.
461 (VADDCUQ): Add support for 128-bit integer arithmetic instructions
462 added in ISA 2.07. Add both normal 'altivec' builtins, and the
466 (VADDEUQM): Likewise.
467 (VADDECUQ): Likewise.
468 (VSUBEUQM): Likewise.
469 (VSUBECUQ): Likewise.
471 * config/rs6000/rs6000-c.c (__int128_type): New static to hold
472 __int128_t and __uint128_t types.
473 (__uint128_type): Likewise.
474 (altivec_categorize_keyword): Add support for vector __int128_t,
475 vector __uint128_t, vector __int128, and vector unsigned __int128
476 as a container type for TImode operations that need to be done in
477 VSX/Altivec registers.
478 (rs6000_macro_to_expand): Likewise.
479 (altivec_overloaded_builtins): Add ISA 2.07 overloaded functions
480 to support 128-bit integer instructions vaddcuq, vadduqm,
481 vaddecuq, vaddeuqm, vsubcuq, vsubuqm, vsubecuq, vsubeuqm.
482 (altivec_resolve_overloaded_builtin): Add support for V1TImode.
484 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
485 for V1TImode, and set up preferences to use VSX/Altivec registers.
486 Setup VSX reload handlers.
487 (rs6000_debug_reg_global): Likewise.
488 (rs6000_init_hard_regno_mode_ok): Likewise.
489 (rs6000_preferred_simd_mode): Likewise.
490 (vspltis_constant): Do not allow V1TImode as easy altivec constants.
491 (easy_altivec_constant): Likewise.
492 (output_vec_const_move): Likewise.
493 (rs6000_expand_vector_set): Convert V1TImode set and extract to
495 (rs6000_expand_vector_extract): Likewise.
496 (reg_offset_addressing_ok_p): Setup V1TImode to use VSX reg+reg
498 (rs6000_const_vec): Add support for V1TImode.
499 (rs6000_emit_le_vsx_load): Swap double words when loading or
500 storing TImode/V1TImode.
501 (rs6000_emit_le_vsx_store): Likewise.
502 (rs6000_emit_le_vsx_move): Likewise.
503 (rs6000_emit_move): Add support for V1TImode.
504 (altivec_expand_ld_builtin): Likewise.
505 (altivec_expand_st_builtin): Likewise.
506 (altivec_expand_vec_init_builtin): Likewise.
507 (altivec_expand_builtin): Likewise.
508 (rs6000_init_builtins): Add support for V1TImode type. Add
509 support for ISA 2.07 128-bit integer builtins. Define type names
510 for the VSX/Altivec vector types.
511 (altivec_init_builtins): Add support for overloaded vector
512 functions with V1TImode type.
513 (rs6000_preferred_reload_class): Prefer Altivec registers for V1TImode.
514 (rs6000_move_128bit_ok_p): Move 128-bit move/split validation to
516 (rs6000_split_128bit_ok_p): Likewise.
517 (rs6000_handle_altivec_attribute): Create V1TImode from vector
518 __int128_t and vector __uint128_t.
520 * config/rs6000/vsx.md (VSX_L): Add V1TImode to vector iterators
528 (VS_scalar): Likewise.
529 (VS_double): Likewise.
530 (vsx_set_v1ti): New builtin function to create V1TImode from TImode.
532 * config/rs6000/rs6000.h (TARGET_VADDUQM): New macro to say whether
533 we support the ISA 2.07 128-bit integer arithmetic instructions.
534 (ALTIVEC_OR_VSX_VECTOR_MODE): Add V1TImode.
535 (enum rs6000_builtin_type_index): Add fields to hold V1TImode
536 and TImode types for use with the builtin functions.
537 (V1TI_type_node): Likewise.
538 (unsigned_V1TI_type_node): Likewise.
539 (intTI_type_internal_node): Likewise.
540 (uintTI_type_internal_node): Likewise.
542 * config/rs6000/altivec.md (UNSPEC_VADDCUQ): New unspecs for ISA 2.07
543 128-bit builtin functions.
544 (UNSPEC_VADDEUQM): Likewise.
545 (UNSPEC_VADDECUQ): Likewise.
546 (UNSPEC_VSUBCUQ): Likewise.
547 (UNSPEC_VSUBEUQM): Likewise.
548 (UNSPEC_VSUBECUQ): Likewise.
549 (VM): Add V1TImode to vector mode iterators.
552 (altivec_vadduqm): Add ISA 2.07 128-bit binary builtins.
553 (altivec_vaddcuq): Likewise.
554 (altivec_vsubuqm): Likewise.
555 (altivec_vsubcuq): Likewise.
556 (altivec_vaddeuqm): Likewise.
557 (altivec_vaddecuq): Likewise.
558 (altivec_vsubeuqm): Likewise.
559 (altivec_vsubecuq): Likewise.
561 * config/rs6000/rs6000.md (FMOVE128_GPR): Add V1TImode to vector
563 (BOOL_128): Likewise.
564 (BOOL_REGS_OUTPUT): Likewise.
565 (BOOL_REGS_OP1): Likewise.
566 (BOOL_REGS_OP2): Likewise.
567 (BOOL_REGS_UNARY): Likewise.
568 (BOOL_REGS_AND_CR0): Likewise.
570 * config/rs6000/altivec.h (vec_vaddcuq): Add support for ISA 2.07
571 128-bit integer builtin support.
572 (vec_vadduqm): Likewise.
573 (vec_vaddecuq): Likewise.
574 (vec_vaddeuqm): Likewise.
575 (vec_vsubecuq): Likewise.
576 (vec_vsubeuqm): Likewise.
577 (vec_vsubcuq): Likewise.
578 (vec_vsubuqm): Likewise.
580 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
581 Document vec_vaddcuq, vec_vadduqm, vec_vaddecuq, vec_vaddeuqm,
582 vec_subecuq, vec_subeuqm, vec_vsubcuq, vec_vsubeqm builtins adding
583 128-bit integer add/subtract to ISA 2.07.
585 2014-03-12 Joern Rennecke <joern.rennecke@embecosm.com>
587 * config/arc/arc.c (arc_predicate_delay_insns):
588 Fix third argument passed to conditionalize_nonjump.
590 2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
592 * config/aarch64/aarch64-builtins.c
593 (aarch64_builtin_vectorized_function): Add BUILT_IN_LFLOORF,
594 BUILT_IN_LLFLOOR, BUILT_IN_LCEILF and BUILT_IN_LLCEIL.
595 * config/aarch64/arm_neon.h (vcvtaq_u64_f64): Call __builtin_llfloor
596 instead of __builtin_lfloor.
597 (vcvtnq_u64_f64): Call __builtin_llceil instead of __builtin_lceil.
599 2014-03-12 Jakub Jelinek <jakub@redhat.com>
601 * tree-ssa-ifcombine.c (forwarder_block_to): New function.
602 (tree_ssa_ifcombine_bb_1): New function.
603 (tree_ssa_ifcombine_bb): Use it. Handle also cases where else_bb
604 is an empty forwarder block to then_bb or vice versa and then_bb
605 and else_bb are effectively swapped.
607 2014-03-12 Christian Bruel <christian.bruel@st.com>
610 * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Emit a
611 REG_CFA_DEF_CFA note.
612 (arm_expand_epilogue_apcs_frame): call arm_add_cfa_adjust_cfa_note.
613 (arm_unwind_emit): Allow REG_CFA_DEF_CFA.
615 2014-03-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
617 PR tree-optimization/60454
618 * tree-ssa-math-opts.c (find_bswap_1): Fix bswap detection.
620 2014-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
622 * config.gcc (aarch64*-*-*): Use ISA flags from aarch64-arches.def.
623 Do not define target_cpu_default2 to generic.
624 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Use generic cpu.
625 * config/aarch64/aarch64.c (aarch64_override_options): Update comment.
626 * config/aarch64/aarch64-arches.def (armv8-a): Use generic cpu.
628 2014-03-12 Jakub Jelinek <jakub@redhat.com>
629 Marc Glisse <marc.glisse@inria.fr>
631 PR tree-optimization/60502
632 * tree-ssa-reassoc.c (eliminate_not_pairs): Use build_all_ones_cst
633 instead of build_low_bits_mask.
635 2014-03-12 Jakub Jelinek <jakub@redhat.com>
638 * tree-vrp.c (register_edge_assert_for_1): Don't add assert
639 if there are multiple uses, but op doesn't live on E edge.
640 * tree-cfg.c (assert_unreachable_fallthru_edge_p): Also ignore
641 clobber stmts before __builtin_unreachable.
643 2014-03-11 Richard Sandiford <rdsandiford@googlemail.com>
645 * builtins.c (expand_builtin_setjmp_receiver): Use and clobber
646 hard_frame_pointer_rtx.
647 * cse.c (cse_insn): Remove volatile check.
648 * cselib.c (cselib_process_insn): Likewise.
649 * dse.c (scan_insn): Likewise.
651 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
653 * config/arc/arc.c (conditionalize_nonjump): New function,
655 (arc_ifcvt): ... this.
656 (arc_predicate_delay_insns): Use it.
658 2014-03-11 Joern Rennecke <joern.rennecke@embecosm.com>
660 * config/arc/predicates.md (extend_operand): During/after reload,
661 allow const_int_operand.
662 * config/arc/arc.md (mulsidi3_700): Use extend_operand predicate.
663 (umulsidi3_700): Likewise. Change operand 2 constraint back to "cL".
664 (mulsi3_highpart): Change operand 2 constraint alternatives 2 and 3
666 (umulsi3_highpart_i): Likewise.
668 2014-03-11 Richard Biener <rguenther@suse.de>
670 * tree-ssa-structalias.c (get_constraint_for_ptr_offset):
671 Add asserts to guard possible wrong-code bugs.
673 2014-03-11 Richard Biener <rguenther@suse.de>
675 PR tree-optimization/60429
676 PR tree-optimization/60485
677 * tree-ssa-structalias.c (set_union_with_increment): Properly
678 take into account all fields that overlap the shifted vars.
679 (do_sd_constraint): Likewise.
680 (do_ds_constraint): Likewise.
681 (get_constraint_for_ptr_offset): Likewise.
683 2014-03-11 Chung-Lin Tang <cltang@codesourcery.com>
685 * config/nios2/nios2.c (machine_function): Add fp_save_offset field.
686 (nios2_compute_frame_layout):
687 Add calculation of cfun->machine->fp_save_offset.
688 (nios2_expand_prologue): Correct setting of frame pointer register
690 (nios2_expand_epilogue): Update recovery of stack pointer from
691 frame pointer accordingly.
692 (nios2_initial_elimination_offset): Update calculation of offset
693 for eliminating to HARD_FRAME_POINTER_REGNUM.
695 2014-03-10 Jakub Jelinek <jakub@redhat.com>
698 * ipa.c (symtab_remove_unreachable_nodes): Don't call
699 cgraph_get_create_node on VAR_DECLs.
701 2014-03-10 Richard Biener <rguenther@suse.de>
704 * tree.c (signed_or_unsigned_type_for): Handle OFFSET_TYPEs.
706 2014-03-08 Douglas B Rupp <rupp@gnat.com>
708 * config/vms/vms.opt (vms_float_format): New variable.
710 2014-03-08 Tobias Burnus <burnus@net-b.de>
712 * doc/invoke.texi (-fcilkplus): Update implementation status.
714 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
715 Richard Biener <rguenther@suse.de>
717 * lto-wrapper.c (merge_and_complain): Ensure -fshort-double is used
718 consistently accross all TUs.
719 (run_gcc): Enable -fshort-double automatically at link at link-time
720 and disallow override.
722 2014-03-08 Richard Sandiford <rdsandiford@googlemail.com>
725 * config/mips/mips.c (mips_option_override): Promote -mpaired-single
726 warning to an error. Disable TARGET_PAIRED_SINGLE and TARGET_MIPS3D
727 if they can't be used.
729 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
731 * configure.ac (HAVE_AS_IX86_TLSLDMPLT): Improve test
732 for Solaris 11/x86 ld.
733 * configure: Regenerate.
735 2014-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
737 * configure.ac (TLS_SECTION_ASM_FLAG): Save as tls_section_flag.
738 (LIB_TLS_SPEC): Save as ld_tls_libs.
739 (HAVE_AS_IX86_TLSLDMPLT): Define as 1/0.
740 (HAVE_AS_IX86_TLSLDM): New test.
741 * configure, config.in: Regenerate.
742 * config/i386/i386.c (legitimize_tls_address): Fall back to
743 TLS_MODEL_GLOBAL_DYNAMIC on 32-bit Solaris/x86 if tool chain
744 cannot support TLS_MODEL_LOCAL_DYNAMIC.
745 * config/i386/i386.md (*tls_local_dynamic_base_32_gnu): Use if
746 instead of #ifdef in HAVE_AS_IX86_TLSLDMPLT test.
748 2014-03-07 Paulo Matos <paulo@matos-sorge.com>
750 * common.opt (fira-loop-pressure): Mark as optimization.
752 2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
754 * langhooks.c (lhd_omp_mappable_type): The error_mark_node is not
755 an OpenMP mappable type.
757 2014-03-06 Matthias Klose <doko@ubuntu.com>
759 * Makefile.in (s-mlib): Only pass MULTIARCH_DIRNAME if
760 MULTILIB_OSDIRNAMES is not defined.
762 2014-03-06 Jakub Jelinek <jakub@redhat.com>
763 Meador Inge <meadori@codesourcery.com>
766 * config/arm/arm.c (arm_tls_symbol_p): Remove.
767 (arm_legitimize_address): Call legitimize_tls_address for any
768 arm_tls_referenced_p expression, handle constant addend. Call it
769 before testing for !TARGET_ARM.
770 (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
772 2014-03-06 Richard Biener <rguenther@suse.de>
778 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
780 * tree-streamer.c (record_common_node): Assert we don't record
781 nodes with type double.
782 (preload_common_node): Skip type double, complex double and double
783 pointer since it is now frontend dependent due to fshort-double option.
785 2014-03-06 Richard Biener <rguenther@suse.de>
787 * gcc.c (PLUGIN_COND): Always enable unless -fno-use-linker-plugin
788 or -fno-lto is specified and the linker has full plugin support.
789 * collect2.c (lto_mode): Default to LTO_MODE_WHOPR if LTO is enabled.
790 (main): Remove -flto processing, adjust lto_mode using use_plugin late.
791 * lto-wrapper.c (merge_and_complain): Merge compile-time
793 (run_gcc): And pass it through to the link options.
795 2014-03-06 Alexandre Oliva <aoliva@redhat.com>
799 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
801 * cselib.c (remove_useless_values): Skip to avoid quadratic
802 behavior if the condition moved from...
803 (cselib_process_insn): ... here holds.
805 2014-03-05 Jakub Jelinek <jakub@redhat.com>
808 * Makefile.in (PLUGIN_HEADERS): Add tree-phinodes.h, stor-layout.h,
809 ssa-iterators.h, $(RESOURCE_H) and tree-cfgcleanup.h.
812 * config/i386/t-i386 (OPTIONS_H_EXTRA): Add stringop.def.
813 (TM_H): Add x86-tune.def.
815 2014-03-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
817 * config/aarch64/aarch64.c (generic_tunings):
818 Use cortexa57_extra_costs.
820 2014-03-05 Jakub Jelinek <jakub@redhat.com>
823 * cfgexpand.c (expand_used_vars): Do not assume all SSA_NAMEs
824 of PARM/RESULT_DECLs must be coalesced with optimize && in_lto_p.
825 * tree-ssa-coalesce.c (coalesce_ssa_name): Use MUST_COALESCE_COST - 1
828 2014-03-04 Heiher <r@hev.cc>
830 * config/mips/mips-cpus.def (loongson3a): Mark as a MIPS64r2 processor.
831 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Adjust accordingly.
833 2014-03-04 Uros Bizjak <ubizjak@gmail.com>
835 * config/i386/predicates.md (const2356_operand): Change to ...
836 (const2367_operand): ... this.
837 * config/i386/sse.md (avx512pf_scatterpf<mode>sf): Use
839 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
840 (*avx512pf_scatterpf<mode>sf): Ditto.
841 (avx512pf_scatterpf<mode>df): Ditto.
842 (*avx512pf_scatterpf<mode>df_mask): Ditto.
843 (*avx512pf_scatterpf<mode>df): Ditto.
844 * config/i386/i386.c (ix86_expand_builtin): Update
845 incorrect hint operand error message.
847 2014-03-04 Richard Biener <rguenther@suse.de>
849 * lto-section-in.c (lto_get_section_data): Fix const cast.
851 2014-03-04 Paulo Matos <paulo@matos-sorge.com>
853 * tree-streamer.c (record_common_node): Assert we don't record
854 nodes with type double.
855 (preload_common_node): Skip type double, complex double and double
856 pointer since it is now frontend dependent due to fshort-double option.
858 2014-03-04 Richard Biener <rguenther@suse.de>
861 * lto-streamer-in.c (lto_read_body): Remove LTO bytecode version check.
862 (lto_input_toplevel_asms): Likewise.
863 * lto-section-in.c (lto_get_section_data): Instead do it here
866 2014-03-04 Richard Biener <rguenther@suse.de>
868 PR tree-optimization/60382
869 * tree-vect-loop.c (vect_is_simple_reduction_1): Do not consider
870 dead PHIs a reduction.
872 2014-03-03 Uros Bizjak <ubizjak@gmail.com>
874 * config/i386/xmmintrin.h (enum _mm_hint) <_MM_HINT_ET0>: Correct
876 (_mm_prefetch): Move out of GCC target("sse") pragma.
877 * config/i386/prfchwintrin.h (_m_prefetchw): Move out of
878 GCC target("prfchw") pragma.
879 * config/i386/i386.md (prefetch): Emit prefetchwt1 only
881 * config/i386/i386.c (ix86_option_override_internal): Enable
882 -mprfchw with -mprefetchwt1.
884 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
886 * config/arc/arc.md (casesi_load) <length attribute alternative 0>:
889 2014-03-03 Joern Rennecke <joern.rennecke@embecosm.com>
891 * opts.h (CL_PCH_IGNORE): Define.
892 * targhooks.c (option_affects_pch_p):
893 Return false for options that have CL_PCH_IGNORE set.
894 * opt-functions.awk: Process PchIgnore.
895 * doc/options.texi: Document PchIgnore.
897 * config/arc/arc.opt (misize): Add PchIgnore property.
899 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
901 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Disallow
902 reload of PLUS rtx's outside of GENERAL_REGS or BASE_REGS; relax
903 constraint on constants to permit them being loaded into
904 GENERAL_REGS or BASE_REGS.
906 2014-03-03 Nick Clifton <nickc@redhat.com>
908 * config/rl78/rl78-real.md (cbranchsi4_real_signed): Add
909 anti-cacnonical alternatives.
910 (negandhi3_real): New pattern.
911 * config/rl78/rl78-virt.md (negandhi3_virt): New pattern.
913 2014-03-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
915 * config/avr/avr-mcus.def: Remove atxmega16x1.
916 * config/avr/avr-tables.opt: Regenerate.
917 * config/avr/t-multilib: Regenerate.
918 * doc/avr-mmcu.texi: Regenerate.
920 2014-03-03 Tobias Grosser <tobias@grosser.es>
921 Mircea Namolaru <mircea.namolaru@inria.fr>
923 PR tree-optimization/58028
924 * graphite-clast-to-gimple.c (set_cloog_options): Don't remove
927 2014-03-03 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
929 * config/arm/neon.md (*movmisalign<mode>): Legitimize addresses
930 not handled by recognizers.
932 2014-03-03 Jakub Jelinek <jakub@redhat.com>
935 * function.c (expand_function_end): Don't emit
936 clobber_return_register sequence if clobber_after is a BARRIER.
937 * cfgexpand.c (construct_exit_block): Append instructions before
938 return_label to prev_bb.
940 2014-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
942 * config/rs6000/constraints.md: Document reserved use of "wc".
944 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
947 * ipa.c (function_and_variable_visibility): When dissolving comdat
948 group, also set all symbols to local.
950 2014-03-02 Jan Hubicka <hubicka@ucw.cz>
955 2013-12-14 Jan Hubicka <jh@suse.cz>
957 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Skip clobbers.
959 2014-03-02 Jon Beniston <jon@beniston.com>
965 * config/lm32/lm32.c (lm32_legitimate_constant_p): Remove, as incorrect.
966 (TARGET_LEGITIMATE_CONSTANT_P): Undefine, as not needed.
967 * config/lm32/lm32.md (movsi_insn): Add 32-bit immediate support.
968 (simple_return, *simple_return): New patterns
969 * config/lm32/predicates.md (movsi_rhs_operand): Remove as obsolete.
970 * configure.ac (force_sjlj_exceptions): Force sjlj exceptions for lm32.
972 2014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
974 * dwarf2out.c (gen_subprogram_die): Tidy.
976 2014-03-01 Oleg Endo <olegendo@gcc.gnu.org>
979 * config/sh/sh.md (*mov_t_msb_neg): Split into ...
980 (*mov_t_msb_neg_negc): ... this new insn.
982 2014-02-28 Jason Merrill <jason@redhat.com>
985 * ipa-devirt.c (ipa_devirt): Don't choose an implicitly-declared
988 2014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
991 * dwarf2out.c (decltype_auto_die): New static.
992 (gen_subprogram_die): Handle 'decltype(auto)' like 'auto'.
993 (gen_type_die_with_usage): Handle 'decltype(auto)'.
994 (is_cxx_auto): Likewise.
996 2014-02-28 Ian Bolton <ian.bolton@arm.com>
998 * config/aarch64/aarch64.h: Define __ARM_NEON by default if
999 we are not using general regs only.
1001 2014-02-28 Richard Biener <rguenther@suse.de>
1004 * tree-cfgcleanup.c (tree_forwarder_block_p): Restrict
1005 previous fix and only allow to remove trivial pre-headers
1006 and latches. Also honor LOOPS_MAY_HAVE_MULTIPLE_LATCHES.
1007 (remove_forwarder_block): Properly update the latch of a loop.
1009 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
1012 * cselib.c (cselib_hasher::equal): Special-case VALUE lookup.
1013 (cselib_preserved_hash_table): New.
1014 (preserve_constants_and_equivs): Move preserved vals to it.
1015 (cselib_find_slot): Look it up first.
1016 (cselib_init): Initialize it.
1017 (cselib_finish): Release it.
1018 (dump_cselib_table): Dump it.
1020 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
1023 * cselib.c (remove_useless_values): Skip to avoid quadratic
1024 behavior if the condition moved from...
1025 (cselib_process_insn): ... here holds.
1027 2014-02-28 Alexandre Oliva <aoliva@redhat.com>
1030 * var-tracking.c (vt_initialize): Apply the same condition to
1031 preserve the CFA base value.
1033 2014-02-28 Joey Ye <joey.ye@arm.com>
1036 * config/arm/arm.c (thumb_far_jump_used_p): Don't change
1037 if reload in progress or completed.
1039 2014-02-28 Tobias Burnus <burnus@net-b.de>
1042 * tree-pretty-print.c (dump_generic_node, print_declaration): Handle
1045 2014-02-27 H.J. Lu <hongjiu.lu@intel.com>
1047 * doc/tm.texi.in (Condition Code Status): Update documention for
1048 relative locations of cc0-setter and cc0-user.
1050 2014-02-27 Jeff Law <law@redhat.com>
1052 PR rtl-optimization/52714
1053 * combine.c (try_combine): When splitting an unrecognized PARALLEL
1054 into two independent simple sets, if I3 is a jump, ensure the
1055 pattern we place into I3 is a (set (pc) ...).
1057 2014-02-27 Mikael Pettersson <mikpe@it.uu.se>
1058 Jeff Law <law@redhat.com>
1060 PR rtl-optimization/49847
1061 * cse.c (fold_rtx) Handle case where cc0 setter and cc0 user
1062 are in different blocks.
1063 * doc/tm.texi (Condition Code Status): Update documention for
1064 relative locations of cc0-setter and cc0-user.
1066 2014-02-27 Vladimir Makarov <vmakarov@redhat.com>
1069 * lra.c (lra_emit_add): Check SUBREG too.
1071 2014-02-27 Andreas Schwab <schwab@suse.de>
1073 * config/m68k/m68k.c (m68k_option_override): Disable
1074 -flive-range-shrinkage for classic m68k.
1075 (m68k_override_options_after_change): Likewise.
1077 2014-02-27 Marek Polacek <polacek@redhat.com>
1080 * tree-ssa-uninit.c (gate_warn_uninitialized): Run the pass even for
1081 -Wmaybe-uninitialized.
1083 2014-02-27 Alan Modra <amodra@gmail.com>
1086 * reload1.c (emit_input_reload_insns): When reload_override_in,
1087 set old to rl->in_reg when rl->in_reg is a subreg.
1089 2014-02-26 Richard Biener <rguenther@suse.de>
1092 * lra-assigns.c (spill_for): Avoid mixed-sign comparison.
1094 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
1096 * common/config/i386/predicates.md (const1256_operand): Remove.
1097 (const2356_operand): New.
1098 (const_1_to_2_operand): Remove.
1099 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
1100 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
1101 (*avx512pf_gatherpf<mode>sf): Ditto.
1102 (avx512pf_gatherpf<mode>df): Ditto.
1103 (*avx512pf_gatherpf<mode>df_mask): Ditto.
1104 (*avx512pf_gatherpf<mode>df): Ditto.
1105 (avx512pf_scatterpf<mode>sf): Ditto.
1106 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
1107 (*avx512pf_scatterpf<mode>sf): Ditto.
1108 (avx512pf_scatterpf<mode>df): Ditto.
1109 (*avx512pf_scatterpf<mode>df_mask): Ditto.
1110 (*avx512pf_scatterpf<mode>df): Ditto.
1111 * common/config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET0.
1113 2014-02-26 Ilya Tocar <ilya.tocar@intel.com>
1115 * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask),
1116 (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64_mask),
1117 (_mm512_mask_testn_epi64_mask): Move to ...
1118 * config/i386/avx512cdintrin.h: Here.
1119 * config/i386/i386.c (bdesc_args): Change MASK_ISA for testnm.
1120 * config/i386/sse.md (avx512f_vmscalef<mode><round_name>): Remove %.
1121 (avx512f_scalef<mode><mask_name><round_name>): Ditto.
1122 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Change conditon to
1123 TARGET_AVX512F from TARGET_AVX512CD.
1125 2014-02-26 Richard Biener <rguenther@suse.de>
1128 * ipa.c (walk_polymorphic_call_targets): Properly guard
1129 call to inline_update_overall_summary.
1131 2014-02-26 Bin Cheng <bin.cheng@arm.com>
1134 * tree-cfgcleanup.c (tree_forwarder_block_p): Protect loop preheaders
1135 and latches only if requested. Fix latch if it is removed.
1136 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Set
1137 LOOPS_HAVE_PREHEADERS.
1139 2014-02-25 Andrew Pinski <apinski@cavium.com>
1141 * builtins.c (expand_builtin_thread_pointer): Create a new target
1142 when the target is NULL.
1144 2014-02-25 Vladimir Makarov <vmakarov@redhat.com>
1146 PR rtl-optimization/60317
1147 * params.def (PARAM_LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1148 * params.h (LRA_MAX_CONSIDERED_RELOAD_PSEUDOS): New.
1149 * lra-assigns.c: Include params.h.
1150 (spill_for): Use LRA_MAX_CONSIDERED_RELOAD_PSEUDOS as guard for
1151 other reload pseudos considerations.
1153 2014-02-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1155 * config/rs6000/vector.md (*vector_unordered<mode>): Change split
1156 to use canonical form for nor<mode>3.
1158 2014-02-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1161 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Allow 128 to 64-bit
1164 2014-02-25 Ilya Tocar <ilya.tocar@intel.com>
1166 * common/config/i386/i386-common.c (OPTION_MASK_ISA_PREFETCHWT1_SET),
1167 (OPTION_MASK_ISA_PREFETCHWT1_UNSET): New.
1168 (ix86_handle_option): Handle OPT_mprefetchwt1.
1169 * config/i386/cpuid.h (bit_PREFETCHWT1): New.
1170 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
1172 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
1173 OPTION_MASK_ISA_PREFETCHWT1.
1174 * config/i386/i386.c (ix86_target_string): Handle mprefetchwt1.
1175 (PTA_PREFETCHWT1): New.
1176 (ix86_option_override_internal): Handle PTA_PREFETCHWT1.
1177 (ix86_valid_target_attribute_inner_p): Handle OPT_mprefetchwt1.
1178 * config/i386/i386.h (TARGET_PREFETCHWT1, TARGET_PREFETCHWT1_P): New.
1179 * config/i386/i386.md (prefetch): Check TARGET_PREFETCHWT1
1180 (*prefetch_avx512pf_<mode>_: Change into ...
1181 (*prefetch_prefetchwt1_<mode>: This.
1182 * config/i386/i386.opt (mprefetchwt1): New.
1183 * config/i386/xmmintrin.h (_mm_hint): Add _MM_HINT_ET1.
1184 (_mm_prefetch): Handle intent to write.
1185 * doc/invoke.texi (mprefetchwt1), (mno-prefetchwt1): Doccument.
1187 2014-02-25 Richard Biener <rguenther@suse.de>
1190 * emit-rtl.c (mem_attrs_htab): Remove.
1191 (mem_attrs_htab_hash): Likewise.
1192 (mem_attrs_htab_eq): Likewise.
1193 (set_mem_attrs): Always allocate new mem-attrs when something changed.
1194 (init_emit_once): Do not allocate mem_attrs_htab.
1196 2014-02-25 Richard Biener <rguenther@suse.de>
1199 * lto-opts.c (lto_write_options): Output non-explicit conservative
1200 -fwrapv, -fno-trapv and -fno-strict-overflow.
1201 * lto-wrapper.c (merge_and_complain): Handle merging those options.
1202 (run_gcc): And pass them through.
1204 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
1206 * sel-sched.c (calculate_new_fences): New parameter ptime.
1207 Calculate it as a maximum over all fence cycles.
1208 (sel_sched_region_2): Adjust the call to calculate_new_fences.
1209 Print the final schedule timing when sched_verbose.
1211 2014-02-25 Andrey Belevantsev <abel@ispras.ru>
1213 PR rtl-optimization/60292
1214 * sel-sched.c (fill_vec_av_set): Do not reset target availability
1215 bit fot the fence instruction.
1217 2014-02-24 Alangi Derick <alangiderick@gmail.com>
1219 * calls.h: Fix typo in comment.
1221 2014-02-24 John David Anglin <danglin@gcc.gnu.org>
1223 * config/pa/pa.c (pa_output_move_double): Don't valididate when
1224 adjusting offsetable addresses.
1226 2014-02-24 Guozhi Wei <carrot@google.com>
1228 * sparseset.h (sparseset_pop): Fix the wrong index.
1230 2014-02-24 Walter Lee <walt@tilera.com>
1232 * config.gcc (tilepro-*-*): Change to tilepro*-*-*.
1233 (tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
1235 * common/config/tilegx/tilegx-common.c
1236 (TARGET_DEFAULT_TARGET_FLAGS): Define.
1237 * config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
1239 * config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
1240 * config/tilegx/tilegx.c (tilegx_return_in_msb): New.
1241 (tilegx_gimplify_va_arg_expr): Handle big endian.
1242 (tilegx_expand_unaligned_load): Ditto.
1243 (tilegx_expand_unaligned_store): Ditto.
1244 (TARGET_RETURN_IN_MSB): New.
1245 * config/tilegx/tilegx.h (TARGET_DEFAULT): New.
1246 (TARGET_ENDIAN_DEFAULT): New.
1247 (TARGET_BIG_ENDIAN): Handle big endian.
1248 (BYTES_BIG_ENDIAN): Ditto.
1249 (WORDS_BIG_ENDIAN): Ditto.
1250 (FLOAT_WORDS_BIG_ENDIAN): Ditto.
1253 * config/tilegx/tilegx.md (extv): Handle big endian.
1255 (insn_st<n>): Ditto.
1256 (insn_st<n>_add<bitsuffix>): Ditto.
1257 (insn_stnt<n>): Ditto.
1258 (insn_stnt<n>_add<bitsuffix>):Ditto.
1259 (vec_interleave_highv8qi): Handle big endian.
1260 (vec_interleave_highv8qi_be): New.
1261 (vec_interleave_highv8qi_le): New.
1262 (insn_v1int_h): Handle big endian.
1263 (vec_interleave_lowv8qi): Handle big endian.
1264 (vec_interleave_lowv8qi_be): New.
1265 (vec_interleave_lowv8qi_le): New.
1266 (insn_v1int_l): Handle big endian.
1267 (vec_interleave_highv4hi): Handle big endian.
1268 (vec_interleave_highv4hi_be): New.
1269 (vec_interleave_highv4hi_le): New.
1270 (insn_v2int_h): Handle big endian.
1271 (vec_interleave_lowv4hi): Handle big endian.
1272 (vec_interleave_lowv4hi_be): New.
1273 (vec_interleave_lowv4hi_le): New.
1274 (insn_v2int_l): Handle big endian.
1275 (vec_interleave_highv2si): Handle big endian.
1276 (vec_interleave_highv2si_be): New.
1277 (vec_interleave_highv2si_le): New.
1278 (insn_v4int_h): Handle big endian.
1279 (vec_interleave_lowv2si): Handle big endian.
1280 (vec_interleave_lowv2si_be): New.
1281 (vec_interleave_lowv2si_le): New.
1282 (insn_v4int_l): Handle big endian.
1283 * config/tilegx/tilegx.opt (mbig-endian): New option.
1284 (mlittle-endian): New option.
1285 * doc/install.texi: Document tilegxbe-linux.
1286 * doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
1288 2014-02-24 Martin Jambor <mjambor@suse.cz>
1291 * ipa-cp.c (propagate_constants_accross_call): Bail out early if
1292 there are no parameter descriptors.
1294 2014-02-24 Andrey Belevantsev <abel@ispras.ru>
1296 PR rtl-optimization/60268
1297 * sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
1298 initialization to ...
1299 (sched_rgn_init): ... here.
1300 (schedule_region): Check for SCHED_PRESSURE_NONE earlier.
1302 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1304 * config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg
1307 2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
1309 * config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
1312 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1314 * /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk,
1315 define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK.
1317 2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
1319 * config/microblaze/predicates.md: Add cmp_op predicate.
1320 * config/microblaze/microblaze.md: Add branch_compare instruction
1321 which uses cmp_op predicate and emits cmp insn before branch.
1322 * config/microblaze/microblaze.c (microblaze_emit_compare): Rename
1323 to microblaze_expand_conditional_branch and consolidate logic.
1324 (microblaze_expand_conditional_branch): emit branch_compare
1325 insn instead of handling cmp op separate from branch insn.
1327 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1329 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
1332 2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1334 * config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
1335 define_insn with define_expand and new define_insn
1336 *altivec_lve<VI_char>x_internal.
1337 (altivec_stve<VI_char>x): Replace define_insn with define_expand
1338 and new define_insn *altivec_stve<VI_char>x_internal.
1339 * config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
1341 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
1343 (altivec_expand_stvex_be): New function.
1345 2014-02-22 Joern Rennecke <joern.rennecke@embecosm.com>
1347 * config/avr/avr.c (avr_can_eliminate): Allow elimination from
1348 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if !frame_pointer_needed.
1349 * config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
1350 ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
1352 2014-02-21 Vladimir Makarov <vmakarov@redhat.com>
1355 * lra-constraints.c (inherit_reload_reg): Use lra_emit_move
1356 instead of emit_move_insn.
1358 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1360 * config/rs6000/altivec.md (altivec_vsumsws): Replace second
1362 (reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
1363 gen_altivec_vsumsws.
1365 2014-02-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1367 * config/rs6000/altivec.md (altivec_lvxl): Rename as
1368 *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
1369 (altivec_lvxl_<mode>): New define_expand incorporating
1370 -maltivec=be semantics where needed.
1371 (altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
1372 (altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
1373 semantics where needed.
1374 (altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
1375 (altivec_stvx_<mode>): New define_expand incorporating
1376 -maltivec=be semantics where needed.
1377 (altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
1378 VM2 iterator instead of V4SI.
1379 (altivec_stvxl_<mode>): New define_expand incorporating
1380 -maltivec=be semantics where needed.
1381 * config/rs6000/rs6000-builtin.def: Add new built-in definitions
1382 LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
1383 LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI, STVX_V2DF,
1384 STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI, STVXL_V2DF,
1385 STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI, STVXL_V16QI.
1386 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
1387 ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
1388 similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
1389 ALTIVEC_BUILTIN_STVXL.
1390 * config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New prototype.
1391 (altivec_expand_stvx_be): Likewise.
1392 * config/rs6000/rs6000.c (swap_selector_for_mode): New function.
1393 (altivec_expand_lvx_be): Likewise.
1394 (altivec_expand_stvx_be): Likewise.
1395 (altivec_expand_builtin): Add cases for
1396 ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
1397 ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
1398 (altivec_init_builtins): Add definitions for
1399 __builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
1400 __builtin_altivec_stvx_<mode>, and __builtin_altivec_stvxl_<mode>.
1402 2014-02-21 Catherine Moore <clm@codesourcery.com>
1404 * doc/invoke.texi (mvirt, mno-virt): Document.
1405 * config/mips/mips.opt (mvirt): New option.
1406 * config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
1408 2014-02-21 Richard Biener <rguenther@suse.de>
1410 PR tree-optimization/60276
1411 * tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
1412 (STMT_VINFO_MIN_NEG_DIST): New macro.
1413 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
1414 STMT_VINFO_MIN_NEG_DIST.
1415 * tree-vect-stmts.c (vectorizable_load): Verify if assumptions
1416 made for negative dependence distances still hold.
1418 2014-02-21 Richard Biener <rguenther@suse.de>
1421 * tree-ssa-live.c (mark_all_vars_used_1): Do not walk
1422 DECL_INITIAL for globals not in the current function context.
1424 2014-02-21 Jakub Jelinek <jakub@redhat.com>
1426 PR tree-optimization/56490
1427 * params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
1428 * tree-ssa-uninit.c: Include params.h.
1429 (compute_control_dep_chain): Add num_calls argument, return false
1430 if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
1431 num_calls to recursive call.
1432 (find_predicates): Change dep_chain into normal array,
1433 cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
1434 variable and adjust compute_control_dep_chain caller.
1435 (find_def_preds): Likewise.
1437 2014-02-21 Thomas Schwinge <thomas@codesourcery.com>
1439 * gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
1440 <case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
1442 2014-02-21 Nick Clifton <nickc@redhat.com>
1444 * config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
1445 (pushhi1): Likewise.
1446 (popqi1): Add mode to pre_dec.
1449 2014-02-21 Jakub Jelinek <jakub@redhat.com>
1451 * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
1452 mode for mask of V8SFmode permutation.
1454 2014-02-20 Richard Henderson <rth@redhat.com>
1457 * builtins.c (expand_builtin_atomic_compare_exchange): Always make
1458 a new pseudo for OLDVAL.
1460 2014-02-20 Jakub Jelinek <jakub@redhat.com>
1463 * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
1464 gen_reg_rtx if d->testing_p.
1465 (expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
1466 if d->testing_p and we will certainly return true.
1467 (expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
1470 2014-02-20 Uros Bizjak <ubizjak@gmail.com>
1472 * emit-rtl.c (gen_reg_rtx): Assert that
1473 crtl->emit.regno_pointer_align_length is non-zero.
1475 2014-02-20 Richard Henderson <rth@redhat.com>
1478 * builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
1479 on failure the store back into EXPECT.
1481 2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
1482 Sandra Loosemore <sandra@codesourcery.com>
1484 * config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
1485 * config/nios2/nios2.c (nios2_function_profiler): Add
1486 -fPIC (flag_pic == 2) support.
1487 (nios2_handle_custom_fpu_cfg): Fix warning parameter.
1488 (nios2_large_offset_p): New function.
1489 (nios2_unspec_reloc_p): Move up position, update to use
1490 nios2_large_offset_p.
1491 (nios2_unspec_address): Remove function.
1492 (nios2_unspec_offset): New function.
1493 (nios2_large_got_address): New function.
1494 (nios2_got_address): Add large offset support.
1495 (nios2_legitimize_tls_address): Update usage of removed and new
1497 (nios2_symbol_binds_local_p): New function.
1498 (nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
1499 (nios2_legitimize_address): Update to use nios2_large_offset_p.
1500 (nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
1501 (nios2_print_operand): Merge H/L processing, add hiadj/lo
1502 processing for (const (unspec ...)).
1503 (nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
1505 2014-02-20 Richard Biener <rguenther@suse.de>
1507 * tree-cfg.c (replace_uses_by): Mark altered BBs before
1508 doing the substitution.
1509 (verify_gimple_assign_single): Also verify bare MEM_REFs on the lhs.
1511 2014-02-20 Martin Jambor <mjambor@suse.cz>
1514 * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
1515 info when checking whether lattices are bottom.
1517 2014-02-20 Richard Biener <rguenther@suse.de>
1520 * tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
1523 2014-02-20 Jan Hubicka <hubicka@ucw.cz>
1526 * ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale
1527 parameter specifying the scaling.
1528 (inline_call): Update.
1529 (want_inline_recursively): Guard division by zero.
1530 (recursive_inlining): Update.
1531 * ipa-inline.h (clone_inlined_nodes): Update.
1533 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
1536 * config/i386/i386.c (classify_argument): Pass structures of size
1537 64 bytes or less in register.
1539 2014-02-20 Ilya Tocar <ilya.tocar@intel.com>
1540 Kirill Yukhin <kirill.yukhin@intel.com>
1542 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
1543 (_mm_rcp28_round_ss): Ditto.
1544 (_mm_rsqrt28_round_sd): Ditto.
1545 (_mm_rsqrt28_round_ss): Ditto.
1546 * config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
1547 (_mm_rcp14_round_ss): Ditto.
1548 (_mm_rsqrt14_round_sd): Ditto.
1549 (_mm_rsqrt14_round_ss): Ditto.
1550 * config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
1551 the first input operand, get rid of match_dup.
1552 (avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
1554 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
1556 (avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
1557 operand as the first input operand, set type attribute.
1558 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
1560 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
1561 operand as the first input operand, set type attribute.
1563 2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1565 * config/rs6000/rs6000.c (vspltis_constant): Fix most significant
1568 2014-02-19 H.J. Lu <hongjiu.lu@intel.com>
1571 * config/i386/i386.c (construct_container): Remove TFmode check
1572 for X86_64_INTEGER_CLASS.
1574 2014-02-19 Uros Bizjak <ubizjak@gmail.com>
1577 * config/i386/i386.c (type_natural_mode): Warn for ABI changes
1578 only when -Wpsabi is enabled.
1580 2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
1583 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
1584 passing arrays in registers are the same as for structs, so remove the
1585 special case for them.
1587 2014-02-19 Eric Botcazou <ebotcazou@adacore.com>
1589 * expr.c (expand_expr_real_1) <case VIEW_CONVERT_EXPR>: For a bit-field
1590 destination type, extract only the valid bits if the source type is not
1591 integral and has a different mode.
1593 2014-02-19 Richard Biener <rguenther@suse.de>
1596 * tree-inline.c (estimate_num_insns): Avoid calling cgraph_get_node
1599 2014-02-19 Richard Biener <rguenther@suse.de>
1602 * ipa-prop.c: Include stringpool.h and tree-ssanames.h.
1603 (ipa_modify_call_arguments): Emit an argument load explicitely and
1604 preserve virtual SSA form there and for the replacement call.
1605 Do not update SSA form nor free dominance info.
1607 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
1609 * ipa.c (function_and_variable_visibility): Also clear WEAK
1610 flag when disolving COMDAT_GROUP.
1612 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
1614 * ipa-prop.h (ipa_ancestor_jf_data): Update ocmment.
1615 * ipa-prop.c (ipa_set_jf_known_type): Return early when
1617 (ipa_set_ancestor_jf): Set type to NULL hwen it is not preserved;
1618 do more sanity checks.
1619 (detect_type_change): Return true when giving up early.
1620 (compute_complex_assign_jump_func): Fix type parameter of
1621 ipa_set_ancestor_jf.
1622 (compute_complex_ancestor_jump_func): Likewise.
1623 (update_jump_functions_after_inlining): Fix updating of
1625 * ipa-cp.c (ipa_get_jf_ancestor_result): Be ready for type to be NULL.
1627 2014-02-18 Jan Hubicka <hubicka@ucw.cz>
1629 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove
1630 inline clones when edge disappears.
1632 2014-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
1635 * config/rs6000/rs6000.md (mov<mode>_64bit, TF/TDmode moves):
1636 Split 64-bit moves into 2 patterns. Do not allow the use of
1637 direct move for TDmode in little endian, since the decimal value
1638 has little endian bytes within a word, but the 64-bit pieces are
1639 ordered in a big endian fashion, and normal subreg's of TDmode are
1641 (mov<mode>_64bit_dm): Likewise.
1642 (movtd_64bit_nodm): Likewise.
1644 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
1646 PR tree-optimization/60174
1647 * tree-ssa-reassoc.c (init_range_entry): Do not look into the defining
1648 statement of an SSA_NAME that occurs in an abnormal PHI node.
1650 2014-02-18 Jakub Jelinek <jakub@redhat.com>
1653 * final.c (SEEN_BB): Remove.
1654 (SEEN_NOTE, SEEN_EMITTED): Renumber.
1655 (final_scan_insn): Don't force_source_line on second
1656 NOTE_INSN_BASIC_BLOCK.
1658 2014-02-18 Uros Bizjak <ubizjak@gmail.com>
1661 * config/i386/i386.h (struct ix86_args): Add warn_avx512f.
1662 * config/i386/i386.c (init_cumulative_args): Initialize warn_avx512f.
1663 (type_natural_mode): Warn ABI change when %zmm register is not
1664 available for AVX512F vector value passing.
1666 2014-02-18 Kai Tietz <ktietz@redhat.com>
1669 * config/i386/i386.c (ix86_expand_prologue): Use value in
1670 rax register as displacement when restoring %r10 or %rax.
1671 Fix wrong offset when restoring both registers.
1673 2014-02-18 Eric Botcazou <ebotcazou@adacore.com>
1675 * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
1676 assertion with conditional return.
1678 2014-02-18 Jakub Jelinek <jakub@redhat.com>
1679 Uros Bizjak <ubizjak@gmail.com>
1682 * config/i386/driver-i386.c (host_detect_local_cpu): If
1683 YMM state is not saved by the OS, also clear has_f16c. Move
1684 CPUID 0x80000001 handling before YMM state saving checking.
1686 2014-02-18 Andrey Belevantsev <abel@ispras.ru>
1688 PR rtl-optimization/58960
1689 * haifa-sched.c (alloc_global_sched_pressure_data): New,
1690 factored out from ...
1691 (sched_init): ... here.
1692 (free_global_sched_pressure_data): New, factored out from ...
1693 (sched_finish): ... here.
1694 * sched-int.h (free_global_sched_pressure_data): Declare.
1695 * sched-rgn.c (nr_regions_initial): New static global.
1696 (haifa_find_rgns): Initialize it.
1697 (schedule_region): Disable sched-pressure for the newly
1700 2014-02-17 Richard Biener <rguenther@suse.de>
1702 * tree-vect-stmts.c (free_stmt_vec_info): Clear BB and
1703 release SSA defs of pattern stmts.
1705 2014-02-17 Richard Biener <rguenther@suse.de>
1707 * tree-inline.c (expand_call_inline): Release the virtual
1708 operand defined by the call we are about to inline.
1710 2014-02-17 Richard Biener <rguenther@suse.de>
1712 * tree-ssa.c (verify_ssa): If verify_def found an error, ICE.
1714 2014-02-17 Kirill Yukhin <kirill.yukhin@intel.com>
1715 Ilya Tocar <ilya.tocar@intel.com>
1717 * config/i386/avx512fintrin.h (_mm512_maskz_permutexvar_epi64): Swap
1718 arguments order in builtin.
1719 (_mm512_permutexvar_epi64): Ditto.
1720 (_mm512_mask_permutexvar_epi64): Ditto
1721 (_mm512_maskz_permutexvar_epi32): Ditto
1722 (_mm512_permutexvar_epi32): Ditto
1723 (_mm512_mask_permutexvar_epi32): Ditto
1725 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1727 * config/rs6000/altivec.md (p8_vmrgew): Handle little endian targets.
1728 (p8_vmrgow): Likewise.
1730 2014-02-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1732 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Handle little
1735 2014-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
1738 * config/rs6000/rs6000.md (rreg): Add TFmode, TDmode constraints.
1739 (mov<mode>_internal, TFmode/TDmode): Split TFmode/TDmode moves
1740 into 64-bit and 32-bit moves. On 64-bit moves, add support for
1741 using direct move instructions on ISA 2.07. Also adjust
1742 instruction length for 64-bit.
1743 (mov<mode>_64bit, TFmode/TDmode): Likewise.
1744 (mov<mode>_32bit, TFmode/TDmode): Likewise.
1746 2014-02-15 Alan Modra <amodra@gmail.com>
1750 * config/rs6000/rs6000.c (rs6000_secondary_reload_inner): Use
1751 find_replacement on parts of insn rtl that might be reloaded.
1753 2014-02-15 Richard Biener <rguenther@suse.de>
1755 PR tree-optimization/60183
1756 * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating loads.
1757 (tree_ssa_phiprop): Calculate and free post-dominators.
1759 2014-02-14 Jeff Law <law@redhat.com>
1761 PR rtl-optimization/60131
1762 * ree.c (get_extended_src_reg): New function.
1763 (combine_reaching_defs): Use it rather than assuming location of REG.
1764 (find_and_remove_re): Verify first operand of extension is
1765 a REG before adding the insns to the copy list.
1767 2014-02-14 Roland McGrath <mcgrathr@google.com>
1769 * configure.ac (HAVE_AS_IX86_UD2): New test for 'ud2' mnemonic.
1770 * configure: Regenerated.
1771 * config.in: Regenerated.
1772 * config/i386/i386.md (trap) [HAVE_AS_IX86_UD2]: Use the mnemonic
1773 instead of ASM_SHORT.
1775 2014-02-14 Vladimir Makarov <vmakarov@redhat.com>
1776 Richard Earnshaw <rearnsha@arm.com>
1778 PR rtl-optimization/59535
1779 * lra-constraints.c (process_alt_operands): Encourage alternative
1780 when unassigned pseudo class is superset of the alternative class.
1781 (inherit_reload_reg): Don't inherit when optimizing for code size.
1782 * config/arm/arm.h (MODE_BASE_REG_CLASS): Add version for LRA
1783 returning CORE_REGS for anything but Thumb1 and BASE_REGS for
1784 modes not less than 4 for Thumb1.
1786 2014-02-14 Kyle McMartin <kyle@redhat.com>
1789 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for AArch64.
1791 2014-02-14 Richard Biener <rguenther@suse.de>
1793 * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
1794 (get_frame_arg): Drop the assert with langhook types_compatible_p.
1795 Do not strip INDIRECT_REFs.
1797 2014-02-14 Richard Biener <rguenther@suse.de>
1800 * lto-streamer-out.c (DFS_write_tree_body): Do not follow
1801 DECL_FUNCTION_SPECIFIC_TARGET.
1802 (hash_tree): Do not hash DECL_FUNCTION_SPECIFIC_TARGET.
1803 * tree-streamer-out.c (pack_ts_target_option): Remove.
1804 (streamer_pack_tree_bitfields): Do not stream TS_TARGET_OPTION.
1805 (write_ts_function_decl_tree_pointers): Do not stream
1806 DECL_FUNCTION_SPECIFIC_TARGET.
1807 * tree-streamer-in.c (unpack_ts_target_option): Remove.
1808 (unpack_value_fields): Do not stream TS_TARGET_OPTION.
1809 (lto_input_ts_function_decl_tree_pointers): Do not stream
1810 DECL_FUNCTION_SPECIFIC_TARGET.
1812 2014-02-14 Jakub Jelinek <jakub@redhat.com>
1814 * tree-vect-loop.c (vect_is_slp_reduction): Don't set use_stmt twice.
1815 (get_initial_def_for_induction, vectorizable_induction): Ignore
1816 debug stmts when looking for exit_phi.
1817 (vectorizable_live_operation): Fix up condition.
1819 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
1821 * config/nds32/nds32.c (nds32_asm_function_prologue): Do not use
1822 nreverse() because it changes the content of original tree list.
1824 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
1826 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Fix typo in comment.
1827 * config/nds32/nds32.c (nds32_merge_decl_attributes): Likewise.
1829 2014-02-14 Chung-Ju Wu <jasonwucj@gmail.com>
1831 * config/nds32/nds32.c (nds32_naked_function_p): Follow the
1832 GNU coding standards.
1834 2014-02-13 Jakub Jelinek <jakub@redhat.com>
1837 * dwarf2out.c (gen_subprogram_die): Don't call
1838 add_calling_convention_attribute if subr_die is old_die.
1840 2014-02-13 Sharad Singhai <singhai@google.com>
1842 * doc/optinfo.texi: Fix order of nodes.
1844 2014-02-13 Uros Bizjak <ubizjak@gmail.com>
1846 * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
1847 operands[2], not operands[3].
1849 2014-02-13 Richard Biener <rguenther@suse.de>
1852 * doc/install.texi (ISL): Update recommended version to 0.12.2,
1853 mention the possibility of an in-tree build.
1854 (CLooG): Update recommended version to 0.18.1, mention the
1855 possibility of an in-tree build and clarify that the ISL
1856 bundled with CLooG does not work.
1858 2014-02-13 Jakub Jelinek <jakub@redhat.com>
1861 * expr.c (compress_float_constant): If x is a hard register,
1862 extend into a pseudo and then move to x.
1864 2014-02-13 Dominik Vogt <vogt@linux.vnet.ibm.com>
1866 * config/s390/s390.c (s390_asm_output_function_label): Fix crash
1867 caused by bad second argument to warning_at() with -mhotpatch and
1868 nested functions (e.g. with gfortran).
1870 2014-02-13 Richard Sandiford <rdsandiford@googlemail.com>
1872 * opts.c (option_name): Remove "enabled by default" rider.
1874 2014-02-12 John David Anglin <danglin@gcc.gnu.org>
1876 * config/pa/pa.c (pa_option_override): Remove auto increment FIXME.
1878 2014-02-12 H.J. Lu <hongjiu.lu@intel.com>
1879 Uros Bizjak <ubizjak@gmail.com>
1882 * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
1883 * configure: Regenerated.
1885 2014-02-12 Richard Biener <rguenther@suse.de>
1887 * vec.c (vec_prefix::calculate_allocation): Move as
1888 inline variant to vec.h.
1889 (vec_prefix::calculate_allocation_1): New out-of-line version.
1890 * vec.h (vec_prefix::calculate_allocation_1): Declare.
1891 (vec_prefix::m_has_auto_buf): Rename to ...
1892 (vec_prefix::m_using_auto_storage): ... this.
1893 (vec_prefix::calculate_allocation): Inline the easy cases
1894 and dispatch to calculate_allocation_1 which doesn't need the
1896 (va_heap::reserve): Use gcc_checking_assert.
1897 (vec<T, A, vl_embed>::embedded_init): Add argument to initialize
1898 m_using_auto_storage.
1899 (auto_vec): Change m_vecpfx member to a vec<T, va_heap, vl_embed>
1901 (vec<T, va_heap, vl_ptr>::reserve): Remove redundant check.
1902 (vec<T, va_heap, vl_ptr>::release): Avoid casting.
1903 (vec<T, va_heap, vl_ptr>::using_auto_storage): Simplify.
1905 2014-02-12 Richard Biener <rguenther@suse.de>
1907 * gcse.c (compute_transp): break from loop over canon_modify_mem_list
1908 when we found a dependence.
1910 2014-02-12 Thomas Schwinge <thomas@codesourcery.com>
1912 * gimplify.c (gimplify_call_expr, gimplify_modify_expr): Move
1914 (maybe_fold_stmt): ... into this new function.
1915 * omp-low.c (lower_omp): Update comment.
1917 * omp-low.c (lower_omp_target): Add clobber for sizes array, after
1920 * omp-low.c (diagnose_sb_0): Make sure label_ctx is valid to
1923 2014-02-12 James Greenhalgh <james.greenhalgh@arm.com>
1925 * config/arm/aarch-cost-tables.h (generic_extra_costs): Fix
1926 identifiers in comments.
1927 (cortexa53_extra_costs): Likewise.
1928 * config/arm/arm.c (cortexa9_extra_costs): Fix identifiers in comments.
1929 (cortexa7_extra_costs): Likewise.
1930 (cortexa12_extra_costs): Likewise.
1931 (cortexa15_extra_costs): Likewise.
1932 (v7m_extra_costs): Likewise.
1934 2014-02-12 Richard Biener <rguenther@suse.de>
1937 * gimple-low.c (lower_builtin_posix_memalign): Lower conditional
1938 of posix_memalign being successful.
1939 (lower_stmt): Restrict lowering of posix_memalign to when
1940 -ftree-bit-ccp is enabled.
1942 2014-02-12 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1944 * config/avr/avr-c.c (avr_resolve_overloaded_builtin): Pass vNULL for
1946 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Likewise.
1948 2014-02-12 Eric Botcazou <ebotcazou@adacore.com>
1950 PR rtl-optimization/60116
1951 * combine.c (try_combine): Also remove dangling REG_DEAD notes on the
1952 other_insn once the combination has been validated.
1954 2014-02-11 Jan Hubicka <hubicka@ucw.cz>
1957 * ipa-utils.h (possible_polymorphic_call_targets): Update prototype
1959 * ipa-devirt.c: Include demangle.h
1960 (odr_violation_reported): New static variable.
1961 (add_type_duplicate): Update odr_violations.
1962 (maybe_record_node): Add completep parameter; update it.
1963 (record_target_from_binfo): Add COMPLETEP parameter;
1964 update it as needed.
1965 (possible_polymorphic_call_targets_1): Likewise.
1966 (struct polymorphic_call_target_d): Add nonconstruction_targets;
1967 rename FINAL to COMPLETE.
1968 (record_targets_from_bases): Sanity check we found the binfo;
1969 fix COMPLETEP updating.
1970 (possible_polymorphic_call_targets): Add NONCONSTRUTION_TARGETSP
1971 parameter, fix computing of COMPLETEP.
1972 (dump_possible_polymorphic_call_targets): Imrove readability of dump;
1973 at LTO time do demangling.
1974 (ipa_devirt): Use nonconstruction_targets; Improve dumps.
1975 * gimple-fold.c (gimple_get_virt_method_for_vtable): Add can_refer
1977 (gimple_get_virt_method_for_binfo): Likewise.
1978 * gimple-fold.h (gimple_get_virt_method_for_binfo,
1979 gimple_get_virt_method_for_vtable): Update prototypes.
1981 2014-02-11 Vladimir Makarov <vmakarov@redhat.com>
1984 * genautomata.c (add_presence_absence): Fix typo with
1985 {final_}presence_list.
1987 2014-02-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1990 * config/rs6000/rs6000.md (128-bit GPR splitter): Add a splitter
1991 for VSX/Altivec vectors that land in GPR registers.
1993 2014-02-11 Richard Henderson <rth@redhat.com>
1994 Jakub Jelinek <jakub@redhat.com>
1997 * tree-sra.c (load_assign_lhs_subreplacements): Add VIEW_CONVERT_EXPR
1998 around drhs if type conversion to lacc->type is not useless.
2000 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2002 * config/aarch64/aarch64-cores.def (cortex-a57): Use cortexa57
2004 (cortex-a57.cortex-a53): Likewise.
2005 * config/aarch64/aarch64.c (cortexa57_tunings): New tuning struct.
2007 2014-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2009 * config/arm/thumb2.md (*thumb2_movhi_insn): Add alternatives for
2012 2014-02-11 Renlin Li <Renlin.Li@arm.com>
2014 * doc/sourcebuild.texi: Document check_effective_target_arm_vfp3_ok and
2015 add_options_for_arm_vfp3.
2017 2014-02-11 Jeff Law <law@redhat.com>
2020 * expr.c (expand_expr_addr_expr_1): Handle expand_expr returning an
2021 object with an undesirable mode.
2023 2014-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2026 * config/i386/sol2-9.h: New file.
2027 * config.gcc (i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*,
2028 *-*-solaris2.9*): Use it.
2030 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
2032 * config/microblaze/microblaze.md: Add movsi4_rev insn pattern.
2033 * config/microblaze/predicates.md: Add reg_or_mem_operand predicate.
2035 2014-02-10 Nagaraju Mekala <nagaraju.mekala@xilinx.com>
2037 * config/microblaze/microblaze.c: Extend mcpu version format
2039 2014-02-10 David Holsgrove <david.holsgrove@xilinx.com>
2041 * config/microblaze/microblaze.h: Define SIZE_TYPE and PTRDIFF_TYPE.
2043 2014-02-10 Richard Henderson <rth@redhat.com>
2046 * calls.c (expand_call): Don't double-push for reg_parm_stack_space.
2047 * config/i386/i386.c (init_cumulative_args): Remove sorry for 64-bit
2048 ms-abi vs -mno-accumulate-outgoing-args.
2049 (ix86_expand_prologue): Unconditionally call ix86_eax_live_at_start_p.
2050 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Fix comment with
2053 2014-02-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
2056 * cfgexpand.c (expand_asm_operands): Attach source location to
2057 ASM_INPUT rtx objects.
2058 * print-rtl.c (print_rtx): Check for UNKNOWN_LOCATION.
2060 2014-02-10 Nick Clifton <nickc@redhat.com>
2062 * config/mn10300/mn10300.c (popcount): New function.
2063 (mn10300_expand_prologue): Include saved registers in stack usage
2066 2014-02-10 Jeff Law <law@redhat.com>
2069 * reload1.c (emit_input_reload_insns): Do not create invalid RTL
2070 when changing the SET_DEST of a prior insn to avoid an input reload.
2072 2014-02-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2074 * config/rs6000/sysv4.h (ENDIAN_SELECT): Do not attempt to enforce
2075 big-endian mode for -mcall-aixdesc, -mcall-freebsd, -mcall-netbsd,
2076 -mcall-openbsd, or -mcall-linux.
2077 (CC1_ENDIAN_BIG_SPEC): Remove.
2078 (CC1_ENDIAN_LITTLE_SPEC): Remove.
2079 (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2080 (CC1_SPEC): Remove (always empty) %cc1_endian_... spec.
2081 (SUBTARGET_EXTRA_SPECS): Remove %cc1_endian_big, %cc1_endian_little,
2082 and %cc1_endian_default.
2083 * config/rs6000/sysv4le.h (CC1_ENDIAN_DEFAULT_SPEC): Remove.
2085 2014-02-10 Richard Biener <rguenther@suse.de>
2087 PR tree-optimization/60115
2088 * tree-eh.c (tree_could_trap_p): Unify TARGET_MEM_REF and
2089 MEM_REF handling. Properly verify that the accesses are not
2090 out of the objects bound.
2092 2014-02-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2094 * config/aarch64/aarch64.c (aarch64_override_options): Fix typo from
2097 2014-02-10 Eric Botcazou <ebotcazou@adacore.com>
2099 * ipa-devirt.c (get_polymorphic_call_info_from_invariant): Return
2100 proper constants and fix formatting.
2101 (possible_polymorphic_call_targets): Fix formatting.
2103 2014-02-10 Kirill Yukhin <kirill.yukhin@intel.com>
2104 Ilya Tocar <ilya.tocar@intel.com>
2106 * config/i386/avx512fintrin.h (_mm512_storeu_epi64): Removed.
2107 (_mm512_loadu_epi32): Renamed into...
2108 (_mm512_loadu_si512): This.
2109 (_mm512_storeu_epi32): Renamed into...
2110 (_mm512_storeu_si512): This.
2111 (_mm512_maskz_ceil_ps): Removed.
2112 (_mm512_maskz_ceil_pd): Ditto.
2113 (_mm512_maskz_floor_ps): Ditto.
2114 (_mm512_maskz_floor_pd): Ditto.
2115 (_mm512_floor_round_ps): Ditto.
2116 (_mm512_floor_round_pd): Ditto.
2117 (_mm512_ceil_round_ps): Ditto.
2118 (_mm512_ceil_round_pd): Ditto.
2119 (_mm512_mask_floor_round_ps): Ditto.
2120 (_mm512_mask_floor_round_pd): Ditto.
2121 (_mm512_mask_ceil_round_ps): Ditto.
2122 (_mm512_mask_ceil_round_pd): Ditto.
2123 (_mm512_maskz_floor_round_ps): Ditto.
2124 (_mm512_maskz_floor_round_pd): Ditto.
2125 (_mm512_maskz_ceil_round_ps): Ditto.
2126 (_mm512_maskz_ceil_round_pd): Ditto.
2127 (_mm512_expand_pd): Ditto.
2128 (_mm512_expand_ps): Ditto.
2129 * config/i386/i386.c (ix86_builtins): Remove
2130 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK.
2131 (bdesc_args): Ditto.
2132 * config/i386/predicates.md (const1256_operand): New.
2133 (const_1_to_2_operand): Ditto.
2134 * config/i386/sse.md (avx512pf_gatherpf<mode>sf): Change hint value.
2135 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2136 (*avx512pf_gatherpf<mode>sf): Ditto.
2137 (avx512pf_gatherpf<mode>df): Ditto.
2138 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2139 (*avx512pf_gatherpf<mode>df): Ditto.
2140 (avx512pf_scatterpf<mode>sf): Ditto.
2141 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2142 (*avx512pf_scatterpf<mode>sf): Ditto.
2143 (avx512pf_scatterpf<mode>df): Ditto.
2144 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2145 (*avx512pf_scatterpf<mode>df): Ditto.
2146 (avx512f_expand<mode>): Removed.
2147 (<shift_insn><mode>3<mask_name>): Change predicate type.
2149 2014-02-08 Jakub Jelinek <jakub@redhat.com>
2151 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers
2152 not at the end of datarefs vector use ordered_remove to avoid
2153 reordering datarefs vector.
2156 * gimplify.c (gimplify_bind_expr): In ORT_SIMD region
2157 mark local addressable non-static vars as GOVD_PRIVATE
2158 instead of GOVD_LOCAL.
2159 * omp-low.c (lower_omp_for): Move gimple_bind_vars
2160 and BLOCK_VARS of gimple_bind_block to new_stmt rather
2164 * tree-ssa-ccp.c (surely_varying_stmt_p): Don't return true
2165 if TYPE_ATTRIBUTES (gimple_call_fntype ()) contain
2166 assume_aligned or alloc_align attributes.
2167 (bit_value_assume_aligned): Add ATTR, PTRVAL and ALLOC_ALIGN
2168 arguments. Handle also assume_aligned and alloc_align attributes.
2169 (evaluate_stmt): Adjust bit_value_assume_aligned caller. Handle
2170 calls to functions with assume_aligned or alloc_align attributes.
2171 * doc/extend.texi: Document assume_aligned and alloc_align attributes.
2173 2014-02-08 Terry Guo <terry.guo@arm.com>
2175 * doc/invoke.texi: Document ARM -march=armv7e-m.
2177 2014-02-08 Jakub Jelinek <jakub@redhat.com>
2179 * cilk-common.c (cilk_init_builtins): Clear TREE_NOTHROW
2180 flag on __cilkrts_rethrow builtin.
2183 * ipa-cp.c (determine_versionability): Fail at -O0
2184 or __attribute__((optimize (0))) or -fno-ipa-cp functions.
2185 * tree-sra.c (ipa_sra_preliminary_function_checks): Similarly.
2188 2014-02-04 Jakub Jelinek <jakub@redhat.com>
2191 * tree-inline.c (copy_forbidden): Fail for
2192 __attribute__((optimize (0))) functions.
2194 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
2196 * varpool.c: Include pointer-set.h.
2197 (varpool_remove_unreferenced_decls): Variables in other partitions
2198 will not be output; be however careful to not lose information
2201 2014-02-07 Jan Hubicka <hubicka@ucw.cz>
2203 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do O(1)
2204 lookup in the vtable constructor.
2206 2014-02-07 Jeff Law <law@redhat.com>
2209 * config/m68k/m68k.md (ashldi_extsi): Turn into a
2210 define_insn_and_split.
2212 * ipa-inline.c (inline_small_functions): Fix typos.
2214 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2216 * config/s390/s390-protos.h (s390_can_use_simple_return_insn)
2217 (s390_can_use_return_insn): Declare.
2218 * config/s390/s390.h (EPILOGUE_USES): Define.
2219 * config/s390/s390.c (s390_mainpool_start): Allow two main_pool
2221 (s390_chunkify_start): Handle return JUMP_LABELs.
2222 (s390_early_mach): Emit a main_pool instruction on the entry edge.
2223 (s300_set_up_by_prologue, s390_can_use_simple_return_insn)
2224 (s390_can_use_return_insn): New functions.
2225 (s390_fix_long_loop_prediction): Handle conditional returns.
2226 (TARGET_SET_UP_BY_PROLOGUE): Define.
2227 * config/s390/s390.md (ANY_RETURN): New code iterator.
2228 (*creturn, *csimple_return, return, simple_return): New patterns.
2230 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2232 * config/s390/s390.c (s390_restore_gprs_from_fprs): Add REG_CFA_RESTORE
2233 notes to each restore. Also add REG_CFA_DEF_CFA when restoring %r15.
2234 (s390_optimize_prologue): Don't clear RTX_FRAME_RELATED_P. Update the
2235 REG_CFA_RESTORE list when deciding not to restore a register.
2237 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2239 * config/s390/s390.c: Include tree-pass.h and context.h.
2240 (s390_early_mach): New function, split out from...
2241 (s390_emit_prologue): ...here.
2242 (pass_data_s390_early_mach): New pass structure.
2243 (pass_s390_early_mach): New class.
2244 (s390_option_override): Create and register early_mach pass.
2245 Move to end of file.
2247 2014-02-07 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
2249 * var-tracking.c (vt_stack_adjustments): Don't require stack_adjusts
2250 to match for the exit block.
2252 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2254 * config/s390/s390.md ("atomic_load<mode>", "atomic_store<mode>")
2255 ("atomic_compare_and_swap<mode>", "atomic_fetch_<atomic><mode>"):
2256 Reject misaligned operands.
2258 2014-02-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2260 * optabs.c (expand_atomic_compare_and_swap): Allow expander to fail.
2262 2014-02-07 Richard Biener <rguenther@suse.de>
2265 * gimple-low.c (lower_builtin_posix_memalign): New function.
2266 (lower_stmt): Call it to lower posix_memalign in a way
2267 to make alignment info accessible.
2269 2014-02-07 Jakub Jelinek <jakub@redhat.com>
2272 * tree.c (build_common_builtin_nodes): Set ECF_LEAF for
2273 __builtin_setjmp_receiver.
2275 2014-02-07 Richard Biener <rguenther@suse.de>
2278 * builtin-types.def (BT_FN_INT_PTRPTR_SIZE_SIZE): Add.
2279 * builtins.def (BUILT_IN_POSIX_MEMALIGN): Likewise.
2280 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2281 Handle BUILT_IN_POSIX_MEMALIGN.
2282 (find_func_clobbers): Likewise.
2283 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
2284 (call_may_clobber_ref_p_1): Likewise.
2286 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2289 * ipa-devirt.c (record_target_from_binfo): Remove overactive
2292 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2295 * lto-cgraph.c (lto_output_node): Use
2296 symtab_get_symbol_partitioning_class.
2297 (lto_output_varpool_node): likewise.
2298 (symtab_get_symbol_partitioning_class): Move here from
2300 * cgraph.h (symbol_partitioning_class): Likewise.
2301 (symtab_get_symbol_partitioning_class): Declare.
2303 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2305 * ggc.h (ggc_internal_cleared_alloc): New macro.
2306 * vec.h (vec_safe_copy): Handle memory stats.
2307 * omp-low.c (simd_clone_struct_alloc): Use ggc_internal_cleared_alloc.
2308 * target-globals.c (save_target_globals): Likewise.
2310 2014-02-06 Jan Hubicka <hubicka@ucw.cz>
2313 * expr.c (emit_move_resolve_push): Export; be bit more selective
2314 on when to clear alias set.
2315 * expr.h (emit_move_resolve_push): Declare.
2316 * function.h (struct function): Add tail_call_marked.
2317 * tree-tailcall.c (optimize_tail_call): Set tail_call_marked.
2318 * config/i386/i386-protos.h (ix86_expand_push): Remove.
2319 * config/i386/i386.md (TImode move expander): De not call
2321 (FP push expanders): Preserve memory attributes.
2322 * config/i386/sse.md (push<mode>1): Remove.
2323 * config/i386/i386.c (ix86_expand_vector_move): Handle push operation.
2324 (ix86_expand_push): Remove.
2325 * config/i386/mmx.md (push<mode>1): Remove.
2327 2014-02-06 Jakub Jelinek <jakub@redhat.com>
2329 PR rtl-optimization/60030
2330 * internal-fn.c (ubsan_expand_si_overflow_mul_check): Surround
2331 lopart with paradoxical subreg before shifting it up by hprec.
2333 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2335 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): New table.
2336 Remove extra newline at end of file.
2337 * config/arm/arm.c (arm_cortex_a57_tune): New tuning struct.
2338 (arm_issue_rate): Handle cortexa57.
2339 * config/arm/arm-cores.def (cortex-a57): Use cortex_a57 tuning.
2340 (cortex-a57.cortex-a53): Likewise.
2342 2014-02-06 Jakub Jelinek <jakub@redhat.com>
2345 * config/arm/arm.c (emit_multi_reg_push): Add dwarf_regs_mask argument,
2346 don't record in REG_FRAME_RELATED_EXPR registers not set in that
2348 (arm_expand_prologue): Adjust all callers.
2349 (arm_unwind_emit_sequence): Allow saved, but not important for unwind
2350 info, registers also at the lowest numbered registers side. Use
2351 gcc_assert instead of abort, and SET_SRC/SET_DEST macros instead of
2355 * var-tracking.c (adjust_mems): Before adding a SET to
2356 amd->side_effects, adjust it's SET_SRC using simplify_replace_fn_rtx.
2358 2014-02-06 Alan Modra <amodra@gmail.com>
2361 * config/rs6000/rs6000.c (rs6000_secondary_memory_needed_mode): Only
2362 change SDmode to DDmode when lra_in_progress.
2364 2014-02-06 Jakub Jelinek <jakub@redhat.com>
2367 * tree-vect-data-refs.c (vect_analyze_data_refs): For clobbers, call
2368 free_data_ref on the dr first, and before goto again also set dr
2369 to the next dr. For simd_lane_access, free old datarefs[i] before
2370 overwriting it. For get_vectype_for_scalar_type failure, don't
2371 free_data_ref if simd_lane_access.
2373 * Makefile.in (prefix.o, cppbuiltin.o): Depend on $(BASEVER).
2376 * tree.h (opts_for_fn): New inline function.
2377 (opt_for_fn): Define.
2378 * config/i386/i386.c (ix86_function_regparm): Use
2379 opt_for_fn (decl, optimize) instead of optimize.
2381 2014-02-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
2383 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix logic
2384 for SYMBOL_REF in large memory model.
2386 2014-02-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2388 * config/aarch64/aarch64-cores.def (cortex-a53): Specify CRC32
2390 (cortex-a57): Likewise.
2391 (cortex-a57.cortex-a53): Likewise.
2393 2014-02-06 Yury Gribov <y.gribov@samsung.com>
2394 Kugan Vivekanandarajah <kuganv@linaro.org>
2396 * config/arm/arm.c (arm_vector_alignment_reachable): Check
2398 * config/arm/arm.c (arm_builtin_support_vector_misalignment): Likewise.
2400 2014-02-06 Richard Biener <rguenther@suse.de>
2402 * tree-cfg.c (gimple_duplicate_sese_region): Fix ordering of
2403 set_loop_copy and initialize_original_copy_tables.
2405 2014-02-06 Alex Velenko <Alex.Velenko@arm.com>
2407 * config/aarch64/aarch64-simd.md
2408 (aarch64_ashr_simddi): Change QI to SI.
2410 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
2411 Jakub Jelinek <jakub@redhat.com>
2414 * ipa-inline-analysis.c (compute_bb_predicates): Ensure monotonicity
2417 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2419 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
2420 CODE_FOR_altivec_vpku[hw]um to
2421 CODE_FOR_altivec_vpku[hw]um_direct.
2422 * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
2423 UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
2424 (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
2425 UNSPEC_VUNPACK_LO_SIGN_DIRECT.
2427 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2429 * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
2430 generation for -maltivec=be.
2431 (altivec_vsumsws): Simplify redundant test.
2433 2014-02-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2435 * altivec.md (UNSPEC_VPACK_UNS_UNS_MOD_DIRECT): New unspec.
2436 (UNSPEC_VUNPACK_HI_SIGN_DIRECT): Likewise.
2437 (UNSPEC_VUNPACK_LO_SIGN_DIRECT): Likewise.
2438 (mulv8hi3): Use gen_altivec_vpkuwum_direct instead of
2439 gen_altivec_vpkuwum.
2440 (altivec_vpkpx): Test for VECTOR_ELT_ORDER_BIG instead of for
2442 (altivec_vpks<VI_char>ss): Likewise.
2443 (altivec_vpks<VI_char>us): Likewise.
2444 (altivec_vpku<VI_char>us): Likewise.
2445 (altivec_vpku<VI_char>um): Likewise.
2446 (altivec_vpku<VI_char>um_direct): New (copy of
2447 altivec_vpku<VI_char>um that still relies on BYTES_BIG_ENDIAN, for
2449 (altivec_vupkhs<VU_char>): Emit vupkls* instead of vupkhs* when
2450 target is little endian and -maltivec=be is not specified.
2451 (*altivec_vupkhs<VU_char>_direct): New (copy of
2452 altivec_vupkhs<VU_char> that always emits vupkhs*, for internal use).
2453 (altivec_vupkls<VU_char>): Emit vupkhs* instead of vupkls* when
2454 target is little endian and -maltivec=be is not specified.
2455 (*altivec_vupkls<VU_char>_direct): New (copy of
2456 altivec_vupkls<VU_char> that always emits vupkls*, for internal use).
2457 (altivec_vupkhpx): Emit vupklpx instead of vupkhpx when target is
2458 little endian and -maltivec=be is not specified.
2459 (altivec_vupklpx): Emit vupkhpx instead of vupklpx when target is
2460 little endian and -maltivec=be is not specified.
2462 2014-02-05 Richard Henderson <rth@redhat.com>
2465 * combine-stack-adj.c: Revert r206943.
2466 * sched-int.h (struct deps_desc): Add last_args_size.
2467 * sched-deps.c (init_deps): Initialize it.
2468 (sched_analyze_insn): Add OUTPUT dependencies between insns that
2469 contain REG_ARGS_SIZE notes.
2471 2014-02-05 Jan Hubicka <hubicka@ucw.cz>
2473 * lto-cgraph.c (asm_nodes_output): Make global.
2474 * lto-wrapper.c (run_gcc): Pass down paralelizm to WPA.
2475 * gcc.c (AS_NEEDS_DASH_FOR_PIPED_INPUT): Allow WPA parameter
2476 (driver_handle_option): Handle OPT_fwpa.
2478 2014-02-05 Jakub Jelinek <jakub@redhat.com>
2481 * ipa-devirt.c (possible_polymorphic_call_targets): Fix
2482 a comment typo and formatting issue. If odr_hash hasn't been
2483 created, return vNULL and set *completep to false.
2486 * tree-eh.c (cleanup_empty_eh): Bail out on totally empty
2487 bb with no successors.
2489 2014-02-05 James Greenhalgh <james.greenhalgh@arm.com>
2492 * doc/invoke.texi (-march): Clarify documentation for ARM.
2496 2014-02-05 Richard Biener <rguenther@suse.de>
2498 * tree-vect-loop.c (vect_analyze_loop_2): Be more informative
2499 when not vectorizing because of too many alias checks.
2500 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
2501 Add more verboseness, avoid duplicate MSG_MISSED_OPTIMIZATION.
2503 2014-02-05 Nick Clifton <nickc@redhat.com>
2505 * config/mn10300/mn10300.c (mn10300_hard_regno_mode_ok): Do not
2506 accept extended registers in any mode when compiling for the MN10300.
2508 2014-02-05 Yury Gribov <y.gribov@samsung.com>
2510 * cif-code.def (ATTRIBUTE_MISMATCH): New CIF code.
2511 * ipa-inline.c (report_inline_failed_reason): Handle mismatched
2512 sanitization attributes.
2513 (can_inline_edge_p): Likewise.
2514 (sanitize_attrs_match_for_inline_p): New function.
2516 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
2518 * ipa-prop.c (detect_type_change): Shor circuit testing of
2519 type changes on THIS pointer.
2521 2014-02-04 John David Anglin <danglin@gcc.gnu.org>
2524 * config/pa/pa.c (legitimize_tls_address): Return original address
2525 if not passed a SYMBOL_REF rtx.
2526 (hppa_legitimize_address): Call legitimize_tls_address for all TLS
2528 (pa_emit_move_sequence): Simplify TLS source operands.
2529 (pa_legitimate_constant_p): Reject all TLS constants.
2530 * config/pa/pa.h (PA_SYMBOL_REF_TLS_P): Correct comment.
2531 (CONSTANT_ADDRESS_P): Reject TLS CONST addresses.
2533 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
2535 * ipa.c (function_and_variable_visibility): Decompose DECL_ONE_ONLY
2536 groups when we know they are controlled by LTO.
2537 * varasm.c (default_binds_local_p_1): If object is in other partition,
2538 it will be resolved locally.
2540 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
2542 * config/host-linux.c (linux_gt_pch_use_address): Don't
2543 use SSIZE_MAX because it is not always defined.
2545 2014-02-04 Vladimir Makarov <vmakarov@redhat.com>
2548 * lra-constraints.c (need_for_split_p): Use more 3 reloads as
2549 threshold for pseudo splitting.
2550 (update_ebb_live_info): Process call argument hard registers and
2551 hard registers from insn definition too.
2552 (max_small_class_regs_num): New constant.
2553 (inherit_in_ebb): Update live hard regs through EBBs. Update
2554 reloads_num only for small register classes. Don't split for
2557 2014-02-04 Markus Trippelsdorf <markus@trippelsdorf.de>
2560 * ipa-cp.c (ipa_get_indirect_edge_target_1): Check that target
2563 2014-02-04 Jan Hubicka <hubicka@ucw.cz>
2565 * gimple-fold.c (can_refer_decl_in_current_unit_p): Default
2568 2014-02-04 Marek Polacek <polacek@redhat.com>
2570 * gdbinit.in (pel): Define.
2572 2014-02-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
2574 * doc/invoke.texi (fstrict-volatile-bitfields): Clarify current
2577 2014-02-04 Richard Biener <rguenther@suse.de>
2580 * lto-streamer-out.c (tree_is_indexable): Force NAMELIST_DECLs
2581 in function context local.
2582 (lto_output_tree_ref): Do not write trees from lto_output_tree_ref.
2583 * lto-streamer-in.c (lto_input_tree_ref): Handle LTO_namelist_decl_ref
2584 similar to LTO_imported_decl_ref.
2586 2014-02-04 Jakub Jelinek <jakub@redhat.com>
2588 PR tree-optimization/60002
2589 * cgraphclones.c (build_function_decl_skip_args): Clear
2592 PR tree-optimization/60023
2593 * tree-if-conv.c (predicate_mem_writes): Pass true instead of
2594 false to gsi_replace.
2595 * tree-vect-stmts.c (vect_finish_stmt_generation): If stmt
2596 has been in some EH region and vec_stmt could throw, add
2597 vec_stmt into the same EH region.
2598 * tree-data-ref.c (get_references_in_stmt): If IFN_MASK_LOAD
2599 has no lhs, ignore it.
2600 * internal-fn.c (expand_MASK_LOAD): Likewise.
2603 * tree-inline.c (copy_forbidden): Fail for
2604 __attribute__((optimize (0))) functions.
2607 * omp-low.c (simd_clone_struct_copy): If from->inbranch
2608 is set, copy one less argument.
2609 (expand_simd_clones): Don't subtract clone_info->inbranch
2610 from simd_clone_struct_alloc argument.
2612 PR rtl-optimization/57915
2613 * recog.c (simplify_while_replacing): If all unary/binary/relational
2614 operation arguments are constant, attempt to simplify those.
2617 * expmed.c (expand_mult): For MODE_VECTOR_INT multiplication
2618 if there is no vashl<mode>3 or ashl<mode>3 insn, skip_synth.
2620 2014-02-04 Richard Biener <rguenther@suse.de>
2622 PR tree-optimization/60012
2623 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Apply
2624 TBAA disambiguation to all DDRs.
2626 2014-02-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2629 * config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
2630 (LINK_SPEC): Use it for -shared, -shared-libgcc.
2632 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
2635 * tree.c (get_binfo_at_offset): Do not get confused by empty classes;
2637 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
2639 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): Remove.
2640 * gimple-fold.h (gimple_extract_devirt_binfo_from_cst): Remove.
2642 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
2645 * ipa-cp.c (ipa_get_indirect_edge_target_1): Use ipa-devirt
2646 to figure out targets of polymorphic calls with known decl.
2647 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2648 * ipa-utils.h (get_polymorphic_call_info_from_invariant): Declare.
2649 * ipa-devirt.c (get_polymorphic_call_info_for_decl): Break out from ...
2650 (get_polymorphic_call_info): ... here.
2651 (get_polymorphic_call_info_from_invariant): New function.
2653 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
2655 * ipa-cp.c (ipa_get_indirect_edge_target_1): Do direct
2656 lookup via vtable pointer; check for type consistency
2657 and turn inconsitent facts into UNREACHABLE.
2658 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2659 * gimple-fold.c (gimple_get_virt_method_for_vtable): Do not ICE on
2660 type inconsistent querries; return UNREACHABLE instead.
2662 2014-02-03 Richard Henderson <rth@twiddle.net>
2665 * tree-ssa-uninit.c (push_to_worklist): Don't re-push if we've
2666 already processed this node.
2667 (normalize_one_pred_1): Pass along mark_set.
2668 (normalize_one_pred): Create and destroy a pointer_set_t.
2669 (normalize_one_pred_chain): Likewise.
2671 2014-02-03 Laurent Aflonsi <laurent.alfonsi@st.com>
2673 PR gcov-profile/58602
2674 * gcc/gcov-io.c (gcov_open): Open with truncation when mode < 0.
2676 2014-02-03 Jan Hubicka <hubicka@ucw.cz>
2679 * ipa-cp.c (ipa_get_indirect_edge_target_1): Give up on
2680 -fno-devirtualize; try to devirtualize by the knowledge of
2681 virtual table pointer given by aggregate propagation.
2682 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
2683 (ipa_print_node_jump_functions): Dump also offset that
2684 is relevant for polymorphic calls.
2685 (determine_known_aggregate_parts): Add arg_type parameter; use it
2686 instead of determining the type from pointer type.
2687 (ipa_compute_jump_functions_for_edge): Update call of
2688 determine_known_aggregate_parts.
2689 * gimple-fold.c (gimple_get_virt_method_for_vtable): Break out from ...
2690 (gimple_get_virt_method_for_binfo): ... here; simplify using
2691 vtable_pointer_value_to_vtable.
2692 * gimple-fold.h (gimple_get_virt_method_for_vtable): Declare.
2693 * ipa-devirt.c (subbinfo_with_vtable_at_offset): Turn OFFSET parameter
2694 to unsigned HOST_WIDE_INT; use vtable_pointer_value_to_vtable.
2695 (vtable_pointer_value_to_vtable): Break out from ...; handle also
2697 (vtable_pointer_value_to_binfo): ... here.
2698 * ipa-utils.h (vtable_pointer_value_to_vtable): Declare.
2700 2014-02-03 Teresa Johnson <tejohnson@google.com>
2702 * tree-vect-slp.c (vect_supported_load_permutation_p): Avoid
2703 redef of outer loop index variable.
2705 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
2709 * doc/extend.texi (Function Attributes): Typo.
2711 2014-02-03 Cong Hou <congh@google.com>
2713 PR tree-optimization/60000
2714 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
2715 if the vectorized statement is a store. A store statement can only
2716 appear at the end of pattern statements.
2718 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
2720 * config/i386/i386.c (flag_opts): Add -mlong-double-128.
2721 (ix86_option_override_internal): Default long double to 64-bit for
2722 32-bit Bionic and to 128-bit for 64-bit Bionic.
2724 * config/i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Use 128 if
2725 TARGET_LONG_DOUBLE_128 is true.
2726 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
2728 * config/i386/i386.opt (mlong-double-80): Negate -mlong-double-64.
2729 (mlong-double-64): Negate -mlong-double-128.
2730 (mlong-double-128): New option.
2732 * config/i386/i386-c.c (ix86_target_macros): Define
2733 __LONG_DOUBLE_128__ for TARGET_LONG_DOUBLE_128.
2735 * doc/invoke.texi: Document -mlong-double-128.
2737 2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
2739 PR rtl-optimization/60024
2740 * sel-sched.c (init_regs_for_mode): Check if mode is OK first.
2742 2014-02-03 Markus Trippelsdorf <markus@trippelsdorf.de>
2744 * doc/invoke.texi (fprofile-reorder-functions): Fix typo.
2746 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
2748 PR rtl-optimization/57662
2749 * sel-sched.c (code_motion_path_driver): Do not mark already not
2750 existing blocks in the visiting bitmap.
2752 2014-02-03 Andrey Belevantsev <abel@ispras.ru>
2754 * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
2755 on the insn being emitted.
2757 2014-02-03 James Greenhalgh <james.greenhalgh@arm.com>
2758 Will Deacon <will.deacon@arm.com>
2760 * doc/gimple.texi (gimple_asm_clear_volatile): Remove.
2762 2014-02-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2764 * config/arm/arm-tables.opt: Regenerate.
2766 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2768 * config/rs6000/rs6000.c (altivec_expand_vec_perm_le): Generalize
2769 for vector types other than V16QImode.
2770 * config/rs6000/altivec.md (altivec_vperm_<mode>): Change to a
2771 define_expand, and call altivec_expand_vec_perm_le when producing
2772 code with little endian element order.
2773 (*altivec_vperm_<mode>_internal): New insn having previous
2774 behavior of altivec_vperm_<mode>.
2775 (altivec_vperm_<mode>_uns): Change to a define_expand, and call
2776 altivec_expand_vec_perm_le when producing code with little endian
2778 (*altivec_vperm_<mode>_uns_internal): New insn having previous
2779 behavior of altivec_vperm_<mode>_uns.
2781 2014-02-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2783 * config/rs6000/altivec.md (UNSPEC_VSUMSWS_DIRECT): New unspec.
2784 (altivec_vsumsws): Add handling for -maltivec=be with a little
2786 (altivec_vsumsws_direct): New.
2787 (reduc_splus_<mode>): Call gen_altivec_vsumsws_direct instead of
2788 gen_altivec_vsumsws.
2790 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
2792 * ipa-devirt.c (subbinfo_with_vtable_at_offset,
2793 vtable_pointer_value_to_binfo): New functions.
2794 * ipa-utils.h (vtable_pointer_value_to_binfo): Declare.
2795 * ipa-prop.c (extr_type_from_vtbl_ptr_store): Use it.
2797 2014-02-02 Sandra Loosemore <sandra@codesourcery.com>
2799 * config/nios2/nios2.md (load_got_register): Initialize GOT
2800 pointer from _gp_got instead of _GLOBAL_OFFSET_TABLE_.
2801 * config/nios2/nios2.c (nios2_function_profiler): Likewise.
2803 2014-02-02 Jan Hubicka <hubicka@ucw.cz>
2805 * ipa-prop.c (update_jump_functions_after_inlining): When type is not
2806 preserverd by passthrough, do not propagate the type.
2808 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
2810 * config/mips/mips.c (MIPS_GET_FCSR, MIPS_SET_FCSR): New macros.
2811 (mips_atomic_assign_expand_fenv): New function.
2812 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
2814 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
2816 * doc/extend.texi (__builtin_mips_get_fcsr): Document.
2817 (__builtin_mips_set_fcsr): Likewise.
2818 * config/mips/mips-ftypes.def: Add MIPS_VOID_FTYPE_USI and
2819 MIPS_USI_FTYPE_VOID.
2820 * config/mips/mips-protos.h (mips16_expand_get_fcsr): Declare
2821 (mips16_expand_set_fcsr): Likewise.
2822 * config/mips/mips.c (mips16_get_fcsr_stub): New variable.
2823 (mips16_set_fcsr_stub): Likewise.
2824 (mips16_get_fcsr_one_only_stub): New class.
2825 (mips16_set_fcsr_one_only_stub): Likewise.
2826 (mips16_expand_get_fcsr, mips16_expand_set_fcsr): New functions.
2827 (mips_code_end): Output the get_fcsr and set_fcsr stubs, if needed.
2828 (BUILTIN_AVAIL_MIPS16, AVAIL_ALL): New macros.
2829 (hard_float): New availability predicate.
2830 (mips_builtins): Add get_fcsr and set_fcsr.
2831 (mips_expand_builtin): Check BUILTIN_AVAIL_MIPS16.
2832 * config/mips/mips.md (UNSPEC_GET_FCSR, UNSPEC_SET_FCSR): New unspecs.
2833 (GET_FCSR_REGNUM, SET_FCSR_REGNUM): New constants.
2834 (mips_get_fcsr, *mips_get_fcsr, mips_get_fcsr_mips16_<mode>)
2835 (mips_set_fcsr, *mips_set_fcsr, mips_set_fcsr_mips16_<mode>): New
2838 2014-02-02 Richard Sandiford <rdsandiford@googlemail.com>
2840 * config/mips/mips.c (mips_one_only_stub): New class.
2841 (mips_need_mips16_rdhwr_p): Replace with...
2842 (mips16_rdhwr_stub): ...this new variable.
2843 (mips16_stub_call_address): New function.
2844 (mips16_rdhwr_one_only_stub): New class.
2845 (mips_expand_thread_pointer): Use mips16_stub_call_address.
2846 (mips_output_mips16_rdhwr): Delete.
2847 (mips_finish_stub): New function.
2848 (mips_code_end): Use it to handle rdhwr stubs.
2850 2014-02-02 Uros Bizjak <ubizjak@gmail.com>
2853 * config/i386/i386.c (classify_argument): Fix handling of bit_offset
2854 when calculating size of integer atomic types.
2856 2014-02-02 H.J. Lu <hongjiu.lu@intel.com>
2858 * ipa-inline-analysis.c (true_predicate_p): Fix a typo in comments.
2860 2014-02-01 Jakub Jelinek <jakub@redhat.com>
2862 PR tree-optimization/60003
2863 * gimple-low.c (lower_builtin_setjmp): Set cfun->has_nonlocal_label.
2864 * profile.c (branch_prob): Use gimple_call_builtin_p
2865 to check for BUILT_IN_SETJMP_RECEIVER.
2866 * tree-inline.c (copy_bb): Call notice_special_calls.
2868 2014-01-31 Vladimir Makarov <vmakarov@redhat.com>
2871 * lra-constraints.c (process_alt_operands): Update reload_sum only
2874 2014-01-31 Richard Henderson <rth@redhat.com>
2877 * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
2878 until after else_eh is processed.
2880 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
2882 * config/i386/avx512fintrin.h (_MM_FROUND_TO_NEAREST_INT),
2883 (_MM_FROUND_TO_NEG_INF), (_MM_FROUND_TO_POS_INF),
2884 (_MM_FROUND_TO_ZERO), (_MM_FROUND_CUR_DIRECTION): Are already defined
2885 in smmintrin.h, remove them.
2886 (_MM_FROUND_NO_EXC): Same as above, bit also wrong value.
2887 * config/i386/i386.c (ix86_print_operand): Split sae and rounding.
2888 * config/i386/i386.md (ROUND_SAE): Fix value.
2889 * config/i386/predicates.md (const_4_or_8_to_11_operand): New.
2890 (const48_operand): New.
2891 * config/i386/subst.md (round), (round_expand): Use
2892 const_4_or_8_to_11_operand.
2893 (round_saeonly), (round_saeonly_expand): Use const48_operand.
2895 2014-01-31 Ilya Tocar <ilya.tocar@intel.com>
2897 * config/i386/constraints.md (Yk): Swap meaning with k.
2898 * config/i386/i386.md (movhi_internal): Change Yk to k.
2899 (movqi_internal): Ditto.
2900 (*k<logic><mode>): Ditto.
2903 (kandn<mode>): Ditto.
2904 (*<code>hi_1): Ditto.
2905 (*<code>qi_1): Ditto.
2906 (kxnor<mode>): Ditto.
2907 (kortestzhi): Ditto.
2908 (kortestchi): Ditto.
2910 (*one_cmplhi2_1): Ditto.
2911 (*one_cmplqi2_1): Ditto.
2912 * config/i386/sse.md (): Change k to Yk.
2913 (avx512f_load<mode>_mask): Ditto.
2914 (avx512f_blendm<mode>): Ditto.
2915 (avx512f_store<mode>_mask): Ditto.
2916 (avx512f_storeu<ssemodesuffix>512_mask): Ditto.
2917 (avx512f_storedqu<mode>_mask): Ditto.
2918 (avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>):
2920 (avx512f_ucmp<mode>3<mask_scalar_merge_name>): Ditto.
2921 (avx512f_vmcmp<mode>3<round_saeonly_name>): Ditto.
2922 (avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Ditto.
2923 (avx512f_maskcmp<mode>3): Ditto.
2924 (avx512f_fmadd_<mode>_mask<round_name>): Ditto.
2925 (avx512f_fmadd_<mode>_mask3<round_name>): Ditto.
2926 (avx512f_fmsub_<mode>_mask<round_name>): Ditto.
2927 (avx512f_fmsub_<mode>_mask3<round_name>): Ditto.
2928 (avx512f_fnmadd_<mode>_mask<round_name>): Ditto.
2929 (avx512f_fnmadd_<mode>_mask3<round_name>): Ditto.
2930 (avx512f_fnmsub_<mode>_mask<round_name>): Ditto.
2931 (avx512f_fnmsub_<mode>_mask3<round_name>): Ditto.
2932 (avx512f_fmaddsub_<mode>_mask<round_name>): Ditto.
2933 (avx512f_fmaddsub_<mode>_mask3<round_name>): Ditto.
2934 (avx512f_fmsubadd_<mode>_mask<round_name>): Ditto.
2935 (avx512f_fmsubadd_<mode>_mask3<round_name>): Ditto.
2936 (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto.
2937 (vec_extract_lo_<mode>_maskm): Ditto.
2938 (vec_extract_hi_<mode>_maskm): Ditto.
2939 (avx512f_vternlog<mode>_mask): Ditto.
2940 (avx512f_fixupimm<mode>_mask<round_saeonly_name>): Ditto.
2941 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Ditto.
2942 (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto.
2943 (avx512f_<code>v8div16qi2_mask): Ditto.
2944 (avx512f_<code>v8div16qi2_mask_store): Ditto.
2945 (avx512f_eq<mode>3<mask_scalar_merge_name>_1): Ditto.
2946 (avx512f_gt<mode>3<mask_scalar_merge_name>): Ditto.
2947 (avx512f_testm<mode>3<mask_scalar_merge_name>): Ditto.
2948 (avx512f_testnm<mode>3<mask_scalar_merge_name>): Ditto.
2949 (*avx512pf_gatherpf<mode>sf_mask): Ditto.
2950 (*avx512pf_gatherpf<mode>df_mask): Ditto.
2951 (*avx512pf_scatterpf<mode>sf_mask): Ditto.
2952 (*avx512pf_scatterpf<mode>df_mask): Ditto.
2953 (avx512cd_maskb_vec_dupv8di): Ditto.
2954 (avx512cd_maskw_vec_dupv16si): Ditto.
2955 (avx512f_vpermi2var<mode>3_maskz): Ditto.
2956 (avx512f_vpermi2var<mode>3_mask): Ditto.
2957 (avx512f_vpermi2var<mode>3_mask): Ditto.
2958 (avx512f_vpermt2var<mode>3_maskz): Ditto.
2959 (*avx512f_gathersi<mode>): Ditto.
2960 (*avx512f_gathersi<mode>_2): Ditto.
2961 (*avx512f_gatherdi<mode>): Ditto.
2962 (*avx512f_gatherdi<mode>_2): Ditto.
2963 (*avx512f_scattersi<mode>): Ditto.
2964 (*avx512f_scatterdi<mode>): Ditto.
2965 (avx512f_compress<mode>_mask): Ditto.
2966 (avx512f_compressstore<mode>_mask): Ditto.
2967 (avx512f_expand<mode>_mask): Ditto.
2968 * config/i386/subst.md (mask): Change k to Yk.
2969 (mask_scalar_merge): Ditto.
2972 2014-01-31 Marc Glisse <marc.glisse@inria.fr>
2974 * doc/extend.texi (Vector Extensions): Document ?: in C++.
2976 2014-01-31 Richard Biener <rguenther@suse.de>
2979 * builtins.c (fold_builtin_memory_op): Make sure to not
2980 use a floating-point mode or a boolean or enumeral type for
2983 2014-01-30 DJ Delorie <dj@redhat.com>
2985 * config/msp430/msp430.h (LIB_SPEC): Add -lcrt
2986 * config/msp430/msp430.md (msp430_refsym_need_exit): New.
2987 * config/msp430/msp430.c (msp430_expand_epilogue): Call it
2988 whenever main() has an epilogue.
2990 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2992 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Remove
2993 unused variable "field".
2994 * config/rs6000/vsx.md (vsx_mergel_<mode>): Add missing DONE.
2995 (vsx_mergeh_<mode>): Likewise.
2996 * config/rs6000/altivec.md (altivec_vmrghb): Likewise.
2997 (altivec_vmrghh): Likewise.
2998 (altivec_vmrghw): Likewise.
2999 (altivec_vmrglb): Likewise.
3000 (altivec_vmrglh): Likewise.
3001 (altivec_vmrglw): Likewise.
3002 (altivec_vspltb): Add missing uses.
3003 (altivec_vsplth): Likewise.
3004 (altivec_vspltw): Likewise.
3005 (altivec_vspltsf): Likewise.
3007 2014-01-30 Jakub Jelinek <jakub@redhat.com>
3010 * ifcvt.c (cond_exec_process_insns): Don't conditionalize
3011 frame related instructions.
3013 2014-01-30 Vladimir Makarov <vmakarov@redhat.com>
3015 PR rtl-optimization/59959
3016 * lra-constrains.c (simplify_operand_subreg): Assign NO_REGS to
3017 any reload of register whose subreg is invalid.
3019 2014-01-30 Jakub Jelinek <jakub@redhat.com>
3021 * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
3022 * config/i386/avx512fintrin.h (_mm512_mask_cvtusepi64_storeu_epi32):
3023 Add missing return type - void.
3025 2014-01-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3027 * gcc/config/rs6000/rs6000.c (rs6000_expand_vector_init): Use
3028 gen_vsx_xxspltw_v4sf_direct instead of gen_vsx_xxspltw_v4sf;
3029 remove element index adjustment for endian (now handled in vsx.md
3031 (altivec_expand_vec_perm_const): Use
3032 gen_altivec_vsplt[bhw]_direct instead of gen_altivec_vsplt[bhw].
3033 * gcc/config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTW): New unspec.
3034 (vsx_xxspltw_<mode>): Adjust element index for little endian.
3035 * gcc/config/rs6000/altivec.md (altivec_vspltb): Divide into a
3036 define_expand and a new define_insn *altivec_vspltb_internal;
3037 adjust for -maltivec=be on a little endian target.
3038 (altivec_vspltb_direct): New.
3039 (altivec_vsplth): Divide into a define_expand and a new
3040 define_insn *altivec_vsplth_internal; adjust for -maltivec=be on a
3041 little endian target.
3042 (altivec_vsplth_direct): New.
3043 (altivec_vspltw): Divide into a define_expand and a new
3044 define_insn *altivec_vspltw_internal; adjust for -maltivec=be on a
3045 little endian target.
3046 (altivec_vspltw_direct): New.
3047 (altivec_vspltsf): Divide into a define_expand and a new
3048 define_insn *altivec_vspltsf_internal; adjust for -maltivec=be on
3049 a little endian target.
3051 2014-01-30 Richard Biener <rguenther@suse.de>
3053 PR tree-optimization/59993
3054 * tree-ssa-forwprop.c (associate_pointerplus): Check we
3055 can propagate form the earlier stmt and avoid the transform
3056 when the intermediate result is needed.
3058 2014-01-30 Alangi Derick <alangiderick@gmail.com>
3060 * README.Portability: Fix typo.
3062 2014-01-30 David Holsgrove <david.holsgrove@xilinx.com>
3064 * config/microblaze/microblaze.md(cstoresf4, cbranchsf4): Replace
3065 comparison_operator with ordered_comparison_operator.
3067 2014-01-30 Nick Clifton <nickc@redhat.com>
3069 * config/mn10300/mn10300-protos.h (mn10300_store_multiple_operation_p):
3070 Rename to mn10300_store_multiple_regs.
3071 * config/mn10300/mn10300.c: Likewise.
3072 * config/mn10300/mn10300.md (store_movm): Fix typo: call
3073 store_multiple_regs.
3074 * config/mn10300/predicates.md (mn10300_store_multiple_operation):
3075 Call mn10300_store_multiple_regs.
3077 2014-01-30 Nick Clifton <nickc@redhat.com>
3078 DJ Delorie <dj@redhat.com>
3080 * config/rl78/rl78.c (register_sizes): Make the "upper half" of
3081 %fp 2 to keep registers after it properly word-aligned.
3082 (rl78_alloc_physical_registers_umul): Handle the case where both
3083 input operands are the same.
3085 2014-01-30 Richard Biener <rguenther@suse.de>
3087 PR tree-optimization/59903
3088 * tree-vect-loop.c (vect_transform_loop): Guard multiple-types
3091 2014-01-30 Jason Merrill <jason@redhat.com>
3094 * tree.c (walk_type_fields): Handle VECTOR_TYPE.
3097 * cgraphunit.c (expand_thunk): Copy volatile arg to a temporary.
3099 2014-01-30 Richard Biener <rguenther@suse.de>
3101 PR tree-optimization/59951
3102 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Skip uses in debug insns.
3104 2014-01-30 Savin Zlobec <savin.zlobec@gmail.com>
3107 * config/nios2/nios2.c (nios2_fpu_insn_asm): Fix asm output of
3108 SFmode to DFmode case.
3110 2014-01-29 DJ Delorie <dj@redhat.com>
3112 * config/msp430/msp430.opt (-minrt): New.
3113 * config/msp430/msp430.h (STARTFILE_SPEC): Link alternate runtime
3115 (ENDFILE_SPEC): Likewise.
3117 2014-01-29 Jan Hubicka <hubicka@ucw.cz>
3119 * ipa-inline-analysis.c (clobber_only_eh_bb_p): New function.
3120 (estimate_function_body_sizes): Use it.
3122 2014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
3125 * dwarf2out.c (is_cxx_auto): New.
3126 (is_base_type): Use it.
3127 (gen_type_die_with_usage): Likewise.
3129 2014-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3131 * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Use
3132 CODE_FOR_altivec_vmrg*_direct rather than CODE_FOR_altivec_vmrg*.
3133 * config/rs6000/vsx.md (vsx_mergel_<mode>): Adjust for
3134 -maltivec=be with LE targets.
3135 (vsx_mergeh_<mode>): Likewise.
3136 * config/rs6000/altivec.md (UNSPEC_VMRG[HL]_DIRECT): New unspecs.
3137 (mulv8hi3): Use gen_altivec_vmrg[hl]w_direct.
3138 (altivec_vmrghb): Replace with define_expand and new
3139 *altivec_vmrghb_internal insn; adjust for -maltivec=be with LE targets.
3140 (altivec_vmrghb_direct): New define_insn.
3141 (altivec_vmrghh): Replace with define_expand and new
3142 *altivec_vmrghh_internal insn; adjust for -maltivec=be with LE targets.
3143 (altivec_vmrghh_direct): New define_insn.
3144 (altivec_vmrghw): Replace with define_expand and new
3145 *altivec_vmrghw_internal insn; adjust for -maltivec=be with LE targets.
3146 (altivec_vmrghw_direct): New define_insn.
3147 (*altivec_vmrghsf): Adjust for endianness.
3148 (altivec_vmrglb): Replace with define_expand and new
3149 *altivec_vmrglb_internal insn; adjust for -maltivec=be with LE targets.
3150 (altivec_vmrglb_direct): New define_insn.
3151 (altivec_vmrglh): Replace with define_expand and new
3152 *altivec_vmrglh_internal insn; adjust for -maltivec=be with LE targets.
3153 (altivec_vmrglh_direct): New define_insn.
3154 (altivec_vmrglw): Replace with define_expand and new
3155 *altivec_vmrglw_internal insn; adjust for -maltivec=be with LE targets.
3156 (altivec_vmrglw_direct): New define_insn.
3157 (*altivec_vmrglsf): Adjust for endianness.
3158 (vec_widen_umult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3159 (vec_widen_umult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3160 (vec_widen_smult_hi_v16qi): Use gen_altivec_vmrghh_direct.
3161 (vec_widen_smult_lo_v16qi): Use gen_altivec_vmrglh_direct.
3162 (vec_widen_umult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3163 (vec_widen_umult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3164 (vec_widen_smult_hi_v8hi): Use gen_altivec_vmrghw_direct.
3165 (vec_widen_smult_lo_v8hi): Use gen_altivec_vmrglw_direct.
3167 2014-01-29 Marcus Shawcroft <marcus.shawcroft@arm.com>
3169 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate)
3170 (aarch64_legitimate_address_p, aarch64_class_max_nregs): Adjust
3173 2014-01-29 Richard Biener <rguenther@suse.de>
3175 PR tree-optimization/58742
3176 * tree-ssa-forwprop.c (associate_pointerplus): Rename to
3177 associate_pointerplus_align.
3178 (associate_pointerplus_diff): New function.
3179 (associate_pointerplus): Likewise. Call associate_pointerplus_align
3180 and associate_pointerplus_diff.
3182 2014-01-29 Richard Biener <rguenther@suse.de>
3184 * lto-streamer.h (LTO_major_version): Bump to 3.
3185 (LTO_minor_version): Reset to 0.
3187 2014-01-29 Renlin Li <Renlin.Li@arm.com>
3189 * config/arm/arm-arches.def (ARM_ARCH): Add armv7ve arch.
3190 * config/arm/arm.c (FL_FOR_ARCH7VE): New.
3191 (arm_file_start): Generate correct asm header for armv7ve.
3192 * config/arm/bpabi.h: Add multilib support for armv7ve.
3193 * config/arm/driver-arm.c: Change the architectures of cortex-a7
3194 and cortex-a15 to armv7ve.
3195 * config/arm/t-aprofile: Add multilib support for armv7ve.
3196 * doc/invoke.texi: Document -march=armv7ve.
3198 2014-01-29 Richard Biener <rguenther@suse.de>
3200 PR tree-optimization/58742
3201 * tree-ssa-forwprop.c (associate_plusminus): Return true
3202 if we changed sth, defer EH cleanup to ...
3203 (ssa_forward_propagate_and_combine): ... here. Call simplify_mult.
3204 (simplify_mult): New function.
3206 2014-01-29 Jakub Jelinek <jakub@redhat.com>
3209 PR tree-optimization/59920
3210 * tree.c (build_common_builtin_nodes): Remove
3211 __builtin_setjmp_dispatcher initialization.
3212 * omp-low.h (make_gimple_omp_edges): Add a new int * argument.
3213 * profile.c (branch_prob): Use gsi_start_nondebug_after_labels_bb
3214 instead of gsi_after_labels + manually skipping debug stmts.
3215 Don't ignore bbs with BUILT_IN_SETJMP_DISPATCHER, instead
3216 ignore bbs with IFN_ABNORMAL_DISPATCHER.
3217 * tree-inline.c (copy_edges_for_bb): Remove
3218 can_make_abnormal_goto argument, instead add abnormal_goto_dest
3219 argument. Ignore computed_goto_p stmts. Don't call
3220 make_abnormal_goto_edges. If a call might need abnormal edges
3221 for non-local gotos, see if it already has an edge to
3222 IFN_ABNORMAL_DISPATCHER or if it is IFN_ABNORMAL_DISPATCHER
3223 with true argument, don't do anything then, otherwise add
3224 EDGE_ABNORMAL from the call's bb to abnormal_goto_dest.
3225 (copy_cfg_body): Compute abnormal_goto_dest, adjust copy_edges_for_bb
3227 * gimple-low.c (struct lower_data): Remove calls_builtin_setjmp.
3228 (lower_function_body): Don't emit __builtin_setjmp_dispatcher.
3229 (lower_stmt): Don't set data->calls_builtin_setjmp.
3230 (lower_builtin_setjmp): Adjust comment.
3231 * builtins.def (BUILT_IN_SETJMP_DISPATCHER): Remove.
3232 * tree-cfg.c (found_computed_goto): Remove.
3233 (factor_computed_gotos): Remove.
3234 (make_goto_expr_edges): Return bool, true for computed gotos.
3235 Don't call make_abnormal_goto_edges.
3236 (build_gimple_cfg): Don't set found_computed_goto, don't call
3237 factor_computed_gotos.
3238 (computed_goto_p): No longer static.
3239 (make_blocks): Don't set found_computed_goto.
3240 (get_abnormal_succ_dispatcher, handle_abnormal_edges): New functions.
3241 (make_edges): If make_goto_expr_edges returns true, push bb
3242 into ab_edge_goto vector, for stmt_can_make_abnormal_goto calls
3243 instead of calling make_abnormal_goto_edges push bb into ab_edge_call
3244 vector. Record mapping between bbs and OpenMP regions if there
3245 are any, adjust make_gimple_omp_edges caller. Call
3246 handle_abnormal_edges.
3247 (make_abnormal_goto_edges): Remove.
3248 * tree-cfg.h (make_abnormal_goto_edges): Remove.
3249 (computed_goto_p, get_abnormal_succ_dispatcher): New prototypes.
3250 * internal-fn.c (expand_ABNORMAL_DISPATCHER): New function.
3251 * builtins.c (expand_builtin): Don't handle BUILT_IN_SETJMP_DISPATCHER.
3252 * internal-fn.def (ABNORMAL_DISPATCHER): New.
3253 * omp-low.c (make_gimple_omp_edges): Add region_idx argument, when
3254 filling *region also set *region_idx to (*region)->entry->index.
3257 * read-rtl.c (read_rtx_code): Clear all of RTX_CODE_SIZE (code).
3258 For REGs set ORIGINAL_REGNO.
3260 2014-01-29 Bingfeng Mei <bmei@broadcom.com>
3262 * doc/md.texi: Mention that a target shouldn't implement
3263 vec_widen_(s|u)mul_even/odd pair if it is less efficient
3266 2014-01-29 Jakub Jelinek <jakub@redhat.com>
3268 PR tree-optimization/59594
3269 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Sort
3270 a copy of the datarefs vector rather than the vector itself.
3272 2014-01-28 Jason Merrill <jason@redhat.com>
3275 * dwarf2out.c (auto_die): New static.
3276 (gen_type_die_with_usage): Handle C++1y 'auto'.
3277 (gen_subprogram_die): If in-class DIE had 'auto', emit type again
3280 2014-01-28 H.J. Lu <hongjiu.lu@intel.com>
3283 * config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
3284 (SPEC_X32): Likewise.
3285 (SPEC_64): Likewise.
3286 * config/i386/i386.c (ix86_option_override_internal): Turn off
3287 OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
3289 (x86_file_start): Output .code16gcc for TARGET_16BIT.
3290 * config/i386/i386.h (TARGET_16BIT): New macro.
3291 (TARGET_16BIT_P): Likewise.
3292 * config/i386/i386.opt: Add m16.
3293 * doc/invoke.texi: Document -m16.
3295 2014-01-28 Jakub Jelinek <jakub@redhat.com>
3297 PR preprocessor/59935
3298 * input.c (location_get_source_line): Bail out on when line number
3299 is zero, and test the return value of lookup_or_add_file_to_cache_tab.
3301 2014-01-28 Richard Biener <rguenther@suse.de>
3303 PR tree-optimization/58742
3304 * tree-ssa-forwprop.c (associate_plusminus): Handle
3305 pointer subtraction of the form (T)(P + A) - (T)P.
3307 2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3309 * config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
3312 2014-01-28 Richard Biener <rguenther@suse.de>
3315 2014-01-28 Richard Biener <rguenther@suse.de>
3317 PR rtl-optimization/45364
3318 PR rtl-optimization/59890
3319 * var-tracking.c (local_get_addr_clear_given_value): Handle
3320 already cleared slot.
3321 (val_reset): Handle not allocated local_get_addr_cache.
3322 (vt_find_locations): Use post-order on the inverted CFG.
3324 2014-01-28 Richard Biener <rguenther@suse.de>
3326 * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove.
3328 2014-01-28 Richard Biener <rguenther@suse.de>
3330 PR rtl-optimization/45364
3331 PR rtl-optimization/59890
3332 * var-tracking.c (local_get_addr_clear_given_value): Handle
3333 already cleared slot.
3334 (val_reset): Handle not allocated local_get_addr_cache.
3335 (vt_find_locations): Use post-order on the inverted CFG.
3337 2014-01-28 Alan Modra <amodra@gmail.com>
3339 * Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
3340 * configure.ac <recursive call for build != host>: Define
3341 GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD
3342 and LD_FOR_BUILD too.
3343 * configure: Regenerate.
3345 2014-01-27 Allan Sandfeld Jensen <sandfeld@kde.org>
3347 * config/i386/i386.c (get_builtin_code_for_version): Separate
3348 Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
3349 Broadwell from Haswell.
3351 2014-01-27 Steve Ellcey <sellcey@mips.com>
3353 * common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
3354 Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
3355 * config/mips/mips.c (mips_option_override): Change setting
3357 * config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
3358 * config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD, MIPS3D):
3359 Change from Mask to Var.
3361 2014-01-27 Jeff Law <law@redhat.com>
3363 * ipa-inline.c (inline_small_functions): Fix typo.
3365 2014-01-27 Ilya Tocar <ilya.tocar@intel.com>
3367 * config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
3368 (_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
3369 (_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
3370 (_mm512_mask_cvtepi32_storeu_epi16): Ditto.
3371 (_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
3372 (_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
3373 (_mm512_mask_cvtepi64_storeu_epi32): Ditto.
3374 (_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
3375 (_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
3376 (_mm512_mask_cvtepi64_storeu_epi16): Ditto.
3377 (_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
3378 (_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
3379 (_mm512_mask_cvtepi64_storeu_epi8): Ditto.
3380 (_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
3381 (_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
3382 (_mm512_storeu_epi64): Ditto.
3383 (_mm512_cmpge_epi32_mask): Ditto.
3384 (_mm512_cmpge_epu32_mask): Ditto.
3385 (_mm512_cmpge_epi64_mask): Ditto.
3386 (_mm512_cmpge_epu64_mask): Ditto.
3387 (_mm512_cmple_epi32_mask): Ditto.
3388 (_mm512_cmple_epu32_mask): Ditto.
3389 (_mm512_cmple_epi64_mask): Ditto.
3390 (_mm512_cmple_epu64_mask): Ditto.
3391 (_mm512_cmplt_epi32_mask): Ditto.
3392 (_mm512_cmplt_epu32_mask): Ditto.
3393 (_mm512_cmplt_epi64_mask): Ditto.
3394 (_mm512_cmplt_epu64_mask): Ditto.
3395 (_mm512_cmpneq_epi32_mask): Ditto.
3396 (_mm512_cmpneq_epu32_mask): Ditto.
3397 (_mm512_cmpneq_epi64_mask): Ditto.
3398 (_mm512_cmpneq_epu64_mask): Ditto.
3399 (_mm512_expand_pd): Ditto.
3400 (_mm512_expand_ps): Ditto.
3401 * config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
3402 VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
3403 VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
3404 * config/i386/i386.c (ix86_builtins): Add
3405 IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
3406 IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
3407 IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
3408 IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
3409 IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
3410 IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
3411 IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
3412 IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
3413 IX86_BUILTIN_PMOVUSQW512_MEM.
3414 (bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
3415 __builtin_ia32_pmovsqd512mem_mask,
3416 __builtin_ia32_pmovqd512mem_mask,
3417 __builtin_ia32_pmovusqw512mem_mask,
3418 __builtin_ia32_pmovsqw512mem_mask,
3419 __builtin_ia32_pmovqw512mem_mask,
3420 __builtin_ia32_pmovusdw512mem_mask,
3421 __builtin_ia32_pmovsdw512mem_mask,
3422 __builtin_ia32_pmovdw512mem_mask,
3423 __builtin_ia32_pmovqb512mem_mask,
3424 __builtin_ia32_pmovusqb512mem_mask,
3425 __builtin_ia32_pmovsqb512mem_mask,
3426 __builtin_ia32_pmovusdb512mem_mask,
3427 __builtin_ia32_pmovsdb512mem_mask,
3428 __builtin_ia32_pmovdb512mem_mask.
3429 (bdesc_args): Add __builtin_ia32_expanddf512,
3430 __builtin_ia32_expandsf512.
3431 (ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI,
3432 VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
3433 VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
3434 * config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
3435 (avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
3436 (*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
3437 (avx512f_<code>v8div16qi2_mask_store): This.
3438 (avx512f_expand<mode>): New.
3440 2014-01-27 Kirill Yukhin <kirill.yukhin@intel.com>
3442 * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd):
3444 (_mm512_mask_prefetch_i64gather_pd): Ditto.
3445 (_mm512_prefetch_i32scatter_pd): Ditto.
3446 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
3447 (_mm512_prefetch_i64scatter_pd): Ditto.
3448 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
3449 (_mm512_mask_prefetch_i32gather_ps): Fix operand type.
3450 (_mm512_mask_prefetch_i64gather_ps): Ditto.
3451 (_mm512_prefetch_i32scatter_ps): Ditto.
3452 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
3453 (_mm512_prefetch_i64scatter_ps): Ditto.
3454 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
3455 * config/i386/i386-builtin-types.def: Define
3456 VOID_FTYPE_QI_V8SI_PCINT64_INT_INT
3457 and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
3458 * config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
3459 IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
3460 IX86_BUILTIN_SCATTERPFQPD.
3461 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
3462 __builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
3463 __builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
3464 __builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
3465 __builtin_ia32_scatterpfqps.
3466 (ix86_expand_builtin): Expand new built-ins.
3467 * config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
3468 fix memory access data type.
3469 (*avx512pf_gatherpf<mode>_mask): Ditto.
3470 (*avx512pf_gatherpf<mode>): Ditto.
3471 (avx512pf_scatterpf<mode>): Ditto.
3472 (*avx512pf_scatterpf<mode>_mask): Ditto.
3473 (*avx512pf_scatterpf<mode>): Ditto.
3474 (GATHER_SCATTER_SF_MEM_MODE): New.
3475 (avx512pf_gatherpf<mode>df): Ditto.
3476 (*avx512pf_gatherpf<mode>df_mask): Ditto.
3477 (*avx512pf_scatterpf<mode>df): Ditto.
3479 2014-01-27 Jakub Jelinek <jakub@redhat.com>
3482 * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
3483 know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
3486 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
3488 * common/config/arm/arm-common.c
3489 (arm_rewrite_mcpu): Handle multiple names.
3491 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3493 2014-01-27 James Greenhalgh <james.greenhalgh@arm.com>
3495 * gimple-builder.h (create_gimple_tmp): Delete.
3497 2014-01-27 Christian Bruel <christian.bruel@st.com>
3499 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
3502 2014-01-26 John David Anglin <danglin@gcc.gnu.org>
3504 * config/pa/pa.md (call): Generate indirect long calls to non-local
3505 functions when outputing 32-bit code.
3506 (call_value): Likewise except for special call to buggy powf function.
3508 * config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
3509 portable runtime and PIC indirect calls.
3510 (pa_output_indirect_call): Remove unnecessary nop from portable runtime
3511 and PIC call sequences. Use ldo instead of blr to set return register
3512 in PIC call sequence.
3514 2014-01-25 Walter Lee <walt@tilera.com>
3516 * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
3517 avoid clobbering a live register.
3519 2014-01-25 Walter Lee <walt@tilera.com>
3521 * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
3522 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
3523 * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
3524 Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
3526 2014-01-25 Walter Lee <walt@tilera.com>
3528 * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
3529 arguments on even registers.
3530 (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
3532 * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
3533 (BIGGEST_ALIGNMENT): Ditto.
3534 (BIGGEST_FIELD_ALIGNMENT): Ditto.
3536 2014-01-25 Walter Lee <walt@tilera.com>
3538 * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
3539 insns before bundling.
3540 * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
3542 2014-01-25 Walter Lee <walt@tilera.com>
3544 * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
3545 PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
3546 * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
3548 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
3550 * config/mips/constraints.md (kl): Delete.
3551 * config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
3552 define expands, using...
3553 (divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
3554 instructions for MIPS16.
3555 (*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
3556 non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
3558 2014-01-25 Walter Lee <walt@tilera.com>
3560 * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
3564 2014-01-25 Walter Lee <walt@tilera.com>
3566 * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
3567 (TARGET_EXPAND_TO_RTL_HOOK): Define.
3569 2014-01-25 Richard Sandiford <rdsandiford@googlemail.com>
3571 * rtlanal.c (canonicalize_condition): Split out duplicated mode check.
3574 2014-01-25 Jakub Jelinek <jakub@redhat.com>
3576 * print-rtl.c (in_call_function_usage): New var.
3577 (print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
3578 EXPR_LIST mode as mode and not as reg note name.
3581 * cfgloopmanip.c (copy_loop_info): If
3582 loop->warned_aggressive_loop_optimizations, make sure
3583 the flag is set in target loop too.
3585 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
3587 * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
3589 * builtins.def: Likewise.
3590 * cilk.h (fn_contains_cilk_spawn_p): Likewise.
3591 * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
3592 * ira.c (ira_setup_eliminable_regset): Likewise.
3593 * omp-low.c (gate_expand_omp): Likewise.
3594 (execute_lower_omp): Likewise.
3595 (diagnose_sb_0): Likewise.
3596 (gate_diagnose_omp_blocks): Likewise.
3597 (simd_clone_clauses_extract): Likewise.
3600 2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3602 * config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
3603 correction for little endian...
3604 * config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
3607 2014-01-24 Jeff Law <law@redhat.com>
3609 PR tree-optimization/59919
3610 * tree-vrp.c (find_assert_locations_1): Do not register asserts
3611 for non-returning calls.
3613 2014-01-24 James Greenhalgh <james.greenhalgh@arm.com>
3615 * common/config/aarch64/aarch64-common.c
3616 (aarch64_rewrite_mcpu): Handle multiple names.
3617 * config/aarch64/aarch64.h
3618 (BIG_LITTLE_SPEC): Do not discard mcpu switches.
3620 2014-01-24 Dodji Seketeli <dodji@redhat.com>
3622 * input.c (add_file_to_cache_tab): Handle the case where fopen
3625 2014-01-23 H.J. Lu <hongjiu.lu@intel.com>
3628 * config/i386/i386.md (pushsf splitter): Get stack adjustment
3629 from push operand if code of push isn't PRE_DEC.
3631 2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
3634 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3635 -mquad-memory-atomic. Update -mquad-memory documentation to say
3636 it is only used for non-atomic loads/stores.
3638 * config/rs6000/predicates.md (quad_int_reg_operand): Allow either
3639 -mquad-memory or -mquad-memory-atomic switches.
3641 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
3642 -mquad-memory-atomic to ISA 2.07 support.
3644 * config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
3645 to separate support of normal quad word memory operations (ldq, stq)
3646 from the atomic quad word memory operations.
3648 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
3649 support to separate non-atomic quad word operations from atomic
3650 quad word operations. Disable non-atomic quad word operations in
3651 little endian mode so that we don't have to swap words after the
3652 load and before the store.
3653 (quad_load_store_p): Add comment about atomic quad word support.
3654 (rs6000_opt_masks): Add -mquad-memory-atomic to the list of
3655 options printed with -mdebug=reg.
3657 * config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
3658 -mquad-memory-atomic as the test for whether we have quad word
3659 atomic instructions.
3660 (TARGET_SYNC_HI_QI): If either -mquad-memory-atomic, -mquad-memory,
3661 or -mp8-vector are used, allow byte/half-word atomic operations.
3663 * config/rs6000/sync.md (load_lockedti): Insure that the address
3664 is a proper indexed or indirect address for the lqarx instruction.
3665 On little endian systems, swap the hi/lo registers after the lqarx
3667 (load_lockedpti): Use indexed_or_indirect_operand predicate to
3668 insure the address is valid for the lqarx instruction.
3669 (store_conditionalti): Insure that the address is a proper indexed
3670 or indirect address for the stqcrx. instruction. On little endian
3671 systems, swap the hi/lo registers before doing the stqcrx.
3673 (store_conditionalpti): Use indexed_or_indirect_operand predicate to
3674 insure the address is valid for the stqcrx. instruction.
3676 * gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
3677 Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
3678 type of quad memory support is available.
3680 2014-01-23 Vladimir Makarov <vmakarov@redhat.com>
3683 * lra-constraints.c (simplify_operand_subreg): Spill pseudo if
3684 there is a danger of looping.
3686 2014-01-23 Pat Haugen <pthaugen@us.ibm.com>
3688 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3689 force flag_ira_loop_pressure if set via command line.
3691 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
3693 * config/aarch64/aarch64-simd-builtins.def (ashr): DI mode removed.
3694 (ashr_simd): New builtin handling DI mode.
3695 * config/aarch64/aarch64-simd.md (aarch64_ashr_simddi): New pattern.
3696 (aarch64_sshr_simddi): New match pattern.
3697 * config/aarch64/arm_neon.h (vshr_n_s32): Builtin call modified.
3698 (vshrd_n_s64): Likewise.
3699 * config/aarch64/predicates.md (aarch64_shift_imm64_di): New predicate.
3701 2014-01-23 Nick Clifton <nickc@redhat.com>
3703 * config/msp430/msp430.h (ASM_SPEC): Pass the -mcpu as -mcpu.
3704 (LIB_SPEC): Drop use of memory.ld and peripherals.ld scripts in
3705 favour of mcu specific scripts.
3706 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add more matches for
3709 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
3710 Alex Velenko <Alex.Velenko@arm.com>
3712 * config/aarch64/arm_neon.h (vaddv_s8): __LANE0 cleanup.
3713 (vaddv_s16): Likewise.
3714 (vaddv_s32): Likewise.
3715 (vaddv_u8): Likewise.
3716 (vaddv_u16): Likewise.
3717 (vaddv_u32): Likewise.
3718 (vaddvq_s8): Likewise.
3719 (vaddvq_s16): Likewise.
3720 (vaddvq_s32): Likewise.
3721 (vaddvq_s64): Likewise.
3722 (vaddvq_u8): Likewise.
3723 (vaddvq_u16): Likewise.
3724 (vaddvq_u32): Likewise.
3725 (vaddvq_u64): Likewise.
3726 (vaddv_f32): Likewise.
3727 (vaddvq_f32): Likewise.
3728 (vaddvq_f64): Likewise.
3729 (vmaxv_f32): Likewise.
3730 (vmaxv_s8): Likewise.
3731 (vmaxv_s16): Likewise.
3732 (vmaxv_s32): Likewise.
3733 (vmaxv_u8): Likewise.
3734 (vmaxv_u16): Likewise.
3735 (vmaxv_u32): Likewise.
3736 (vmaxvq_f32): Likewise.
3737 (vmaxvq_f64): Likewise.
3738 (vmaxvq_s8): Likewise.
3739 (vmaxvq_s16): Likewise.
3740 (vmaxvq_s32): Likewise.
3741 (vmaxvq_u8): Likewise.
3742 (vmaxvq_u16): Likewise.
3743 (vmaxvq_u32): Likewise.
3744 (vmaxnmv_f32): Likewise.
3745 (vmaxnmvq_f32): Likewise.
3746 (vmaxnmvq_f64): Likewise.
3747 (vminv_f32): Likewise.
3748 (vminv_s8): Likewise.
3749 (vminv_s16): Likewise.
3750 (vminv_s32): Likewise.
3751 (vminv_u8): Likewise.
3752 (vminv_u16): Likewise.
3753 (vminv_u32): Likewise.
3754 (vminvq_f32): Likewise.
3755 (vminvq_f64): Likewise.
3756 (vminvq_s8): Likewise.
3757 (vminvq_s16): Likewise.
3758 (vminvq_s32): Likewise.
3759 (vminvq_u8): Likewise.
3760 (vminvq_u16): Likewise.
3761 (vminvq_u32): Likewise.
3762 (vminnmv_f32): Likewise.
3763 (vminnmvq_f32): Likewise.
3764 (vminnmvq_f64): Likewise.
3766 2014-01-23 James Greenhalgh <james.greenhalgh@arm.com>
3768 * config/aarch64/aarch64-simd.md
3769 (aarch64_dup_lane<mode>): Correct lane number on big-endian.
3770 (aarch64_dup_lane_<vswap_widthi_name><mode>): Likewise.
3771 (*aarch64_mul3_elt<mode>): Likewise.
3772 (*aarch64_mul3_elt<vswap_width_name><mode>): Likewise.
3773 (*aarch64_mul3_elt_to_64v2df): Likewise.
3774 (*aarch64_mla_elt<mode>): Likewise.
3775 (*aarch64_mla_elt_<vswap_width_name><mode>): Likewise.
3776 (*aarch64_mls_elt<mode>): Likewise.
3777 (*aarch64_mls_elt_<vswap_width_name><mode>): Likewise.
3778 (*aarch64_fma4_elt<mode>): Likewise.
3779 (*aarch64_fma4_elt_<vswap_width_name><mode>): Likewise.
3780 (*aarch64_fma4_elt_to_64v2df): Likewise.
3781 (*aarch64_fnma4_elt<mode>): Likewise.
3782 (*aarch64_fnma4_elt_<vswap_width_name><mode>): Likewise.
3783 (*aarch64_fnma4_elt_to_64v2df): Likewise.
3784 (aarch64_sq<r>dmulh_lane<mode>): Likewise.
3785 (aarch64_sq<r>dmulh_laneq<mode>): Likewise.
3786 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
3787 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>_internal): Likewise.
3788 (aarch64_sqdml<SBINQOPS:as>l2_lane<mode>_internal): Likewise.
3789 (aarch64_sqdmull_lane<mode>_internal): Likewise.
3790 (aarch64_sqdmull2_lane<mode>_internal): Likewise.
3792 2013-01-23 Alex Velenko <Alex.Velenko@arm.com>
3794 * config/aarch64/aarch64-simd.md
3795 (aarch64_be_checked_get_lane<mode>): New define_expand.
3796 * config/aarch64/aarch64-simd-builtins.def
3797 (BUILTIN_VALL (GETLANE, be_checked_get_lane, 0)):
3798 New builtin definition.
3799 * config/aarch64/arm_neon.h: (__aarch64_vget_lane_any):
3800 Use new safe be builtin.
3802 2014-01-23 Alex Velenko <Alex.Velenko@arm.com>
3804 * config/aarch64/aarch64-simd.md (aarch64_be_ld1<mode>):
3806 (aarch64_be_st1<mode>): Likewise.
3807 (aarch_ld1<VALL:mode>): Define_expand modified.
3808 (aarch_st1<VALL:mode>): Likewise.
3809 * config/aarch64/aarch64.md (UNSPEC_LD1): New unspec definition.
3810 (UNSPEC_ST1): Likewise.
3812 2014-01-23 David Holsgrove <david.holsgrove@xilinx.com>
3814 * config/microblaze/microblaze.md: Add trap insn and attribute
3816 2014-01-23 Dodji Seketeli <dodji@redhat.com>
3818 PR preprocessor/58580
3819 * input.h (location_get_source_line): Take an additional line_size
3821 (void diagnostics_file_cache_fini): Declare new function.
3822 * input.c (struct fcache): New type.
3823 (fcache_tab_size, fcache_buffer_size, fcache_line_record_size):
3824 New static constants.
3825 (diagnostic_file_cache_init, total_lines_num)
3826 (lookup_file_in_cache_tab, evicted_cache_tab_entry)
3827 (add_file_to_cache_tab, lookup_or_add_file_to_cache_tab)
3828 (needs_read, needs_grow, maybe_grow, read_data, maybe_read_data)
3829 (get_next_line, read_next_line, goto_next_line, read_line_num):
3830 New static function definitions.
3831 (diagnostic_file_cache_fini): New function.
3832 (location_get_source_line): Take an additional output line_len
3833 parameter. Re-write using lookup_or_add_file_to_cache_tab and
3835 * diagnostic.c (diagnostic_finish): Call
3836 diagnostic_file_cache_fini.
3837 (adjust_line): Take an additional input parameter for the length
3838 of the line, rather than calculating it with strlen.
3839 (diagnostic_show_locus): Adjust the use of
3840 location_get_source_line and adjust_line with respect to their new
3841 signature. While displaying a line now, do not stop at the first
3842 null byte. Rather, display the zero byte as a space and keep
3843 going until we reach the size of the line.
3844 * Makefile.in: Add vec.o to OBJS-libcommon
3846 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
3847 Ilya Tocar <ilya.tocar@intel.com>
3849 * config/i386/avx512fintrin.h (_mm512_kmov): New.
3850 * config/i386/i386.c (IX86_BUILTIN_KMOV16): Ditto.
3851 (__builtin_ia32_kmov16): Ditto.
3852 * config/i386/i386.md (UNSPEC_KMOV): New.
3855 2014-01-23 Kirill Yukhin <kirill.yukhin@intel.com>
3857 * config/i386/avx512fintrin.h (_mm512_loadu_si512): Rename.
3858 (_mm512_storeu_si512): Ditto.
3860 2014-01-23 Richard Sandiford <rdsandiford@googlemail.com>
3863 * rtl.h (get_referenced_operands): Declare.
3864 * recog.c (get_referenced_operands): New function.
3865 * config/mips/mips.c (mips_reorg_process_insns): Check which asm
3866 operands have been referenced when recording LO_SUM references.
3868 2014-01-22 David Holsgrove <david.holsgrove@xilinx.com>
3870 * config/microblaze/microblaze.md: Correct bswaphi2 insn.
3872 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
3874 * config/i386/x86-tune.def (X86_TUNE_ACCUMULATE_OUTGOING_ARGS):
3875 Enable for generic and recent AMD targets.
3877 2014-01-22 Jan Hubicka <hubicka@ucw.cz>
3879 * combine-stack-adj.c (combine_stack_adjustments_for_block): Remove
3880 ARG_SIZE note when adjustment was eliminated.
3882 2014-01-22 Jeff Law <law@redhat.com>
3884 PR tree-optimization/59597
3885 * tree-ssa-threadupdate.c (dump_jump_thread_path): Move to earlier
3886 in file. Accept new argument REGISTERING and use it to modify
3887 dump output appropriately.
3888 (register_jump_thread): Corresponding changes.
3889 (mark_threaded_blocks): Reinstate code to cancel unprofitable
3890 thread paths involving joiner blocks. Add code to dump cancelled
3891 jump threading paths.
3893 2014-01-22 Vladimir Makarov <vmakarov@redhat.com>
3895 PR rtl-optimization/59477
3896 * lra-constraints.c (inherit_in_ebb): Process call for living hard
3897 regs. Update reloads_num and potential_reload_hard_regs for all insns.
3899 2014-01-22 Tom Tromey <tromey@redhat.com>
3901 * config/i386/i386-interix.h (i386_pe_unique_section): Don't use
3903 * config/cr16/cr16-protos.h (notice_update_cc): Don't use PARAMS.
3905 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
3907 PR rtl-optimization/59896
3908 * lra-constraints.c (process_alt_operands): Check unused note for
3909 matched operands of insn with no output reloads.
3911 2014-01-21 Richard Sandiford <rdsandiford@googlemail.com>
3913 * config/mips/mips.c (mips_move_to_gpr_cost): Add M16_REGS case.
3914 (mips_move_from_gpr_cost): Likewise.
3916 2014-01-21 Vladimir Makarov <vmakarov@redhat.com>
3918 PR rtl-optimization/59858
3919 * lra-constraints.c (SMALL_REGISTER_CLASS_P): Use
3920 ira_class_hard_regs_num.
3921 (process_alt_operands): Increase reject for dying matched operand.
3923 2014-01-21 Jakub Jelinek <jakub@redhat.com>
3926 * config/i386/i386.c (expand_small_movmem_or_setmem): If mode is
3927 smaller than size, perform several stores or loads and stores
3928 at dst + count - size to store or copy all of size bytes, rather
3929 than just last modesize bytes.
3931 2014-01-20 DJ Delorie <dj@redhat.com>
3933 * config/rl78/rl78.c (rl78_propogate_register_origins): Verify
3934 that CLOBBERs are REGs before propogating their values.
3936 2014-01-20 H.J. Lu <hongjiu.lu@intel.com>
3939 * cgraph.c (cgraph_inline_failed_string): Add type to DEFCIFCODE.
3940 (cgraph_inline_failed_type): New function.
3941 * cgraph.h (DEFCIFCODE): Add type.
3942 (cgraph_inline_failed_type_t): New enum.
3943 (cgraph_inline_failed_type): New prototype.
3944 * cif-code.def: Add CIF_FINAL_NORMAL to OK, FUNCTION_NOT_CONSIDERED,
3945 FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
3946 FUNCTION_NOT_INLINE_CANDIDATE, LARGE_FUNCTION_GROWTH_LIMIT,
3947 LARGE_STACK_FRAME_GROWTH_LIMIT, MAX_INLINE_INSNS_SINGLE_LIMIT,
3948 MAX_INLINE_INSNS_AUTO_LIMIT, INLINE_UNIT_GROWTH_LIMIT,
3949 RECURSIVE_INLINING, UNLIKELY_CALL, NOT_DECLARED_INLINED,
3950 OPTIMIZING_FOR_SIZE, ORIGINALLY_INDIRECT_CALL,
3951 INDIRECT_UNKNOWN_CALL, USES_COMDAT_LOCAL.
3952 Add CIF_FINAL_ERROR to UNSPECIFIED, BODY_NOT_AVAILABLE,
3953 FUNCTION_NOT_INLINABLE, OVERWRITABLE, MISMATCHED_ARGUMENTS,
3954 EH_PERSONALITY, NON_CALL_EXCEPTIONS, TARGET_OPTION_MISMATCH,
3955 OPTIMIZATION_MISMATCH.
3956 * tree-inline.c (expand_call_inline): Emit errors during
3957 early_inlining if cgraph_inline_failed_type returns CIF_FINAL_ERROR.
3959 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
3962 * config/i386/sse.md (*andnot<mode>3<mask_name>): Handle MODE_V16SF
3963 mode attribute in insn output.
3965 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
3967 * output.h (output_constant): Delete.
3968 * varasm.c (output_constant): Make private.
3970 2014-01-20 Alex Velenko <Alex.Velenko@arm.com>
3972 * config/aarch64/aarch64-simd.md (vec_perm<mode>): Add BE check.
3974 2014-01-20 Jakub Jelinek <jakub@redhat.com>
3977 * tree.h (fold_builtin_strcat): New prototype.
3978 * builtins.c (fold_builtin_strcat): No longer static. Add len
3979 argument, if non-NULL, don't call c_strlen. Optimize
3980 directly into __builtin_memcpy instead of __builtin_strcpy.
3981 (fold_builtin_2): Adjust fold_builtin_strcat caller.
3982 * gimple-fold.c (gimple_fold_builtin): Handle BUILT_IN_STRCAT.
3984 2014-01-20 Uros Bizjak <ubizjak@gmail.com>
3986 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
3987 for SImode_address_operand operands, having only a REG argument.
3989 2014-01-20 Marcus Shawcroft <marcus.shawcroft@arm.com>
3991 * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): Expand
3992 loader name using mbig-endian.
3993 (LINUX_TARGET_LINK_SPEC): Pass linker -m flag.
3995 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
3997 * doc/invoke.texi (-march): Clarify documentation for AArch64.
4001 2014-01-20 Tejas Belagod <tejas.belagod@arm.com>
4003 * config/aarch64/aarch64-protos.h
4004 (aarch64_cannot_change_mode_class_ptr): Declare.
4005 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class,
4006 aarch64_cannot_change_mode_class_ptr): New.
4007 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Change to call
4008 backend hook aarch64_cannot_change_mode_class.
4010 2014-01-20 James Greenhalgh <james.greenhalgh@arm.com>
4012 * common/config/aarch64/aarch64-common.c
4013 (aarch64_handle_option): Don't handle any option order logic here.
4014 * config/aarch64/aarch64.c (aarch64_parse_arch): Do not override
4015 selected_cpu, warn on architecture version mismatch.
4016 (aarch64_override_options): Fix parsing order for option strings.
4018 2014-01-20 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4019 Iain Sandoe <iain@codesourcery.com>
4022 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Fix unused variable
4023 warning. Amend comment to reflect current functionality.
4025 2014-01-20 Richard Biener <rguenther@suse.de>
4028 * builtins.c (fold_builtin_strcat): Remove case better handled
4029 by tree-ssa-strlen.c.
4031 2014-01-20 Alan Lawrence <alan.lawrence@arm.com>
4033 * config/aarch64/aarch64.opt
4034 (mcpu, march, mtune): Make case-insensitive.
4036 2014-01-20 Jakub Jelinek <jakub@redhat.com>
4039 * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
4040 if operands[1] is a REG or ZERO_EXTEND of a REG.
4042 2014-01-19 Jan Hubicka <hubicka@ucw.cz>
4044 * varasm.c (compute_reloc_for_constant): Use targetm.binds_local_p.
4046 2014-01-19 John David Anglin <danglin@gcc.gnu.org>
4048 * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
4049 long non-pic millicode calls.
4051 2014-01-19 Jan-Benedict Glaw <jbglaw@lug-owl.de>
4053 * config/vax/vax.h (FUNCTION_ARG_REGNO_P): Fix unused variable warning.
4055 2014-01-19 Kito Cheng <kito@0xlab.org>
4057 * builtins.c (expand_movstr): Check movstr expand done or fail.
4059 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
4060 H.J. Lu <hongjiu.lu@intel.com>
4063 * config/i386/i386.md (*lea<mode>): Zero-extend return register
4064 to DImode for zero-extended addresses.
4066 2014-01-19 Jakub Jelinek <jakub@redhat.com>
4068 PR rtl-optimization/57763
4069 * bb-reorder.c (fix_crossing_unconditional_branches): Set JUMP_LABEL
4070 on the new indirect jump_insn and increment LABEL_NUSES (label).
4072 2014-01-18 H.J. Lu <hongjiu.lu@intel.com>
4076 * config.gcc (x86_archs): New variable.
4077 (x86_64_archs): Likewise.
4078 (x86_cpus): Likewise.
4079 Use $x86_archs, $x86_64_archs and $x86_cpus to check valid
4080 --with-arch/--with-cpu= options.
4081 Support --with-arch=/--with-cpu={nehalem,westmere,
4082 sandybridge,ivybridge,haswell,broadwell,bonnell,silvermont}.
4084 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
4086 * config/i386/i386.c (ix86_adjust_cost): Reorder PROCESSOR_K8
4087 and PROCESSOR_ATHLON to simplify code. Move "memory" calculation.
4089 2014-01-18 Uros Bizjak <ubizjak@gmail.com>
4091 * config/i386/i386.md (*swap<mode>): Rename from swap<mode>.
4093 2014-01-18 Jakub Jelinek <jakub@redhat.com>
4096 * config/i386/i386-c.c (ix86_pragma_target_parse): Temporarily
4097 clear cpp_get_options (parse_in)->warn_unused_macros for
4098 ix86_target_macros_internal with cpp_define.
4100 2014-01-18 Richard Sandiford <rdsandiford@googlemail.com>
4102 * jump.c (delete_related_insns): Keep (use (insn))s.
4103 * reorg.c (redundant_insn): Check for barriers too.
4105 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4107 * config/i386/i386.c (ix86_split_lea_for_addr): Fix a comment typo.
4109 2014-01-17 John David Anglin <danglin@gcc.gnu.org>
4111 * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
4112 call to $$dyncall when TARGET_LONG_CALLS is true.
4114 2014-01-17 Jeff Law <law@redhat.com>
4116 * ree.c (combine_set_extension): Temporarily disable test for
4117 changing number of hard registers.
4119 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
4122 * ipa-inline-analysis.c (inline_free_summary):
4123 Do not free summary of aliases.
4125 2014-01-17 Jakub Jelinek <jakub@redhat.com>
4128 * gimplify.c (gimplify_expr): Use create_tmp_var
4129 instead of create_tmp_var_raw. If cond doesn't have
4130 integral type, don't add the IFN_ANNOTATE builtin at all.
4132 2014-01-17 Martin Jambor <mjambor@suse.cz>
4135 * ipa-cp.c (prev_edge_clone): New variable.
4136 (grow_next_edge_clone_vector): Renamed to grow_edge_clone_vectors.
4137 Also resize prev_edge_clone vector.
4138 (ipcp_edge_duplication_hook): Also update prev_edge_clone.
4139 (ipcp_edge_removal_hook): New function.
4140 (ipcp_driver): Register ipcp_edge_removal_hook.
4142 2014-01-17 Andrew Pinski <apinski@cavium.com>
4143 Steve Ellcey <sellcey@mips.com>
4146 * config/mips/mips.c (mips_print_operand): Check operand mode instead
4149 2014-01-17 Jeff Law <law@redhat.com>
4152 * passes.def: Reorder pass_copy_prop, pass_unrolli, pass_ccp sequence
4153 so that pass_ccp runs first.
4155 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4157 * config/i386/i386.c (ix86_lea_outperforms): Use TARGET_XXX.
4158 (ix86_adjust_cost): Use !TARGET_XXX.
4159 (do_reorder_for_imul): Likewise.
4160 (swap_top_of_ready_list): Likewise.
4161 (ix86_sched_reorder): Likewise.
4163 2014-01-17 H.J. Lu <hongjiu.lu@intel.com>
4165 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
4166 PROCESSOR_INTEL. Treat like PROCESSOR_GENERIC.
4167 * config/i386/i386.c (intel_memcpy): New. Duplicate slm_memcpy.
4168 (intel_memset): New. Duplicate slm_memset.
4169 (intel_cost): New. Duplicate slm_cost.
4170 (m_INTEL): New macro.
4171 (processor_target_table): Add "intel".
4172 (ix86_option_override_internal): Replace PROCESSOR_SILVERMONT
4173 with PROCESSOR_INTEL for "intel".
4174 (ix86_lea_outperforms): Support PROCESSOR_INTEL. Duplicate
4175 PROCESSOR_SILVERMONT.
4176 (ix86_issue_rate): Likewise.
4177 (ix86_adjust_cost): Likewise.
4178 (ia32_multipass_dfa_lookahead): Likewise.
4179 (swap_top_of_ready_list): Likewise.
4180 (ix86_sched_reorder): Likewise.
4181 (ix86_avoid_lea_for_addr): Check TARGET_AVOID_LEA_FOR_ADDR
4182 instead of TARGET_OPT_AGU.
4183 * config/i386/i386.h (TARGET_INTEL): New.
4184 (TARGET_AVOID_LEA_FOR_ADDR): Likewise.
4185 (processor_type): Add PROCESSOR_INTEL.
4186 * config/i386/x86-tune.def: Support m_INTEL. Duplicate m_SILVERMONT.
4187 Add X86_TUNE_AVOID_LEA_FOR_ADDR.
4189 2014-01-17 Marek Polacek <polacek@redhat.com>
4192 * gimple-fold.c (fold_array_ctor_reference): Don't fold if element
4195 2014-01-17 Richard Biener <rguenther@suse.de>
4197 PR tree-optimization/46590
4198 * opts.c (default_options_table): Add entries for
4199 OPT_fbranch_count_reg, OPT_fmove_loop_invariants and OPT_ftree_pta,
4200 all enabled at -O1 but not for -Og.
4201 * common.opt (fbranch-count-reg): Remove Init(1).
4202 (fmove-loop-invariants): Likewise.
4203 (ftree-pta): Likewise.
4205 2014-01-17 Jakub Jelinek <jakub@redhat.com>
4207 * config/i386/i386.c (ix86_data_alignment): For compatibility with
4208 (incorrect) GCC 4.8 and earlier alignment assumptions ensure we align
4209 decls to at least the GCC 4.8 used alignments.
4212 * tree-nested.c (convert_nonlocal_reference_stmt,
4213 convert_local_reference_stmt): For NAMELIST_DECLs in gimple_bind_vars
4214 of GIMPLE_BIND stmts, adjust associated decls.
4216 2014-01-17 Richard Biener <rguenther@suse.de>
4218 PR tree-optimization/46590
4219 * vec.h (vec<>::bseach): New member function implementing
4220 binary search according to C89 bsearch.
4221 (vec<>::qsort): Avoid calling ::qsort for vectors with sizes 0 or 1.
4222 * tree-ssa-loop-im.c (struct mem_ref): Make stored member a
4223 bitmap pointer again. Make accesses_in_loop a flat array.
4224 (mem_ref_obstack): New global.
4225 (outermost_indep_loop): Adjust for mem_ref->stored changes.
4226 (mark_ref_stored): Likewise.
4227 (ref_indep_loop_p_2): Likewise.
4228 (set_ref_stored_in_loop): New helper function.
4229 (mem_ref_alloc): Allocate mem_refs on the mem_ref_obstack obstack.
4230 (memref_free): Adjust.
4231 (record_mem_ref_loc): Simplify.
4232 (gather_mem_refs_stmt): Adjust.
4233 (sort_locs_in_loop_postorder_cmp): New function.
4234 (analyze_memory_references): Sort accesses_in_loop after
4235 loop postorder number.
4236 (find_ref_loc_in_loop_cmp): New function.
4237 (for_all_locs_in_loop): Find relevant cluster of locs in
4238 accesses_in_loop and iterate without recursion.
4239 (execute_sm): Avoid uninit warning.
4240 (struct ref_always_accessed): Simplify.
4241 (ref_always_accessed::operator ()): Likewise.
4242 (ref_always_accessed_p): Likewise.
4243 (tree_ssa_lim_initialize): Initialize mem_ref_obstack, compute
4244 loop postorder numbers here.
4245 (tree_ssa_lim_finalize): Free mem_ref_obstack and loop postorder
4248 2014-01-17 Jan Hubicka <hubicka@ucw.cz>
4251 * passes.c (rest_of_decl_compilation): Don't call varpool_finalize_decl
4252 on decls for which assemble_alias has been called.
4254 2014-01-17 Nick Clifton <nickc@redhat.com>
4256 * config/msp430/msp430.opt: (mcpu): New option.
4257 * config/msp430/msp430.c (msp430_mcu_name): Use target_mcu.
4258 (msp430_option_override): Parse target_cpu. If the MCU name
4259 matches a generic string, clear target_mcu.
4260 (msp430_attr): Allow numeric interrupt values up to 63.
4261 (msp430_expand_epilogue): No longer invert operand 1 of gen_popm.
4262 * config/msp430/msp430.h (ASM_SPEC): Convert -mcpu into a -mmcu
4264 * config/msp430/t-msp430: (MULTILIB_MATCHES): Remove mcu matches.
4266 * config/msp430/msp430.md (popm): Use %J rather than %I.
4267 (addsi3): Use msp430_nonimmediate_operand for operand 2.
4268 (addhi_cy_i): Use immediate_operand for operand 2.
4269 * doc/invoke.texi: Document -mcpu option.
4271 2014-01-17 Richard Biener <rguenther@suse.de>
4273 PR rtl-optimization/38518
4274 * df.h (df_analyze_loop): Declare.
4275 * df-core.c: Include cfgloop.h.
4276 (df_analyze_1): Split out main part of df_analyze.
4277 (df_analyze): Adjust.
4278 (loop_inverted_post_order_compute): New function.
4279 (loop_post_order_compute): Likewise.
4280 (df_analyze_loop): New function avoiding whole-function
4282 * loop-invariant.c (find_defs): Use df_analyze_loop.
4283 (find_invariants): Adjust.
4284 * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop.
4286 2014-01-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
4288 * config/arm/arm.c (arm_v7m_tune): Set max_insns_skipped to 2.
4289 (thumb2_final_prescan_insn): Set max to MAX_INSN_PER_IT_BLOCK.
4291 2014-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
4293 * ipa-ref.c (ipa_remove_stmt_references): Fix references
4294 traversal when removing references.
4296 2014-01-16 Jan Hubicka <hubicka@ucw.cz>
4299 * tree.c (get_binfo_at_offset): Look harder for virtual bases.
4301 2014-01-16 Bernd Schmidt <bernds@codesourcery.com>
4304 * reload.c (find_reloads_address_1): Do not use RELOAD_OTHER when
4305 pushing a reload for an autoinc when we had previously reloaded an
4306 inner part of the address.
4308 2014-01-16 Jakub Jelinek <jakub@redhat.com>
4310 * tree-vectorizer.h (struct _loop_vec_info): Add no_data_dependencies
4312 (LOOP_VINFO_NO_DATA_DEPENDENCIES): Define.
4313 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Clear it
4314 when not giving up or versioning for alias only because of
4316 (vect_analyze_data_ref_dependences): Set to true.
4317 * tree-vect-stmts.c (hoist_defs_of_uses): Return false if def_stmt
4319 (vectorizable_load): Use LOOP_VINFO_NO_DATA_DEPENDENCIES instead of
4320 LOOP_REQUIRES_VERSIONING_FOR_ALIAS, add && !nested_in_vect_loop
4324 * expr.c (expand_expr_real_1): Handle init == NULL_TREE.
4327 * config/i386/i386.c (ix86_expand_builtin): If target doesn't satisfy
4328 operand 0 predicate for gathers, use a new pseudo as subtarget.
4330 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
4333 * lra-constraints.c (process_alt_operands): Add printing debug info.
4334 Check absence of input/output reloads for matched operands too.
4336 2014-01-16 Vladimir Makarov <vmakarov@redhat.com>
4338 PR rtl-optimization/59835
4339 * ira.c (ira_init_register_move_cost): Increase cost for
4342 2014-01-16 Alan Lawrence <alan.lawrence@arm.com>
4344 * config/arm/arm.opt (mcpu, march, mtune): Make case-insensitive.
4346 2014-01-16 Richard Earnshaw <rearnsha@arm.com>
4349 * aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
4350 non-register objects. Use gen_(high/low)part more consistently.
4353 2014-01-16 Michael Meissner <meissner@linux.vnet.ibm.com>
4356 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
4357 endian support, remove tests for WORDS_BIG_ENDIAN.
4358 (p8_mfvsrd_3_<mode>): Likewise.
4359 (reload_gpr_from_vsx<mode>): Likewise.
4360 (reload_gpr_from_vsxsf): Likewise.
4361 (p8_mfvsrd_4_disf): Likewise.
4363 2014-01-16 Richard Biener <rguenther@suse.de>
4365 PR rtl-optimization/46590
4366 * lcm.c (compute_antinout_edge): Use postorder iteration.
4367 (compute_laterin): Use inverted postorder iteration.
4369 2014-01-16 Nick Clifton <nickc@redhat.com>
4372 * varasm.c (output_constant): Return the number of bytes actually
4374 (output_constructor_array_range): Update the field size with the
4375 number of bytes emitted by output_constant.
4376 (output_constructor_regular_field): Likewise. Also do not
4377 complain if the total number of bytes emitted is now greater
4378 than the expected fieldpos.
4379 * output.h (output_constant): Update prototype and descriptive comment.
4381 2014-01-16 Marek Polacek <polacek@redhat.com>
4384 * cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
4385 it is error_mark_node.
4387 2014-01-15 Uros Bizjak <ubizjak@gmail.com>
4389 * config/i386/i386.c (ix86_hard_regno_mode_ok): Use
4390 VALID_AVX256_REG_OR_OI_MODE.
4392 2014-01-15 Pat Haugen <pthaugen@us.ibm.com>
4394 * config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
4395 current procedure should be profiled.
4397 2014-01-15 Andrew Pinski <apinski@cavium.com>
4399 * config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
4400 of moving from/to the STACK_REG register class.
4402 2014-01-15 Richard Henderson <rth@redhat.com>
4405 * reginfo.c (global_regs_decl): Globalize.
4406 * rtl.h (global_regs_decl): Declare.
4407 * ira.c (do_reload): Diagnose frame_pointer_needed and it
4408 reserved via global_regs.
4410 2014-01-15 Teresa Johnson <tejohnson@google.com>
4412 * tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
4414 2014-01-15 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
4416 * config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
4417 and vmulosh rather than call gen_vec_widen_smult_*.
4418 (vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
4419 than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
4420 (vec_widen_smult_even_v16qi): Likewise.
4421 (vec_widen_umult_even_v8hi): Likewise.
4422 (vec_widen_smult_even_v8hi): Likewise.
4423 (vec_widen_umult_odd_v16qi): Likewise.
4424 (vec_widen_smult_odd_v16qi): Likewise.
4425 (vec_widen_umult_odd_v8hi): Likewise.
4426 (vec_widen_smult_odd_v8hi): Likewise.
4427 (vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
4428 vmuloub rather than call gen_vec_widen_umult_*.
4429 (vec_widen_umult_lo_v16qi): Likewise.
4430 (vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
4431 vmulosb rather than call gen_vec_widen_smult_*.
4432 (vec_widen_smult_lo_v16qi): Likewise.
4433 (vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
4434 rather than call gen_vec_widen_umult_*.
4435 (vec_widen_umult_lo_v8hi): Likewise.
4436 (vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
4437 rather than call gen_vec_widen_smult_*.
4438 (vec_widen_smult_lo_v8hi): Likewise.
4440 2014-01-15 Jeff Law <law@redhat.com>
4442 PR tree-optimization/59747
4443 * ree.c (find_and_remove_re): Properly handle case where a second
4444 eliminated extension requires widening a copy created for elimination
4445 of a prior extension.
4446 (combine_set_extension): Ensure that the number of hard regs needed
4447 for a destination register does not change when we widen it.
4449 2014-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
4451 * config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
4452 (arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
4453 (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
4454 (arm*-*-rtems*): Use t-rtems from existing tmake_file.
4455 (avr-*-rtems*): Likewise.
4456 (bfin*-rtems*): Likewise.
4457 (moxie-*-rtems*): Likewise.
4458 (h8300-*-rtems*): Likewise.
4459 (i[34567]86-*-rtems*): Likewise.
4460 (lm32-*-rtems*): Likewise.
4461 (m32r-*-rtems*): Likewise.
4462 (m68k-*-rtems*): Likewise.
4463 (microblaze*-*-rtems*): Likewise.
4464 (mips*-*-rtems*): Likewise.
4465 (powerpc-*-rtems*): Likewise.
4466 (sh-*-rtems*): Likewise.
4467 (sparc-*-rtems*): Likewise.
4468 (sparc64-*-rtems*): Likewise.
4469 (v850-*-rtems*): Likewise.
4470 (m32c-*-rtems*): Likewise.
4472 2014-01-15 Vladimir Makarov <vmakarov@redhat.com>
4474 PR rtl-optimization/59511
4475 * ira.c (ira_init_register_move_cost): Use memory costs for some
4476 cases of register move cost calculations.
4477 * lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
4478 instead of BB frequency.
4479 * lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
4480 * lra-assigns.c (find_hard_regno_for): Ditto.
4482 2014-01-15 Richard Biener <rguenther@suse.de>
4484 PR tree-optimization/59822
4485 * tree-vect-stmts.c (hoist_defs_of_uses): New function.
4486 (vectorizable_load): Use it to hoist defs of uses of invariant
4487 loads out of the loop.
4489 2014-01-15 Matthew Gretton-Dann <matthew.gretton-dann@linaro.org>
4490 Kugan Vivekanandarajah <kuganv@linaro.org>
4493 * config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
4496 2014-01-15 Richard Biener <rguenther@suse.de>
4498 PR rtl-optimization/59802
4499 * lcm.c (compute_available): Use inverted postorder to seed
4500 the initial worklist.
4502 2014-01-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4505 * config/s390/s390.c (s390_preferred_reload_class): Don't return
4506 ADDR_REGS for invalid symrefs in non-PIC code.
4508 2014-01-15 Jakub Jelinek <jakub@redhat.com>
4511 * builtins.c (determine_block_size): Initialize *probable_max_size
4512 even if len_rtx is CONST_INT.
4514 2014-01-14 Andrew Pinski <apinski@cavium.com>
4516 * config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
4517 * config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
4518 (cortexa53_tunings): Likewise.
4519 (aarch64_sched_issue_rate): New function.
4520 (TARGET_SCHED_ISSUE_RATE): Define.
4522 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
4524 * ira-costs.c (find_costs_and_classes): Add missed
4525 ira_init_register_move_cost_if_necessary.
4527 2014-01-14 Vladimir Makarov <vmakarov@redhat.com>
4530 * config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.
4532 2014-01-14 H.J. Lu <hongjiu.lu@intel.com>
4535 * config/i386/i386.c (type_natural_mode): Add a bool parameter
4536 to indicate if type is used for function return value. Warn ABI
4537 change if the vector mode isn't available for function return value.
4538 (ix86_function_arg_advance): Pass false to type_natural_mode.
4539 (ix86_function_arg): Likewise.
4540 (ix86_gimplify_va_arg): Likewise.
4541 (function_arg_32): Don't warn ABI change.
4542 (ix86_function_value): Pass true to type_natural_mode.
4543 (ix86_return_in_memory): Likewise.
4544 (ix86_struct_value_rtx): Removed.
4545 (TARGET_STRUCT_VALUE_RTX): Likewise.
4547 2014-01-14 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
4549 * jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
4550 converting a conditional jump into a conditional return.
4552 2014-01-14 Richard Biener <rguenther@suse.de>
4554 PR tree-optimization/58921
4555 PR tree-optimization/59006
4556 * tree-vect-loop-manip.c (vect_loop_versioning): Remove code
4557 hoisting invariant stmts.
4558 * tree-vect-stmts.c (vectorizable_load): Insert the splat of
4559 invariant loads on the preheader edge if possible.
4561 2014-01-14 Joey Ye <joey.ye@arm.com>
4563 * doc/plugin.texi (Building GCC plugins): Update to C++.
4565 2014-01-14 Kirill Yukhin <kirill.yukhin@intel.com>
4567 * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
4568 (_mm_rcp28_round_ss): Ditto.
4569 (_mm_rsqrt28_round_sd): Ditto.
4570 (_mm_rsqrt28_round_ss): Ditto.
4571 (_mm_rcp28_sd): Ditto.
4572 (_mm_rcp28_ss): Ditto.
4573 (_mm_rsqrt28_sd): Ditto.
4574 (_mm_rsqrt28_ss): Ditto.
4575 * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
4576 * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
4577 * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
4578 (IX86_BUILTIN_RCP28SD): Ditto.
4579 (IX86_BUILTIN_RCP28SS): Ditto.
4580 (IX86_BUILTIN_RSQRT28SD): Ditto.
4581 (IX86_BUILTIN_RSQRT28SS): Ditto.
4582 (bdesc_special_args): Define __builtin_ia32_movntdqa512,
4583 __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
4584 __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
4585 (ix86_expand_special_args_builtin): Expand new FTYPE.
4586 * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
4587 (srcp14<mode>): Make insn unary.
4588 (avx512f_vmscalef<mode><round_name>): Use substed predicate.
4589 (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
4590 (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
4591 (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
4592 (avx512er_exp2<mode><mask_name><round_saeonly_name>):
4593 Fix rounding: make it SAE only.
4594 (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
4596 (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
4598 (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
4599 (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
4600 (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
4601 * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
4602 (round_saeonly_mask_scalar_operand4): Ditto.
4603 (round_saeonly_mask_scalar_op3): Ditto.
4604 (round_saeonly_mask_scalar_op4): Ditto.
4606 2014-01-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4608 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4609 Implement -maltivec=be for vec_insert and vec_extract.
4611 2014-01-10 DJ Delorie <dj@redhat.com>
4613 * config/msp430/msp430.md (call_internal): Don't allow memory
4614 references with SP as the base register.
4615 (call_value_internal): Likewise.
4616 * config/msp430/constraints.md (Yc): New. For memory references
4617 that don't use SP as a base register.
4619 * config/msp430/msp430.c (msp430_print_operand): Add 'J' to mean
4620 "an integer without a # prefix"
4621 * config/msp430/msp430.md (epilogue_helper): Use it.
4623 2014-01-13 Jakub Jelinek <jakub@redhat.com>
4626 * config/i386/i386.c (ix86_vectorize_builtin_gather): Uncomment
4627 AVX512F gather builtins.
4628 * tree-vect-stmts.c (vectorizable_mask_load_store): For now punt
4629 on gather decls with INTEGER_TYPE masktype.
4630 (vectorizable_load): For INTEGER_TYPE masktype, put the INTEGER_CST
4631 directly into the builtin rather than hoisting it before loop.
4633 PR tree-optimization/59387
4634 * tree-scalar-evolution.c: Include gimple-fold.h and gimplify-me.h.
4635 (scev_const_prop): If folded_casts and type has undefined overflow,
4636 use force_gimple_operand instead of force_gimple_operand_gsi and
4637 for each added stmt if it is assign with
4638 arith_code_with_undefined_signed_overflow, call
4639 rewrite_to_defined_overflow.
4640 * tree-ssa-loop-im.c: Don't include gimplify-me.h, include
4641 gimple-fold.h instead.
4642 (arith_code_with_undefined_signed_overflow,
4643 rewrite_to_defined_overflow): Moved to ...
4644 * gimple-fold.c (arith_code_with_undefined_signed_overflow,
4645 rewrite_to_defined_overflow): ... here. No longer static.
4646 Include gimplify-me.h.
4647 * gimple-fold.h (arith_code_with_undefined_signed_overflow,
4648 rewrite_to_defined_overflow): New prototypes.
4650 2014-01-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4652 * config/arm/arm.h (MAX_CONDITIONAL_EXECUTE): Fix typo in description.
4654 2014-01-13 Eric Botcazou <ebotcazou@adacore.com>
4656 * builtins.c (get_object_alignment_2): Minor tweak.
4657 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Rewrite.
4659 2014-01-13 Christian Bruel <christian.bruel@st.com>
4661 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Unroll small sizes and
4662 optimized non constant lengths.
4664 2014-01-13 Jakub Jelinek <jakub@redhat.com>
4667 * omp-low.c (expand_omp_atomic_pipeline): Expand the initial
4668 load as __atomic_load_N if possible.
4670 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
4672 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): Remove
4674 (rs6000_expand_builtin): Adjust call.
4676 2014-01-11 David Edelsohn <dje.gcc@gmail.com>
4679 * config/rs6000/rs6000.h (SWITCHABLE_TARGET): Define.
4680 * config/rs6000/rs6000.c: Include target-globals.h.
4681 (rs6000_set_current_function): Instead of doing target_reinit
4682 unconditionally, use save_target_globals_default_opts and
4683 restore_target_globals.
4685 * config/rs6000/rs6000-builtin.def (mffs, mtfsf): Add builtins for
4687 * config/rs6000/rs6000.c (rs6000_expand_mtfsf_builtin): New.
4688 (rs6000_expand_builtin): Handle mffs and mtfsf.
4689 (rs6000_init_builtins): Define mffs and mtfsf.
4690 * config/rs6000/rs6000.md (UNSPECV_MFFS, UNSPECV_MTFSF): New constants.
4691 (rs6000_mffs): New pattern.
4692 (rs6000_mtfsf): New pattern.
4694 2014-01-11 Bin Cheng <bin.cheng@arm.com>
4696 * tree-ssa-loop-ivopts.c (iv_ca_narrow): New parameter.
4697 Start narrowing with START. Apply candidate-use pair
4698 and check overall cost in narrowing.
4699 (iv_ca_prune): Pass new argument.
4701 2014-01-10 Jeff Law <law@redhat.com>
4704 * ree.c (combine_reaching_defs): Ensure the defining statement
4705 occurs before the extension when optimizing extensions with
4706 different source and destination hard registers.
4708 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
4711 * ipa-devirt.c (build_type_inheritance_graph): Also add types of
4712 vtables into the type inheritance graph.
4714 2014-01-10 Jakub Jelinek <jakub@redhat.com>
4716 PR rtl-optimization/59754
4717 * ree.c (combine_reaching_defs): Disallow !SCALAR_INT_MODE_P
4718 modes in the REGNO != REGNO case.
4720 2014-01-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4722 * config/rs6000/rs6000-builtin.def: Fix pasto for VPKSDUS.
4724 2014-01-10 Jakub Jelinek <jakub@redhat.com>
4726 PR tree-optimization/59745
4727 * tree-predcom.c (tree_predictive_commoning_loop): Call
4728 free_affine_expand_cache if giving up because components is NULL.
4730 * target-globals.c (save_target_globals): Allocate < 4KB structs using
4731 GC in payload of target_globals struct instead of allocating them on
4732 the heap and the larger structs separately using GC.
4733 * target-globals.h (struct target_globals): Make regs, hard_regs,
4734 reload, expmed, ira, ira_int and lra_fields GTY((atomic)) instead
4735 of GTY((skip)) and change type to void *.
4736 (reset_target_globals): Cast loads from those fields to corresponding
4739 2014-01-10 Steve Ellcey <sellcey@mips.com>
4742 * Makefile.in (PLUGIN_HEADERS): Add gimplify.h, gimple-iterator.h,
4743 gimple-ssa.h, fold-const.h, tree-cfg.h, tree-into-ssa.h,
4744 tree-ssanames.h, print-tree.h, varasm.h, and context.h.
4746 2014-01-10 Richard Earnshaw <rearnsha@arm.com>
4749 * aarch64-modes.def (CC_Zmode): New flags mode.
4750 * aarch64.c (aarch64_select_cc_mode): Only allow NEG when the condition
4751 represents an equality.
4752 (aarch64_get_condition_code): Handle CC_Zmode.
4753 * aarch64.md (compare_neg<mode>): Restrict to equality operations.
4755 2014-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4757 * config/s390/s390.c (s390_expand_tbegin): Remove jump over CC
4758 extraction in good case.
4760 2014-01-10 Richard Biener <rguenther@suse.de>
4762 PR tree-optimization/59374
4763 * tree-vect-slp.c (vect_slp_analyze_bb_1): Move dependence
4764 checking after SLP discovery. Mark stmts not participating
4765 in any SLP instance properly.
4767 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4769 * config/arm/arm.c (arm_new_rtx_costs): Use destination mode
4770 when handling a SET rtx.
4772 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4774 * config/arm/arm-cores.def (cortex-a53): Specify FL_CRC32.
4775 (cortex-a57): Likewise.
4776 (cortex-a57.cortex-a53): Likewise. Remove redundant flags.
4778 2014-01-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4780 * config/arm/arm.c (arm_init_iwmmxt_builtins): Skip
4781 non-iwmmxt builtins.
4783 2014-01-10 Jan Hubicka <hubicka@ucw.cz>
4787 * ipa-devirt.c record_target_from_binfo): Take as argument
4788 stack of binfos and lookup matching one for virtual inheritance.
4789 (possible_polymorphic_call_targets_1): Update.
4791 2014-01-10 Huacai Chen <chenhc@lemote.com>
4793 * config/mips/driver-native.c (host_detect_local_cpu): Handle new
4794 kernel strings for Loongson-2E/2F/3A.
4796 2014-01-10 Jakub Jelinek <jakub@redhat.com>
4799 * tree-vect-data-refs.c (vect_analyze_data_refs): Check
4800 is_gimple_call before calling gimple_call_internal_p.
4802 2014-01-09 Steve Ellcey <sellcey@mips.com>
4804 * Makefile.in (TREE_FLOW_H): Remove.
4805 (TREE_SSA_H): Add file names from tree-flow.h.
4806 * doc/tree-ssa.texi (Annotations): Remove reference to tree-flow.h
4807 * tree.h: Remove tree-flow.h reference.
4808 * hash-table.h: Remove tree-flow.h reference.
4809 * tree-ssa-loop-niter.c (dump_affine_iv): Replace tree-flow.h
4810 reference with tree-ssa-loop.h.
4812 2014-01-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4814 * doc/invoke.texi: Add -maltivec={be,le} options, and document
4815 default element-order behavior for -maltivec.
4816 * config/rs6000/rs6000.opt: Add -maltivec={be,le} options.
4817 * config/rs6000/rs6000.c (rs6000_option_override_internal): Ensure
4818 that -maltivec={le,be} implies -maltivec; disallow -maltivec=le
4819 when targeting big endian, at least for now.
4820 * config/rs6000/rs6000.h: Add #define of VECTOR_ELT_ORDER_BIG.
4822 2014-01-09 Jakub Jelinek <jakub@redhat.com>
4825 * cfgexpand.c (expand_one_var): For SSA_NAMEs, if the underlying
4826 var satisfies use_register_for_decl, just take into account type
4827 alignment, rather than decl alignment.
4829 PR tree-optimization/59622
4830 * gimple-fold.c (gimple_fold_call): Fix a typo in message. For
4831 __builtin_unreachable replace the OBJ_TYPE_REF call with a call to
4832 __builtin_unreachable and add if needed a setter of the lhs SSA_NAME.
4833 Don't devirtualize for inplace at all. For targets.length () == 1,
4834 if the call is noreturn and cfun isn't in SSA form yet, clear lhs.
4836 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
4838 * config/i386/i386.md (cpu): Remove the unused btver1.
4840 2014-01-09 H.J. Lu <hongjiu.lu@intel.com>
4842 * gdbasan.in: Put a breakpoint on __sanitizer::Report.
4844 2014-01-09 Jakub Jelinek <jakub@redhat.com>
4847 * tree-core.h (struct target_globals): New forward declaration.
4848 (struct tree_target_option): Add globals field.
4849 * tree.h (TREE_TARGET_GLOBALS): Define.
4850 (prepare_target_option_nodes_for_pch): New prototype.
4851 * target-globals.h (struct target_globals): Define even if
4853 * tree.c (prepare_target_option_node_for_pch,
4854 prepare_target_option_nodes_for_pch): New functions.
4855 * config/i386/i386.h (SWITCHABLE_TARGET): Define.
4856 * config/i386/i386.c: Include target-globals.h.
4857 (ix86_set_current_function): Instead of doing target_reinit
4858 unconditionally, use save_target_globals_default_opts and
4859 restore_target_globals.
4861 2014-01-09 Richard Biener <rguenther@suse.de>
4863 PR tree-optimization/59715
4864 * tree-cfg.h (split_critical_edges): Declare.
4865 * tree-cfg.c (split_critical_edges): Export.
4866 * tree-ssa-sink.c (execute_sink_code): Split critical edges.
4868 2014-01-09 Max Ostapenko <m.ostapenko@partner.samsung.com>
4870 * cfgexpand.c (expand_stack_vars): Optionally disable
4871 asan stack protection.
4872 (expand_used_vars): Likewise.
4873 (partition_stack_vars): Likewise.
4874 * asan.c (asan_emit_stack_protection): Optionally disable
4875 after return stack usage.
4876 (instrument_derefs): Optionally disable memory access instrumentation.
4877 (instrument_builtin_call): Likewise.
4878 (instrument_strlen_call): Likewise.
4879 (asan_protect_global): Optionally disable global variables protection.
4880 * doc/invoke.texi: Added doc for new options.
4881 * params.def: Added new options.
4882 * params.h: Likewise.
4884 2014-01-09 Jakub Jelinek <jakub@redhat.com>
4886 PR rtl-optimization/59724
4887 * ifcvt.c (cond_exec_process_if_block): Don't call
4888 flow_find_head_matching_sequence with 0 longest_match.
4889 * cfgcleanup.c (flow_find_head_matching_sequence): Count even
4890 non-active insns if !stop_after.
4891 (try_head_merge_bb): Revert 2014-01-07 changes.
4893 2014-01-08 Jeff Law <law@redhat.com>
4895 * ree.c (get_sub_rtx): New function, extracted from...
4896 (merge_def_and_ext): Here.
4897 (combine_reaching_defs): Use get_sub_rtx.
4899 2014-01-08 Eric Botcazou <ebotcazou@adacore.com>
4901 * cgraph.h (varpool_variable_node): Do not choke on null node.
4903 2014-01-08 Catherine Moore <clm@codesourcery.com>
4905 * config/mips/mips.md (simple_return): Attempt to use JRC
4907 * config/mips/mips.h (MIPS_CALL): Attempt to use JALS for microMIPS.
4909 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
4911 PR rtl-optimization/59137
4912 * reorg.c (steal_delay_list_from_target): Call update_block for
4914 (steal_delay_list_from_fallthrough, relax_delay_slots): Likewise.
4916 2014-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4918 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove
4919 two duplicate entries.
4921 2014-01-08 Richard Sandiford <rdsandiford@googlemail.com>
4924 2012-10-07 Richard Sandiford <rdsandiford@googlemail.com>
4926 * config/mips/mips.c (mips_truncated_op_cost): New function.
4927 (mips_rtx_costs): Adjust test for BADDU.
4928 * config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.
4930 2012-10-02 Richard Sandiford <rdsandiford@googlemail.com>
4932 * config/mips/mips.md (*baddu_si_eb, *baddu_si_el): Merge into...
4933 (*baddu_si): ...this new pattern.
4935 2014-01-08 Jakub Jelinek <jakub@redhat.com>
4938 * ipa-prop.c (ipa_analyze_params_uses): Ignore uses in debug stmts.
4940 2014-01-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
4943 * expr.h (expand_expr_real, expand_expr_real_1): Add new parameter
4945 (expand_expr, expand_normal): Adjust.
4946 * expr.c (expand_expr_real, expand_expr_real_1): Add new parameter
4947 inner_reference_p. Use inner_reference_p to expand inner references.
4948 (store_expr): Adjust.
4949 * cfgexpand.c (expand_call_stmt): Adjust.
4951 2014-01-08 Rong Xu <xur@google.com>
4953 * gcov-io.c (gcov_var): Move from gcov-io.h.
4954 (gcov_position): Ditto.
4955 (gcov_is_error): Ditto.
4956 (gcov_rewrite): Ditto.
4957 * gcov-io.h: Refactor. Move gcov_var to gcov-io.h, and libgcov
4958 only part to libgcc/libgcov.h.
4960 2014-01-08 Marek Polacek <polacek@redhat.com>
4963 * omp-low.c (simd_clone_adjust): Don't crash if def is NULL.
4965 2014-01-08 Marek Polacek <polacek@redhat.com>
4968 * ubsan.c (ubsan_type_descriptor): Call strip_array_types on type2.
4970 2014-01-08 Jakub Jelinek <jakub@redhat.com>
4972 PR rtl-optimization/59649
4973 * stor-layout.c (get_mode_bounds): For BImode return
4974 0 and STORE_FLAG_VALUE.
4976 2014-01-08 Richard Biener <rguenther@suse.de>
4979 * gimple.h (is_gimple_builtin_call): Remove.
4980 (gimple_builtin_call_types_compatible_p): New.
4981 (gimple_call_builtin_p): New overload.
4982 * gimple.c (is_gimple_builtin_call): Remove.
4983 (validate_call): Rename to ...
4984 (gimple_builtin_call_types_compatible_p): ... this and export. Also
4986 (validate_type): New static function.
4987 (gimple_call_builtin_p): New overload and adjust.
4988 * gimple-fold.c (gimple_fold_builtin): Fold the return value.
4989 (gimple_fold_call): Likewise. Use gimple_call_builtin_p.
4990 (gimple_fold_stmt_to_constant_1): Likewise.
4991 * tsan.c (instrument_gimple): Use gimple_call_builtin_p.
4993 2014-01-08 Richard Biener <rguenther@suse.de>
4996 * gimplify.c (gimplify_expr): Gimplify register-register type
4997 VIEW_CONVERT_EXPRs to separate stmts.
4999 2014-01-07 Jeff Law <law@redhat.com>
5002 * ree.c (combine_set_extension): Handle case where source
5003 and destination registers in an extension insn are different.
5004 (combine_reaching_defs): Allow source and destination registers
5005 in extension to be different under limited circumstances.
5006 (add_removable_extension): Remove restriction that the
5007 source and destination registers in the extension are the same.
5008 (find_and_remove_re): Emit a copy from the extension's
5009 destination to its source after the defining insn if
5010 the source and destination registers are different.
5013 * ifcvt.c (merge_if_block): If we are merging a block with more than
5014 one successor with a block with no successors, remove any BARRIER
5015 after the second block.
5017 2014-01-07 Dan Xio Qiang <ziyan01@163.com>
5019 * hw-doloop.c (reorg_loops): Release the bitmap obstack.
5021 2014-01-07 John David Anglin <danglin@gcc.gnu.org>
5024 * config/pa/pa.c (pa_legitimate_address_p): Return false before reload
5025 for 14-bit register offsets when INT14_OK_STRICT is false.
5027 2014-01-07 Roland Stigge <stigge@antcom.de>
5028 Michael Meissner <meissner@linux.vnet.ibm.com>
5031 * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
5032 Only check TFmode for SPE constants. Don't check TImode or TDmode.
5034 2014-01-07 James Greenhalgh <james.greenhalgh@arm.com>
5036 * config/aarch64/aarch64-elf.h (ASM_SPEC): Remove identity spec for
5039 2014-01-07 Yufeng Zhang <yufeng.zhang@arm.com>
5041 * config/arm/arm.c (arm_expand_neon_args): Call expand_expr
5042 with EXPAND_MEMORY for NEON_ARG_MEMORY; check if the returned
5043 rtx is const0_rtx or not.
5045 2014-01-07 Richard Sandiford <rdsandiford@googlemail.com>
5048 * target-globals.c (save_target_globals): Remove this_fn_optab
5050 * toplev.c: Include optabs.h.
5051 (target_reinit): Temporarily restore the global options if another
5052 set of options are in force.
5054 2014-01-07 Jakub Jelinek <jakub@redhat.com>
5056 PR rtl-optimization/58668
5057 * cfgcleanup.c (flow_find_cross_jump): Don't count
5058 any jumps if dir_p is NULL. Remove p1 variable, use active_insn_p
5059 to determine what is counted.
5060 (flow_find_head_matching_sequence): Use active_insn_p to determine
5062 (try_head_merge_bb): Adjust for the flow_find_head_matching_sequence
5064 * ifcvt.c (count_bb_insns): Use active_insn_p && !JUMP_P to
5065 determine what is counted.
5067 PR tree-optimization/59643
5068 * tree-predcom.c (split_data_refs_to_components): If one dr is
5069 read and one write, determine_offset fails and the write isn't
5070 in the bad component, just put the read into the bad component.
5072 2014-01-07 Mike Stump <mikestump@comcast.net>
5073 Jakub Jelinek <jakub@redhat.com>
5076 * tree-core.h (struct tree_optimization_option): Change optabs
5077 type from unsigned char * to void *.
5078 * optabs.c (init_tree_optimization_optabs): Adjust
5079 TREE_OPTIMIZATION_OPTABS initialization.
5081 2014-01-06 Jakub Jelinek <jakub@redhat.com>
5084 * config/i386/i386.h (struct machine_function): Add
5085 no_drap_save_restore field.
5086 * config/i386/i386.c (ix86_save_reg): Use
5087 !cfun->machine->no_drap_save_restore instead of
5088 crtl->stack_realign_needed.
5089 (ix86_finalize_stack_realign_flags): Don't clear drap_reg unless
5090 this function clears frame_pointer_needed. Set
5091 cfun->machine->no_drap_save_restore if clearing frame_pointer_needed
5092 and DRAP reg is needed.
5094 2014-01-06 Marek Polacek <polacek@redhat.com>
5097 * doc/implement-c.texi: Mention that other integer types are
5098 permitted as bit-field types in strictly conforming mode.
5100 2014-01-06 Felix Yang <fei.yang0953@gmail.com>
5102 * modulo-sched.c (schedule_reg_moves): Clear distance1_uses if it
5105 2014-01-06 Richard Earnshaw <rearnsha@arm.com>
5107 * aarch64.c (aarch64_rtx_costs): Fix cost calculation for MADD.
5109 2014-01-06 Martin Jambor <mjambor@suse.cz>
5112 * ipa-cp.c (ipcp_discover_new_direct_edges): Changed param_index type
5114 * ipa-prop.c (ipa_print_node_params): Fix indentation.
5116 2014-01-06 Eric Botcazou <ebotcazou@adacore.com>
5120 * var-tracking.c (add_stores): Preserve the value of the source even if
5121 we don't record the store.
5123 2014-01-06 Terry Guo <terry.guo@arm.com>
5125 * config.gcc (arm*-*-*): Check --with-arch against arm-arches.def.
5127 2014-01-05 Iain Sandoe <iain@codesourcery.com>
5130 * config/darwin.c (darwin_function_section): Adjust return values to
5131 correspond to optimisation changes made in r206070.
5133 2014-01-05 Uros Bizjak <ubizjak@gmail.com>
5135 * config/i386/i386.c (ix86_data_alignment): Calculate max_align
5136 from prefetch_block tune setting.
5137 (nocona_cost): Correct size of prefetch block to 64.
5139 2014-01-04 Eric Botcazou <ebotcazou@adacore.com>
5141 * config/arm/arm.c (arm_get_frame_offsets): Revamp long lines.
5142 (arm_expand_epilogue_apcs_frame): Take into account the number of bytes
5143 used to save the static chain register in the computation of the offset
5144 from which the FP registers need to be restored.
5146 2014-01-04 Jakub Jelinek <jakub@redhat.com>
5148 PR tree-optimization/59519
5149 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Don't
5150 ICE if get_current_def (current_new_name) is already non-NULL, as long
5151 as it is a phi result of some other phi in *new_exit_bb that has
5154 * config/i386/sse.md (avx512f_load<mode>_mask): Emit vmovup{s,d}
5155 or vmovdqu* for misaligned_operand.
5156 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
5157 <sse2_avx_avx512f>_loaddqu<mode><mask_name>): Handle <mask_applied>.
5158 * config/i386/i386.c (ix86_expand_special_args_builtin): Set
5159 aligned_mem for AVX512F masked aligned load and store builtins and for
5162 2014-01-03 Bingfeng Mei <bmei@broadcom.com>
5164 PR tree-optimization/59651
5165 * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
5166 Address range for negative step should be added by TYPE_SIZE_UNIT.
5168 2014-01-03 Andreas Schwab <schwab@linux-m68k.org>
5170 * config/m68k/m68k.c (handle_move_double): Handle pushes with
5171 overlapping registers also for registers other than the stack pointer.
5173 2014-01-03 Marek Polacek <polacek@redhat.com>
5176 * doc/extend.texi: Fix the return value of __builtin_FUNCTION and
5179 2014-01-03 Jakub Jelinek <jakub@redhat.com>
5182 * config/i386/i386.c (ix86_avoid_jump_mispredicts): Don't consider
5185 * config/i386/i386.md (MODE_SIZE): New mode attribute.
5186 (push splitter): Use <P:MODE_SIZE> instead of
5187 GET_MODE_SIZE (<P:MODE>mode).
5188 (lea splitter): Use <MODE_SIZE> instead of GET_MODE_SIZE (<MODE>mode).
5189 (mov -1, reg peephole2): Likewise.
5190 * config/i386/sse.md (*mov<mode>_internal,
5191 <sse>_storeu<ssemodesuffix><avxsizesuffix>,
5192 <sse2_avx_avx512f>_storedqu<mode>, <sse>_andnot<mode>3,
5193 *<code><mode>3, *andnot<mode>3<mask_name>,
5194 <mask_codefor><code><mode>3<mask_name>): Likewise.
5195 * config/i386/subst.md (mask_mode512bit_condition,
5196 sd_mask_mode512bit_condition): Likewise.
5198 2014-01-02 Xinliang David Li <davidxl@google.com>
5200 PR tree-optimization/59303
5201 * tree-ssa-uninit.c (is_use_properly_guarded): Main cleanup.
5202 (dump_predicates): Better output format.
5203 (pred_equal_p): New function.
5204 (is_neq_relop_p): Ditto.
5205 (is_neq_zero_form_p): Ditto.
5206 (pred_expr_equal_p): Ditto.
5207 (pred_neg_p): Ditto.
5208 (simplify_pred): Ditto.
5209 (simplify_preds_2): Ditto.
5210 (simplify_preds_3): Ditto.
5211 (simplify_preds_4): Ditto.
5212 (simplify_preds): Ditto.
5214 (push_to_worklist): Ditto.
5215 (get_pred_info_from_cmp): Ditto.
5216 (is_degenerated_phi): Ditto.
5217 (normalize_one_pred_1): Ditto.
5218 (normalize_one_pred): Ditto.
5219 (normalize_one_pred_chain): Ditto.
5220 (normalize_preds): Ditto.
5221 (normalize_cond_1): Remove function.
5222 (normalize_cond): Ditto.
5223 (is_gcond_subset_of): Ditto.
5224 (is_subset_of_any): Ditto.
5225 (is_or_set_subset_of): Ditto.
5226 (is_and_set_subset_of): Ditto.
5227 (is_norm_cond_subset_of): Ditto.
5228 (pred_chain_length_cmp): Ditto.
5229 (convert_control_dep_chain_into_preds): Type change.
5230 (find_predicates): Ditto.
5231 (find_def_preds): Ditto.
5232 (destroy_predicates_vecs): Ditto.
5233 (find_matching_predicates_in_rest_chains): Ditto.
5234 (use_pred_not_overlap_with_undef_path_pred): Ditto.
5235 (is_pred_expr_subset): Ditto.
5236 (is_pred_chain_subset_of): Ditto.
5237 (is_included_in): Ditto.
5238 (is_superset_of): Ditto.
5240 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5242 Update copyright years.
5244 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
5246 * common/config/arc/arc-common.c, config/arc/arc-modes.def,
5247 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
5248 config/arc/arc.md, config/arc/arc.opt,
5249 config/arm/arm_neon_builtins.def, config/arm/crypto.def,
5250 config/i386/avx512cdintrin.h, config/i386/avx512erintrin.h,
5251 config/i386/avx512fintrin.h, config/i386/avx512pfintrin.h,
5252 config/i386/btver2.md, config/i386/shaintrin.h, config/i386/slm.md,
5253 config/linux-protos.h, config/linux.c, config/winnt-c.c,
5254 diagnostic-color.c, diagnostic-color.h, gimple-ssa-isolate-paths.c,
5255 vtable-verify.c, vtable-verify.h: Use the standard form for the
5258 2014-01-02 Tobias Burnus <burnus@net-b.de>
5260 * gcc.c (process_command): Update copyright notice dates.
5261 * gcov-dump.c: Ditto.
5263 * doc/cpp.texi: Bump @copying's copyright year.
5264 * doc/cppinternals.texi: Ditto.
5265 * doc/gcc.texi: Ditto.
5266 * doc/gccint.texi: Ditto.
5267 * doc/gcov.texi: Ditto.
5268 * doc/install.texi: Ditto.
5269 * doc/invoke.texi: Ditto.
5271 2014-01-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5273 * config/nios2/nios2.h (BITS_PER_UNIT): Don't define it.
5275 2014-01-01 Jakub Jelinek <jakub@redhat.com>
5277 * config/i386/sse.md (*mov<mode>_internal): Guard
5278 EXT_REX_SSE_REGNO_P (REGNO ()) uses with REG_P.
5280 PR rtl-optimization/59647
5281 * cse.c (cse_process_notes_1): Don't substitute negative VOIDmode
5282 new_rtx into UNSIGNED_FLOAT rtxes.
5284 Copyright (C) 2014 Free Software Foundation, Inc.
5286 Copying and distribution of this file, with or without modification,
5287 are permitted in any medium without royalty provided the copyright
5288 notice and this notice are preserved.