OSDN Git Service

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