OSDN Git Service

PR target/60941
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2014-04-25  Eric Botcazou  <ebotcazou@adacore.com>
2
3         PR target/60941
4         * config/sparc/sparc.md (ashlsi3_extend): Delete.
5
6 2014-04-23  Uros Bizjak  <ubizjak@gmail.com>
7
8         Backport from mainline
9         2014-04-21  Uros Bizjak  <ubizjak@gmail.com>
10
11         PR target/60909
12         * config/i386/i386.c (ix86_expand_builtin)
13         <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
14         register for target RTX.
15
16 2014-04-07  Martin Jambor  <mjambor@suse.cz>
17
18         PR ipa/60640
19         * ipa-cp.c (propagate_constants_accross_call): Do not propagate
20         accross thunks.
21
22 2014-04-07  Dominique d'Humieres <dominiq@lps.ens.fr>
23
24         Backport from mainline
25         2013-09-14  Iain Sandoe <iains@gcc.gnu.org>
26
27         PR target/48094
28         * config/darwin.c (darwin_objc2_section): Note if ObjC Metadata
29         is seen.
30         (darwin_objc1_section): Likewise.
31         (darwin_file_end): Emit Image Info section when required.
32
33 2014-04-04  Richard Biener  <rguenther@suse.de>
34
35         * tree-ssanames.c (make_ssa_name_fn): Fix assert.
36
37 2014-04-01  Richard Biener  <rguenther@suse.de>
38
39         * gimple.h (struct gimple_statement_base): Align subcode to
40         16 bits.
41
42 2014-04-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>
43
44         * doc/invoke.texi (mapp-regs): Clarify.
45
46 2014-03-23  Eric Botcazou  <ebotcazou@adacore.com>
47
48         PR rtl-optimization/60601
49         * bb-reorder.c (fix_up_fall_thru_edges): Test EDGE_FALLTHRU everywhere.
50
51 2014-03-20  Jakub Jelinek  <jakub@redhat.com>
52
53         PR target/60568
54         * config/i386/i386.c (x86_output_mi_thunk): Surround UNSPEC_GOT
55         into CONST, put pic register as first operand of PLUS.  Use
56         gen_const_mem for both 32-bit and 64-bit PIC got loads.
57
58 2014-03-19  Eric Botcazou  <ebotcazou@adacore.com>
59
60         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Remove space.
61
62 2014-03-18  Kai Tietz  <ktietz@redhat.com>
63
64         PR rtl-optimization/56356
65         * sdbout.c (sdbout_parms): Verify that parms'
66         incoming argument is valid.
67         (sdbout_reg_parms): Likewise.
68
69 2014-03-18  Richard Biener  <rguenther@suse.de>
70
71         Backport from mainline
72         2013-11-05  Richard Biener  <rguenther@suse.de>
73
74         PR middle-end/58941
75         * tree-dfa.c (get_ref_base_and_extent): Merge common code
76         in MEM_REF and TARGET_MEM_REF handling.  Make sure to
77         process trailing array detection before diving into the
78         view-converted object (and possibly apply some extra offset).
79
80         2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
81
82         * tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
83         computation using the precision of the index type.
84
85         2012-05-31  Eric Botcazou  <ebotcazou@adacore.com>
86
87         * tree-dfa.c (get_ref_base_and_extent): Compute the offset using
88         double ints throughout.
89
90 2014-03-18  Richard Biener  <rguenther@suse.de>
91
92         Backport from mainline
93         2013-08-27  Richard Biener  <rguenther@suse.de>
94
95         PR tree-optimization/57521
96         * tree-if-conv.c (if_convertible_bb_p): Verify that at least
97         one edge is non-critical.
98         (find_phi_replacement_condition): Make sure to use a non-critical
99         edge.  Cleanup and remove old bug workarounds.
100         (bb_postdominates_preds): Remove.
101         (if_convertible_loop_p_1): Do not compute post-dominators.
102         (combine_blocks): Do not free post-dominators.
103         (main_tree_if_conversion): Likewise.
104
105         2013-09-03  Richard Biener  <rguenther@suse.de>
106
107         PR middle-end/57656
108         * fold-const.c (negate_expr_p): Fix division case.
109         (negate_expr): Likewise.
110
111         2013-11-19  Richard Biener  <rguenther@suse.de>
112
113         PR tree-optimization/57517
114         * tree-predcom.c (combinable_refs_p): Verify the combination
115         is always executed when the refs are.
116
117 2014-03-17  Richard Biener  <rguenther@suse.de>
118
119         Backport from mainline
120         2013-05-21  Richard Biener  <rguenther@suse.de>
121
122         PR tree-optimization/57303
123         * tree-ssa-sink.c (statement_sink_location): Properly handle
124         self-assignments.
125
126         2013-12-02  Richard Biener  <rguenther@suse.de>
127
128         PR tree-optimization/59139
129         * tree-ssa-loop-niter.c (chain_of_csts_start): Properly match
130         code in get_val_for.
131         (get_val_for): Use gcc_checking_asserts.
132
133         2014-02-14  Richard Biener  <rguenther@suse.de>
134
135         PR tree-optimization/60183
136         * tree-ssa-phiprop.c (propagate_with_phi): Avoid speculating
137         loads.
138         (tree_ssa_phiprop): Calculate and free post-dominators.
139
140 2014-03-14  Georg-Johann Lay  <avr@gjlay.de>
141
142         Backport from 2014-03-14 trunk r208562.
143
144         PR target/59396
145         * config/avr/avr.c (avr_set_current_function): Pass function name
146         through default_strip_name_encoding before sanity checking instead
147         of skipping the first char of the assembler name.
148
149 2014-02-24  John David Anglin  <danglin@gcc.gnu.org>
150
151         * config/pa/pa.c (pa_output_move_double): Don't valididate when
152         adjusting offsetable addresses.
153
154 2014-02-21  Uros Bizjak  <ubizjak@gmail.com>
155
156         Backport from mainline
157         2014-02-21  Jakub Jelinek  <jakub@redhat.com>
158
159         * config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
160         mode for mask of V8SFmode permutation.
161
162         Backport from 4.8 branch
163         2014-02-20  Jakub Jelinek  <jakub@redhat.com>
164
165         PR target/57896
166         * config/i386/i386.c (expand_vec_perm_interleave2): Don't call
167         gen_reg_rtx if d->testing_p.
168         (expand_vec_perm_pshufb2, expand_vec_perm_even_odd_1,
169         expand_vec_perm_broadcast_1): Return early if d->testing_p and
170         we will certainly return true.
171
172 2014-02-20  Terry Guo  <terry.guo@arm.com>
173
174         Backport from mainline
175         2014-02-08  Terry Guo  <terry.guo@arm.com>
176
177         * doc/invoke.texi: Document ARM -march=armv7e-m.
178
179 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
180
181         Backport from mainline
182         2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
183
184         PR target/60207
185         * config/i386/i386.c (construct_container): Remove TFmode check
186         for X86_64_INTEGER_CLASS.
187
188 2014-02-18  Kai Tietz  <ktietz@redhat.com>
189
190         Backport from mainline
191         PR target/60193
192         * config/i386/i386.c (ix86_expand_prologue): Use
193         rax register as displacement for restoring %r10, %rax.
194         Additional fix wrong offset for restoring both-registers.
195
196 2014-02-18  Eric Botcazou  <ebotcazou@adacore.com>
197
198         * ipa-prop.c (compute_complex_ancestor_jump_func): Replace overzealous
199         assertion with conditional return.
200
201 2014-02-18  Jakub Jelinek  <jakub@redhat.com>
202             Uros Bizjak  <ubizjak@gmail.com>
203
204         PR driver/60233
205         * config/i386/driver-i386.c (host_detect_local_cpu): If
206         YMM state is not saved by the OS, also clear has_f16c.  Move
207         CPUID 0x80000001 handling before YMM state saving checking.
208
209 2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
210
211         Backport from mainline
212         2014-02-13  Uros Bizjak  <ubizjak@gmail.com>
213
214         * config/i386/sse.md (xop_vmfrcz<mode>2): Generate const0 in
215         operands[2], not operands[3].
216
217 2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
218
219         Backport from mainline
220         2014-02-12  H.J. Lu  <hongjiu.lu@intel.com>
221                     Uros Bizjak  <ubizjak@gmail.com>
222
223         PR target/60151
224         * configure.ac (HAVE_AS_GOTOFF_IN_DATA): Pass --32 to GNU assembler.
225
226 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
227
228         * doc/invoke.texi: Fix thinko introduced by previous revision.
229
230 2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
231
232         Backport from mainline.
233         2014-02-05  James Greenhalgh  <james.greenhalgh@arm.com>
234
235         PR target/59718
236         * doc/invoke.texi (-march): Clarify documentation for ARM.
237         (-mtune): Likewise.
238         (-mcpu): Likewise.
239
240 2014-02-04  Uros Bizjak  <ubizjak@gmail.com>
241
242         Backport from mainline
243         2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
244
245         PR target/60017
246         * config/i386/i386.c (classify_argument): Fix handling of bit_offset
247         when calculating size of integer atomic types.
248
249 2014-02-02  Uros Bizjak  <ubizjak@gmail.com>
250
251         Backport from mainline
252         2014-01-30  Jakub Jelinek  <jakub@redhat.com>
253
254         * config/i386/f16cintrin.h (_cvtsh_ss): Avoid -Wnarrowing warning.
255
256 2014-01-31  Richard Henderson  <rth@redhat.com>
257
258         PR middle-end/60004
259         * tree-eh.c (lower_try_finally_switch): Delay lowering finally block
260         until after else_eh is processed.
261
262 2014-01-29  Markus Trippelsdorf  <markus@trippelsdorf.de>
263
264         Backport from mainline
265         2012-12-13  Jakub Jelinek  <jakub@redhat.com>
266
267         PR gcov-profile/55650
268         * coverage.c (coverage_obj_init): Return false if no functions
269         are being emitted.
270
271 2014-01-25  Walter Lee  <walt@tilera.com>
272
273         Backport from mainline
274         2014-01-25  Walter Lee  <walt@tilera.com>
275
276         * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
277         avoid clobbering a live register.
278
279 2014-01-25  Walter Lee  <walt@tilera.com>
280
281         Backport from mainline
282         2014-01-25  Walter Lee  <walt@tilera.com>
283
284         * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins):
285         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
286         * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins):
287         Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.
288
289 2014-01-25  Walter Lee  <walt@tilera.com>
290
291         Backport from mainline
292         2014-01-25  Walter Lee  <walt@tilera.com>
293
294         * config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
295         insns before bundling.
296         * config/tilegx/tilegx.md (tile_network_barrier): Update comment.
297
298 2014-01-25  Walter Lee  <walt@tilera.com>
299
300         Backport from mainline
301         2014-01-25  Walter Lee  <walt@tilera.com>
302
303         * config/tilegx/tilegx.c (tilegx_expand_builtin): Set
304         PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
305         * config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
306
307 2014-01-25  Walter Lee  <walt@tilera.com>
308
309         Backport from mainline
310         2014-01-25  Walter Lee  <walt@tilera.com>
311
312         * config/tilepro/tilepro.md (ctzdi2): Use register_operand predicate.
313         (clzdi2): Ditto.
314         (ffsdi2): Ditto.
315
316 2014-01-25  Walter Lee  <walt@tilera.com>
317
318         Backport from mainline
319         2014-01-25  Walter Lee  <walt@tilera.com>
320
321         * config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
322         (TARGET_EXPAND_TO_RTL_HOOK): Define.
323
324 2014-01-22  Uros Bizjak  <ubizjak@gmail.com>
325             Jakub Jelinek  <jakub@redhat.com>
326
327         PR target/59880
328         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false
329         for SImode_address_operand operands.  Return false
330         if operands[1] is a REG.
331
332 2014-01-21  Andrey Belevantsev  <abel@ispras.ru>
333
334         Backport from mainline
335         2013-12-23  Andrey Belevantsev  <abel@ispras.ru>
336
337         PR rtl-optimization/57422
338         * sel-sched.c (mark_unavailable_hard_regs): Fix typo when calling
339         add_to_hard_reg_set.
340
341 2014-01-19  John David Anglin  <danglin@gcc.gnu.org>
342
343         * config/pa/pa.c (pa_attr_length_millicode_call): Correct length of
344         long non-pic millicode calls.
345
346 2014-01-17  John David Anglin  <danglin@gcc.gnu.org>
347
348         * config/pa/pa.c (pa_attr_length_indirect_call): Don't output a short
349         call to $$dyncall when TARGET_LONG_CALLS is true.
350
351 2014-01-17  Charles Baylis  <charles.baylis@linaro.org>
352
353         Backport from mainline
354         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
355
356         PR target/59142
357         * config/arm/arm-ldmstm.ml: Use low_register_operand for Thumb
358         patterns.
359         * config/arm/ldmstm.md: Regenerate.
360
361         2013-12-19  Charles Baylis  <charles.baylis@linaro.org>
362
363         PR target/59142
364         * config/arm/predicates.md (arm_hard_general_register_operand):
365         New predicate.
366         (arm_hard_register_operand): Remove.
367         * config/arm/arm-ldmstm.ml: Use arm_hard_general_register_operand
368         for all patterns.
369         * config/arm/ldmstm.md: Regenerate.
370
371 2014-01-16  Jakub Jelinek  <jakub@redhat.com>
372
373         PR target/59839
374         * config/i386/i386.c (ix86_expand_builtin): If target doesn't
375         satisfy operand 0 predicate for gathers, use a new pseudo as
376         subtarget.
377
378 2014-01-16  Richard Henderson  <rth@redhat.com>
379
380         PR debug/54694
381         * reginfo.c (global_regs_decl): Globalize.
382         * rtl.h (global_regs_decl): Declare.
383         * ira.c (do_reload): Diagnose frame_pointer_needed and it
384         reserved via global_regs.
385
386 2014-01-16  Marek Polacek  <polacek@redhat.com>
387
388         Backport from mainline
389         2014-01-16  Marek Polacek  <polacek@redhat.com>
390
391         PR middle-end/59827
392         * gimple-low.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
393         it is error_mark_node.
394
395 2014-01-14  Uros Bizjak  <ubizjak@gmail.com>
396
397         Revert:
398         2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
399
400         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
401         from prefetch_block tune setting.
402
403 2014-01-10  Richard Earnshaw  <rearnsha@arm.com>
404
405         PR rtl-optimization/54300
406         * regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
407         outputs in a single-set are killed from the value chains.
408
409 2014-01-10  Huacai Chen  <chenhc@lemote.com>
410
411         * config/mips/driver-native.c (host_detect_local_cpu): Handle new
412         kernel strings for Loongson-2E/2F/3A.
413
414 2014-01-08  Uros Bizjak  <ubizjak@gmail.com>
415
416         Backport from mainline
417         2014-01-05  Uros Bizjak  <ubizjak@gmail.com>
418
419         * config/i386/i386.c (ix86_data_alignment): Calculate max_align
420         from prefetch_block tune setting.
421         (nocona_cost): Correct size of prefetch block to 64.
422
423 2013-12-28  Eric Botcazou  <ebotcazou@adacore.com>
424
425         * doc/invoke.texi (output file options): Add missing markers.
426
427 2013-12-11  Kai Tietz  <ktietz@redhat.com>
428
429         PR target/56807
430         * config/i386/i386.c (ix86_expand_prologue): plus_constant
431         takes no mode-argument.
432
433 2013-12-10  Kai Tietz  <ktietz@redhat.com>
434
435         PR target/56807
436         * config/i386/i386.c (ix86_expand_prologue): Address saved
437         registers stack-relative, not via frame-pointer.
438
439 2013-12-03  Marek Polacek  <polacek@redhat.com>
440
441         Backport from mainline
442         2013-12-03  Marek Polacek  <polacek@redhat.com>
443
444         PR c/59351
445         * c-decl.c (build_compound_literal): Allow compound literals with
446         empty initial value.
447
448 2013-12-01  Eric Botcazou  <ebotcazou@adacore.com>
449
450         * config/i386/winnt.c (i386_pe_asm_named_section): Be prepared for an
451         identifier node.
452
453 2013-11-28  Uros Bizjak  <ubizjak@gmail.com>
454
455         Backport from mainline
456         2013-11-23  Uros Bizjak  <ubizjak@gmail.com>
457
458         PR target/56788
459         * config/i386/i386.c (bdesc_multi_arg) <IX86_BUILTIN_VFRCZSS>:
460         Declare as MULTI_ARG_1_SF instruction.
461         <IX86_BUILTIN_VFRCZSD>: Decleare as MULTI_ARG_1_DF instruction.
462         * config/i386/sse.md (*xop_vmfrcz<mode>2): Rename
463         from *xop_vmfrcz_<mode>.
464         * config/i386/xopintrin.h (_mm_frcz_ss): Use __builtin_ia32_movss
465         to merge scalar result with __A.
466         (_mm_frcz_sd): Use __builtin_ia32_movsd to merge scalar
467         result with __A.
468
469 2013-11-19  Uros Bizjak  <ubizjak@gmail.com>
470
471         Backport from mainline
472         2013-11-18  Uros Bizjak  <ubizjak@gmail.com>
473
474         * config/i386/i386.c (ix86_decompose_address): Use REG_P instead of
475         ix86_address_subreg_operand.  Move subreg checks to
476         ix86_validate_address_register.  Move address override check to
477         ix86_legitimate_address_p.
478         (ix86_validate_address_register): New function.
479         (ix86_legitimate_address_p): Call ix86_validate_address_register
480         to validate base and index registers.  Add address override check
481         from ix86_decompose_address.
482         (ix86_decompose_address): Remove.
483
484         Backport from mainline
485         2013-11-17  Uros Bizjak  <ubizjak@gmail.com>
486
487         PR target/59153
488         * config/i386/i386.c (ix86_address_subreg_operand): Do not
489         reject non-integer subregs.
490         (ix86_decompose_address): Do not reject invalid CONST_INT RTXes.
491         Move check for invalid x32 constant addresses ...
492         (ix86_legitimate_address_p): ... here.
493
494         Bacport from mainline
495         2012-03-13  Uros Bizjak  <ubizjak@gmail.com>
496
497         * config/i386/i386.c (ix86_decompose_address): Prevent %fs:(%reg)
498         addresses only when %reg is not in word mode.
499
500 2013-11-10  Karlson2k  <k2k@narod.ru>
501             Kai Tietz  <ktietz@redhat.com>
502
503         Merged from trunk
504         PR plugins/52872
505         * configure.ac: Adding for exported symbols check
506         and for rdynamic-check executable-extension.
507         * configure: Regenerated.
508
509 2013-11-07  H.J. Lu  <hongjiu.lu@intel.com>
510
511         PR target/59034
512         * config/i386/i386.md (push peepholer/splitter): Use Pmode
513         with stack_pointer_rtx.
514
515 2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
516
517         * config/i386/t-rtems (MULTILIB_MATCHES): Fix option typos.
518
519 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
520
521         Backport from mainline
522         2013-10-22  Uros Bizjak  <ubizjak@gmail.com>
523
524         PR target/58779
525         * config/i386/i386.c (put_condition_code) <case GTU, case LEU>:
526         Remove CCCmode handling.
527         <case LTU>: Return 'c' suffix for CCCmode.
528         <case GEU>: Return 'nc' suffix for CCCmode.
529         (ix86_cc_mode) <case GTU, case LEU>: Do not generate overflow checks.
530         * config/i386/i386.md (*sub<mode>3_cconly_overflow): Remove.
531         (*sub<mode>3_cc_overflow): Ditto.
532         (*subsi3_zext_cc_overflow): Ditto.
533
534 2013-10-26  Uros Bizjak  <ubizjak@gmail.com>
535
536         Backport from mainline
537         2013-10-19  Uros Bizjak  <ubizjak@gmail.com>
538
539         PR target/58792
540         * config/i386/i386.c (ix86_function_value_regno): Add DX_REG,
541         ST1_REG and XMM1_REG for 32bit and 64bit targets.  Also add DI_REG
542         and SI_REG for 64bit SYSV ABI targets.
543
544 2013-10-25  Richard Henderson  <rth@twiddle.net>
545
546         PR rtl/58542
547         * optabs.c (maybe_emit_atomic_exchange): Use create_input_operand
548         instead of create_convert_operand_to.
549         (maybe_emit_sync_lock_test_and_set): Likewise.
550         (expand_atomic_compare_and_swap): Likewise.
551         (maybe_emit_compare_and_swap_exchange_loop): Don't convert_modes.
552
553 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
554
555         PR rtl-optimization/58831
556         * alias.c (init_alias_analysis): At the beginning of each iteration,
557         set the reg_seen[N] flag if static_reg_base_value[N] is non-null.
558
559 2013-10-25  Eric Botcazou  <ebotcazou@adacore.com>
560
561         * recog.c (search_ofs): New static variable moved from...
562         (peep2_find_free_register): ...here.
563         (peephole2_optimize): Initialize it.
564
565 2013-10-02  John David Anglin  <danglin@gcc.gnu.org>
566
567         * config.gcc (hppa*64*-*-linux*): Don't add pa/t-linux to tmake_file.
568
569 2013-09-23  Eric Botcazou  <ebotcazou@adacore.com>
570
571         * tree-ssa-ccp.c (insert_clobber_before_stack_restore): Recurse on copy
572         assignment statements.
573
574 2013-09-20  John David Anglin  <danglin@gcc.gnu.org>
575
576         * config/pa/pa.md: In "scc" insn patterns, change output template to
577         handle const0_rtx in reg_or_0_operand operands.
578
579 2013-09-18  Daniel Morris  <danielm@ecoscentric.com>
580             Paolo Carlini  <paolo.carlini@oracle.com>
581
582         PR c++/58458
583         * doc/implement-cxx.texi: Fix references to the C++ standards.
584
585 2013-09-14  John David Anglin  <danglin@gcc.gnu.org>
586
587         PR target/58382
588         * config/pa/pa.c (pa_expand_prologue): Change mode in gen_rtx_POST_INC
589         calls to word_mode.
590
591 2013-09-12  Terry Guo  <terry.guo@arm.com>
592
593         Backport from mainline
594         2012-09-17  Richard Guenther  <rguenther@suse.de>
595
596         PR lto/54598
597         * tree-streamer-in.c (unpack_ts_real_cst_value_fields): Use ggc'ed
598         FIXED_VALUE_TYPE instead of struct fixed_value.
599
600 2013-09-10  Richard Earnshaw  <rearnsha@arm.com>
601
602         PR target/58361
603         * arm/vfp.md (combine_vcvt_f32_<FCVTI32typename>): Fix pattern to
604         support conditional execution.
605         (combine_vcvt_f64_<FCVTI32typename>): Likewise.
606
607 2013-09-01  Uros Bizjak  <ubizjak@gmail.com>
608
609         Backport from mainline
610         2013-08-31  Uros Bizjak  <ubizjak@gmail.com>
611
612         * config/alpha/alpha.c (alpha_emit_conditional_move): Update
613         "cmp" RTX before signed_comparison_operator check to account
614         for "code" changes.
615
616 2013-09-01  John David Anglin  <danglin@gcc.gnu.org>
617
618         * config/pa/pa.md: Allow "const 0" operand 1 in "scc" insns.
619
620 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
621
622         Backported from 4.8
623         2012-06-19  Steven Bosscher  <steven@gcc.gnu.org>
624
625         * doc/tm.texi.in (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE,
626         TARGET_OBJC_DECLARE_CLASS_DEFINITION): Add @hooks.
627         (ASM_DECLARE_CLASS_REFERENCE, ASM_DECLARE_UNRESOLVED_REFERENCE):
628         Remove.
629         * doc/tm.texi: Regenerate.
630         * config/darwin.h (ASM_OUTPUT_LABELREF): Remove special case for
631         .objc_class_name_*.
632         * config/darwin-c.c: Include target.h.
633         (darwin_objc_declare_unresolved_class_reference): New function.
634         (darwin_objc_declare_class_definition): New function.
635         (TARGET_OBJC_DECLARE_UNRESOLVED_CLASS_REFERENCE): Define.
636         (TARGET_OBJC_DECLARE_CLASS_DEFINITION): Define.
637
638 2013-09-01  Iain Sandoe  <iain@codesourcery.com>
639
640         Backport from mainline:
641         2013-07-22  Uros Bizjak  <ubizjak@gmail.com>
642
643         * config/i386/i386.md (nonlocal_goto_receiver): Delete insn if
644         it is not needed after split.
645
646         2013-07-20  Iain Sandoe  <iain@codesourcery.com>
647
648         PR target/51784
649         * config/i386/i386.c (output_set_got) [TARGET_MACHO]: Adjust to emit a
650         second label for nonlocal goto receivers. Don't output pic base labels
651         unless we're producing PIC; mark that action unreachable().
652         (ix86_save_reg): If the function contains a nonlocal label, save the
653         PIC base reg.
654         * config/darwin-protos.h (machopic_should_output_picbase_label): New.
655         * gcc/config/darwin.c (emitted_pic_label_num): New GTY.
656         (update_pic_label_number_if_needed): New.
657         (machopic_output_function_base_name): Adjust for nonlocal receiver
658         case.
659         (machopic_should_output_picbase_label): New.
660         * config/i386/i386.md (enum unspecv): UNSPECV_NLGR: New.
661         (nonlocal_goto_receiver): New insn and split.
662
663 2013-08-28  Uros Bizjak  <ubizjak@gmail.com>
664
665         Backport from mainline
666         2013-08-27  Christian Widmer  <shadow@umbrox.de>
667
668         PR target/57927
669         * config/i386/driver-i386.c (host_detect_local_cpu): Add detection
670         of Ivy Bridge processors.
671
672 2013-08-21  Richard Earnshaw  <rearnsha@arm.com>
673
674         PR target/56979
675         * arm.c (aapcs_vfp_allocate): Decompose the argument if the
676         suggested mode for the assignment isn't compatible with the
677         registers required.
678
679 2013-08-17  Uros Bizjak  <ubizjak@gmail.com>
680
681         Backport from mainline
682         2013-08-12  Perez Read  <netfirewall@gmail.com>
683
684         PR target/58132
685         * config/i386/i386.md (*movabs<mode>_1):  Add <ptrsize> PTR before
686         operand 0 for intel asm alternative.
687         (*movabs<mode>_2): Ditto for operand 1.
688
689 2013-08-13  Marek Polacek  <polacek@redhat.com>
690
691         Backport from 4.8:
692         2013-0813  Marek Polacek  <polacek@redhat.com>
693                    Jakub Jelinek  <jakub@redhat.com>
694
695         PR tree-optimization/57980
696         * tree-tailcall.c (process_assignment): Return false
697         when not dealing with integers or floats.
698
699 2013-08-12  David Edelsohn  <dje.gcc@gmail.com>
700
701         Backport from mainline
702         2013-02-14  Steven Bosscher  <steven@gcc.gnu.org>
703
704         * collect2-aix.h: Define F_LOADONLY.
705
706 2013-08-02  Eric Botcazou  <ebotcazou@adacore.com>
707
708         * config/sparc/sparc.c (sparc_emit_membar_for_model) <SMM_TSO>: Add
709         the implied StoreLoad barrier for atomic operations if before.
710
711 2013-07-11  Georg-Johann Lay  <avr@gjlay.de>
712
713         Backport from 2013-07-11 trunk r200901.
714
715         PR target/57631
716         * config/avr/avr.c (avr_set_current_function): Sanity-check signal
717         name seen by assembler/linker if available.
718
719 2013-07-10  Georg-Johann Lay  <avr@gjlay.de>
720
721         Backport from 2013-07-10 trunk r200872.
722
723         PR target/57844
724         * config/avr/avr.c (avr_prologue_setup_frame): Trunk -size to mode
725         of my_fp.
726
727 2013-07-10  Uros Bizjak  <ubizjak@gmail.com>
728
729         Backport from mainline
730         2013-07-06  Uros Bizjak  <ubizjak@gmail.com>
731
732         * config/i386/sse.md (sse_movlhps): Change alternative 3
733         of operand 2 to "m".
734
735 2013-07-09  Joseph Myers  <joseph@codesourcery.com>
736
737         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Only
738         adjust register size for TDmode and TFmode for VSX registers.
739
740 2013-07-08  Eric Botcazou  <ebotcazou@adacore.com>
741
742         * Makefile.in (tree-ssa-reassoc.o): Add dependency on $(PARAMS_H).
743
744 2013-07-08  Jakub Jelinek  <jakub@redhat.com>
745
746         PR rtl-optimization/57829
747         * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Ensure that
748         mask bits outside of mode are just sign-extension from mode to HWI.
749
750 2013-07-05  Uros Bizjak  <ubizjak@gmail.com>
751
752         Backport from mainline
753         2013-06-20  Uros Bizjak  <ubizjak@gmail.com>
754
755         PR target/57655
756         * config/i386/i386.c (construct_container): Report error if
757         long double is used with disabled x87 float returns.
758
759 2013-06-21  David Edelsohn  <dje.gcc@gmail.com>
760
761         Backport from mainline
762         2013-06-19  David Edelsohn  <dje.gcc@gmail.com>
763
764         PR driver/57652
765         * collect2.c (collect_atexit): New.
766         (collect_exit): Delete.
767         (main): Register collect_atexit with atexit.
768         (collect_wait): Change collect_exit to exit.
769         (do_wait): Same.
770         * collect2.h (collect_exit): Delete.
771         * tlink.c (do_tlink): Rename exit to ret. Change collect_exit to exit.
772
773 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
774
775         Backport from mainline
776         2013-06-10  Uros Bizjak  <ubizjak@gmail.com>
777
778         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Also use
779         cmp_code to construct REG_EQUAL note.
780
781         Backport from mainline
782         2013-06-05  Uros Bizjak  <ubizjak@gmail.com>
783
784         * config/alpha/alpha.c (alpha_emit_conditional_move): Swap all
785         GE, GT, GEU and GTU compares, modulo DImode compares with zero.
786
787         Backport from mainline
788         2013-05-23  Uros Bizjak  <ubizjak@gmail.com>
789
790         PR target/57379
791         * config/alpha/alpha.md (unspec): Add UNSPEC_XFLT_COMPARE.
792         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Construct
793         REG_EQUAL note as UNSPEC_XFLT_COMPARE unspec.
794
795 2013-06-09  Jakub Jelinek  <jakub@redhat.com>
796
797         PR target/57568
798         * config/i386/i386.md (TARGET_READ_MODIFY_WRITE peepholes): Ensure
799         that operands[2] doesn't overlap with operands[0].
800
801 2013-05-22  Uros Bizjak  <ubizjak@gmail.com>
802
803         PR target/57356
804         * config/i386/i386.md (*movti_internal_rex64): Emit movaps/movups
805         for non-sse2 targets.  Simplify mode attribute calculation.
806
807 2013-05-17  Uros Bizjak  <ubizjak@gmail.com>
808
809         Backport from mainline
810         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
811
812         * config/i386/driver-i386.c (host_detect_local_cpu): Determine
813         cache parameters using detect_caches_amd also for CYRIX,
814         NSC and TM2 signatures.
815
816         2013-05-16  Uros Bizjak  <ubizjak@gmail.com>
817                     Dzianis Kahanovich  <mahatma@eu.by>
818
819         PR target/45359
820         PR target/46396
821         * config/i386/driver-i386.c (host_detect_local_cpu): Detect
822         VIA/Centaur processors and determine their cache parameters
823         using detect_caches_amd.
824
825         2013-05-15  Uros Bizjak  <ubizjak@gmail.com>
826
827         * config/i386/i386.c (ix86_option_override_internal): Add
828         PTA_POPCNT to corei7 entry.
829
830 2013-05-14  Richard Biener  <rguenther@suse.de>
831
832         PR gcov-profile/57269
833         Backport from mainline
834         2012-06-30  Nathan Sidwell  <nathan@acm.org>
835
836         * coverage.c (coverage_init): Read counts file before writing
837         graph header.
838
839 2013-05-13  Uros Bizjak  <ubizjak@gmail.com>
840
841         PR target/57264
842         Backport from mainline
843         2013-01-22  Jakub Jelinek  <jakub@redhat.com>
844
845         PR target/55686
846         * config/i386/i386.md (UNSPEC_STOS): New.
847         (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
848         *strsetqi_1): Add UNSPEC_STOS.
849
850 2013-05-10  Joey Ye  <joey.ye@arm.com>
851
852         Backport from mainline
853         2012-11-29  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
854
855         PR target/54974
856         * config/arm/arm.md (thumb2_pool_range, pool_range): Add comment on
857         Thumb pool ranges.
858         (thumb1_extendhisi2): Reduce Thumb pool range.
859         (arm_movdi): Likewise.
860         (thumb1_movdi_insn): Likewise.
861         (thumb1_movsi_insn): Likewise.
862         (pic_load_addr_unified): Likewise.
863         (pic_load_addr_32bit): Likewise.
864         (pic_load_addr_thumb1): Likewise.
865         (thumb1_movhf): Likewise.
866         (arm_movsf_soft_insn): Likewise.
867         (thumb1_movsf_soft_insn): Likewise.
868         (movdf_soft_insn): Likewise.
869         (thumb1_movdf_soft_insn): Likewise.
870         * config/arm/neon.md (*neon_mov<mode>): Likewise.
871         (*neon_mov<mode>): Likwise.
872         * config/arm/thumb2.md: (*thumb2_movsi_insn): Likewise.
873         (*thumb2_movhi_insn): Likewise.
874         (*thumb2_extendqisi_v6): Likewise.
875         (*thumb2_zero_extendqisi_v6): Likewise.
876         (*thumb2_zero_extendqisi2_v6): Likewise.
877         * config/arm/vfp.md: (*thumb2_movsi_vfp): Likewise.
878         (*movdi_vfp): Likewise.
879         (*movdi_vfp_cortexa8): Likewise.
880         (*thumb2_movsf_vfp): Likewise.
881         (*thumb2_movdf_vfp): Likewise.
882
883 2013-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
884
885         * config/arm/t-rtems-eabi: Remove mthumb/march=armv7 multilib.
886         Add mthumb/march=armv7-a multilib.
887         Add mthumb/march=armv7-r multilib.
888         Add mthumb/march=armv7-a/mfpu=neon/mfloat-abi=hard multilib.
889
890 2013-05-10  Ralf Corsépius  <ralf.corsepius@rtems.org>
891
892         PR target/57237
893         * config/v850/t-rtems: Add more multilibs.
894
895 2013-05-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
896
897         Backport from trunk
898         2013-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
899
900         PR target/57150
901         * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Use DFmode
902         to save TFmode registers and DImode to save TImode registers for
903         caller save operations.
904         (HARD_REGNO_CALL_PART_CLOBBERED): TFmode and TDmode do not need to
905         mark being partially clobbered since they only use the first
906         double word.
907
908         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): TFmode
909         and TDmode only use the upper 64-bits of each VSX register.
910
911 2013-05-03  Marek Polacek  <polacek@redhat.com>
912
913         Backport from mainline
914         2013-04-25  Marek Polacek  <polacek@redhat.com>
915
916         PR tree-optimization/57066
917         * builtins.c (fold_builtin_logb): Return +Inf for -Inf.
918
919 2013-04-30  Uros Bizjak  <ubizjak@gmail.com>
920
921         Backport from mainline
922         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
923
924         PR target/44578
925         * config/i386/i386.md (*zero_extendsidi2_rex64): Add "!" to m->?*y
926         alternative.
927         (*zero_extendsidi2): Ditto.
928
929         Backport from mainline
930         2013-04-29  Uros Bizjak  <ubizjak@gmail.com>
931
932         PR target/57098
933         * config/i386/i386.c (ix86_expand_vec_perm): Validize constant memory.
934
935 2013-04-29  Christian Bruel  <christian.bruel@st.com>
936
937         PR target/57108
938         * sh.md (tstsi_t_zero_extract_eq): Set mode for operand 0.
939
940 2013-04-27  Jakub Jelinek  <jakub@redhat.com>
941
942         PR target/56866
943         * config/i386/sse.md (xop_rotr<mode>3): Fix up computation of
944         the immediate rotate count.
945
946 2013-04-21  Eric Botcazou  <ebotcazou@adacore.com>
947
948         * cfgexpand.c (avoid_complex_debug_insns): Fix C++ism.
949
950 2013-04-19  Matthias Klose  <doko@ubuntu.com>
951
952         PR middle-end/56848
953         Re-apply
954         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
955
956         Backport from mainline
957         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
958         Alexander Monakov  <amonakov@ispras.ru>
959
960         PR middle-end/56077
961         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
962         flush pending lists also on non-jumps.  Adjust comment.
963
964         Backport from 4.8:
965         2012-08-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
966
967         * sched-deps.c (add_dependence_list_and_free): Simplify.
968         (flush_pending_list_and_free): Fix a hack that was fixing a hack.  Free
969         lists when add_dependence_list_and_free doesn't free them.
970
971 2013-04-19  Marek Polacek  <polacek@redhat.com>
972
973         Backport from mainline
974         2013-01-08  Steven Bosscher  <steven@gcc.gnu.org>
975                     Jakub Jelinek  <jakub@redhat.com>
976
977         PR tree-optimization/48189
978         * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
979         If nitercst is 0, don't predict the exit edge.
980
981 2013-04-16  Jack Howarth  <howarth@bromo.med.uc.edu>
982
983         Backport from mainline
984         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
985         * config/darwin.h (STARTFILE_SPEC): Use -no_new_main with -lgcrt1.o
986         on Darwin >= 12.
987         (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10 and < 12.
988
989
990         2012-05-29  Jack Howarth  <howarth@bromo.med.uc.edu>
991         PR debug/53453
992         * doc/tm.texi: Update.
993         * doc/tm.texi.in (SDB and DWARF) <TARGET_FORCE_AT_COMP_DIR>: Add @hook.
994         * target.def (force_at_comp_dir): New hook.
995         * config/darwin.h (TARGET_FORCE_AT_COMP_DIR): Define.
996         * dwarf2out.c (dwarf2out_finish): Check targetm.force_at_comp_dir.
997
998 2013-04-15  Eric Botcazou  <ebotcazou@adacore.com>
999
1000         PR target/56890
1001         * config/sparc/sparc.c (enum sparc_mode_class): Add H_MODE value.
1002         (S_MODES): Set H_MODE bit.
1003         (SF_MODES): Set only S_MODE and SF_MODE bits.
1004         (DF_MODES): Set SF_MODES and only D_MODE and DF_MODE bits.
1005         (sparc_init_modes) <MODE_INT>: Set H_MODE bit for sub-word modes.
1006         <MODE_VECTOR_INT>: Do not set SF_MODE for sub-word modes.
1007         <MODE_FLOAT>: Likewise.
1008
1009 2013-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1010
1011         Backport from mainline:
1012         2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1013
1014         PR target/55487
1015         * config/pa/pa.c (legitimize_pic_address): Before incrementing label
1016         nuses, make sure we have a label.
1017
1018 2013-04-11  Richard Biener  <rguenther@suse.de>
1019
1020         * BASE-VER: Set to 4.7.4.
1021         * DEV-PHASE: Set to prerelease.
1022
1023 2013-04-11  Release Manager
1024
1025         * GCC 4.7.3 released.
1026
1027 2013-04-10  David S. Miller  <davem@davemloft.net>
1028
1029         * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=supersparc
1030         or -mcpu=hypersparc.
1031
1032 2013-04-05  Eric Botcazou  <ebotcazou@adacore.com>
1033
1034         PR middle-end/56848
1035         Revert
1036         2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1037
1038         Backport from mainline
1039         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1040         Alexander Monakov  <amonakov@ispras.ru>
1041
1042         PR middle-end/56077
1043         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1044         flush pending lists also on non-jumps.  Adjust comment.
1045
1046 2013-04-03  Richard Biener  <rguenther@suse.de>
1047
1048         PR tree-optimization/56501
1049         * tree-switch-conversion.c (check_process_case): Properly
1050         handle !single_succ_p case.
1051
1052 2013-04-03  Jakub Jelinek  <jakub@redhat.com>
1053
1054         Backported from mainline
1055         2013-03-06  Jakub Jelinek  <jakub@redhat.com>
1056
1057         PR tree-optimization/56539
1058         * tree-tailcall.c (adjust_return_value_with_ops): Use GSI_SAME_STMT
1059         instead of GSI_CONTINUE_LINKING as last argument to
1060         force_gimple_operand_gsi.  Adjust function comment.
1061
1062         2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1063
1064         PR debug/56510
1065         * cfgexpand.c (expand_debug_parm_decl): Call copy_rtx on incoming.
1066         (avoid_complex_debug_insns): New function.
1067         (expand_debug_locations): Call it.
1068
1069 2013-04-02  Wei Mi  <wmi@google.com>
1070
1071         * config/i386/i386.c (ix86_rtx_costs): Set proper rtx cost for
1072         ashl<mode>3_mask, *<shift_insn><mode>3_mask and
1073         *<rotate_insn><mode>3_mask in i386.md.
1074
1075 2013-04-02  Richard Biener  <rguenther@suse.de>
1076
1077         PR middle-end/56768
1078         Backport from mainline
1079         2012-05-16  Richard Guenther  <rguenther@suse.de>
1080
1081         * tree-inline.c (declare_return_variable): Properly handle
1082         DECL_BY_REFERENCE return vars in SSA form.
1083
1084 2013-04-01  Wei Mi  <wmi@google.com>
1085
1086         * config/i386/i386.md (*ashl<mode>3_mask): Rewrite as define_insn.
1087         Truncate operand 2 using %b asm operand modifier.
1088         (*<shift_insn><mode>3_mask): Ditto.
1089         (*<rotate_insn><mode>3_mask): Ditto.
1090
1091 2013-04-01  Uros Bizjak  <ubizjak@gmail.com>
1092
1093         * config/i386/i386.md (*movsf_internal): Change type of
1094         alternatives 3,4 to imov.
1095
1096 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1097
1098         Backport from mainline
1099         2013-02-27  Andrey Belevantsev  <abel@ispras.ru>
1100
1101         PR middle-end/45472
1102         * sel-sched-ir.c (merge_expr): Also change vinsn of merged expr
1103         when the may_trap_p bit of the exprs being merged differs.
1104         Reorder tests for speculativeness in the logical and operator.
1105
1106         Backport from mainline
1107          2013-03-05  Jakub Jelinek  <jakub@redhat.com>
1108
1109         PR middle-end/56461
1110         * sel-sched-ir.c (free_sched_pools): Release
1111         succs_info_pool.stack[succs_info_pool.max_top] vectors too
1112         if succs_info_pool.max_top isn't -1.
1113
1114 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1115
1116         Backport from mainline
1117         2012-02-19  Andrey Belevantsev  <abel@ispras.ru>
1118
1119         PR middle-end/55889
1120         * sel-sched.c: Include ira.h.
1121         (implicit_clobber_conflict_p): New function.
1122         (moveup_expr): Use it.
1123         * Makefile.in (sel-sched.o): Depend on ira.h.
1124
1125 2013-04-01  Andrey Belevantsev  <abel@ispras.ru>
1126
1127         Backport from mainline
1128         2013-02-25  Andrey Belevantsev  <abel@ispras.ru>
1129         Alexander Monakov  <amonakov@ispras.ru>
1130
1131         PR middle-end/56077
1132         * sched-deps.c (sched_analyze_insn): When reg_pending_barrier,
1133         flush pending lists also on non-jumps.  Adjust comment.
1134
1135 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1136
1137         * doc/invoke.texi (AVR Options): Tweak link for AVR-LibC user manual.
1138         * doc/extend.texi (Named Address Spaces): Ditto.
1139         (Variable Attributes): Ditto.
1140
1141 2013-03-28  Eric Botcazou  <ebotcazou@adacore.com>
1142
1143         * toplev.c (process_options): Do not disable -fomit-frame-pointer on a
1144         general basis if unwind info is requested and ACCUMULATE_OUTGOING_ARGS
1145         is not enabled.
1146
1147 2013-03-27  Walter Lee  <walt@tilera.com>
1148
1149         Backport from mainline:
1150         2013-03-27  Walter Lee  <walt@tilera.com>
1151
1152         * config/tilegx/tilegx.c (tilegx_expand_prologue): Avoid
1153         double-decrement of next_scratch_regno.
1154
1155 2013-03-27  Walter Lee  <walt@tilera.com>
1156
1157         Backport from mainline:
1158         2013-03-27  Walter Lee  <walt@tilera.com>
1159
1160         * config/tilegx/tilegx.md (insn_v1mulu): Fix predicates on
1161         input operands.
1162         (insn_v1mulus): Ditto.
1163         (insn_v2muls): Ditto.
1164
1165 2013-03-27  Walter Lee  <walt@tilera.com>
1166
1167         Backport from mainline:
1168         2013-03-27  Walter Lee  <walt@tilera.com>
1169
1170         * config/tilegx/tilegx.h (ASM_OUTPUT_ADDR_VEC_ELT): Delete
1171         extra tab.
1172         (ASM_OUTPUT_ADDR_DIFF_ELT): Ditto.
1173
1174 2013-03-27  Walter Lee  <walt@tilera.com>
1175
1176         Backport from mainline:
1177         2013-03-27  Walter Lee  <walt@tilera.com>
1178
1179         * config/tilegx/tilegx.md (*sibcall_insn): Fix type atribute
1180         for jr.
1181         (*sibcall_value): Ditto.
1182
1183 2013-03-27  Walter Lee  <walt@tilera.com>
1184
1185         Backport from mainline:
1186         2013-03-27  Walter Lee  <walt@tilera.com>
1187
1188         * config/tilegx/tilegx.md (insn_mnz_<mode>): Replaced by ...
1189         (insn_mnz_v8qi): ... this ...
1190         (insn_mnz_v4hi): ... and this.  Replace (const_int 0) with the
1191         vector equivalent.
1192         (insn_v<n>mnz): Replaced by ...
1193         (insn_v1mnz): ... this ...
1194         (insn_v2mnz): ... and this.  Replace (const_int 0) with the vector
1195         equivalent.
1196         (insn_mz_<mode>): Replaced by ...
1197         (insn_mz_v8qi): ... this ...
1198         (insn_mz_v4hi): ... and this.  Replace (const_int 0) with the
1199         vector equivalent.
1200         (insn_v<n>mz): Replaced by ...
1201         (insn_v1mz): ... this ...
1202         (insn_v2mz): ... and this.  Replace (const_int 0) with the vector
1203         equivalent.
1204
1205 2013-03-26  Eric Botcazou  <ebotcazou@adacore.com>
1206
1207         * doc/invoke.texi (SPARC options): Remove -mlittle-endian.
1208
1209 2013-03-26  Richard Biener  <rguenther@suse.de>
1210
1211         Backport from mainline:
1212         2013-03-13  Richard Biener  <rguenther@suse.de>
1213
1214         PR tree-optimization/56608
1215         * tree-vect-slp.c (vect_schedule_slp): Do not remove scalar
1216         calls when vectorizing basic-blocks.
1217
1218         2013-03-05  Richard Biener  <rguenther@suse.de>
1219
1220         PR tree-optimization/56270
1221         * tree-vect-slp.c (vect_schedule_slp): Clear vectorized stmts
1222         of loads after scheduling an SLP instance.
1223
1224 2013-03-26  Walter Lee  <walt@tilera.com>
1225
1226         Backport from mainline:
1227         2013-03-26  Walter Lee  <walt@tilera.com>
1228
1229         * config/tilegx/tilegx.h (PROFILE_BEFORE_PROLOGUE): Define.
1230         * config/tilegx/tilepro.h (PROFILE_BEFORE_PROLOGUE): Define.
1231
1232 2013-03-26  Walter Lee  <walt@tilera.com>
1233
1234         Backport from mainline:
1235         2013-03-25  Walter Lee  <walt@tilera.com>
1236
1237         * config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
1238         TILEGX_INSN_SHUFFLEBYTES1.
1239         * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
1240         shufflebytes1.
1241         (tilegx_builtins): Ditto.
1242         * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
1243
1244 2013-03-26  Walter Lee  <walt@tilera.com>
1245
1246         Backport from mainline:
1247         2013-03-25  Walter Lee  <walt@tilera.com>
1248
1249         * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline
1250         tests for constraint J, K, N, P.
1251
1252 2013-03-26  Walter Lee  <walt@tilera.com>
1253
1254         Backport from mainline:
1255         2013-03-25  Walter Lee  <walt@tilera.com>
1256
1257         * config/tilegx/tilegx.c (tilegx_asm_preferred_eh_data_format):
1258         Use indirect/pcrel encoding.
1259         * config/tilepro/tilepro.c (tilepro_asm_preferred_eh_data_format):
1260         Ditto.
1261
1262 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1263
1264         Backport from mainline:
1265         2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>
1266         2013-03-14  Kaz Kojima  <kkojima@gcc.gnu.org>
1267
1268         PR target/49880
1269         * config/sh/sh.opt (FPU_SINGLE_ONLY): New mask.
1270         (musermode): Convert to Var(TARGET_USERMODE).
1271         * config/sh/sh.h (SELECT_SH2A_SINGLE_ONLY, SELECT_SH4_SINGLE_ONLY,
1272         MASK_ARCH): Add MASK_FPU_SINGLE_ONLY.
1273         * config/sh/sh.c (sh_option_override): Use
1274         TARGET_FPU_DOUBLE || TARGET_FPU_SINGLE_ONLY for call-fp case.
1275         * config/sh/sh.md (udivsi3_i1, divsi3_i1): Remove ! TARGET_SH4
1276         condition.
1277         (udivsi3_i4, divsi3_i4): Use TARGET_FPU_DOUBLE condition instead of
1278         TARGET_SH4.
1279         (udivsi3_i4_single, divsi3_i4_single): Use
1280         TARGET_FPU_SINGLE_ONLY || TARGET_FPU_DOUBLE instead of TARGET_HARD_SH4.
1281         * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1282         (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
1283         * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
1284         (SUBTARGET_OVERRIDE_OPTIONS): New.
1285
1286 2013-03-25  Oleg Endo  <olegendo@gcc.gnu.org>
1287
1288         Backport from mainline:
1289         2012-04-03  Kaz Kojima  <kkojima@gcc.gnu.org>
1290
1291         * config/sh/t-sh (MULTILIB_MATCHES): Match m2a-single-only
1292         to m2a-single instead of m2e.
1293
1294 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1295
1296         PR target/56560
1297         * config/i386/i386.h (ix86_args): Define only if USED_FOR_TARGET
1298         isn't defined.
1299
1300 2013-03-22  H.J. Lu  <hongjiu.lu@intel.com>
1301
1302         PR target/56560
1303         * config/i386/i386.c (init_cumulative_args): Also set
1304         cum->callee_return_avx256_p.
1305         (ix86_function_arg): Set cum->callee_pass_avx256_p.  Set
1306         cfun->machine->callee_pass_avx256_p only when MODE == VOIDmode.
1307
1308         * config/i386/i386.h (ix86_args): Add callee_pass_avx256_p and
1309         callee_return_avx256_p.
1310
1311 2013-03-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1312
1313         Backport from mainline:
1314         2012-12-04  Ian Lance Taylor  <iant@google.com>
1315
1316         * godump.c (find_dummy_types): Output a dummy type if we couldn't
1317         output the real type.
1318
1319 2013-03-20  Jack Howarth  <howarth@bromo.med.uc.edu>
1320
1321         PR bootstrap/56258
1322         * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx.
1323         (PLUS_EXPR): Likewise.
1324         * doc/cppopts.texi (--help): Likewise.
1325         * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise.
1326         (-fdump-rtl-cprop_hardreg): Likewise.
1327         (-fdump-rtl-csa): Likewise.
1328         (-fdump-rtl-dce): Likewise.
1329         (-fdump-rtl-dbr): Likewise.
1330         (-fdump-rtl-into_cfglayout): Likewise.
1331         (-fdump-rtl-outof_cfglayout): Likewise.
1332
1333 2013-03-18  Richard Earnshaw  <rearnsha@arm.com>
1334
1335         PR target/56470
1336         * config/arm/arm.c (shift_op): Validate RTL pattern on the fly.
1337         (arm_print_operand, case 'S'): Don't use shift_operator to validate
1338         the RTL.
1339
1340 2013-03-14  Seth LaForge  <sethml@google.com>
1341
1342         PR target/56351
1343         Backport from mainline
1344         2012-10-22  Julian Brown  <julian@codesourcery.com>
1345
1346         * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
1347         VFP D registers in big-endian mode.
1348
1349 2013-03-08  Joey Ye  <joey.ye@arm.com>
1350
1351         Backport from mainline
1352         2013-03-06  Joey Ye  <joey.ye@arm.com>
1353
1354         PR lto/50293
1355         * gcc.c (convert_white_space): New function.
1356         (main): Handles white space in function name.
1357
1358 2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1359
1360         Backport from mainline
1361         2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>
1362
1363         PR target/56529
1364         * config/sh/sh.c (sh_option_override): Check for TARGET_DYNSHIFT
1365         instead of TARGET_SH2 for call-table case.  Do not set sh_div_strategy
1366         to SH_DIV_CALL_TABLE for TARGET_SH2.
1367         * config.gcc (sh_multilibs): Add m2 and m2a to sh*-*-linux* multilib
1368         list.
1369         * doc/invoke.texi (SH options): Use table for mdiv= option.  Document
1370         mdiv= call-div1, call-fp, call-table options.
1371
1372 2013-03-06  Sebastian Huber <sebastian.huber@embedded-brains.de>
1373
1374         * config.gcc (arm*-*-rtemself*): New.
1375         (arm*-*-rtems*): Removed.
1376         (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
1377         "arm*-*-rtemseabi*" to "arm*-*-rtems*".
1378
1379 2013-03-01  Richard Biener  <rguenther@suse.de>
1380
1381         Backport from mainline
1382         2012-12-12  Zdenek Dvorak  <ook@ucw.cz>
1383
1384         PR tree-optimization/55481
1385         * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Fall
1386         back to general rewriting if we cannot leave an original biv
1387         definition alone.
1388
1389 2013-03-01  Richard Biener  <rguenther@suse.de>
1390
1391         Backport from mainline
1392         2012-04-10  Richard Guenther  <rguenther@suse.de>
1393
1394         PR middle-end/52888
1395         * gimple-low.c (gimple_check_call_args): Properly account for
1396         compatible aggregate types.
1397
1398 2013-02-26  Nick Clifton  <nickc@redhat.com>
1399
1400         PR target/56453
1401         Import this patch from the mainline:
1402
1403         2012-08-17  Nick Clifton  <nickc@redhat.com>
1404
1405         * config/fr30/fr30.md (cbranchsi4): Remove mode from comparison.
1406         (branch_true): Likewise.
1407         (branch_false): Likewise.
1408
1409 2013-02-26  Jakub Jelinek  <jakub@redhat.com>
1410
1411         PR tree-optimization/56443
1412         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): For
1413         overaligned types, pass TYPE_UNSIGNED (scalar_type) as second argument
1414         to type_for_mode langhook.
1415
1416 2013-02-21  Jakub Jelinek  <jakub@redhat.com>
1417
1418         PR bootstrap/56258
1419         * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item
1420         instead of @itemx.
1421
1422 2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1423
1424         Backported from mainline
1425         2013-02-19  Jakub Jelinek  <jakub@redhat.com>
1426
1427         PR tree-optimization/56350
1428         * tree-vect-loop.c (vectorizable_reduction): If orig_stmt, return false
1429         if haven't found reduction or nested cycle operand, rather than
1430         asserting we must find it.
1431
1432         PR tree-optimization/56381
1433         * tree-ssa-pre.c (create_expression_by_pieces): Fix up last argument
1434         to fold_build3.
1435
1436         2013-02-08  Jakub Jelinek  <jakub@redhat.com>
1437
1438         PR tree-optimization/56250
1439         * fold-const.c (extract_muldiv_1) <case NEGATE_EXPR>: Don't optimize
1440         if type is unsigned and code isn't MULT_EXPR.
1441
1442         2013-02-06  Jakub Jelinek  <jakub@redhat.com>
1443
1444         PR middle-end/56217
1445         * omp-low.c (use_pointer_for_field): Return false if
1446         lower_send_shared_vars doesn't generate any copy-out code.
1447
1448         2012-11-27  Jakub Jelinek  <jakub@redhat.com>
1449
1450         PR tree-optimization/55110
1451         * tree-vect-loop.c (vectorizable_reduction): Don't assert
1452         that STMT_VINFO_RELATED_STMT of orig_stmt is stmt.
1453
1454 2013-02-18  Richard Biener  <rguenther@suse.de>
1455
1456         Revert
1457         2013-02-04  Richard Biener  <rguenther@suse.de>
1458
1459         Backport from mainline
1460         2012-07-04  Richard Guenther  <rguenther@suse.de>
1461
1462         PR tree-optimization/53844
1463         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1464         the loop virtual PHI.
1465
1466 2013-02-13  David S. Miller  <davem@davemloft.net>
1467
1468         * expmed.c (expand_shift_1): Only strip scalar integer subregs.
1469
1470 2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1471
1472         Backport from mainline
1473         2013-02-11  Uros Bizjak  <ubizjak@gmail.com>
1474
1475         PR rtl-optimization/56275
1476         * simplify-rtx.c (avoid_constant_pool_reference): Check that
1477         offset is non-negative and less than cmode size before
1478         calling simplify_subreg.
1479
1480 2013-02-09  Uros Bizjak  <ubizjak@gmail.com>
1481
1482         Backport from mainline
1483         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1484
1485         * config/i386/sse.md (FMAMODEM): New mode iterator.
1486         (fma<mode>4, fms<mode>4, fnma<mode>4, fnms<mode>4): Use FMAMODEM
1487         mode iterator. Do not use TARGET_SSE_MATH in insn constraint.
1488
1489         2013-02-08  Uros Bizjak  <ubizjak@gmail.com>
1490
1491         * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
1492         when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
1493         * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
1494
1495 2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1496
1497         Backport from mainline
1498         2013-02-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
1499
1500         PR target/56043
1501         * config/rs6000/rs6000.c (rs6000_builtin_vectorized_libmass):
1502         If there is no implicit builtin declaration, just return NULL.
1503
1504 2013-02-08  David Edelsohn  <dje.gcc@gmail.com>
1505             Michael Meissner  <meissner@linux.vnet.ibm.com>
1506
1507         Backport from mainline
1508         * config/rs6000/rs6000.c (rs6000_option_override_internal): Clear
1509         MASK_VSX from set_masks if OS_MISSING_ALTIVEC.
1510
1511 2013-02-07  David S. Miller  <davem@davemloft.net>
1512
1513         * dwarf2out.c (based_loc_descr): Perform leaf register remapping
1514         on 'reg'.
1515         * var-tracking.c (vt_add_function_parameter): Test the presence of
1516         HAVE_window_save properly and do not remap argument registers when
1517         we have a leaf function.
1518
1519 2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1520
1521         Backport from mainline
1522         2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
1523
1524         PR bootstrap/56227
1525         * ggc-page.c (ggc_print_statistics): Use HOST_LONG_LONG_FORMAT
1526         instead of "ll".
1527         * config/i386/i386.c (ix86_print_operand): Ditto.
1528
1529 2013-02-07  Alan Modra  <amodra@gmail.com>
1530
1531         PR target/53040
1532         * config/rs6000/rs6000.c (rs6000_savres_strategy): When using
1533         static chain, set REST_INLINE_FPRS too.
1534
1535 2013-02-06  David Edelsohn  <dje.gcc@gmail.com>
1536
1537         Backport from mainline
1538         2013-01-25  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1539
1540         * configure.ac (gcc_cv_ld_static_dynamic): Define for AIX native ld.
1541         * configure: Regenerate.
1542
1543 2013-02-05  David Edelsohn  <dje.gcc@gmail.com>
1544
1545         Backport from mainline
1546         2013-02-03  David Edelsohn  <dje.gcc@gmail.com>
1547                     Andrew Dixie  <andrewd@gentrack.com>
1548
1549         * collect2.c (GCC_CHECK_HDR): Do not scan objects with F_LOADONLY
1550         flag set.
1551
1552 2013-02-05  Richard Biener  <rguenther@suse.de>
1553
1554         Backport from mainline
1555         2012-12-10  Richard Biener  <rguenther@suse.de>
1556
1557         PR tree-optimization/55107
1558         * tree-ssa-pre.c (struct pre_stats): Remove constified field.
1559         (bitmap_set_replace_value): Add gcc_unreachable.
1560         (do_regular_insertion): Re-write all_same handling.  Insert
1561         an assignment instead of a PHI in this case.
1562         (execute_pre): Do not record constified events.
1563
1564 2013-02-05  Richard Biener  <rguenther@suse.de>
1565
1566         PR tree-optimization/54767
1567         * tree-vrp.c (vrp_visit_phi_node): For PHI arguments coming via
1568         backedges drop all symbolical range information.
1569         (execute_vrp): Compute backedges.
1570
1571 2013-02-04  Richard Biener  <rguenther@suse.de>
1572
1573         Backport from mainline
1574         2012-01-11  Richard Guenther  <rguenther@suse.de>
1575
1576         PR tree-optimization/44061
1577         * tree-vrp.c (extract_range_basic): Compute zero as
1578         value-range for __builtin_constant_p of function parameters.
1579
1580         2013-01-08  Jakub Jelinek  <jakub@redhat.com>
1581
1582         PR middle-end/55890
1583         * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_class_p.
1584
1585 2013-02-04  Richard Biener  <rguenther@suse.de>
1586
1587         Backport from mainline
1588         2012-07-04  Richard Guenther  <rguenther@suse.de>
1589
1590         PR tree-optimization/53844
1591         * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
1592         the loop virtual PHI.
1593
1594         2012-12-13  Richard Biener  <rguenther@suse.de>
1595
1596         PR lto/55660
1597         * tree-streamer.c (record_common_node): Check that we are not
1598         recursively pre-loading nodes we want to skip.  Handle
1599         char_type_node appearing as part of va_list_type_node.
1600
1601 2013-02-04  Richard Biener  <rguenther@suse.de>
1602
1603         PR middle-end/55890
1604         * gimple.h (gimple_call_builtin_class_p): New function.
1605         * gimple.c (validate_call): New function.
1606         (gimple_call_builtin_class_p): Likewise.
1607         * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
1608         Use gimple_call_builtin_class_p.
1609         (find_func_clobbers): Likewise.
1610         * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
1611         (strlen_optimize_stmt): Likewise.
1612
1613 2013-02-01  Jakub Jelinek  <jakub@redhat.com>
1614
1615         Backported from mainline
1616         2013-01-28  Jakub Jelinek  <jakub@redhat.com>
1617
1618         PR tree-optimization/56125
1619         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Don't optimize
1620         pow(x,c) into sqrt(x) * powi(x, n/2) or
1621         1.0 / (sqrt(x) * powi(x, abs(n/2))) if c is an integer or when
1622         optimizing for size.
1623         Don't optimize pow(x,c) into powi(x, n/3) * powi(cbrt(x), n%3) or
1624         1.0 / (powi(x, abs(n)/3) * powi(cbrt(x), abs(n)%3)) if 2c is an
1625         integer.
1626
1627         2013-01-25  Jakub Jelinek  <jakub@redhat.com>
1628
1629         PR tree-optimization/56098
1630         * tree-ssa-phiopt.c (nt_init_block): Don't call add_or_mark_expr
1631         for stmts with volatile ops.
1632         (cond_store_replacement): Don't optimize if assign has volatile ops.
1633         (cond_if_else_store_replacement_1): Don't optimize if either
1634         then_assign or else_assign have volatile ops.
1635
1636         2013-01-23  Jakub Jelinek  <jakub@redhat.com>
1637
1638         PR target/49069
1639         * config/arm/arm.md (cbranchdi4, cstoredi4): Use s_register_operand
1640         instead of cmpdi_operand for first comparison operand.
1641         Don't assert that comparison operands aren't both constants.
1642
1643         2013-01-21  Jakub Jelinek  <jakub@redhat.com>
1644
1645         PR tree-optimization/56051
1646         * fold-const.c (fold_binary_loc): Don't fold
1647         X < (cast) (1 << Y) into (X >> Y) != 0 if cast is either
1648         a narrowing conversion, or widening conversion from signed
1649         to unsigned.
1650
1651         2013-01-18  Jakub Jelinek  <jakub@redhat.com>
1652
1653         PR middle-end/56015
1654         * expr.c (expand_expr_real_2) <case COMPLEX_EXPR>: Handle
1655         the case where writing real complex part of target modifies
1656         op1.
1657
1658         2013-01-15  Jakub Jelinek  <jakub@redhat.com>
1659
1660         PR target/55940
1661         * function.c (thread_prologue_and_epilogue_insns): Always
1662         add crtl->drap_reg to set_up_by_prologue.set, even if
1663         stack_realign_drap is false.
1664
1665         2013-01-10  Jakub Jelinek  <jakub@redhat.com>
1666
1667         PR tree-optimization/55921
1668         * tree-complex.c (expand_complex_asm): New function.
1669         (expand_complex_operations_1): Call it for GIMPLE_ASM.
1670
1671         2013-01-03  Jakub Jelinek  <jakub@redhat.com>
1672
1673         PR rtl-optimization/55838
1674         * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
1675         iv0.step, iv1.step and step.
1676
1677         2012-11-23  Jakub Jelinek  <jakub@redhat.com>
1678
1679         PR c++/54046
1680         * Makefile.in (gimple-low.o): Depend on langhooks.h.
1681         * gimple-low.c: Include langhooks.c.
1682         (block_may_fallthru): Handle TARGET_EXPR and ERROR_MARK,
1683         by default call lang_hooks.block_may_fallthru.
1684         * langhooks.h (struct lang_hooks): Add block_may_fallthru
1685         langhook.
1686         * langhooks-def.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
1687         (LANG_HOOKS_INITIALIZER): Use it.
1688
1689         2012-11-20  Jakub Jelinek  <jakub@redhat.com>
1690
1691         PR middle-end/55094
1692         * builtins.c (expand_builtin_trap): Add REG_ARGS_SIZE note
1693         on the trap insn for !ACCUMULATE_OUTGOING_ARGS.
1694         * cfgcleanup.c (outgoing_edges_match): Don't look at debug insns
1695         on the first old_insns_match_p call.  For !ACCUMULATE_OUTGOING_ARGS
1696         fail if the last real insn doesn't have REG_ARGS_SIZE note.
1697
1698         2012-11-17  Jakub Jelinek  <jakub@redhat.com>
1699
1700         PR tree-optimization/55236
1701         * fold-const.c (make_range_step) <case NEGATE_EXPR>: For -fwrapv
1702         and signed ARG0_TYPE, force low and high to be non-NULL.
1703
1704         2012-11-13  Jakub Jelinek  <jakub@redhat.com>
1705
1706         PR rtl-optimization/54127
1707         * cfgrtl.c (force_nonfallthru_and_redirect): When redirecting
1708         asm goto labels from BB_HEAD (e->dest) to target bb, decrement
1709         LABEL_NUSES of BB_HEAD (e->dest) and increment LABEL_NUSES of
1710         BB_HEAD (target) appropriately and adjust JUMP_LABEL and/or
1711         REG_LABEL_TARGET and REG_LABEL_OPERAND.
1712
1713 2013-02-01  Eric Botcazou  <ebotcazou@adacore.com>
1714
1715         * fold-const.c (make_range_step) <TRUTH_NOT_EXPR>: Bail out if the
1716         range isn't testing for zero.
1717
1718 2013-01-29  Richard Biener  <rguenther@suse.de>
1719
1720         PR tree-optimization/56113
1721         * tree-ssa-structalias.c (equiv_class_lookup): Also return
1722         the bitmap leader.
1723         (label_visit): Free duplicate bitmaps and record the leader instead.
1724         (perform_var_substitution): Adjust.
1725
1726 2013-01-28  Serowk  <serowk@yandex.ru>
1727
1728         PR target/35294
1729         * config/arm/arm.c (arm_expand_binop_builtin): Add new parameter.
1730         Fix mode checks to allow for the passing of constants in the
1731         second parameter.
1732         (arm_expand_builtin): Adjust calls to arm_expand_binop_builtin.
1733         Add entries in the switch statement for builtin iwmmxt vector
1734         shift and rotate builtins.
1735
1736 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1737
1738         Backport from mainline
1739         2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1740
1741         PR target/56114
1742         * config/i386/i386.md (*movabs<mode>_1): Add square brackets around
1743         operand 0 in movabs insn template for -masm=intel asm alternative.
1744         (*movabs<mode>_2): Ditto for operand 1.
1745
1746 2013-01-27  Uros Bizjak  <ubizjak@gmail.com>
1747
1748         Backport from mainline
1749         2013-01-22  Uros Bizjak  <ubizjak@gmail.com>
1750
1751         PR target/56028
1752         * config/i386/i386.md (*movti_internal_rex64): Change (o,riF)
1753         alternative to (o,r).
1754         (*movdi_internal_rex64): Remove (!o,n) alternative.
1755         (DImode immediate->memory splitter): Remove.
1756         (DImode immediate->memory peephole2): Remove.
1757         (movtf): Enable for TARGET_64BIT || TARGET_SSE.
1758         (*movtf_internal_rex64): Rename from *movtf_internal. Change (!o,F*r)
1759         alternative to (!o,*r).
1760         (*movtf_internal_sse): New pattern.
1761         (*movxf_internal_rex64): New pattern.
1762         (*movxf_internal): Disable for TARGET_64BIT.
1763         (*movdf_internal_rex64): Remove (!o,F) alternative.
1764
1765         2013-01-23  Uros Bizjak  <ubizjak@gmail.com>
1766
1767         * config/i386/i386.md (*movdf_internal_rex64): Disparage alternatives
1768         involving stack registers slightly.
1769
1770         2013-01-24  Uros Bizjak  <ubizjak@gmail.com>
1771
1772         * config/i386/constraints.md (Yf): New constraint.
1773         * config/i386/i386.md (*movdf_internal_rex64): Use Yf*f instead
1774         of f constraint to conditionaly disable x87 register preferences.
1775         (*movdf_internal): Ditto.
1776         (*movsf_internal): Ditto.
1777
1778         2012-01-24  Uros Bizjak  <ubizjak@gmail.com>
1779
1780         * config/i386/i386.md (*movti_internal_rex64): Add (o,e) alternative.
1781         (*movtf_internal_rex64): Add (!o,C) alternative
1782         (*movxf_internal_rex64): Ditto.
1783         (*movdf_internal_rex64): Add (?r,C) and (?m,C) alternatives.
1784
1785 2013-01-25  Georg-Johann Lay  <avr@gjlay.de>
1786
1787         * doc/invoke.texi (AVR Built-in Macros): Document __XMEGA__.
1788
1789 2013-01-24  Martin Jambor  <mjambor@suse.cz>
1790
1791         Backport from mainline
1792         2013-01-04  Martin Jambor  <mjambor@suse.cz>
1793
1794         PR tree-optimization/55755
1795         * tree-sra.c (sra_modify_assign): Do not check that an access has no
1796         children when trying to avoid producing a VIEW_CONVERT_EXPR.
1797
1798 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1799
1800         Backport from mainline
1801         2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1802
1803         * config/i386/i386.md (enabled): Do not disable fma4 for TARGET_FMA.
1804
1805 2013-01-21  Uros Bizjak  <ubizjak@gmail.com>
1806
1807         PR rtl-optimization/56023
1808         * haifa-sched.c (fix_inter_tick): Do not update ticks of instructions,
1809         dependent on debug instruction.
1810
1811 2013-01-21  Martin Jambor  <mjambor@suse.cz>
1812
1813         Backport from mainline
1814         2013-01-17  Martin Jambor  <mjambor@suse.cz>
1815
1816         PR tree-optimizations/55264
1817         * cgraph.c (cgraph_create_virtual_clone): Mark clones as non-virtual.
1818         * cgraph.h (cgraph_only_called_directly_p_or_aliased_p): Return false
1819         for virtual functions.
1820         * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
1821         for virtual methods.
1822         * ipa.c (cgraph_remove_unreachable_nodes): Never return true for
1823         virtual methods before inlining is over.
1824
1825 2013-01-17  Uros Bizjak  <ubizjak@gmail.com>
1826
1827         Backport from mainline
1828         2012-01-17  Uros Bizjak  <ubizjak@gmail.com>
1829
1830         PR target/55981
1831         * config/i386/sync.md (atomic_store<mode>): Generate SWImode
1832         store through atomic_store<mode>_1.
1833         (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
1834
1835 2013-01-16  Richard Biener  <rguenther@suse.de>
1836
1837         PR middle-end/55882
1838         * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
1839         account for bitpos when computing alignment.
1840
1841 2013-01-14  Georg-Johann Lay  <avr@gjlay.de>
1842
1843         Backport from 2013-01-14 trunk r195169.
1844
1845         PR target/55974
1846         * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
1847         etc. to 1 and not to __flash.
1848         Use LL suffix for __INT24_MAX__ with -mint8.
1849         Use ULL suffix for __UINT24_MAX__ with -mint8.
1850
1851 2013-01-14  Matthias Klose  <doko@ubuntu.com>
1852
1853         * doc/invoke.texi: Document -print-multiarch.
1854         * doc/install.texi: Document --enable-multiarch.
1855         * doc/fragments.texi: Document MULTILIB_OSDIRNAMES, MULTIARCH_DIRNAME.
1856         * configure.ac: Add --enable-multiarch option.
1857         Substitute with_cpu, with_float.
1858         * configure: Regenerate.
1859         * Makefile.in (s-mlib): Pass MULTIARCH_DIRNAME to genmultilib.
1860         enable_multiarch, with_cpu, with_float: New macros.
1861         if_multiarch: New macro, define in terms of enable_multiarch.
1862         * genmultilib: Add new argument for the multiarch name.
1863         * gcc.c (multiarch_dir): Define.
1864         (for_each_path): Search for multiarch suffixes.
1865         (driver_handle_option): Handle multiarch option.
1866         (do_spec_1): Pass -imultiarch if defined.
1867         (main): Print multiarch.
1868         (set_multilib_dir): Separate multilib and multiarch names
1869         from multilib_select.
1870         (print_multilib_info): Ignore multiarch names in multilib_select.
1871         * incpath.c (add_standard_paths): Search the multiarch include dirs.
1872         * cppdefault.h (default_include): Document multiarch in multilib
1873         member.
1874         * cppdefault.c: [LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR] Add an
1875         include directory for multiarch directories.
1876         * common.opt: New options --print-multiarch and -imultilib.
1877
1878         * config.gcc <i[34567]86-*-linux* | x86_64-*-linux*> (tmake_file):
1879         Include i386/t-linux.
1880         <i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu> (tmake_file):
1881         Include i386/t-kfreebsd.
1882         <i[34567]86-*-gnu*> (tmake_file): Include i386/t-gnu.
1883         * config/i386/t-linux64: Add multiarch names in
1884         MULTILIB_OSDIRNAMES, define MULTIARCH_DIRNAME.
1885         * config/i386/t-gnu: New file.
1886         * config/i386/t-kfreebsd: Likewise.
1887         * config/i386/t-linux: Likewise.
1888
1889         * config/sparc/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1890         * config/sparc/t-linux: New file; define MULTIARCH_DIRNAME.
1891         * config.gcc <sparc-*-linux*> (tmake_file): Include sparc/t-linux
1892         for 32bit non-biarch configurations.
1893
1894         * config/pa/t-linux: New file; define MULTIARCH_DIRNAME.
1895         * config.gcc <hppa*64*-*-linux*, hppa*-*-linux*> (tmake_file):
1896         Include pa/t-linux.
1897
1898         * config/mips/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1899
1900         * config/arm/t-linux-eabi: Define MULTIARCH_DIRNAME for linux target.
1901
1902         * config/rs6000/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1903         * config/rs6000/t-linux: New file; define MULTIARCH_DIRNAME.
1904         * config/rs6000/t-fprules (SOFT_FLOAT_CPUS): New macro. Add e300c2
1905         to the list.
1906         (MULTILIB_MATCHES_FLOAT): Define in terms of SOFT_FLOAT_CPUS.
1907         * config.gcc <powerpc-*-linux* | powerpc64-*-linux*> (tmake_file):
1908         Include rs6000/t-linux for 32bit non-biarch configurations.
1909
1910         * config/s390/t-linux64: Add multiarch names in MULTILIB_OSDIRNAMES.
1911
1912         * config/m68k/t-linux: Define MULTIARCH_DIRNAME.
1913
1914         * config/ia64/t-linux: New file; define MULTIARCH_DIRNAME.
1915         * config.gcc <ia64*-*-linux*> (tmake_file): Include ia64/t-linux.
1916
1917         * config/alpha/t-linux: New file; define MULTIARCH_DIRNAME.
1918         * config.gcc <alpha*-*-linux*> (tmake_file): Include alpha/t-linux.
1919
1920 2013-01-14  Eric Botcazou  <ebotcazou@adacore.com>
1921
1922         * tree-vectorizer.h (vect_get_single_scalar_iteraion_cost): Fix typo.
1923         * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Likewise.
1924         (vect_estimate_min_profitable_iter): Adjust to above fix.
1925         * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
1926
1927 2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1928
1929         Backport from mainline
1930         2013-01-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
1931
1932         * doc/extend.texi (X86 Built-in Functions): Add whitespace in
1933         __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
1934         documentation.  Add missing '__' in front of
1935         __builtin_ia32_packssdw256.
1936
1937 2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1938
1939         Backport from mainline
1940         2013-01-09  Uros Bizjak  <ubizjak@gmail.com>
1941
1942         * config/i386/sse.md (*vec_interleave_highv2df): Change mode
1943         attribute of movddup insn to DF.
1944         (*vec_interleave_lowv2df): Ditto.
1945         (vec_dupv2df): Ditto.
1946
1947 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1948
1949         Backport from 2013-01-07 trunk r194991, r194992.
1950
1951         PR target/55897
1952         * doc/extend.texi (AVR Named Address Spaces): __memx goes into
1953         .progmemx.data now.
1954
1955         * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
1956         (avr_addrspace_t): Add .section_name field.
1957         * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
1958         array size.
1959         (avr_addrspace): Same.  Initialize .section_name.  Remove last
1960         NULL entry.  Put __memx into .progmemx.data.
1961         (progmem_section_prefix): Remove.
1962         (avr_asm_init_sections): No need to initialize progmem_section.
1963         (avr_asm_named_section): Use avr_addrspace[].section_name to get
1964         section name prefix.
1965         (avr_asm_select_section): Ditto.  And use get_unnamed_section to
1966         retrieve the progmem section.
1967         * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
1968         boundary to run over avr_addrspace[].
1969         (avr_register_target_pragmas): Ditto.
1970
1971 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1972
1973         Backport from 2013-01-07 trunk r194978.
1974
1975         PR target/54461
1976         * doc/install.texi (Cross-Compiler-Specific Options): Document
1977         --with-avrlibc.
1978
1979 2013-01-07  Georg-Johann Lay  <avr@gjlay.de>
1980
1981         Backport from 2013-01-07 trunk r194968.
1982
1983         PR other/55243
1984         * config/avr/t-avr: Don't automatically rebuild
1985         $(srcdir)/config/avr/t-multilib
1986         $(srcdir)/config/avr/avr-tables.opt
1987         (avr-mcus): New phony target to build them on request.
1988         (s-avr-mlib): Remove.
1989         * avr/avr-mcus.def: Adjust comments.
1990
1991 2013-01-07  Terry Guo  <terry.guo@arm.com>
1992
1993         Backport from mainline
1994         2012-12-19  Terry Guo  <terry.guo@arm.com>
1995
1996         * config/arm/arm.c (thumb_find_work_register): Check argument
1997         register number based on current PCS.
1998
1999 2013-01-06  Uros Bizjak  <ubizjak@gmail.com>
2000
2001         Backport from mainline
2002         2013-01-03  Uros Bizjak  <ubizjak@gmail.com>
2003
2004         PR target/55712
2005         * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
2006         selected code model, define __code_mode_small__, __code_model_medium__,
2007         __code_model_large__, __code_model_32__ or __code_model_kernel__.
2008         * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
2009         xchg temporary register with %k.  Declare temporary register as
2010         early clobbered.
2011         [__x86_64__]: For medium and large code models, preserve %rbx register.
2012
2013 2013-01-03  Richard Henderson  <rth@redhat.com>
2014
2015         * config/i386/i386.c (ix86_expand_move): Always assign to op1
2016         after eliminating TLS symbols.
2017
2018 2013-01-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2019
2020         PR target/53789
2021         * config/pa/pa.md (movsi): Revert previous change.
2022         * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
2023         references.
2024
2025 2013-01-02  Rainer Emrich  <rainer@emrich-ebersheim.de>
2026
2027         PR bootstrap/55707
2028         * graphite-dependences.c (hash_poly_ddr_p): Cast from pointer via
2029         intptr_t.
2030
2031 2013-01-02  Jason Merrill  <jason@redhat.com>
2032
2033         PR c++/55804
2034         * tree.c (build_array_type_1): Revert earlier change.
2035
2036 2012-12-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2037
2038         PR target/53789
2039         * config/pa/pa.md (movsi): Reject expansion of TLS symbol references
2040         after reload starts.
2041
2042 2012-12-21  Martin Jambor  <mjambor@suse.cz>
2043
2044         PR tree-optimization/55355
2045         * tree-sra.c (type_internals_preclude_sra_p): Also check that
2046         bit_position is small enough to fit a single HOST_WIDE_INT.
2047
2048 2012-12-21  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2049
2050         * config.gcc: Match arm*-*-uclinux*eabi* for EABI uCLinux.
2051
2052 2012-12-18  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2053
2054         Backport from mainline
2055         2012-10-15  Matthias Klose  <doko@ubuntu.com>
2056
2057         * config.gcc: Match arm*-*-linux-* for ARM Linux/GNU.
2058         * doc/install.texi: Use arm-*-*linux-* instead of arm-*-*linux-gnueabi.
2059
2060 2012-12-16  Eric Botcazou  <ebotcazou@adacore.com>
2061             Tomash Brechko  <tomash.brechko@gmail.com>
2062
2063         PR target/55673
2064         * config/sparc/sparc.c (sparc_emit_membar_for_model): Fix reversed
2065         handling of before and after cases.
2066         * config/sparc/sync.md (atomic_store): Fix pasto.
2067
2068 2012-12-14  Yvan Roux  <yvan.roux@linaro.org>
2069
2070         * optabs.c (expand_atomic_store): Elide redundant model test.
2071
2072 2012-12-13  Richard Henderson  <rth@redhat.com>
2073
2074         PR middle-end/55492
2075         * optabs.c (expand_atomic_load): Emit acquire barrier after the load.
2076
2077 2012-12-11  Eric Botcazou  <ebotcazou@adacore.com>
2078
2079         PR target/54121
2080         * config/sparc/sparc.md (tldo_stb_sp32): Fix pasto.
2081         (tldo_stb_sp64): Likewise.
2082         (tldo_sth_sp32): Likewise.
2083         (tldo_sth_sp64): Likewise.
2084         (tldo_stw_sp32): Likewise.
2085         (tldo_stw_sp64): Likewise.
2086         (tldo_stx_sp64): Likewise.
2087
2088 2012-12-10 Kai Tietz  <ktietz@redhat.com>
2089
2090         PR target/53912
2091         * print-tree.c (print_node): Cast from pointer via uintptr_t.
2092
2093 2012-12-07  Uros Bizjak  <ubizjak@gmail.com>
2094
2095         Backport from mainline
2096         2012-12-06  Uros Bizjak  <ubizjak@gmail.com>
2097                     H.J. Lu  <hongjiu.lu@intel.com>
2098
2099         PR target/55597
2100         * config/i386/i386.c (legitimize_tls_address): Zero-extend x to Pmode,
2101         before using it as insn or call equivalent.
2102
2103 2012-12-06  Jason Merrill  <jason@redhat.com>
2104
2105         PR c++/55032
2106         * tree.c (build_array_type_1): Re-layout if we found it in the
2107         hash table.
2108
2109 2012-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2110
2111         * config/pa/pa.md: Use "const_int 0" instead of match_test to simplify
2112         opaque cond in all call insns.
2113
2114 2012-12-03  Eric Botcazou  <ebotcazou@adacore.com>
2115
2116         * config/ia64/ia64.c (ia64_compute_frame_size): Allocate the scratch
2117         area if the function allocates dynamic stack space.
2118         (ia64_initial_elimination_offset): Adjust offsets to above change.
2119
2120 2012-12-03  Richard Biener  <rguenther@suse.de>
2121
2122         Backport from mainline
2123         2012-09-24  Richard Guenther  <rguenther@suse.de>
2124
2125         PR tree-optimization/53663
2126         * tree-ssa-sccvn.c (vn_reference_lookup_3): Conditional
2127         native encode/interpret translation on VN_WALKREWRITE.
2128
2129 2012-12-03 Kai Tietz  <ktietz@redhat.com>
2130
2131         PR target/53912
2132         * ggc-common.c (POINTER_HASH): Cast from pointer via intptr_t.
2133
2134         PR target/53912
2135         * tree-dump.c (dump_pointer): Print pointer via HOST_WIDE_INT_PRINT.
2136
2137         PR target/53912
2138         * pointer-set.c (hash1): Cast from pointer via uintptr_t.
2139
2140 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2141
2142         Backport from mainline:
2143         2012-11-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2144
2145         PR target/55195
2146         * config/pa/pa.md (type): Add sibcall and sh_func_adrs insn types.
2147         (in_branch_delay): Don't allow sibcall or sh_func_adrs insns.
2148         (in_nullified_branch_delay): Likewise.
2149         (in_call_delay): Likewise.
2150         Define delay for sibcall insns.  Adjust Z3 and Z4 insn reservations for
2151         new types.  Add opaque cond to mark all calls, sibcalls, dyncalls and
2152         the $$sh_func_adrs call as variable.  Update type of sibcalls and
2153         $$sh_func_adrs call.
2154         * config/pa/pa.c (pa_adjust_insn_length): Revise to return updated
2155         length instead of adjustment.  Handle negative and undefined call
2156         adjustments for insn_default_length.  Remove adjustment for millicode
2157         insn with unfilled delay slot.
2158         (pa_output_millicode_call): Update for revised millicode length.
2159         * config/pa/pa.h (ADJUST_INSN_LENGTH): Revise to set LENGTH.
2160
2161 2012-11-29  Kai Tietz  <ktietz@redhat.com>
2162
2163         PR target/55171
2164         * prefix.c (lookup_key): Replace xmalloc/xrealloc
2165         use by XNEWVEC/XRESIZEVEC.
2166
2167         * i386.c (get_scratch_register_on_entry): Handle
2168         thiscall-convention.
2169         (split_stack_prologue_scratch_regno): Likewise.
2170         (ix86_static_chain): Likewise.
2171         (x86_output_mi_thunk): Likewise.
2172
2173 2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>
2174
2175         Backported from mainline
2176         2012-11-27  H.J. Lu  <hongjiu.lu@intel.com>
2177                     Markus Trippelsdorf  <markus@trippelsdorf.de>
2178
2179         PR lto/54795
2180         * lto-opts.c (lto_write_options): Also handle
2181         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore and
2182         OPT_SPECIAL_program_name.
2183
2184         PR lto/55474
2185         * lto-wrapper.c (merge_and_complain): Handle
2186         OPT_SPECIAL_unknown, OPT_SPECIAL_ignore,
2187         OPT_SPECIAL_program_name and OPT_SPECIAL_input_file.
2188
2189 2012-11-27  Paolo Bonzini  <pbonzini@redhat.com>
2190
2191         PR rtl-optimization/55489
2192         * gcse.c (compute_transp): Precompute a canonical version
2193         of XEXP (x, 0), and pass it to canon_true_dependence.
2194
2195 2012-11-27  Richard Biener  <rguenther@suse.de>
2196
2197         PR middle-end/55331
2198         * gimple-fold.c (gimplify_and_update_call_from_tree): Replace
2199         stmt with a NOP instead of removing it.
2200
2201 2012-11-26  Richard Biener  <rguenther@suse.de>
2202
2203         Backport from mainline
2204         2012-10-19  Richard Biener  <rguenther@suse.de>
2205
2206         PR tree-optimization/54976
2207         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2208         Robustify against odd inner_mode inputs.
2209
2210         2012-10-12  Richard Biener  <rguenther@suse.de>
2211
2212         PR tree-optimization/54894
2213         * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
2214         Handle over-aligned scalar types properly.
2215
2216         2012-10-02  Richard Guenther  <rguenther@suse.de>
2217
2218         PR middle-end/54735
2219         * tree-ssa-pre.c (do_pre): Make sure to update virtual SSA form before
2220         cleaning up the CFG.
2221
2222 2012-11-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2223
2224         Backport from mainline
2225         2012-11-20  Michael Meissner  <meissner@linux.vnet.ibm.com>
2226
2227         * config/rs6000/rs6000.md (movdf_hardfloat32): Add a comment
2228         explaining the register ordering preferences.
2229
2230         2012-11-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2231         * config/rs6000/rs6000.md (movdf_hardfloat32): Reorder move
2232         constraints so that the traditional floating point loads, stores,
2233         and moves are done first, then the VSX loads, stores, and moves,
2234         and finally the GPR loads, stores, and moves so that reload
2235         chooses FPRs over GPRs, and uses the traditional load/store
2236         instructions which provide an offset.
2237         (movdf_hardfloat64): Likewise.
2238
2239 2012-11-19  H.J. Lu  <hongjiu.lu@intel.com>
2240
2241         Backported from mainline
2242         2012-11-13  Eric Botcazou  <ebotcazou@adacore.com>
2243                     H.J. Lu  <hongjiu.lu@intel.com>
2244
2245         PR middle-end/55142
2246         * config/i386/i386.c (legitimize_pic_address): Properly handle
2247         REG + CONST.
2248         (ix86_print_operand_address): Set code to 'k' when forcing
2249         addr32 prefix.  For x32, zero-extend negative displacement if
2250         it < -16*1024*1024.
2251
2252 2012-11-12  Eric Botcazou  <ebotcazou@adacore.com>
2253
2254         * common.opt (fvar-tracking-uninit): Document.
2255         * toplev.c (process_options): Fix handling of flag_var_tracking_uninit.
2256         * config/darwin.c (darwin_override_options): Likewise.
2257
2258 2012-11-11  Eric Botcazou  <ebotcazou@adacore.com>
2259
2260         * config/sparc/sparc.h (AS_NIAGARA3_FLAG): Tweak.
2261         * config/sparc/sol2.h (TARGET_CPU_niagara4 support): Fix pasto.
2262
2263 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2264
2265         * doc/install.texi (sparc64-x-solaris2): Mention MPC as well.
2266
2267 2012-11-09  Eric Botcazou  <ebotcazou@adacore.com>
2268
2269         * config/i386/i386.c (release_scratch_register_on_entry): Also adjust
2270         sp_offset manually.
2271
2272 2012-11-07  Uros Bizjak  <ubizjak@gmail.com>
2273
2274         Backport from mainline
2275         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2276
2277         * config/i386/i386.c (ix86_init_machine_status): Do not
2278         explicitly clear tls_descriptor_call_expanded_p again.
2279
2280         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2281
2282         * config/i386/sse.md
2283         (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Mark operand 0
2284         as read and written by the instruction.
2285
2286         2012-11-06  Uros Bizjak  <ubizjak@gmail.com>
2287
2288         * config/i386/i386.c (TARGET_INSTANTIATE_DECLS): New define.
2289         (ix86_instantiate_decls): New function.
2290         (ix86_expand_builtin) <case IX86_BUILTIN_LDMXCSR>: Use SLOT_TEMP
2291         stack slot instead of SLOT_VIRTUAL.
2292         <case IX86_BUILTIN_STMXCSR>: Ditto.
2293         (assign_386_stack_local): Do not assert when virtual slot is valid.
2294         * config/i386/i386.h (enum ix86_stack_slot): Remove SLOT_VIRTUAL.
2295         * config/i386/i386.md (truncdfsf2): Do not use SLOT_VIRTUAL stack slot.
2296         (truncxf<mode>2): Ditto.
2297         (floatunssi<mode>2): Ditto.
2298         (isinf<mode>2): Ditto.
2299         * config/i386/sync.md (atomic_load<mode>): Ditto.
2300         (atomic_store<mode>): Ditto.
2301
2302 2012-11-07  Eric Botcazou  <ebotcazou@adacore.com>
2303
2304         PR middle-end/55219
2305         * fold-const.c (fold_binary_op_with_conditional_arg): Do not fold if
2306         the argument is itself a conditional expression.
2307
2308 2012-11-05  H.J. Lu  <hongjiu.lu@intel.com>
2309
2310         * config/i386/i386.c (print_reg): Replace REX_INT_REG_P with
2311         REX_INT_REGNO_P.
2312
2313 2012-11-05  Eric Botcazou  <ebotcazou@adacore.com>
2314
2315         PR tree-optimization/54986
2316         * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op
2317         conversions on entry but add them back on exit if needed.
2318
2319 2012-11-05  Richard Sandiford  <rdsandiford@googlemail.com>
2320
2321         PR target/55204
2322         * config/i386/i386.c (ix86_address_subreg_operand): Remove stack
2323         pointer check.
2324         (print_reg): Use true_regnum rather than REGNO.
2325         (ix86_print_operand_address): Remove SUBREG handling.
2326
2327 2012-11-05  Jakub Jelinek  <jakub@redhat.com>
2328
2329         Backported from mainline
2330         2012-10-24  Jakub Jelinek  <jakub@redhat.com>
2331
2332         PR debug/54828
2333         * gimple.h (is_gimple_sizepos): New inline function.
2334         * gimplify.c (gimplify_one_sizepos): Use it.  Remove useless
2335         final assignment to expr variable.
2336         * tree.c (RETURN_TRUE_IF_VAR): Return true also if
2337         !TYPE_SIZES_GIMPLIFIED (type) and _t is going to be gimplified
2338         into a local temporary.
2339
2340         2012-10-10  Jakub Jelinek  <jakub@redhat.com>
2341
2342         PR tree-optimization/54877
2343         * tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
2344         use make_ssa_name instead of copy_ssa_name.
2345
2346 2012-11-03  Peter Bergner  <bergner@vnet.ibm.com>
2347
2348         Backport from mainline
2349         2012-10-31  Jakub Jelinek  <jakub@redhat.com>
2350
2351         PR tree-optimization/53708
2352         * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Preserve
2353         user-supplied alignment when used with an explicit section name.
2354
2355 2012-11-02  Jeff Law  <law@redhat.com>
2356
2357         PR tree-optimization/54985
2358         * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function extracted
2359         from thread_across_edge.
2360         (thread_across_edge): Use it in all cases where we might thread
2361         across a back edge.
2362
2363 2012-10-31  Eric Botcazou  <ebotcazou@adacore.com>
2364
2365         * config/i386/i386.c (ix86_expand_prologue): Emit frame info for the
2366         special register pushes before frame probing and allocation.
2367
2368 2012-10-31  Ralf Corsépius  <ralf.corsepius@rtems.org>,
2369             Joel Sherrill  <joel.sherrill@oarcorp.com>
2370
2371         * config/sparc/t-rtems: New (Custom multilibs).
2372         * config/sparc/t-rtems-64: New (Custom multilibs).
2373         * config.gcc (sparc64-*-rtems*): Add sparc/t-rtems-64.
2374         (sparc-*-rtems*): Add sparc/t-rtems.
2375
2376 2012-10-30  Eric Botcazou  <ebotcazou@adacore.com>
2377
2378         * cse.c (hash_rtx_cb): Replace RTX_UNCHANGING_P with MEM_READONLY_P in
2379         head comment.
2380         (hash_rtx): Likewise.
2381
2382 2012-10-29  Terry Guo  <terry.guo@arm.com>
2383
2384         Backport from mainline
2385         2012-10-11  Terry Guo  <terry.guo@arm.com>
2386
2387         * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
2388         architecture.
2389         * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
2390         instruction.
2391
2392 2012-10-26  Gunther Nikl  <gnikl@users.sourceforge.net>
2393
2394         * common/config/m68k/m68k-common.c (m68k_handle_option): Set
2395         gcc_options fields of opts_set for -m68020-40 and -m68020-60.
2396
2397 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2398
2399         * config/avr/t-rtems: Revert previous commit.
2400
2401 2012-10-26  Terry Guo  <terry.guo@arm.com>
2402
2403         Backport from mainline
2404         2012-10-23  Terry Guo  <terry.guo@arm.com>
2405
2406         PR target/55019
2407         * config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
2408         live argument regs.
2409
2410 2012-10-26  Ralf Corsépius  <ralf.corsepius@rtems.org>
2411
2412         * config/avr/rtems.h (TARGET_OS_CPP_BUILTINS): Remove
2413         __USE_INIT_FINI__.
2414         * config/avr/t-rtems (LIB1ASMFUNCS): Filter out _exit.
2415
2416 2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>
2417
2418         * config.gcc (microblaze*-*-rtems*): New target.
2419         * config/microblaze/rtems.h: New.
2420         * config/microblaze/t-rtems: New.
2421
2422 2012-10-25  Richard Biener  <rguenther@suse.de>
2423
2424         PR tree-optimization/54902
2425         * tree-ssa-pre.c (fini_pre): Return TODO.
2426         (execute_pre): Adjust.
2427         * tree-ssa-tailmerge.c (tail_merge_optimize): Delete unreachable
2428         blocks before computing dominators.
2429
2430 2012-10-24  Uros Bizjak  <ubizjak@gmail.com>
2431
2432         Backport from mainline
2433         2012-10-22  Uros Bizjak  <ubizjak@gmail.com>
2434
2435         * config/i386/i386.c (memory_address_length): Assert that non-null
2436         base or index RTXes are registers.  Do not check for REG RTXes.
2437         Determine addr32 prefix using SImode_address_operand or
2438         from original base and index RTXes.  Simplify code.
2439
2440         2012-10-21  Uros Bizjak  <ubizjak@gmail.com>
2441
2442         * config/i386/i386-protos.h (memory_address_length): Add new bool
2443         argument.  Update all uses.
2444         * config/i386/i386.c (memory_address_length): If not LEA insn, then
2445         add length of addr32 prefix based on mode of base or index register.
2446         (ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
2447         addresses here.  Update call to memory_address_length.
2448         (ix86_print_address_operand): Use SImode_address_operand predicate.
2449         * config/i386/predicates.md (SImode_address_operand): New.
2450         * config/i386/i386.md (lea<mode>): Use SImode_address_operand
2451         to calculate "mode" attribute.  Use SImode_address_operand predicate
2452         instead of open-coding accepted RTX codes.
2453
2454 2012-10-22  Georg-Johann Lay  <avr@gjlay.de>
2455
2456         Backport from 2012-10-22 trunk r192685.
2457         * doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
2458         Note __AVR_<device>__ is not defined for cores.
2459         Don't point to --help=target.
2460         Order --mcu= documentation according to trunk:/gcc/doc/avr-mmcu.texi.
2461
2462 2012-10-19  Marek Polacek  <polacek@redhat.com>
2463
2464         Backported from mainline
2465         2012-10-19  Marek Polacek  <polacek@redhat.com>
2466
2467         PR middle-end/54945
2468         * fold-const.c (fold_sign_changed_comparison):  Punt if folding
2469         pointer/non-pointer comparison.
2470
2471 2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2472
2473         Backported from mainline
2474         2012-10-19  Zhenqiang Chen <zhenqiang.chen@linaro.org>
2475
2476         PR target/54892
2477         * config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
2478         sure the mode is correct when falling through from above cases.
2479
2480 2012-10-19  Alan Modra  <amodra@gmail.com>
2481
2482         * configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
2483         (HAVE_LD_LARGE_TOC): Likewise.
2484         * configure: Regenerate.
2485
2486 2012-10-19  Alan Modra  <amodra@gmail.com>
2487
2488         * config/rs6000/predicates.md (splat_input_operand): Don't call
2489         input_operand for MEMs.  Instead check for volatile and call
2490         memory_address_addr_space_p with modified mode.
2491
2492 2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
2493
2494         Backported from mainline
2495         2012-07-23  Ulrich Weigand  <ulrich.weigand@linaro.org>
2496
2497         * config/arm/arm.c (arm_reorg): Ensure all insns are split.
2498
2499 2012-10-16  Eric Botcazou  <ebotcazou@adacore.com>
2500
2501         PR rtl-optimization/54870
2502         * tree.h (TREE_ADDRESSABLE): Document special usage on SSA_NAME.
2503         * cfgexpand.c (update_alias_info_with_stack_vars ): Set it on the
2504         SSA_NAME pointer that points to a partition if there is at least
2505         one variable with it set in the partition.
2506         * dse.c (local_variable_can_escape): New predicate.
2507         (can_escape): Call it.
2508         * gimplify.c (mark_addressable): If this is a partitioned decl, also
2509         mark the SSA_NAME pointer that points to a partition.
2510
2511 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2512
2513         Backport from mainline
2514         2012-08-09  Andrey Belevantsev  <abel@ispras.ru>
2515
2516         PR rtl-optimization/53701
2517         * sel-sched.c (vinsn_vec_has_expr_p): Clarify function comment.
2518         rocess not only expr's vinsns but all old vinsns from expr's
2519         istory of changes.
2520
2521 2012-10-16  Andrey Belevantsev  <abel@ispras.ru>
2522
2523         Backport from mainline
2524         2012-07-31  Andrey Belevantsev  <abel@ispras.ru>
2525         PR target/53975
2526
2527         * sel-sched-ir.c (has_dependence_note_reg_use): Clarify comment.
2528         Revert
2529         2011-08-04  Sergey Grechanik  <mouseentity@ispras.ru>
2530         * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
2531         only if producer writes to the register given by regno.
2532
2533 2012-09-15  Uros Bizjak  <ubizjak@gmail.com>
2534
2535         Backport from mainline
2536         2012-10-15  Uros Bizjak  <ubizjak@gmail.com>
2537
2538         * config/i386/sse.md (UNSPEC_MOVU): Remove.
2539         (UNSPEC_LOADU): New.
2540         (UNSPEC_STOREU): Ditto.
2541         (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
2542         (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
2543         (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
2544         (<sse2>_movdqu<avxsizesuffix>): Split to ...
2545         (<sse2>_loaddqu<avxsizesuffix>): ... this and ...
2546         (<sse2>_storedqu<avxsizesuffix>): ... this.
2547         (*sse4_2_pcmpestr_unaligned): Update.
2548         (*sse4_2_pcmpistr_unaligned): Ditto.
2549
2550         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
2551         gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
2552         gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
2553         (ix86_expand_vector_move_misalign): Use gen_sse_loadups or
2554         gen_sse2_load{dqu,upd} to load from unaligned memory and
2555         gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
2556         unaligned memory.
2557         (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
2558         Use CODE_FOR_sse_loadups.
2559         <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
2560         <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
2561         <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
2562         <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
2563         <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
2564         <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
2565         <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
2566         <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
2567         <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
2568         <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
2569         <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.
2570
2571 2012-10-15  Steven Bosscher  <steven@gcc.gnu.org>
2572
2573         Backport from trunk (r190222):
2574
2575         PR tree-optimization/54146
2576         * ifcvt.c: Include pointer-set.h.
2577         (cond_move_process_if_block): Change type of then_regs and
2578         else_regs from alloca'd array to pointer_sets.
2579         (check_cond_move_block): Update for this change.
2580         (cond_move_convert_if_block): Likewise.
2581         * Makefile.in: Fix dependencies for ifcvt.o.
2582
2583 2012-10-15  Richard Guenther  <rguenther@suse.de>
2584
2585         PR tree-optimization/54920
2586         * tree-ssa-pre.c (create_expression_by_pieces): Properly
2587         allocate temporary storage for all NARY elements.
2588
2589 2012-10-08  Georg-Johann Lay  <avr@gjlay.de>
2590
2591         PR target/54854
2592         * doc/invoke.texi (AVR Options): Deprecate -mshort-calls.
2593
2594 2012-10-05  Mark Kettenis  <kettenis@openbsd.org>
2595
2596         * config.gcc (*-*-openbsd4.[3-9]|*-*-openbsd[5-9]*): Set
2597         default_use_cxa_atexit to yes.
2598
2599 2012-10-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2600
2601         * config/pa/pa.md: Adjust unamed HImode add insn pattern.
2602
2603 2012-10-05  Jan Hubicka  <jh@suse.cz>
2604             Jakub Jelinek  <jakub@redhat.com>
2605
2606         PR tree-optimization/33763
2607         * tree-inline.c (expand_call_inline): Silently ignore always_inline
2608         attribute for redefined extern inline functions.
2609
2610 2012-10-03  H.J. Lu  <hongjiu.lu@intel.com>
2611
2612         Backported from mainline
2613         2012-10-03  Andrew W. Nosenko <andrew.w.nosenko@gmail.com>
2614
2615         * config/i386/driver-i386.c (host_detect_local_cpu): Fix logic
2616         in SSE and YMM state support check for -march=native.
2617
2618 2012-10-03  Alexandre Oliva <aoliva@redhat.com>
2619
2620         PR debug/53135
2621         * dwarf2out.c (value_format): Use block4 for dw_val_class_loc
2622         when needed.
2623
2624 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2625
2626         Backported from mainline
2627         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2628
2629         PR target/54785
2630         * doc/invoke.texi: Document -mprefer-avx128.
2631
2632 2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2633
2634         Backported from mainline
2635         2012-10-02  H.J. Lu  <hongjiu.lu@intel.com>
2636
2637         PR target/54741
2638         *  config/i386/driver-i386.c (XCR_XFEATURE_ENABLED_MASK): New.
2639         (XSTATE_FP): Likewise.
2640         (XSTATE_SSE): Likewise.
2641         (XSTATE_YMM): Likewise.
2642         (host_detect_local_cpu): Disable AVX, AVX2, FMA, FMA4 and XOP if
2643         SSE and YMM states aren't supported.
2644
2645 2012-10-01  Tom de Vries  <tom@codesourcery.com>
2646
2647         * var-tracking.c (set_dv_changed): Add an 'inline' function specifier to
2648         the prototype.
2649
2650 2012-10-01  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
2651
2652         PR target/54746
2653         * config/s390/s390.c (s390_option_override): Add missing break.
2654
2655 2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2656
2657         Backport from mainline
2658         2012-09-29  Andreas Tobler  <andreast@fgznet.ch>
2659
2660         * config.gcc: Replace 'host' with 'target' when configuring for
2661         powerpc64*-*-freebsd.
2662
2663 2012-09-28  Meador Inge  <meadori@codesourcery.com>
2664
2665         Backport from mainline
2666         2012-09-27  Meador Inge  <meadori@codesourcery.com>
2667
2668         * gcc-ar.c (main): Handle the returning of the sub-process error
2669         code correctly.
2670
2671 2012-09-28  Georg-Johann Lay  <avr@gjlay.de>
2672
2673         Backport from 2012-09-28 trunk r191821.
2674         * config/avr/avr.c (avr_pgm_check_var_decl): Fix non-error diagnostic.
2675
2676 2012-09-27  Jakub Jelinek  <jakub@redhat.com>
2677
2678         PR target/54703
2679         * simplify-rtx.c (simplify_binary_operation_1): Perform
2680         (x - (x & y)) -> (x & ~y) optimization only for integral modes.
2681
2682 2012-09-24  Eric Botcazou  <ebotcazou@adacore.com>
2683
2684         * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream in
2685         TYPE_NONALIASED_COMPONENT flag.
2686         * tree-streamer-out.c (pack_ts_type_common_value_fields): Stream out
2687         TYPE_NONALIASED_COMPONENT flag.
2688
2689 2012-09-21  Richard Guenther  <rguenther@suse.de>
2690
2691         PR middle-end/54638
2692         Backport from mainline
2693         2012-04-19  Richard Guenther  <rguenther@suse.de>
2694
2695         * ira-int.h (ira_allocno_object_iter_cond): Avoid out-of-bound
2696         array access.
2697
2698 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2699
2700         PR c/54552
2701         * c-typeck.c (c_cast_expr): When casting to a type requiring
2702         C_MAYBE_CONST_EXPR to be created, pass the inner expression to
2703         c_fully_fold first.
2704
2705 2012-09-20  Joseph Myers  <joseph@codesourcery.com>
2706
2707         PR c/54103
2708         * c-typeck.c (build_unary_op): Pass original argument of
2709         TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
2710         any C_MAYBE_CONST_EXPR, if it has integer operands.
2711         (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
2712         TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
2713         to c_objc_common_truthvalue_conversion, then remove any
2714         C_MAYBE_CONST_EXPR, if they have integer operands.  Use
2715         c_objc_common_truthvalue_conversion not
2716         c_common_truthvalue_conversion.
2717         (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
2718         call note_integer_operands for arguments with integer operands
2719         that are not integer constants.
2720
2721 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2722
2723         Backported from mainline
2724         2012-09-17  Jakub Jelinek  <jakub@redhat.com>
2725
2726         PR tree-optimization/54563
2727         * tree-ssa-math-opts.c (execute_cse_sincos): Call
2728         gimple_purge_dead_eh_edges if last call has been changed.
2729
2730         2012-09-14  Jakub Jelinek  <jakub@redhat.com>
2731
2732         PR target/54564
2733         * config/i386/sse.md (fmai_vmfmadd_<mode>): Use (match_dup 1)
2734         instead of (match_dup 0) as second argument to vec_merge.
2735         (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>): Likewise.
2736         Remove third alternative.
2737         (*fmai_fnmadd_<mode>, *fmai_fnmsub_<mode>): Likewise.  Negate
2738         operand 2 instead of operand 1, but put it as first argument
2739         of fma.
2740         * config/i386/fmaintrin.h (_mm_fnmadd_sd, _mm_fnmadd_ss,
2741         _mm_fnmsub_sd, _mm_fnmsub_ss): Negate the second argument instead
2742         of the first.
2743
2744 2012-09-20  Jakub Jelinek  <jakub@redhat.com>
2745
2746         * BASE-VER: Set to 4.7.3.
2747         * DEV-PHASE: Set to prerelease.
2748
2749 2012-09-20  Release Manager
2750
2751         * GCC 4.7.2 released.
2752
2753 2012-09-15  Andi Kleen  <ak@linux.intel.com>
2754
2755         Backport from mainline
2756         2012-09-07  Andi Kleen  <ak@linux.intel.com>
2757
2758         * gcc/lto-streamer.h (res_pair): Add.
2759         (lto_file_decl_data): Replace resolutions with respairs.
2760         Add max_index.
2761         * gcc/lto/lto.c (lto_resolution_read): Remove max_index.  Add rp.
2762         Initialize respairs.
2763         (lto_file_finalize): Set up resolutions vector lazily from respairs.
2764
2765 2012-09-14  Walter Lee  <walt@tilera.com>
2766
2767         Backport from mainline.
2768         2012-09-14  Walter Lee  <walt@tilera.com>
2769
2770         * doc/invoke.texi (Option Summary): fix typesetting for -mcpu
2771         option for TILEPro and TILE-Gx.
2772
2773 2012-09-13  Uros Bizjak  <ubizjak@gmail.com>
2774
2775         * config/i386/i386.h (x86_prefetchw): New global variable.
2776         (TARGET_PREFETCHW): New macro.
2777         * config/i386/i386.c (PTA_PREFETCHW): Ditto.
2778         (processor_alias_table): Add PTA_PREFETCHW to
2779         bdver1, bdver2 and btver1.
2780         (ix86_option_override_internal): Set x86_prefetchw for
2781         PTA_PREFETCHW targets.
2782         * config/i386/i386.md (prefetch): Expand to prefetchw
2783         for TARGET_PREFETCHW.
2784         (*prefetch_3dnow_<mode>): Also enable for TARGET_PREFETCHW.
2785
2786         Backport from mainline
2787         2012-08-13  Uros Bizjak  <ubizjak@gmail.com>
2788
2789         * config/i386/i386.md (prefetch): Do not assert mode of operand 0.
2790         (*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
2791         Rename to ...
2792         (*prefetch_sse): ... this.
2793         (*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
2794         Rename to ...
2795         (*prefetch_3dnow): ... this.
2796
2797 2012-09-13  Jakub Jelinek  <jakub@redhat.com>
2798
2799         PR c/54559
2800         * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
2801         COMPLEX_TYPE with in_late_binary_op set temporarily to true.
2802
2803 2012-09-12  Teresa Johnson  <tejohnson@google.com>
2804
2805         Backport from mainline.
2806         2012-09-12  Teresa Johnson  <tejohnson@google.com>
2807
2808         PR gcov-profile/54487
2809         * configure.ac (HOST_HAS_F_SETLKW): Set based on compile
2810         test using F_SETLKW with fcntl.
2811         * configure, config.in: Regenerate.
2812
2813 2012-09-12  Uros Bizjak  <ubizjak@gmail.com>
2814
2815         Backport from mainline
2816         2012-09-12  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>
2817
2818         * config/i386/i386.md : Comments on fma4 instruction selection
2819         reflect requirement on register pressure based cost model.
2820
2821         * config/i386/driver-i386.c (host_detect_local_cpu): fma4
2822         flag is set-reset as informed by the cpuid flag.
2823
2824         * config/i386/i386.c (processor_alias_table): fma4
2825         flag is enabled for bdver2.
2826
2827 2012-09-12  Christian Bruel  <christian.bruel@st.com>
2828
2829         * config/sh/newlib.h (NO_IMPLICIT_EXTERN_C): Define.
2830
2831 2012-09-12  Jakub Jelinek  <jakub@redhat.com>
2832
2833         * config.gcc: Obsolete picochip-*.
2834
2835 2012-09-11  Richard Guenther  <rguenther@suse.de>
2836
2837         PR debug/54534
2838         * cgraph.h (varpool_can_remove_if_no_refs): Restore dependence
2839         on flag_toplevel_reorder.
2840
2841 2012-09-10  Richard Henderson  <rth@redhat.com>
2842
2843         * config/alpha/predicates.md (small_symbolic_operand): Disallow
2844         large offsets.
2845
2846 2012-09-10  Georg-Johann Lay  <avr@gjlay.de>
2847
2848         Backport from 2012-09-10 mainline r191132.
2849
2850         PR target/54536
2851         * config/avr/avr-mcus.def (at90usb1287): Set LIBRARY_NAME to "usb1287".
2852
2853 2012-09-10  Markus Trippelsdorf  <markus@trippelsdorf.de>
2854
2855         PR middle-end/54515
2856         * tree-sra.c (disqualify_base_of_expr): Check for possible
2857         NULL_TREE returned by get_base_address()
2858
2859 2012-09-07  Richard Guenther  <rguenther@suse.de>
2860
2861         Backport from mainline
2862         2012-06-26  Jan Hubicka  <jh@suse.cz>
2863
2864         PR lto/53572
2865         * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
2866         used symbols.
2867
2868 2012-09-07  Richard Guenther  <rguenther@suse.de>
2869
2870         Backport from mainline
2871         2012-07-13  Richard Guenther  <rguenther@suse.de>
2872
2873         PR tree-optimization/53922
2874         * tree-vrp.c (value_inside_range): Change prototype to take
2875         min/max instead of value-range.
2876         (range_includes_zero_p): Likewise.  Return the result from
2877         value_inside_range.
2878         (extract_range_from_binary_expr_1): Adjust to handle dont-know
2879         return value from range_includes_zero_p.
2880         (extract_range_from_unary_expr_1): Likewise.
2881         (compare_range_with_value): Likewise.
2882         (vrp_meet_1): Likewise.
2883
2884 2012-09-07  Richard Guenther  <rguenther@suse.de>
2885
2886         PR middle-end/53667
2887         * tree-ssa-structalias.c (handle_rhs_call): Properly clobber
2888         EAF_NOESCAPED arguments.  Transitively close non-EAF_DIRECT
2889         arguments separately.
2890
2891 2012-09-07  Jakub Jelinek  <jakub@redhat.com>
2892
2893         Backported from mainline
2894         2012-09-06  Jakub Jelinek  <jakub@redhat.com>
2895
2896         PR rtl-optimization/54455
2897         * sel-sched-ir.c (maybe_tidy_empty_bb): Give up if previous fallthru
2898         bb ends up with asm goto referencing bb's label.
2899
2900 2012-09-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2901
2902         Backport from mainline.
2903         2012-08-29  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2904                     Richard Earnshaw  <richard.earnshaw@arm.com>
2905
2906         PR target/54252
2907         * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by
2908         element size. Use elem_type from the formal parameter. New parameter
2909         fcode.
2910         (neon_expand_args): Adjust call to neon_dereference_pointer.
2911
2912 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2913
2914         * config/i386/sse.md (<sse4_1_avx2>_pblendvb): Use
2915         reg_not_xmm0_operand_maybe_avx as operand 0 constraint.
2916
2917 2012-09-06  Uros Bizjak  <ubizjak@gmail.com>
2918
2919         Backport from mainline
2920         2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
2921
2922         * config/i386/i386.md (isa): Add fma and fma4.
2923         (enabled): Handle fma and fma4.
2924         * config/i386/sse.md (*fma_fmadd_<mode>): Merge *fma4_fmadd_<mode>.
2925         (*fma_fmsub_<mode>): Merge *fma4_fmsub_<mode>.
2926         (*fma_fnmadd_<mode>): Merge *fma4_fnmadd_<mode>.
2927         (*fma_fnmsub_<mode>): Merge *fma4_fnmsub_<mode>.
2928         (*fma_fmaddsub_<mode>): Merge *fma4_fmaddsub_<mode>.
2929         (*fma_fmsubadd_<mode>): Merge *fma4_fmsubadd_<mode>.
2930
2931         2012-08-10  Uros Bizjak  <ubizjak@gmail.com>
2932
2933         * config/i386/sse.md (*fma_fmadd_<mode>, *fma_fmsub_<mode>,
2934         *fma_fnmadd_<mode>, *fma_fnmsub_<mode>, *fma_fmaddsub_<mode>,
2935         *fma_fmsubadd_<mode>): Move FMA3 insn patterns before FMA4 patterns.
2936
2937 2012-09-06  Richard Guenther  <rguenther@suse.de>
2938
2939         PR tree-optimization/54498
2940         * tree-ssa-alias.h (get_continuation_for_phi): Add flag to
2941         abort when reaching an already visited region.
2942         * tree-ssa-alias.c (maybe_skip_until): Likewise.  And do it.
2943         (get_continuation_for_phi_1): Likewise.
2944         (walk_non_aliased_vuses): When we translated the reference,
2945         abort when we re-visit a region.
2946         * tree-ssa-pre.c (translate_vuse_through_block): Adjust.
2947
2948 2012-09-06  Andrew Pinski  <apinski@cavium.com>
2949
2950         PR tree-opt/54494
2951         * tree-inline.c (remap_gimple_op_r): Copy TREE_SIDE_EFFECTS also.
2952
2953 2012-09-05  Jakub Jelinek  <jakub@redhat.com>
2954
2955         PR middle-end/54486
2956         * builtins.c (fold_builtin_strspn, fold_builtin_strcspn): Use
2957         build_int_cst with size_type_node instead of size_int.
2958
2959 2012-09-05  Georg-Johann Lay  <avr@gjlay.de>
2960
2961         Backport from 2012-09-05 mainline r190697.
2962
2963         PR target/54461
2964         * config.gcc (tm_file,target=avr-*-*): Add avr/avrlibc.h if
2965         configured --with-avrlibc.
2966         (tm_defines,target=avr-*-*): Add WITH_AVRLIBC if configured
2967         --with-avrlibc.
2968         * config/avr/avrlibc.h: New file.
2969         * config/avr/avr-c.c: Build-in define __WITH_AVRLIBC__ if
2970         configured --with-avrlibc.
2971         * doc/invoke.texi (AVR Built-in Macros): Document __WITH_AVRLIBC__
2972
2973 2012-09-05  Bin Cheng  <bin.cheng@arm.com>
2974
2975         Backport from 2012-09-04 mainline r190919
2976
2977         PR target/45070
2978         * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value
2979         of size less than 4 bytes by using macro ARM_NUM_INTS.
2980         (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS.
2981
2982 2012-09-04  Richard Henderson  <rth@redhat.com>
2983
2984         * alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2985
2986 2012-09-04  Georg-Johann Lay  <avr@gjlay.de>
2987
2988         Backport from 2012-09-04 mainline r190920
2989
2990         PR target/54476
2991         * config/avr/avr.c (avr_expand_delay_cycles): Mask operand with SImode.
2992
2993 2012-09-04  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2994
2995         Backport from 2012-09-04 mainline r190914
2996
2997         PR target/54220
2998         * config/avr/avr.c (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): New
2999         define to...
3000         (avr_allocate_stack_slots_for_args): ...this new static function.
3001
3002 2012-09-03  H.J. Lu  <hongjiu.lu@intel.com>
3003
3004         Backported from mainline
3005         2012-08-23  H.J. Lu  <hongjiu.lu@intel.com>
3006
3007         PR driver/54335
3008         * doc/invoke.texi: Add -da and remove -dm.
3009
3010 2012-09-03  Jakub Jelinek  <jakub@redhat.com>
3011
3012         Backported from mainline
3013         2012-09-01  Jakub Jelinek  <jakub@redhat.com>
3014
3015         PR target/54436
3016         * config/i386/i386.md (*mov<mode>_insv_1_rex64, *movsi_insv_1): If
3017         operands[1] is CONST_INT_P, convert it to QImode before printing.
3018
3019         2012-08-31  Jakub Jelinek  <jakub@redhat.com>
3020
3021         PR c/54428
3022         * c-convert.c (convert): Don't call fold_convert_loc if
3023         TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
3024         is a COMPLEX_EXPR.  Remove TYPE_MAIN_VARIANT check from
3025         COMPLEX_TYPE -> COMPLEX_TYPE conversion.
3026
3027         2012-08-24  Jakub Jelinek  <jakub@redhat.com>
3028
3029         PR c/54363
3030         * gimplify.c (optimize_compound_literals_in_ctor): Only recurse
3031         if init is a CONSTRUCTOR.
3032
3033 2012-09-02  Eric Botcazou  <ebotcazou@adacore.com>
3034
3035         PR rtl-optimization/54369
3036         * config/mips/mips.c (mips_reorg): Invoke cleanup_barriers before
3037         calling dbr_schedule.
3038         * config/sparc/sparc.c (sparc_reorg): Likewise.
3039
3040 2012-08-31  Kirill Yukhin  <kirill.yukhin@intel.com>
3041
3042         Backport from mainline
3043         2012-08-23  Yuri Rumyantsev  <ysrumyan@gmail.com>
3044
3045         * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
3046         case for Atom processor.
3047
3048 2012-08-28  Uros Bizjak  <ubizjak@gmail.com>
3049
3050         Backport from mainline
3051         2012-08-27  Uros Bizjak  <ubizjak@gmail.com>
3052
3053         PR target/46254
3054         * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return
3055         true for TARGET_64BIT or !flag_pic.
3056         * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove.
3057         (atomic_compare_and_swap_double<mode>): Change operand 2 predicate
3058         to cmpxchg8b_pic_memory_operand.  Use DWIH mode iterator.
3059         Add insn constraint.  Conditionally emit xchg asm insns.
3060         (atomic_compare_and_swap<mode>): Update calls.  Check only
3061         cmpxchg8b_pic_memory_operand in memory address fixup.
3062         (DCASMODE): Remove.
3063         (CASHMODE): Rename from DCASHMODE.
3064         (doublemodesuffix): Update modes.
3065         (regprefix): New mode attribute.
3066
3067         (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove.
3068         <UNSPECV_CMPXCHG>: New constant.
3069         (atomic_compare_and_swap<mode>_1): Rename from
3070         atomic_compare_and_swap_single<mode>.  Update calls and
3071         unspec_volatile constants.
3072         (atomic_compare_and_swap<mode>_doubleword): Rename from
3073         atomic_compare_and_swap_double<mode>.  Update calls and
3074         unspec_volatile constants.
3075
3076 2012-08-28  Walter Lee  <walt@tilera.com>
3077
3078         Backport from mainline
3079         2012-08-28  Walter Lee  <walt@tilera.com>
3080
3081         * confg/tilegx/tilegx.md: Fix code style.
3082         (*zero_extendsidi_truncdisi): Fix typo.
3083         * config/tilegx/tilegx.c: Fix code style.
3084         (tilegx_function_profiler): Fix typo.
3085
3086 2012-08-27  Walter Lee  <walt@tilera.com>
3087
3088         Backport from mainline
3089         2012-08-27  Walter Lee  <walt@tilera.com>
3090
3091         * doc/md.texi (TILE-Gx): Fix typo.
3092
3093 2012-08-27  Walter Lee  <walt@tilera.com>
3094
3095         Backport from mainline
3096         2012-08-27  Walter Lee  <walt@tilera.com>
3097
3098         * config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
3099         * config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
3100
3101 2012-08-27  Walter Lee  <walt@tilera.com>
3102
3103         Backport from mainline
3104         2012-08-27  Walter Lee  <walt@tilera.com>
3105
3106         * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins.
3107         (insn_bfins): Delete.
3108
3109 2012-08-27  Walter Lee  <walt@tilera.com>
3110
3111         Backport from mainline
3112         2012-08-27  Walter Lee  <walt@tilera.com>
3113
3114         * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>,
3115         atomic_exchange_bare<mode>,
3116         atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote.
3117         * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation.
3118         * config/tilegx/tilegx.md (type): Add X1_remove.
3119         (insn_cmpexch<four_if_si>, insn_exch<four_if_si>,
3120         insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>,
3121         insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to
3122         X1_remote.
3123
3124 2012-08-25  Eric Botcazou  <ebotcazou@adacore.com>
3125
3126         PR rtl-optimization/54088
3127         * jump.c (delete_related_insns): Robustify latest change.
3128
3129 2012-08-21  Richard Guenther  <rguenther@suse.de>
3130
3131         Backport from mainline
3132         2012-08-16  Richard Guenther  <rguenther@suse.de>
3133
3134         PR middle-end/54146
3135         * tree-ssa-loop-niter.c (find_loop_niter_by_eval): Free the
3136         exit vector.
3137         * ipa-pure-const.c (analyze_function): Use FOR_EACH_LOOP_BREAK.
3138         * cfgloop.h (FOR_EACH_LOOP_BREAK): Fix.
3139         * tree-ssa-structalias.c (handle_lhs_call): Properly free rhsc.
3140         * tree-ssa-loop-im.c (analyze_memory_references): Adjust.
3141         (tree_ssa_lim_finalize): Free all mem_refs.
3142         * tree-ssa-sccvn.c (extract_and_process_scc_for_name): Free
3143         scc when bailing out.
3144         * modulo-sched.c (sms_schedule): Use FOR_EACH_LOOP_BREAK.
3145         * ira-build.c (loop_with_complex_edge_p): Free loop exit vector.
3146         * graphite-sese-to-poly.c (scop_ivs_can_be_represented): Use
3147         FOR_EACH_LOOP_BREAK.
3148
3149         2012-08-17  Richard Guenther  <rguenther@suse.de>
3150
3151         * tree-sra.c (modify_function): Free redirect_callers vector.
3152         * ipa-split.c (split_function): Free args_to_pass vector.
3153         * tree-vect-stmts.c (vectorizable_operation): Do not pre-allocate
3154         vec_oprnds.
3155         (new_stmt_vec_info): Do not pre-allocate STMT_VINFO_SAME_ALIGN_REFS.
3156         * tree-vect-slp.c (vect_free_slp_instance): Free the instance.
3157         (vect_analyze_slp_instance): Free everything.
3158         (destroy_bb_vec_info): Free the SLP instances.
3159
3160         2012-08-17  Richard Guenther  <rguenther@suse.de>
3161
3162         * params.def (integer-share-limit): Decrease from 256 to 251,
3163         add rationale.
3164
3165         2012-08-21  Richard Guenther  <rguenther@suse.de>
3166
3167         * tree-ssa-loop-im.c (tree_ssa_lim_finalize): Properly free
3168         the affine expansion cache.
3169
3170 2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3171
3172         Backported from trunk
3173         2012-08-20  Patrick Marlier  <patrick.marlier@gmail.com>
3174
3175         PR middle-end/53992
3176         * omp-low.c (lower_omp_1): Handle GIMPLE_TRANSACTION.
3177
3178 2012-08-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3179
3180         Backport from mainline.
3181         2012-08-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
3182
3183         PR target/54212
3184         * config/arm/neon.md (vec_set<mode>_internal VD,VQ): Do not
3185         mark as predicable. Adjust asm template.
3186         (vec_setv2di_internal): Likewise.
3187         (vec_extract<mode> VD, VQ): Likewise.
3188         (vec_extractv2di): Likewise.
3189         (neon_vget_lane<mode>_sext_internal VD, VQ): Likewise.
3190         (neon_vset_lane<mode>_sext_internal VD, VQ): Likewise.
3191         (neon_vdup_n<mode> VX, V32): Likewise.
3192         (neon_vdup_nv2di): Likewise.
3193
3194 2012-08-17  Walter Lee  <walt@tilera.com>
3195
3196         Backport from mainline
3197         2012-08-17  Walter Lee  <walt@tilera.com>
3198
3199         * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
3200         (FEEDBACK_ENTER): Define.
3201         (FEEDBACK_REENTER): Define.
3202         (FEEDBACK_ENTRY): Define.
3203         * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
3204         (FEEDBACK_ENTER): Define.
3205         (FEEDBACK_REENTER): Define.
3206         (FEEDBACK_ENTRY): Define.
3207
3208 2012-08-16  Walter Lee  <walt@tilera.com>
3209
3210         Backport from mainline
3211         2012-08-16  Walter Lee  <walt@tilera.com>
3212
3213         * config.gcc (tilegx-*-linux*): Add feedback.h.
3214         (tilepro-*-linux*): Likewise.
3215         * config/tilegx/feedback.h: New file.
3216         * config/tilepro/feedback.h: New file.
3217
3218 2012-08-08  Pavel Chupin  <pavel.v.chupin@intel.com>
3219
3220         Backport from mainline r189840 and r187586:
3221         2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com>
3222
3223         * config/i386/i386.md (stack_protect_set): Disable the pattern
3224         for Android since Android libc (bionic) does not provide random
3225         value for stack protection guard at gs:0x14. Guard value
3226         will be provided from external symbol (default implementation).
3227         (stack_protect_set_<mode>): Likewise.
3228         (stack_protect_test): Likewise.
3229         (stack_protect_test_<mode>): Likewise.
3230         * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target does
3231         not have Bionic by default
3232         * config/linux.h: Redefine macro TARGET_HAS_BIONIC to (OPTION_BIONIC)
3233         Macro OPTION_BIONIC is defined in this file and provides Bionic
3234         accessibility status
3235
3236         2012-05-16  Igor Zamyatin  <igor.zamyatin@intel.com>
3237
3238         * configure.ac: Stack protector enabling for Android targets.
3239         * configure: Regenerate.
3240
3241 2012-08-13  Jakub Jelinek  <jakub@redhat.com>
3242
3243         Backported from trunk
3244         2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3245
3246         PR rtl-optimization/53942
3247         * function.c (assign_parm_setup_reg): Avoid zero/sign extension
3248         directly from likely spilled non-fixed hard registers, move them
3249         to pseudo first.
3250
3251 2012-08-11  Uros Bizjak  <ubizjak@gmail.com>
3252
3253         * config/i386/sse.md (xop_phaddbq):  Fix vec_select selectors.
3254         (xop_phaddubq): Ditto.
3255
3256 2012-08-10  Ulrich Weigand  <ulrich.weigand@linaro.org>
3257
3258         Backport from mainline
3259         2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
3260                     Richard Earnshaw  <rearnsha@arm.com>
3261
3262         * target.def (vector_alignment): New target hook.
3263         * doc/tm.texi.in (TARGET_VECTOR_ALIGNMENT): Document new hook.
3264         * doc/tm.texi: Regenerate.
3265         * targhooks.c (default_vector_alignment): New function.
3266         * targhooks.h (default_vector_alignment): Add prototype.
3267         * stor-layout.c (layout_type): Use targetm.vector_alignment.
3268         * config/arm/arm.c (arm_vector_alignment): New function.
3269         (TARGET_VECTOR_ALIGNMENT): Define.
3270
3271         * tree-vect-data-refs.c (vect_update_misalignment_for_peel): Use
3272         vector type alignment instead of size.
3273         * tree-vect-loop-manip.c (vect_do_peeling_for_loop_bound): Use
3274         element type size directly instead of computing it from alignment.
3275         Fix variable naming and comment.
3276
3277 2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3278
3279         Backport from mainline
3280         2012-08-09  Uros Bizjak  <ubizjak@gmail.com>
3281
3282         * config/alpha/alpha.c (alpha_pad_noreturn): Rename to ...
3283         (alpha_pad_function_end): ... this.  Also insert NOP between
3284         sibling call and GP load.
3285         (alpha_reorg): Update call to alpha_pad_function_end.  Expand comment.
3286
3287 2012-08-09  H.J. Lu  <hongjiu.lu@intel.com>
3288
3289         Backport from mainline
3290         2012-08-08  Richard Sandiford  <rdsandiford@googlemail.com>
3291                     H.J. Lu  <hongjiu.lu@intel.com>
3292
3293         PR rtl-optimization/54157
3294         * combine.c (gen_lowpart_for_combine): Don't return identity
3295         for CONST or symbolic reference.
3296
3297 2012-08-06  Uros Bizjak  <ubizjak@gmail.com>
3298
3299         Backport from mainline
3300         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3301
3302         * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype.
3303         * config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
3304         split_cost argument signed.
3305         (ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
3306         (ix86_avoid_lea_for_addr): Ditto.
3307
3308         2012-07-27  Uros Bizjak  <ubizjak@gmail.com>
3309
3310         * config/i386/i386.c (ix86_avoid_lea_for_addr): Return false if
3311         the address has less than two components.
3312
3313 2012-08-02  Steve Ellcey  <sellcey@mips.com>
3314
3315         Backport from mainline
3316         2012-07-19  Steve Ellcey  <sellcey@mips.com>
3317
3318         * config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
3319         MIPS16 mode.
3320
3321 2012-08-02  Uros Bizjak  <ubizjak@gmail.com>
3322
3323         Backport from mainline
3324         2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
3325
3326         PR target/53961
3327         * config/i386/i386.c (ix86_legitimate_address_p): Move check for
3328         negative constant address for TARGET_X32 ...
3329         (ix86_decompose_address): ... here.  Reject constant addresses
3330         that don't satisfy x86_64_immediate_operand predicate.
3331
3332         2012-07-23  Uros Bizjak  <ubizjak@gmail.com>
3333
3334         PR target/53961
3335         * config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
3336         * config/i386/i386.c (ix86_print_operand_address): Ditto.
3337         (ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
3338         addresses.  Prevent zero extensions of CONST_INT operands.
3339
3340         2012-07-22  Uros Bizjak  <ubizjak@gmail.com>
3341
3342         PR target/53961
3343         * config/i386/i386.md (*lea): New insn pattern.
3344         (*lea_1): Remove.
3345         (*lea<mode>_2): Ditto.
3346         (*lea_{3,4,5,6}_zext): Ditto.
3347         * config/i386/predicates.md (lea_address_operand): Do not reject
3348         zero-extended address operands.
3349         * config/i386/constraints.md (j): Remove address constraint.
3350         * config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
3351         of an address.
3352         (ix86_print_operand_address): Handle SImode subreg of an address.
3353         (ix86_avoid_lea_for_addr): Reject zero-extended addresses for now.
3354
3355 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3356
3357         Backport from mainline
3358         2012-03-09  Uros Bizjak  <ubizjak@gmail.com>
3359
3360         PR target/52530
3361         * config/i386/i386.c (ix86_print_operand): Handle 'E' operand modifier.
3362         (ix86_print_operand_address): Handle UNSPEC_LEA_ADDR. Do not fallback
3363         to set code to 'q'.
3364         * config/i386/i386.md (UNSPEC_LEA_ADDR): New unspec.
3365         (*movdi_internal_rex64): Use %E operand modifier for lea.
3366         (*movsi_internal): Ditto.
3367         (*lea_1): Ditto.
3368         (*lea<mode>_2): Ditto.
3369         (*lea_{3,4,5,6}_zext): Ditto.
3370         (*tls_global_dynamic_32_gnu): Ditto.
3371         (*tls_global_dynamic_64): Ditto.
3372         (*tls_dynamic_gnu2_lea_32): Ditto.
3373         (*tls_dynamic_gnu2_lea_64): Ditto.
3374         (pro_epilogue_adjust_stack_<mode>_add): Ditto.
3375
3376 2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3377
3378         Backport from mainline
3379         2012-08-01  Uros Bizjak  <ubizjak@gmail.com>
3380
3381         * config/i386/i386.c (ix86_address_subreg_operand): Reject
3382         stack pointer.
3383         (ix86_print_operand_address): Assert that parts.base and parts.index
3384         are non-NULL after call to simplify_subreg.
3385
3386 2012-07-22  Oleg Endo  <olegendo@gcc.gnu.org>
3387
3388         PR target/33135
3389         * config/sh/sh.opt (mieee): Use Var instead of Mask.  Correct
3390         description.
3391         * config/sh/sh.c (sh_option_override): Do not change
3392         flag_finite_math_only.  Set TARGET_IEEE to complement of
3393         flag_finite_math_only.
3394         * doc/invoke.texi (SH options): Add mno-ieee.  Correct
3395         description of mieee and mno-ieee behavior.
3396
3397 2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>
3398
3399         PR target/53877
3400         * config/i386/lzcntintrin.h (_lzcnt_u32): New.
3401         (_lzcnt_u64): Ditto.
3402
3403 2012-07-20  Andrey Belevantsev  <abel@ispras.ru>
3404
3405         Backport from mainline
3406         2012-03-06  Andrey Belevantsev  <abel@ispras.ru>
3407
3408         PR rtl-optimization/52250
3409         * sel-sched-ir.c (maybe_tidy_empty_bb): Try harder to find a bb
3410         to put note list into.  Unconditionally call move_bb_info.
3411         (move_bb_info): Do not assert the blocks being in the same region,
3412         just drop the note list if they are not.
3413
3414 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3415
3416         * config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
3417
3418 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3419
3420         * tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
3421         defining statement is a SSA name that occurs in abnormal PHIs.
3422
3423 2012-07-19  Eric Botcazou  <ebotcazou@adacore.com>
3424
3425         * gimple-fold.c (canonicalize_constructor_val): Strip only useless type
3426         conversions.
3427
3428 2012-07-19  Richard Guenther  <rguenther@suse.de>
3429             Eric Botcazou  <ebotcazou@adacore.com>
3430
3431         * tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
3432         about transition from invariant to known bits.
3433         (likely_value): Addresses with UNDEFINED components are UNDEFINED.
3434
3435 2012-07-19  Jakub Jelinek  <jakub@redhat.com>
3436
3437         PR middle-end/54017
3438         * tree-cfgcleanup.c (cleanup_omp_return): Remove.
3439         (cleanup_tree_cfg_bb): Don't call it.
3440         * omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
3441         handling.
3442
3443 2012-07-19  Christian Bruel  <christian.bruel@st.com>
3444
3445         PR target/54029
3446         * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
3447
3448 2012-07-18  Ralf Corsépius  <ralf.corsepius@rtems.org>
3449
3450         * config.gcc (v850-*-rtems*): New target.
3451         * config/v850/rtems.h: New.
3452         * config/v850/t-rtems: New.
3453
3454 2012-07-18  Nick Clifton  <nickc@redhat.com>
3455
3456         * doc/invoke.texi (ARM Options): Document -munaligned-access.
3457
3458 2012-07-15  Uros Bizjak  <ubizjak@gmail.com>
3459
3460         PR target/53961
3461
3462         Backport from mainline
3463         2012-04-25  Jakub Jelinek  <jakub@redhat.com>
3464
3465         PR target/53110
3466         * config/i386/i386.md (and<mode>3): For andq $0xffffffff, reg
3467         instead expand it as zero extension.
3468
3469 2012-07-14  Uros Bizjak  <ubizjak@gmail.com>
3470
3471         * config/i386/i386.md (QImode and HImode cmove splitters): Merge
3472         QImode and HImode splitters.  Use ix86_comparison_operator.
3473         Explicitly match FLAGS_REG.
3474         (DFmode cmove splitter): Explicitly match FLAGS_REG.
3475
3476 2012-07-13  Richard Sandiford  <rdsandiford@googlemail.com>
3477             Steven Bosscher  <steven@gcc.gnu.org>
3478             Bernd Schmidt  <bernds@codesourcery.com>
3479
3480         PR rtl-optimization/53908
3481         * df-problems.c (can_move_insns_across): When doing
3482         memory-reference book-keeping, handle call insns.
3483
3484 2012-07-10  Uros Bizjak  <ubizjak@gmail.com>
3485
3486         Backport from mainline
3487         2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
3488
3489         PR target/53811
3490         * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
3491         sibcall_insn_operand.  Move it to a temporary register if not.
3492
3493         2012-07-06  Uros Bizjak  <ubizjak@gmail.com>
3494
3495         PR target/53853
3496         * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
3497         emit PIC sequence for fnaddr symbol reference in advance.
3498
3499 2012-07-09  Jason Merrill  <jason@redhat.com>
3500
3501         PR c++/53882
3502         * tree.c (type_contains_placeholder_1): Handle NULLPTR_TYPE.
3503         (type_hash_eq): Likewise.
3504
3505         PR c++/53826
3506         * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
3507
3508 2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
3509
3510         * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
3511         due to negative shift amount.
3512
3513 2012-07-06  Kai Tietz  <ktietz@redhat.com>
3514
3515         Backport from mainline.
3516         PR bootstrap/52947
3517         * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
3518         as "/mingw/include".
3519
3520 2012-07-06  Nick Clifton  <nickc@redhat.com>
3521
3522         * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
3523         default_encode_section_info.
3524
3525 2012-07-06  Richard Guenther  <rguenther@suse.de>
3526
3527         Backport from mainline
3528         2012-03-30  Richard Guenther  <rguenther@suse.de>
3529
3530         PR middle-end/52786
3531         * double-int.c (rshift_double): Remove not needed cast.
3532
3533         2012-03-28  Richard Guenther  <rguenther@suse.de>
3534
3535         PR middle-end/50708
3536         * double-int.h (rshift_double): Remove.
3537         * double-int.c (lshift_double): Use absu_hwi to make count
3538         positive.
3539         (rshift_double): Make static, take unsigned count argument,
3540         remove handling of negative count argument.
3541         (double_int_rshift): Dispatch to lshift_double.
3542
3543 2012-07-06  Richard Guenther  <rguenther@suse.de>
3544
3545         Backport from mainline
3546         2012-06-18  Richard Guenther  <rguenther@suse.de>
3547
3548         PR tree-optimization/53693
3549         * tree-vect-patterns.c (vect_operation_fits_smaller_type):
3550         Reject operands with more than one use.
3551
3552 2012-07-06  Richard Guenther  <rguenther@suse.de>
3553
3554         Backport from mainline
3555         2012-04-11  Richard Guenther  <rguenther@suse.de>
3556
3557         PR middle-end/52621