12018-05-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2
3	PR target/83687
4	* config/arm/neon.md (neon_vabd<mode>_2): Use VCVTF mode iterator.
5	Remove integer-related logic from pattern.
6	(neon_vabd<mode>_3): Likewise.
7
82018-04-25  Martin Liska  <mliska@suse.cz>
9
10	Backport from mainline
11	2018-04-17  Martin Liska  <mliska@suse.cz>
12
13	PR lto/85405
14	* ipa-devirt.c (odr_types_equivalent_p): Remove trailing
15	in message, remote space in between '_G' and '('.
16
172018-04-25  Martin Liska  <mliska@suse.cz>
18
19	Backport from mainline
20	2018-04-17  Jan Hubicka  <jh@suse.cz>
21
22	PR lto/85405
23	* ipa-devirt.c (odr_types_equivalent_p): Handle bit fields.
24
252018-04-23  Aaron Sawdey  <acsawdey@linux.ibm.com>
26
27	Backport from mainline
28	2018-04-16  Aaron Sawdey  <acsawdey@linux.ibm.com>
29
30	PR target/83660
31	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark
32	vec_extract expression as having side effects to make sure it gets
33	a cleanup point.
34
352018-04-23  Eric Botcazou  <ebotcazou@adacore.com>
36
37	PR middle-end/85496
38	* expr.c (store_field): In the bitfield case, if the value comes from
39	a function call and is returned in registers by means of a PARALLEL,
40	do not change the mode of the temporary unless BLKmode and VOIDmode.
41
422018-04-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
43
44	Backport from mainline
45	2018-04-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
46
47	PR target/85261
48	* config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
49	into register.
50
512018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
52
53	Backport from mainline
54	2018-03-15  H.J. Lu  <hongjiu.lu@intel.com>
55
56	PR target/84574
57	* config/i386/i386.c (indirect_thunk_needed): Update comments.
58	(indirect_thunk_bnd_needed): Likewise.
59	(indirect_thunks_used): Likewise.
60	(indirect_thunks_bnd_used): Likewise.
61	(indirect_return_needed): New.
62	(indirect_return_bnd_needed): Likewise.
63	(output_indirect_thunk_function): Add a bool argument for
64	function return.
65	(output_indirect_thunk_function): Don't generate alias for
66	function return thunk.
67	(ix86_code_end): Call output_indirect_thunk_function to generate
68	function return thunks.
69	(ix86_output_function_return): Set indirect_return_bnd_needed
70	and indirect_return_needed instead of indirect_thunk_bnd_needed
71	and indirect_thunk_needed.
72
732018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
74
75	Backport from mainline
76	2018-02-26  H.J. Lu  <hongjiu.lu@intel.com>
77
78	PR target/84039
79	* config/i386/constraints.md (Bs): Replace
80	ix86_indirect_branch_register with
81	TARGET_INDIRECT_BRANCH_REGISTER.
82	(Bw): Likewise.
83	* config/i386/i386.md (indirect_jump): Likewise.
84	(tablejump): Likewise.
85	(*sibcall_memory): Likewise.
86	(*sibcall_value_memory): Likewise.
87	Peepholes of indirect call and jump via memory: Likewise.
88	(*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER.
89	(*sibcall_value_GOT_32): Likewise.
90	* config/i386/predicates.md (indirect_branch_operand): Likewise.
91	(GOT_memory_operand): Likewise.
92	(call_insn_operand): Likewise.
93	(sibcall_insn_operand): Likewise.
94	(GOT32_symbol_operand): Likewise.
95	* config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New.
96
972018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
98
99	Backport from mainline
100	2018-02-26  H.J. Lu  <hongjiu.lu@intel.com>
101
102	* config/i386/i386.c (ix86_output_indirect_jmp): Update comments.
103
104	2018-02-26  H.J. Lu  <hongjiu.lu@intel.com>
105
106	PR target/84530
107	* config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove
108	the bool argument.
109	(ix86_output_indirect_function_return): New prototype.
110	(ix86_split_simple_return_pop_internal): Likewise.
111	* config/i386/i386.c (indirect_return_via_cx): New.
112	(indirect_return_via_cx_bnd): Likewise.
113	(indirect_thunk_name): Handle return va CX_REG.
114	(output_indirect_thunk_function): Create alias for
115	__x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd.
116	(ix86_output_indirect_jmp): Remove the bool argument.
117	(ix86_output_indirect_function_return): New function.
118	(ix86_split_simple_return_pop_internal): Likewise.
119	* config/i386/i386.md (*indirect_jump): Don't pass false
120	to ix86_output_indirect_jmp.
121	(*tablejump_1): Likewise.
122	(simple_return_pop_internal): Change it to define_insn_and_split.
123	Call ix86_split_simple_return_pop_internal to split it for
124	-mfunction-return=.
125	(simple_return_indirect_internal): Call
126	ix86_output_indirect_function_return instead of
127	ix86_output_indirect_jmp.
128
1292018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
130
131	Backport from mainline
132	2018-02-02  H.J. Lu  <hongjiu.lu@intel.com>
133
134	* config/i386/i386.c (ix86_output_function_return): Pass
135	INVALID_REGNUM, instead of -1, as invalid register number to
136	indirect_thunk_name and output_indirect_thunk.
137
1382018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
139
140	Backport from mainline
141	2018-01-17  Uros Bizjak  <ubizjak@gmail.com>
142
143	* config/i386/i386.c (indirect_thunk_name): Declare regno
144	as unsigned int.  Compare regno with INVALID_REGNUM.
145	(output_indirect_thunk): Ditto.
146	(output_indirect_thunk_function): Ditto.
147	(ix86_code_end): Declare regno as unsigned int.  Use INVALID_REGNUM
148	in the call to output_indirect_thunk_function.
149
1502018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
151
152	Backport from mainline
153	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>
154
155	* config/i386/i386.c (ix86_set_indirect_branch_type): Disallow
156	-mcmodel=large with -mindirect-branch=thunk,
157	-mindirect-branch=thunk-extern, -mfunction-return=thunk and
158	-mfunction-return=thunk-extern.
159	* doc/invoke.texi: Document -mcmodel=large is incompatible with
160	-mindirect-branch=thunk, -mindirect-branch=thunk-extern,
161	-mfunction-return=thunk and -mfunction-return=thunk-extern.
162
1632018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
164
165	Backport from mainline
166	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>
167
168	* config/i386/i386.c (print_reg): Print the name of the full
169	integer register without '%'.
170	(ix86_print_operand): Handle 'V'.
171	 * doc/extend.texi: Document 'V' modifier.
172
1732018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
174
175	Backport from mainline
176	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>
177
178	* config/i386/constraints.md (Bs): Disallow memory operand for
179	-mindirect-branch-register.
180	(Bw): Likewise.
181	* config/i386/predicates.md (indirect_branch_operand): Likewise.
182	(GOT_memory_operand): Likewise.
183	(call_insn_operand): Likewise.
184	(sibcall_insn_operand): Likewise.
185	(GOT32_symbol_operand): Likewise.
186	* config/i386/i386.md (indirect_jump): Call convert_memory_address
187	for -mindirect-branch-register.
188	(tablejump): Likewise.
189	(*sibcall_memory): Likewise.
190	(*sibcall_value_memory): Likewise.
191	Disallow peepholes of indirect call and jump via memory for
192	-mindirect-branch-register.
193	(*call_pop): Replace m with Bw.
194	(*call_value_pop): Likewise.
195	(*sibcall_pop_memory): Replace m with Bs.
196	* config/i386/i386.opt (mindirect-branch-register): New option.
197	* doc/invoke.texi: Document -mindirect-branch-register option.
198
199	Backport from mainline
200	2018-01-15  H.J. Lu  <hongjiu.lu@intel.com>
201
202	* config/i386/constraints.md (Bs): Replace
203	ix86_indirect_branch_thunk_register with
204	ix86_indirect_branch_register.
205	(Bw): Likewise.
206	* config/i386/i386.md (indirect_jump): Likewise.
207	(tablejump): Likewise.
208	(*sibcall_memory): Likewise.
209	(*sibcall_value_memory): Likewise.
210	Peepholes of indirect call and jump via memory: Likewise.
211	* config/i386/i386.opt: Likewise.
212	* config/i386/predicates.md (indirect_branch_operand): Likewise.
213	(GOT_memory_operand): Likewise.
214	(call_insn_operand): Likewise.
215	(sibcall_insn_operand): Likewise.
216	(GOT32_symbol_operand): Likewise.
217
218	Backport from mainline
219	2018-01-15  H.J. Lu  <hongjiu.lu@intel.com>
220
221	* config/i386/predicates.md (constant_call_address_operand):
222	Rewrite ix86_indirect_branch_register logic.
223	(sibcall_insn_operand): Likewise.
224
225	Backport from mainline
226	2018-01-15  H.J. Lu  <hongjiu.lu@intel.com>
227
228	* config/i386/constraints.md (Bs): Update
229	ix86_indirect_branch_register check.  Don't check
230	ix86_indirect_branch_register with GOT_memory_operand.
231	(Bw): Likewise.
232	* config/i386/predicates.md (GOT_memory_operand): Don't check
233	ix86_indirect_branch_register here.
234	(GOT32_symbol_operand): Likewise.
235
236	Backport from mainline
237	2018-01-15  H.J. Lu  <hongjiu.lu@intel.com>
238
239	* config/i386/predicates.md (indirect_branch_operand): Rewrite
240	ix86_indirect_branch_register logic.
241
2422018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
243
244	Backport from mainline
245	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>
246
247	* config/i386/i386-protos.h (ix86_output_function_return): New.
248	* config/i386/i386.c (ix86_set_indirect_branch_type): Also
249	set function_return_type.
250	(indirect_thunk_name): Add ret_p to indicate thunk for function
251	return.
252	(output_indirect_thunk_function): Pass false to
253	indirect_thunk_name.
254	(ix86_output_indirect_branch_via_reg): Likewise.
255	(ix86_output_indirect_branch_via_push): Likewise.
256	(output_indirect_thunk_function): Create alias for function
257	return thunk if regno < 0.
258	(ix86_output_function_return): New function.
259	(ix86_handle_fndecl_attribute): Handle function_return.
260	(ix86_attribute_table): Add function_return.
261	* config/i386/i386.h (machine_function): Add
262	function_return_type.
263	* config/i386/i386.md (simple_return_internal): Use
264	ix86_output_function_return.
265	(simple_return_internal_long): Likewise.
266	* config/i386/i386.opt (mfunction-return=): New option.
267	(indirect_branch): Mention -mfunction-return=.
268	* doc/extend.texi: Document function_return function attribute.
269	* doc/invoke.texi: Document -mfunction-return= option.
270
271	Backport from mainline
272	2018-01-15  H.J. Lu  <hongjiu.lu@intel.com>
273
274	PR target/83839
275	* config/i386/i386.c (output_indirect_thunk_function): Use
276	ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
277	for  __x86.return_thunk.
278
2792018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
280
281	Backport from mainline
282	2018-01-14  H.J. Lu  <hongjiu.lu@intel.com>
283
284	* config/i386/i386-opts.h (indirect_branch): New.
285	* config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise.
286	* config/i386/i386.c (ix86_using_red_zone): Disallow red-zone
287	with local indirect jump when converting indirect call and jump.
288	(ix86_set_indirect_branch_type): New.
289	(ix86_set_current_function): Call ix86_set_indirect_branch_type.
290	(indirectlabelno): New.
291	(indirect_thunk_needed): Likewise.
292	(indirect_thunk_bnd_needed): Likewise.
293	(indirect_thunks_used): Likewise.
294	(indirect_thunks_bnd_used): Likewise.
295	(INDIRECT_LABEL): Likewise.
296	(indirect_thunk_name): Likewise.
297	(output_indirect_thunk): Likewise.
298	(output_indirect_thunk_function): Likewise.
299	(ix86_output_indirect_branch_via_reg): Likewise.
300	(ix86_output_indirect_branch_via_push): Likewise.
301	(ix86_output_indirect_branch): Likewise.
302	(ix86_output_indirect_jmp): Likewise.
303	(ix86_code_end): Call output_indirect_thunk_function if needed.
304	(ix86_output_call_insn): Call ix86_output_indirect_branch if
305	needed.
306	(ix86_handle_fndecl_attribute): Handle indirect_branch.
307	(ix86_attribute_table): Add indirect_branch.
308	* config/i386/i386.h (machine_function): Add indirect_branch_type
309	and has_local_indirect_jump.
310	* config/i386/i386.md (indirect_jump): Set has_local_indirect_jump
311	to true.
312	(tablejump): Likewise.
313	(*indirect_jump): Use ix86_output_indirect_jmp.
314	(*tablejump_1): Likewise.
315	(simple_return_indirect_internal): Likewise.
316	* config/i386/i386.opt (mindirect-branch=): New option.
317	(indirect_branch): New.
318	(keep): Likewise.
319	(thunk): Likewise.
320	(thunk-inline): Likewise.
321	(thunk-extern): Likewise.
322	* doc/extend.texi: Document indirect_branch function attribute.
323	* doc/invoke.texi: Document -mindirect-branch= option.
324
3252018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
326
327	Backport from mainline
328	PR target/83905
329	* config/i386/i386.c (ix86_expand_prologue): Use cost reference
330	of struct ix86_frame.
331	(ix86_expand_epilogue): Likewise.  Add a local variable for
332	the reg_save_offset field in struct ix86_frame.
333
3342018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
335
336	Backport from mainline
337	2017-11-06  H.J. Lu  <hongjiu.lu@intel.com>
338
339	* config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
340	of struct ix86_frame.
341	(ix86_initial_elimination_offset): Likewise.
342	(ix86_expand_split_stack_prologue): Likewise.
343
3442018-04-16  H.J. Lu  <hongjiu.lu@intel.com>
345
346	Backport from mainline
347	2017-10-13  H.J. Lu  <hongjiu.lu@intel.com>
348
349	PR target/82499
350	* config/i386/i386.h (ix86_red_zone_size): New.
351
352	2017-06-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
353
354	* config/i386/i386.c (ix86_frame): Moved to ...
355	* config/i386/i386.h (ix86_frame): Here.
356	(machine_function): Add frame.
357	* config/i386/i386.c (ix86_compute_frame_layout): Repace the
358	frame argument with &cfun->machine->frame.
359	(ix86_can_use_return_insn_p): Don't pass &frame to
360	ix86_compute_frame_layout.  Copy frame from cfun->machine->frame.
361	(ix86_can_eliminate): Likewise.
362	(ix86_expand_prologue): Likewise.
363	(ix86_expand_epilogue): Likewise.
364	(ix86_expand_split_stack_prologue): Likewise.
365
3662018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
367
368	Backport from mainline
369	2018-04-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
370
371	* config/s390/s390.c (s390_output_indirect_thunk_function): Check
372	also for flag_dwarf2_cfi_asm.
373
3742018-04-11  Uros Bizjak  <ubizjak@gmail.com>
375
376	* config/alpha/alpha.md (stack_probe_internal): Rename
377	from "probe_stack".  Update all callers.
378
3792018-04-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
380
381	Backport from mainline
382	2018-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
383
384	PR target/84748
385	* config/aarch64/aarch64.md (*compare_cstore<mode>_insn): Mark pattern
386	as clobbering CC_REGNUM.
387
3882018-04-06  Eric Botcazou  <ebotcazou@adacore.com>
389
390	PR target/85196
391	* config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands
392	based on LABEL_REF.  Remove useless assertion.
393	(pic_address_needs_scratch): Fix formatting.
394	(sparc_legitimize_pic_address): Minor tweaks.
395	(sparc_delegitimize_address): Adjust assertion accordingly.
396	* config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand
397	into symbolic_operand.
398	(movsi_high_pic_label_ref): Likewise.
399	(movsi_lo_sum_pic_label_ref): Likewise.
400	(movdi_pic_label_ref): Likewise.
401	(movdi_high_pic_label_ref): Likewise.
402	(movdi_lo_sum_pic_label_ref): Likewise.
403
4042018-04-05  Uros Bizjak  <ubizjak@gmail.com>
405
406	PR target/85193
407	* config/i386/i386.md (define_attr "memory"): Handle rotate1 type.
408
4092018-04-02  Peter Bergner  <bergner@vnet.ibm.com>
410
411	Backport from mainline
412	2018-03-28  Peter Bergner  <bergner@vnet.ibm.com>
413
414	PR target/84912
415	* config/rs6000/rs6000.h: Update copyright date.
416	(RS6000_BTM_POWERPC64): New define.
417	(RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64.
418	* config/rs6000/rs6000.c: Update copyright date.
419	(rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64.
420	(rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64
421	(rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64.
422	* config/rs6000/rs6000-builtin.def: Update copyright date.
423	(BU_P7_POWERPC64_MISC_2): New macro definition.
424	(DIVDE): Use it.
425	(DIVDEU): Likewise.
426
427	Backport from mainline
428	2018-03-28  Peter Bergner  <bergner@vnet.ibm.com>
429
430	PR target/84912
431	* config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion.
432	(DIVWEUO): Likewise.
433	(DIVDEO): Likewise.
434	(DIVDEUO): Likewise.
435	* config/rs6000/rs6000.c (builtin_function_type): Remove support for
436	DIVWEUO and DIVDEUO.
437	* config/rs6000/rs6000.md: Update copyright date.
438	(UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs.
439	(UNSPEC_DIV_EXTEND): Remove deleted unspecs.
440	(div_extend): Likewise.
441	* doc/extend.texi: Update copyright date.
442	(__builtin_divweo): Remove documentation for deleted builtin function.
443	(__builtin_divweuo): Likewise.
444	(__builtin_divdeo): Likewise.
445	(__builtin_divdeuo): Likewise.
446
4472018-03-30  Cesar Philippidis  <cesar@codesourcery.com>
448
449	Backport from mainline
450	2018-03-27  Cesar Philippidis  <cesar@codesourcery.com>
451
452	PR target/85056
453	* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to
454	extern array declarations.
455
4562018-03-29  Sudakshina Das  <sudi.das@arm.com>
457
458	Backport from mainline
459	2018-03-22  Sudakshina Das  <sudi.das@arm.com>
460
461	PR target/84826
462	* config/arm/arm.h (machine_function): Add static_chain_stack_bytes.
463	* config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid
464	re-computing once computed.
465	(arm_expand_prologue): Compute machine->static_chain_stack_bytes.
466	(arm_init_machine_status): Initialize
467	machine->static_chain_stack_bytes.
468
4692018-03-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
470
471	Backport from mainline
472	2018-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
473
474	PR target/85026
475	* config/arm/arm.md (unaligned_loadhis): Remove first alternative.
476	Clean up attributes.
477
4782018-03-28  Segher Boessenkool  <segher@kernel.crashing.org>
479
480	Backport from mainline
481	2018-03-08  Segher Boessenkool  <segher@kernel.crashing.org>
482
483	PR target/82411
484	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put
485	readonly data in sdata, if that is disabled.
486	* config/rs6000/sysv4.opt (mreadonly-in-sdata): New option.
487	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
488	-mreadonly-in-sdata option.
489
4902018-03-27  Carl Love  <cel@us.ibm.com>
491
492	Backport from mainline
493	2018-03-14  Carl Love  <cel@us.ibm.com>
494
495	* config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR.
496
4972018-03-27  Sudakshina Das  <sudi.das@arm.com>
498
499	Backport from mainline:
500	2018-03-20  Sudakshina Das  <sudi.das@arm.com>
501
502	PR target/82989
503	* config/arm/neon.md (ashldi3_neon): Update ?s for constraints
504	to favor GPR over NEON registers.
505	(<shift>di3_neon): Likewise.
506
5072018-03-27  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
508
509	Backport from mainline
510	2018-03-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
511
512	PR target/82518
513	* config/arm/arm.c (arm_array_mode_supported_p): Return false for
514	BYTES_BIG_ENDIAN.
515
5162018-03-22  Tom de Vries  <tom@codesourcery.com>
517
518	backport from trunk:
519	2018-03-22  Tom de Vries  <tom@codesourcery.com>
520
521	PR tree-optimization/84956
522	* tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with
523	bb_has_abnormal_pred.
524
5252018-03-18  John David Anglin  <danglin@gcc.gnu.org>
526
527	Backport from mainline
528	2016-12-11  John David Anglin  <danglin@gcc.gnu.org>
529
530	* config/pa/pa.c (pa_callee_copies): New function.
531	* config/pa/pa.opt (mcaller-copies): New option.
532	* doc/invoke.texi (mcaller-copies): Document option.
533
5342018-03-14  John David Anglin  <danglin@gcc.gnu.org>
535
536	PR target/83451
537	* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
538	insn for floating-point loads and stores.
539
5402018-03-12  Jonathan Wakely  <jwakely@redhat.com>
541
542	* doc/invoke.texi (-mclflushopt): Fix spelling of option.
543
5442018-03-11  John David Anglin  <danglin@gcc.gnu.org>
545
546	Backport from mainline
547	2018-02-14  John David Anglin  <danglin@gcc.gnu.org>
548
549	PR target/83984
550	* config/pa/pa.md: Load address of PIC label using the linkage table
551	if the label is nonlocal.
552
553	Backport from mainline
554	2018-03-06  John David Anglin  <danglin@gcc.gnu.org>
555
556	* config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use
557	sprint_ul.
558	(ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change.
559	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
560	* config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above.
561
5622018-03-08  Martin Liska  <mliska@suse.cz>
563
564	Backport from mainline
565	2016-12-14  Jakub Jelinek  <jakub@redhat.com>
566
567	PR debug/77844
568	* valtrack.c: Include rtl-iter.h.
569	(struct rtx_subst_pair): Add insn field.
570	(propagate_for_debug_subst): If pair->to contains at least 2
571	regs, create a DEBUG_INSN with a debug temp before pair->insn
572	and replace from with the debug temp instead of pair->to.
573	(propagate_for_debug): Initialize p.insn.
574	* combine.c (insn_uid_check): New inline function.
575	(INSN_COST, LOG_LINKS): Use it instead of INSN_UID.
576	(find_single_use, combine_instructions,
577	cant_combine_insn_p, try_combine): Use NONDEBUG_INSN_P instead of
578	INSN_P.
579
5802018-03-08  Martin Liska  <mliska@suse.cz>
581
582	Backport from mainline
583	2018-01-04  Martin Liska  <mliska@suse.cz>
584
585	PR ipa/82352
586	* ipa-icf.c (sem_function::merge): Do not cross comdat boundary.
587
5882018-03-08  Martin Liska  <mliska@suse.cz>
589
590	Backport from mainline
591	2017-10-31  Martin Liska  <mliska@suse.cz>
592
593	PR gcov-profile/82633
594	* doc/gcov.texi: Document -fkeep-{static,inline}-functions and
595	their interaction with GCOV infrastructure.
596	* configure.ac: Add -fkeep-static-functions to
597	coverage_flags.
598	* configure: Regenerate.
599
6002018-03-08  Martin Liska  <mliska@suse.cz>
601
602	Backport from mainline
603	2017-10-27  Martin Liska  <mliska@suse.cz>
604
605	PR gcov-profile/82457
606	* doc/invoke.texi: Document that one needs a non-strict ISO mode
607	for fork-like functions to be properly instrumented.
608
6092018-03-07  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
610
611	Backport from mainline
612	2018-02-08  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
613
614	* config/s390/s390-opts.h (enum indirect_branch): Define.
615	* config/s390/s390-protos.h (s390_return_addr_from_memory)
616	(s390_indirect_branch_via_thunk)
617	(s390_indirect_branch_via_inline_thunk): Add function prototypes.
618	(enum s390_indirect_branch_type): Define.
619	* config/s390/s390.c (struct s390_frame_layout, struct
620	machine_function): Remove.
621	(indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask)
622	(indirect_branch_table_label_no, indirect_branch_table_name):
623	Define variables.
624	(INDIRECT_BRANCH_NUM_OPTIONS): Define macro.
625	(enum s390_indirect_branch_option): Define.
626	(s390_return_addr_from_memory): New function.
627	(s390_handle_string_attribute): New function.
628	(s390_attribute_table): Add new attribute handler.
629	(s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns.
630	(s390_indirect_branch_via_thunk): New function.
631	(s390_indirect_branch_via_inline_thunk): New function.
632	(s390_function_ok_for_sibcall): When jumping via thunk disallow
633	sibling call optimization for non z10 compiles.
634	(s390_emit_call): Force indirect branch target to be a single
635	register.  Add r1 clobber for non-z10 compiles.
636	(s390_emit_epilogue): Emit return jump via return_use expander.
637	(s390_reorg): Handle JUMP_INSNs as execute targets.
638	(s390_option_override_internal): Perform validity checks for the
639	new command line options.
640	(s390_indirect_branch_attrvalue): New function.
641	(s390_indirect_branch_settings): New function.
642	(s390_set_current_function): Invoke s390_indirect_branch_settings.
643	(s390_output_indirect_thunk_function):  New function.
644	(s390_code_end): Implement target hook.
645	(s390_case_values_threshold): Implement target hook.
646	(TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target
647	macros.
648	* config/s390/s390.h (struct s390_frame_layout)
649	(struct machine_function): Move here from s390.c.
650	(TARGET_INDIRECT_BRANCH_NOBP_RET)
651	(TARGET_INDIRECT_BRANCH_NOBP_JUMP)
652	(TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK)
653	(TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK)
654	(TARGET_INDIRECT_BRANCH_NOBP_CALL)
655	(TARGET_DEFAULT_INDIRECT_BRANCH_TABLE)
656	(TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL)
657	(TARGET_INDIRECT_BRANCH_THUNK_NAME_EX)
658	(TARGET_INDIRECT_BRANCH_TABLE): Define macros.
659	* config/s390/s390.md (UNSPEC_EXECUTE_JUMP)
660	(INDIRECT_BRANCH_THUNK_REGNUM): Define constants.
661	(mnemonic attribute): Add values which aren't recognized
662	automatically.
663	("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable
664	pattern for branch conversion.  Fix mnemonic attribute.
665	("*c<code>", "*sibcall_br", "*sibcall_value_br", "*return"): Emit
666	indirect branch via thunk if requested.
667	("indirect_jump", "<code>"): Expand patterns for branch conversion.
668	("*indirect_jump"): Disable for branch conversion using out of
669	line thunks.
670	("indirect_jump_via_thunk<mode>_z10")
671	("indirect_jump_via_thunk<mode>")
672
6732018-03-07  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
674
675	Backport from mainline
676	2018-02-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
677
678	PR target/PR84295
679	* config/s390/s390.c (s390_set_current_function): Invoke
680	s390_indirect_branch_settings also if fndecl didn't change.
681
6822018-03-07  Martin Liska  <mliska@suse.cz>
683
684	Backport from mainline
685	2018-02-20  Martin Liska  <mliska@suse.cz>
686
687	PR c/84310
688	PR target/79747
689	* final.c (shorten_branches): Build align_tab array with one
690	more element.
691	* opts.c (finish_options): Add alignment option limit check.
692	(MAX_CODE_ALIGN): Likewise.
693	(MAX_CODE_ALIGN_VALUE): Likewise.
694	* doc/invoke.texi: Document maximum allowed option value for
695	all -falign-* options.
696
6972018-03-07  Martin Liska  <mliska@suse.cz>
698
699	Backport from mainline
700	2018-02-19  Martin Liska  <mliska@suse.cz>
701
702	PR other/80589
703	* doc/invoke.texi: Fix typo.
704	* params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise.
705
7062018-03-07  Martin Liska  <mliska@suse.cz>
707
708	Backport from mainline
709	2018-02-05  Martin Liska  <mliska@suse.cz>
710
711	PR gcov-profile/84137
712	* doc/gcov.texi: Fix typo in documentation.
713
7142018-03-07  Martin Liska  <mliska@suse.cz>
715
716	Backport from mainline
717	2018-02-05  Martin Liska  <mliska@suse.cz>
718
719	PR gcov-profile/83879
720	* doc/gcov.texi: Document necessity of --dynamic-list-data when
721	using dlopen functionality.
722
7232018-03-07  Martin Liska  <mliska@suse.cz>
724
725	Backport from mainline
726	2017-12-19  Martin Liska  <mliska@suse.cz>
727
728	PR rtl-optimization/82675
729	* loop-unroll.c (unroll_loop_constant_iterations): Allocate one
730	more element in sbitmap.
731
7322018-03-07  Martin Liska  <mliska@suse.cz>
733
734	Backport from mainline
735	2018-03-05  Martin Liska  <mliska@suse.cz>
736
737	* ipa-utils.c (ipa_merge_profiles): Do not merge alias or
738	a function without profile.
739
7402018-03-07  Martin Liska  <mliska@suse.cz>
741
742	Backport from mainline
743	2018-02-21  Jan Hubicka  <hubicka@ucw.cz>
744
745	PR c/84229
746	* ipa-cp.c (determine_versionability): Do not version functions caling
747	va_arg_pack.
748
7492018-03-07  Martin Liska  <mliska@suse.cz>
750
751	Backport from mainline
752	2018-02-08  Jan Hubicka  <hubicka@ucw.cz>
753
754	PR ipa/81360
755	* cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare
756	* symtab.c: Include builtins.h
757	(symtab_node::output_to_lto_symbol_table_p): Move here
758	from lto-streamer-out.c:output_symbol_p.
759	* lto-streamer-out.c (write_symbol): Turn early exit to assert.
760	(output_symbol_p): Move all logic to symtab.c
761	(produce_symtab): Update.
762
7632017-03-02  Thomas Schwinge  <thomas@codesourcery.com>
764
765	Backport from trunk r256891:
766	2018-01-19  Cesar Philippidis  <cesar@codesourcery.com>
767
768	PR target/83790
769	* config/nvptx/nvptx.c (output_init_frag): Don't use generic address
770	spaces for function labels.
771
7722018-02-21  Sudakshina Das  <sudi.das@arm.com>
773
774	Backport from trunk
775	2018-01-10  Sudakshina Das  <sudi.das@arm.com>
776
777	PR target/82096
778	* expmed.c (emit_store_flag_force): Swap if const op0
779	and change VOIDmode to mode of op0.
780
7812018-02-15  Michael Meissner  <meissner@linux.vnet.ibm.com>
782
783	Back port from trunk
784	2018-02-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
785
786	PR target/84154
787	* config/rs6000/rs6000.md (su code attribute): Use "u" for
788	unsigned_fix, not "s".
789
7902018-02-15  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
791
792	Back port from mainline
793	2018-01-30  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
794
795	PR target/83758
796	* config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return
797	a reg rtx.
798
7992018-02-10  John David Anglin  <danglin@gcc.gnu.org>
800
801	* config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as
802	function label.
803
804	Backport from mainline
805	2018-02-01  Aldy Hernandez  <aldyh@redhat.com>
806
807	PR target/84089
808	* config/pa/predicates.md (base14_operand): Handle VOIDmode.
809
8102018-02-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
811
812	Backport from mainline
813	2018-01-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
814
815	PR bootstrap/84017
816	* configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86.
817	* configure: Regenerate.
818
8192018-02-01  Renlin Li  <renlin.li@arm.com>
820
821	Backport from mainline
822	2018-02-01  Renlin Li  <renlin.li@arm.com>
823
824	PR target/83370
825	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
826	TAILCALL_ADDR_REGS.
827	(aarch64_register_move_cost): Likewise.
828	* config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to
829	TAILCALL_ADDR_REGS.
830	(REG_CLASS_NAMES): Likewise.
831	(REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to
832	TAILCALL_ADDR_REGS. Remove IP registers.
833	* config/aarch64/aarch64.md (Ucs): Update register constraint.
834
8352018-02-01  Bin Cheng  <bin.cheng@arm.com>
836
837	Backport from mainline
838	2017-11-15  Bin Cheng  <bin.cheng@arm.com>
839
840	PR tree-optimization/82726
841	PR tree-optimization/70754
842	* tree-predcom.c (order_drefs_by_pos): New function.
843	(combine_chains): Move code setting has_max_use_after to...
844	(try_combine_chains): ...here.  New parameter.  Sort combined chains
845	according to position information.
846	(tree_predictive_commoning_loop): Update call to above function.
847	(update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New.
848
8492018-01-31  Richard Biener <rguenther@suse.de>
850	    Kelvin Nilsen  <kelvin@gcc.gnu.org>
851
852	Backport from mainline
853	2018-01-29  Richard Biener <rguenther@suse.de>
854		    Kelvin Nilsen  <kelvin@gcc.gnu.org>
855
856	PR bootstrap/80867
857	* tree-vect-stmts.c (vectorizable_call): Don't call
858	targetm.vectorize_builtin_md_vectorized_function if callee is
859	NULL.
860
8612018-01-29  Alan Modra  <amodra@gmail.com>
862
863	Backport from mainline
864	2018-01-26  Alan Modra  <amodra@gmail.com>
865	PR target/84033
866	* config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude
867	UNSPEC_VBPERMQ.
868
8692018-01-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
870
871	Backport from mainline
872	2018-01-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
873
874	* config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store):
875	New function.
876	(rs6000_analyze_swaps): Mark a web unoptimizable if it contains a
877	swap associated with both a load and a store.
878
8792018-01-23  Peter Bergner  <bergner@vnet.ibm.com>
880
881	Back port from mainline
882	2018-01-10  Peter Bergner  <bergner@vnet.ibm.com>
883
884	PR target/83399
885	* config/rs6000/rs6000.c (print_operand) <'y'>: Use
886	VECTOR_MEM_ALTIVEC_OR_VSX_P.
887	* config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use
888	indexed_or_indirect_operand predicate.
889	(*vsx_le_perm_load_<mode> for VSX_W): Likewise.
890	(*vsx_le_perm_load_v8hi): Likewise.
891	(*vsx_le_perm_load_v16qi): Likewise.
892	(*vsx_le_perm_store_<mode> for VSX_D): Likewise.
893	(*vsx_le_perm_store_<mode> for VSX_W): Likewise.
894	(*vsx_le_perm_store_v8hi): Likewise.
895	(*vsx_le_perm_store_v16qi): Likewise.
896	(eight unnamed splitters): Likewise.
897
8982018-01-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
899
900	Back port from trunk
901	2018-01-22  Michael Meissner  <meissner@linux.vnet.ibm.com>
902
903	PR target/83862
904	* config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete,
905	no longer used.
906	* config/rs6000/rs6000.c (rs6000_split_signbit): Likewise.
907	* config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE
908	128-bit to produce an UNSPEC move to get the double word with the
909	signbit and then a shift directly to do signbit.
910	(signbit<mode>2_dm): Replace old IEEE 128-bit signbit
911	implementation with a new version that just does either a direct
912	move or a regular move.  Move memory interface to separate insns.
913	Move insns so they are next to the expander.
914	(signbit<mode>2_dm_mem_be): New combiner insns to combine load
915	with signbit move.  Split big and little endian case.
916	(signbit<mode>2_dm_mem_le): Likewise.
917	(signbit<mode>2_dm_<su>ext): Delete, no longer used.
918	(signbit<mode>2_dm2): Likewise.
919
9202018-01-21  Oleg Endo  <olegendo@gcc.gnu.org>
921
922	PR target/81485
923	* config/sh/sh-protos.h (sh_find_set_of_reg): Remove assert.
924
9252018-01-21  Oleg Endo  <olegendo@gcc.gnu.org>
926
927	Backport from mainline
928	2018-01-21  Oleg Endo  <olegendo@gcc.gnu.org>
929
930	PR target/80870
931	* config/sh/sh_optimize_sett_clrt.cc:
932	Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes.
933
9342018-01-16  Segher Boessenkool  <segher@kernel.crashing.org>
935
936	Backport from mainline
937	2017-12-18  Segher Boessenkool  <segher@kernel.crashing.org>
938
939	PR rtl-optimization/83424
940	* rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET.
941
9422018-01-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
943
944	Backport from mainline
945	2018-01-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
946
947	PR target/83677
948	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
949	Reverse order of second and third operands in first alternative.
950	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order
951	of first and second elements in UNSPEC_VPERMR vector.
952	(altivec_expand_vec_perm_le): Likewise.
953
9542018-01-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
955
956	Backport from mainline
957	2017-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
958
959	PR target/82975
960	* config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before
961	accessing it.  Adjust comment.
962
9632017-12-17  John David Anglin  <danglin@gcc.gnu.org>
964
965	Backport from mainline
966	2017-12-03  John David Anglin  <danglin@gcc.gnu.org>
967
968	* config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
969	require base operand is a REG_POINTER prior to reload on targets
970	with non-equivalent space registers.
971
9722017-12-15  Eric Botcazou  <ebotcazou@adacore.com>
973
974	PR target/66488
975	* ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
976	* hwint.h (HOST_BITS_PER_PTR): ...but here instead.
977
9782017-12-14  Peter Bergner  <bergner@vnet.ibm.com>
979
980	Backport from mainline
981	2017-12-13  Peter Bergner  <bergner@vnet.ibm.com>
982
983	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
984	* config/rs6000/rs6000.c (cpu_supports_info): Use it.
985
9862017-12-14  Peter Bergner  <bergner@vnet.ibm.com>
987
988	Backport from mainline
989	2017-10-02  Peter Bergner  <bergner@vnet.ibm.com>
990
991	PR target/80210
992	* config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
993	function to not use the have_cpu variable.  Do not set cpu_index,
994	rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
995	or the default cpu.
996	(rs6000_valid_attribute_p): Remove duplicate initializations of
997	old_optimize and func_optimize.
998	(rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
999	(rs6000_activate_target_options): Make global.
1000	* config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
1001	prototype.
1002
10032017-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1004
1005	PR c++/83301
1006
1007	Backport trunk r243377:
1008	2016-12-07  Jakub Jelinek  <jakub@redhat.com>
1009
1010	PR c++/78692
1011	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Set lhs
1012	var to lhs of new_stmt right before noreturn handling rather than to
1013	lhs of e->call_stmt early.
1014
10152017-12-04  Sebastian Peryt  <sebastian.peryt@intel.com>
1016	H.J. Lu  <hongjiu.lu@intel.com>
1017
1018	Bakcported from trunk
1019	PR target/82941
1020	PR target/82942
1021	PR target/82990
1022	* config/i386/i386.c (pass_insert_vzeroupper): Remove
1023	TARGET_AVX512F check from gate condition.
1024	(ix86_check_avx256_register): Changed to ...
1025	(ix86_check_avx_upper_register): ... this. Add extra check for
1026	VALID_AVX512F_REG_OR_XI_MODE.
1027	(ix86_avx_u128_mode_needed): Changed
1028	ix86_check_avx256_register to ix86_check_avx_upper_register.
1029	(ix86_check_avx256_stores): Changed to ...
1030	(ix86_check_avx_upper_stores): ... this. Changed
1031	ix86_check_avx256_register to ix86_check_avx_upper_register.
1032	(ix86_avx_u128_mode_after): Changed
1033	avx_reg256_found to avx_upper_reg_found. Changed
1034	ix86_check_avx256_stores to ix86_check_avx_upper_stores.
1035	(ix86_avx_u128_mode_entry): Changed
1036	ix86_check_avx256_register to ix86_check_avx_upper_register.
1037	(ix86_avx_u128_mode_exit): Ditto.
1038	(ix86_option_override_internal): Set MASK_VZEROUPPER if
1039	neither -mzeroupper nor -mno-zeroupper is used and
1040	TARGET_EMIT_VZEROUPPER is set.
1041	* config/i386/i386.h: (host_detect_local_cpu): New define.
1042	(TARGET_EMIT_VZEROUPPER): New.
1043	* config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER
1044
10452017-12-01  Segher Boessenkool  <segher@kernel.crashing.org>
1046
1047	Backport from mainline
1048	2017-11-28  Segher Boessenkool  <segher@kernel.crashing.org>
1049
1050	PR 81288/target
1051	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
1052	TARGET_ISEL && !TARGET_MFCRF differently.  Simplify code.
1053
10542017-11-29  Daniel Cederman  <cederman@gaisler.com>
1055
1056	Backport from mainline
1057	* config/sparc/sparc.c (sparc_do_work_around_errata): Treat the
1058        movsi_pic_gotdata_op instruction as a load for the UT699 errata
1059        workaround.
1060
10612017-11-24  Segher Boessenkool  <segher@kernel.crashing.org>
1062
1063	Backport from mainline
1064	2017-11-17  Segher Boessenkool  <segher@kernel.crashing.org>
1065
1066	PR rtl-optimization/82621
1067	* combine.c (try_combine): Do not split PARALLELs of two SETs if the
1068	dest of one of those SETs is unused.
1069
10702017-11-21  Pat Haugen  <pthaugen@us.ibm.com>
1071
1072	Backport from mainline
1073	2017-11-21  Pat Haugen  <pthaugen@us.ibm.com>
1074
1075	* config/rs6000/ppc-asm.h (f50, vs50): Fix values.
1076
10772017-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1078
1079	Backport from mainline
1080	2017-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1081
1082	* config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
1083	Solaris 11.  Update comment.
1084	* configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
1085	renaming.
1086	* config/sol2.h (STARTFILE_SPEC): Likewise.
1087	* configure: Regenerate.
1088
10892017-11-16  Uros Bizjak  <ubizjak@gmail.com>
1090
1091	* config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop
1092	explicitly as a stream of bytes.
1093
10942017-11-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1095
1096	Backport from mainline
1097	2017-10-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1098
1099	* configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
1100	supports -xbrace_comment option.
1101	* configure: Regenerate.
1102	* config.in: Regenerate.
1103	* config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
1104	(ASM_CPU_SPEC): Use it.
1105
11062017-11-09  Andre McCurdy  <armccurdy@gmail.com>
1107
1108	* config/arm/arm-cores.def: Fix missing FL_LPAE flag for armv7ve
1109	compatible cores.
1110
11112017-11-09  Segher Boessenkool  <segher@kernel.crashing.org>
1112
1113	Backport from mainline
1114	2017-11-01  Segher Boessenkool  <segher@kernel.crashing.org>
1115
1116	PR rtl-optimization/64682
1117	PR rtl-optimization/69567
1118	PR rtl-optimization/69737
1119	PR rtl-optimization/82683
1120	* combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
1121	register mentioned in the note, drop the note, unless it came from I3,
1122	in which case it should go to I3 again.
1123
11242017-10-31  Uros Bizjak  <ubizjak@gmail.com>
1125
1126	PR target/82772
1127	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
1128
11292017-10-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1130
1131	Backport from mainline
1132	2017-03-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1133
1134	* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
1135	instead of vec_select for V1TImode.
1136	* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
1137	longer needed.
1138	(VSX_LE_128): Add V1TI to this mode iterator.
1139	(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
1140	(*vsx_le_perm_store_<mode>): Likewise.
1141	(pre-reload splitter for VSX stores): Likewise.
1142	(post-reload splitter for VSX stores): Likewise.
1143	(*vsx_xxpermdi2_le_<mode>): Likewise.
1144	(*vsx_lxvd2x2_le_<mode>): Likewise.
1145	(*vsx_stxvd2x2_le_<mode>): Likewise.
1146
11472017-10-19  Richard Earnshaw  <rearnsha@arm.com>
1148
1149	PR target/82445
1150	* config/arm/arm.c (align_ok_ldrd_strd): New function.
1151	(mem_ok_for_ldrd_strd): New parameter align.  Extract the alignment of
1152	the mem into it.
1153	(gen_operands_ldrd_strd): Validate the alignment of the accesses.
1154
11552017-10-18  Segher Boessenkool  <segher@kernel.crashing.org>
1156
1157	PR rtl-optimization/82602
1158	* ira.c (rtx_moveable_p): Return false for volatile asm.
1159
11602017-10-17  Jakub Jelinek  <jakub@redhat.com>
1161
1162	PR tree-optimization/82549
1163	* fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
1164	Formatting fixes.  Instead of calling make_bit_field_ref with negative
1165	bitpos return 0.
1166
11672017-10-13  Jakub Jelinek  <jakub@redhat.com>
1168
1169	PR target/82274
1170	* internal-fn.c (expand_mul_overflow): If both operands have
1171	the same highpart of -1 or 0 and the topmost bit of lowpart
1172	is different, overflow is if res <= 0 rather than res < 0.
1173
11742017-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
1175
1176	* config.gcc: (armv7*-*-freebsd*): New target.
1177	Define TARGET_FREEBSD_ARMv7
1178	* config/arm/freebsd.h: Use TARGET_FREEBSD_ARMv7 to define the
1179	default cpu for armv7*-*-freebsd*.
1180
11812017-10-02  Jakub Jelinek  <jakub@redhat.com>
1182
1183	Backported from mainline
1184	2017-09-30  Jakub Jelinek  <jakub@redhat.com>
1185
1186	* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
1187	always SImode for DIV and MOD in REG_EQUAL notes.
1188
11892017-10-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1190
1191	Backport from mainline
1192	2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1193
1194	PR tree-optimization/82337
1195	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
1196	phi definition if the PHI result appears in an abnormal PHI.
1197	(find_basis_for_base_expr): Don't record a basis if the LHS of the
1198	basis appears in an abnormal PHI.
1199
12002017-09-21  Alan Modra  <amodra@gmail.com>
1201
1202	PR target/81996
1203	* gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
1204	stack_pointer_rtx for count 0.  Update comments.  Break up
1205	large rtl expression.
1206
12072017-09-21  Wilco Dijkstra  <wdijkstr@arm.com>
1208
1209	PR target/71951
1210	* config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
1211
12122017-09-19  Uros Bizjak  <ubizjak@gmail.com>
1213
1214	* config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
1215	to processor_model and "amdfam17h" to arch_names_table.
1216	* doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.
1217
12182017-09-19  Martin Liska  <mliska@suse.cz>
1219
1220	PR c++/81355
1221	* config/i386/i386.c (sorted_attr_string): Skip empty strings.
1222
12232017-09-19  Martin Liska  <mliska@suse.cz>
1224
1225	Revert backport:
1226	2017-08-10  Martin Liska  <mliska@suse.cz>
1227
1228	PR c++/81355
1229	* c-attribs.c (handle_target_attribute):
1230	Report warning for an empty string argument of target attribute.
1231
12322017-09-18  Richard Biener  <rguenther@suse.de>
1233
1234	Backport from mainline
1235	2017-08-28  Richard Biener  <rguenther@suse.de>
1236
1237	PR tree-optimization/81977
1238	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
1239	memcpy.
1240
1241	2017-09-04  Richard Biener  <rguenther@suse.de>
1242
1243	PR tree-optimization/82084
1244	* fold-const.h (can_native_encode_string_p): Declare.
1245	* fold-const.c (can_native_encode_string_p): Factor out from ...
1246	(native_encode_string): ... here.
1247	* tree-vect-stmts.c (vectorizable_store): Call it to avoid
1248	vectorizing stores from constants we later cannot handle.
1249
1250	2017-07-25  Richard Biener  <rguenther@suse.de>
1251
1252	PR middle-end/81505
1253	* fold-const.c (fold_negate_const): TREE_OVERFLOW should be
1254	sticky.
1255
12562017-09-15  Jakub Jelinek  <jakub@redhat.com>
1257
1258	Backported from mainline
1259	2017-09-05  Jakub Jelinek  <jakub@redhat.com>
1260
1261	PR middle-end/81768
1262	* omp-low.c (lower_omp_for): Recompute tree invariant if
1263	gimple_omp_for_initial/final is ADDR_EXPR.
1264
1265	PR middle-end/81768
1266	* omp-low.c (expand_omp_simd): Force second operands of COND_EXPR
1267	into gimple val before gimplification fo the COND_EXPR.
1268
1269	2017-09-04  Jakub Jelinek  <jakub@redhat.com>
1270
1271	* lra-remat.c (reg_overlap_for_remat_p): Fix a pasto.
1272
1273	2017-08-09  Jakub Jelinek  <jakub@redhat.com>
1274
1275	PR c/81687
1276	* omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
1277	LABEL_DECLs.
1278	* tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
1279	or DECL_NONLOCAL labels.
1280	(move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
1281	or DECL_NONLOCAL labels here.
1282
1283	2017-08-08  Richard Biener  <rguenther@suse.de>
1284
1285	PR middle-end/81766
1286	* function.c (thread_prologue_and_epilogue_insns): Restore
1287	behavior of always calling find_many_sub_basic_blocks on
1288	the inserted prologue.
1289
1290	2017-08-03  Jakub Jelinek  <jakub@redhat.com>
1291
1292	PR target/81621
1293	* bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
1294	after setting changeable df flags.
1295
1296	PR middle-end/81052
1297	* omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
1298	(pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
1299
1300	2017-08-02  Jakub Jelinek  <jakub@redhat.com>
1301
1302	PR middle-end/79499
1303	* function.c (thread_prologue_and_epilogue_insns): Determine blocks
1304	for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
1305	of first NONDEBUG_INSN_P in each of the split_prologue_seq and
1306	prologue_seq sequences - if any.
1307
1308	2017-06-30  Jakub Jelinek  <jakub@redhat.com>
1309
1310	PR target/81225
1311	* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For
1312	V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
1313	of nonimmediate_operand and <store_mask_constraint> instead of m for
1314	the input operand.  For V8FI iterator, always split if input is a MEM.
1315	For V16FI and V8SF_256 iterators, don't test if both operands are MEM
1316	if <mask_applied>.  For VI4F_256 iterator, use <store_mask_predicate>
1317	instead of register_operand and <store_mask_constraint> instead of v for
1318	the input operand.  Make sure both operands aren't MEMs for if not
1319	<mask_applied>.
1320
13212017-09-15  Martin Liska  <mliska@suse.cz>
1322
1323	Backport from mainline
1324	2017-08-11  Martin Liska  <mliska@suse.cz>
1325
1326	PR tree-opt/79987
1327	* tree-chkp.c (chkp_get_bounds_for_decl_addr): Do not instrument
1328	variables of void type.
1329
13302017-09-15  Martin Liska  <mliska@suse.cz>
1331
1332	Backport from mainline
1333	2017-06-28  Martin Liska  <mliska@suse.cz>
1334
1335	PR sanitizer/81224
1336	* asan.c (instrument_derefs): Bail out inner references
1337	that are hard register variables.
1338
13392017-09-15  Martin Liska  <mliska@suse.cz>
1340
1341	Backport from mainline
1342	2017-08-30  Martin Liska  <mliska@suse.cz>
1343
1344	PR inline-asm/82001
1345	* ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
1346	Rename to ...
1347	(func_checker::compare_asm_inputs_outputs): ... this function.
1348	(func_checker::compare_gimple_asm): Use the function to compare
1349	also ASM constrains.
1350	* ipa-icf-gimple.h: Rename the function.
1351
13522017-09-15  Martin Liska  <mliska@suse.cz>
1353
1354	Backport from mainline
1355	2017-08-29  Martin Liska  <mliska@suse.cz>
1356
1357	PR other/39851
1358	* gcc.c (driver_handle_option): Add new argument.
1359	* opts-common.c (handle_option): Pass
1360	target_option_override_hook.
1361	* opts-global.c (lang_handle_option): Add new option.
1362	(set_default_handlers):  Add new argument.
1363	(decode_options): Likewise.
1364	* opts.c (target_handle_option): Likewise.
1365	(common_handle_option): Call target_option_override_hook.
1366	* opts.h (struct cl_option_handler_func): Add hook for
1367	target option override.
1368	(struct cl_option_handlers): Likewise.
1369	(set_default_handlers): Add new argument.
1370	(decode_options): Likewise.
1371	(common_handle_option): Likewise.
1372	(target_handle_option): Likewise.
1373	* toplev.c (toplev::main): Pass targetm.target_option.override
1374	hook.
1375
13762017-09-15  Martin Liska  <mliska@suse.cz>
1377
1378	Backport from mainline
1379	2017-08-10  Martin Liska  <mliska@suse.cz>
1380
1381	PR c++/81355
1382	* c-attribs.c (handle_target_attribute):
1383	Report warning for an empty string argument of target attribute.
1384
13852017-09-15  Martin Liska  <mliska@suse.cz>
1386
1387	Backport from mainline
1388	2017-08-08  Martin Liska  <mliska@suse.cz>
1389
1390	PR tree-opt/81696
1391	* ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
1392	LABEL_DECLs that can be from a different function.
1393
13942017-09-15  Martin Liska  <mliska@suse.cz>
1395
1396	Backport from mainline
1397	2017-06-28  Martin Liska  <mliska@suse.cz>
1398
1399	PR ipa/81128
1400	* ipa-visibility.c (non_local_p): Handle visibility.
1401
14022017-09-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1403
1404	Backport from mainline
1405	2017-09-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1406
1407	PR target/81833
1408	* config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
1409	define_insn to a define_expand.
1410	(altivec_vsum2sws_direct): New define_insn.
1411	(altivec_vsumsws): Convert from a define_insn to a define_expand.
1412
14132017-09-11  Max Filippov  <jcmvbkbc@gmail.com>
1414
1415	Backport from mainline
1416	PR target/82181
1417	* config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
1418	words of DImode object are reachable by xtensa_uimm8x4 access.
1419
14202017-09-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1421
1422	Backport from mainline:
1423	2017-08-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1424
1425	PR tree-optimization/81987
1426	* gimple-ssa-strength-reduction.c (insert_initializers): Don't
1427	insert an initializer in a location not dominated by the stride
1428	definition.
1429
14302017-09-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1431
1432	Backport from mainline
1433	2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1434		    Jakub Jelinek  <jakub@redhat.com>
1435		    Richard Biener  <rguenther@suse.de>
1436
1437	PR tree-optimization/81503
1438	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
1439	folded constant fits in the target type; reorder tests for clarity.
1440
14412017-08-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
1442
1443	Back port from trunk
1444	2017-08-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
1445
1446	PR target/81593
1447	* config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns
1448	to recognize inserting into a vector from a double word element
1449	that was extracted from another vector, and eliminate extra
1450	XXPERMDI instructions.
1451	(vsx_concat_<mode>_2): Likewise.
1452	(vsx_concat_<mode>_3): Likewise.
1453	(vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
1454	concat to allow optimizing inserts from previous extracts.
1455
14562017-08-29  Alan Modra  <amodra@gmail.com>
1457
1458	Apply from mainline
1459	2017-08-12  Alan Modra  <amodra@gmail.com>
1460	PR target/81170
1461	PR target/81295
1462	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
1463	match gnu-user.h startfile.
1464	(ENDFILE_LINUX_SPEC): Similarly.
1465
1466	2017-08-08  Alan Modra  <amodra@gmail.com>
1467		    H.J. Lu  <hongjiu.lu@intel.com>
1468	PR target/81170
1469	PR target/81295
1470	PR driver/81523
1471	* gcc.c (NO_PIE_SPEC): Delete.
1472	(PIE_SPEC): Define as !no-pie/pie.  Move static|shared|r
1473	exclusion..
1474	(LINK_PIE_SPEC): ..to here.
1475	(LINK_COMMAND_SPEC): Support -no-pie.
1476	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
1477	chain of crtbegin*.o selection, update for PIE_SPEC changes and
1478	format.
1479	(GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
1480	* config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
1481	(ENDFILE_CRTEND_SPEC): Similarly.
1482
14832017-08-24  Yvan Roux  <yvan.roux@linaro.org>
1484
1485	Backport from mainline
1486	2017-04-17  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1487
1488	PR c++/80287
1489	* class.c (fixup_may_alias): Fix all type variants.
1490
14912017-08-22  Peter Bergner  <bergner@vnet.ibm.com>
1492
1493	Backport from mainline
1494	2017-08-17  Peter Bergner  <bergner@vnet.ibm.com>
1495
1496	PR target/80210
1497	* config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
1498	(rs6000_set_current_function): Rewrite function to use it.
1499
15002017-08-22  Georg-Johann Lay  <avr@gjlay.de>
1501
1502	Backport from 2017-08-22 trunk r251256.
1503
1504	PR target/81910
1505	* config/avr/avr.c (avr_handle_addr_attribute): Early return if
1506	not VAR_P. Filter attribute warnings with OPT_Wattributes.
1507	(avr_attribute_table) <io, io_low, address>: Initialize
1508	.decl_required with true.
1509
15102017-08-21  Georg-Johann Lay  <avr@gjlay.de>
1511
1512	PR target/79883
1513	* config/avr/avr.c (avr_set_current_function): Typo in diagnostic.
1514
15152017-08-19  Uros Bizjak  <ubizjak@gmail.com>
1516
1517	PR target/81894
1518	* doc/extend.texi (x86 Built-in Functions): Correct the name of
1519	__builtin_ia32_lzcnt_u16.
1520
15212017-08-17  Uros Bizjak  <ubizjak@gmail.com>
1522
1523	Backport from mainline
1524	2017-08-17  Maxim Ostapenko  <m.ostapenko@samsung.com>
1525
1526	PR target/81861
1527	* config/i386/i386.c (ix86_option_override_internal): Save target
1528	specific options after ix86_stack_protector_guard_reg was changed.
1529
15302017-08-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1531
1532	Backport from mainline
1533	2017-08-08  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1534
1535	PR tree-optimization/81354
1536	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
1537	Insert on edges rather than explicitly creating landing pads.
1538	(analyze_candidates_and_replace): Commit edge inserts.
1539
15402017-08-01  Uros Bizjak  <ubizjak@gmail.com>
1541
1542	PR target/81641
1543	* config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
1544	print "ds:" only for immediates in generic address space.
1545
15462017-07-31  Jakub Jelinek  <jakub@redhat.com>
1547
1548	PR sanitizer/81604
1549	* ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
1550	change type to the element type, instead add eltype variable and
1551	use it where we are interested in the element type.
1552
15532017-07-28  Peter Bergner  <bergner@vnet.ibm.com>
1554
1555	Backport from mainline
1556	2017-07-28  Peter Bergner  <bergner@vnet.ibm.com>
1557
1558	* config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
1559	(PPC_FEATURE2_SCV): Likewise.
1560	* config/rs6000/rs6000.c (cpu_supports_info): Use them.
1561
15622017-07-28  Bin Cheng  <bin.cheng@arm.com>
1563
1564	Backport from mainline r250496
1565	2017-07-25  Bin Cheng  <bin.cheng@arm.com>
1566
1567	PR target/81414
1568	* config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
1569	instructions if no du chain is found.
1570
15712017-07-27  Jakub Jelinek  <jakub@redhat.com>
1572
1573	PR tree-optimization/81555
1574	PR tree-optimization/81556
1575	* tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
1576	if true, force CHANGED for the recursive invocation.
1577	(reassociate_bb): Remember original length of ops array, pass
1578	len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
1579
15802017-07-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1581
1582	Backport from mainline r235874
1583	2016-05-04  Alan Modra  <amodra@gmail.com>
1584
1585	* config/rs6000/rs6000.c (rs6000_elf_output_toc_section_asm_op):
1586	Align .toc.
1587
15882017-07-26  Georg-Johann Lay  <avr@gjlay.de>
1589
1590	Backport from 2016-06-15 trunk r237486.
1591	Backport from 2017-07-12 trunk r250156.
1592
1593	PR target/79883
1594	PR target/67353
1595	* config/avr/avr.c (avr_set_current_function): Warn misspelled ISR
1596	only if -Wmisspelled-isr is on.  In diagnostic messages: Quote
1597	keywords and (parts of) identifiers.
1598	[WITH_AVRLIBC]: Warn functions named "ISR", "SIGNAL" or "INTERUPT".
1599	* doc/invoke.texi (AVR Options) <-Wmisspelled-isr>: Decument.
1600
16012017-07-26  Georg-Johann Lay  <avr@gjlay.de>
1602
1603	Backport from 2017-07-05 trunk r249995.
1604
1605	PR target/81305
1606	* config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
1607	Don't depend on "optimize > 0".
1608	(out_movhi_r_mr, out_movqi_mr_r): Same.
1609	(out_movhi_mr_r, out_movqi_r_mr): Same.
1610	(avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
1611	io_address_operand on "optimize > 0".
1612
16132017-07-26  Georg-Johann Lay  <avr@gjlay.de>
1614
1615	Backport from 2017-07-12 trunk r250151.
1616
1617	PR target/81407
1618	* config/avr/avr.c (avr_encode_section_info)
1619	[progmem && !TREE_READONLY]: Error if progmem object needs
1620	constructing.
1621
16222017-07-26  Georg-Johann Lay  <avr@gjlay.de>
1623
1624	Backport from 2017-07-26 gcc-7-branch r250562.
1625
1626	PR 81487
1627	* hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
1628	* tree-ssa-structalias.c (alias_get_name): Same.
1629
16302017-07-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1631
1632	Backport from mainline
1633	2016-07-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1634
1635	PR tree-optimization/81162
1636	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
1637	replace a negate with an add.
1638
16392017-07-25  Georg-Johann Lay  <avr@gjlay.de>
1640
1641	Backport from trunk r247719.
1642
1643	2017-05-06  Richard Sandiford  <richard.sandiford@linaro.org>
1644
1645	PR rtl-optimization/75964
1646	* simplify-rtx.c (simplify_const_relational_operation): Remove
1647	invalid handling of comparisons of integer ABS.
1648
16492017-07-24  Uros Bizjak  <ubizjak@gmail.com>
1650
1651	PR target/80569
1652	* config/i386/i386.c (ix86_option_override_internal): Disable
1653	BMI, BMI2 and TBM instructions for -m16.
1654
16552017-07-18  Uros Bizjak  <ubizjak@gmail.com>
1656
1657	PR target/81471
1658	* config/i386/i386.md (rorx_immediate_operand): New mode attribute.
1659	(*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
1660	operand 2 predicate.
1661	(*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
1662	operand 2 predicate.
1663	(ror,rol -> rorx splitters): Use const_int_operand as
1664	operand 2 predicate.
1665
16662017-07-17  Georg-Johann Lay  <avr@gjlay.de>
1667
1668	Backport from 2017-07-17 trunk r250258.
1669
1670	PR 80929
1671	* config/avr/avr.c (avr_mul_highpart_cost): New static function.
1672	(avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost.
1673	[LSHIFTRT, outer_code = TRUNCATE]: Same.
1674
16752017-07-14  Kelvin Nilsen  <kelvin@gcc.gnu.org>
1676
1677	Backports from trunk
1678
1679	2017-03-23  Kelvin Nilsen  <kelvin@gcc.gnu.org>
1680	* config/rs6000/rs6000.c (rs6000_option_override_internal): Change
1681	handling of certain combinations of target options, including the
1682	combinations -mpower8-vector vs. -mno-vsx, -mpower8-vector vs.
1683	-mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
1684
1685	2017-03-27  Kelvin Nilsen  <kelvin@gcc.gnu.org>
1686	PR target/80103
1687	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
1688	special handling for target option conflicts between dform options
1689	(-mpower9-dform, -mpower9-dform-vector, -mpower9-dform-scalar) and
1690	-mno-direct-move.
1691
1692	2017-05-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
1693	PR target/80101
1694	* config/rs6000/power6.md: Replace store_data_bypass_p calls with
1695	rs6000_store_data_bypass_p in seven define_bypass directives and
1696	in several comments.
1697	* config/rs6000/rs6000-protos.h: Add prototype for
1698	rs6000_store_data_bypass_p function.
1699	* config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New
1700	function implements slightly different (rs6000-specific) semantics
1701	than store_data_bypass_p, returning false rather than aborting
1702	with assertion error when arguments do not satisfy the
1703	requirements of store data bypass.
1704	(rs6000_adjust_cost): Replace six calls of store_data_bypass_p with
1705	rs6000_store_data_bypass_p.
1706
17072017-07-14  Uros Bizjak  <ubizjak@gmail.com>
1708
1709	Backport from mainline
1710	2017-07-10  Uros Bizjak  <ubizjak@gmail.com>
1711
1712	PR target/81375
1713	* config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
1714	(rcpps): Ditto.
1715	(*rsqrtsf2_sse): Ditto.
1716	(rsqrtsf2): Ditto.
1717	(div<mode>3): Macroize insn from divdf3 and divsf3
1718	using MODEF mode iterator.
1719
1720	Backport from mainline
1721	2017-07-04  Uros Bizjak  <ubizjak@gmail.com>
1722
1723	PR target/81300
1724	* config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
1725	Require dead FLAGS_REG at the beginning of a peephole.
1726
17272017-07-13  Tom de Vries  <tom@codesourcery.com>
1728
1729	backport from mainline:
1730	PR tree-optimization/81192
1731	2017-07-03  Tom de Vries  <tom@codesourcery.com>
1732
1733	* tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
1734	BB_SAME_SUCC (bb) == NULL.
1735
17362017-07-06  Andrew Pinski  <apinski@cavium.com>
1737
1738	* config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
1739	Access the lower part of RTX appropriately.
1740
17412017-07-04  Richard Biener  <rguenther@suse.de>
1742
1743	* BASE-VER: Bump to 6.4.1.
1744
17452017-07-04  Release Manager
1746
1747	* GCC 6.4.0 released.
1748
17492017-07-03  Segher Boessenkool  <segher@kernel.crashing.org>
1750
1751	Backport from trunk:
1752
1753	2017-06-15  Segher Boessenkool  <segher@kernel.crashing.org>
1754
1755	* config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead
1756	of REGNO.
1757
17582017-06-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
1759
1760	Backport from mainline
1761	2017-06-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1762
1763	PR target/80510
1764	* config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
1765	32-bit, since indexed is not valid for DImode.
1766	(mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
1767	3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
1768	(define_peephole2 for Altivec d-form load): Add 32-bit support.
1769	(define_peephole2 for Altivec d-form store): Likewise.
1770
17712017-06-27  Segher Boessenkool  <segher@kernel.crashing.org>
1772
1773	Backports from trunk:
1774
1775	2016-08-15  Segher Boessenkool  <segher@kernel.crashing.org>
1776	PR rtl-optimization/73650
1777	* lra-constraints.c (simple_move_p): If the insn is multiple_sets
1778	it is not a simple move.
1779
1780	2017-01-20  Segher Boessenkool  <segher@kernel.crashing.org>
1781	PR target/61729
1782	PR target/77850
1783	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
1784	read from, for big endian.
1785
1786	2017-04-04  Segher Boessenkool  <segher@kernel.crashing.org>
1787	PR rtl-optimization/60818
1788	* simplify-rtx.c (simplify_binary_operation_1): Do not replace
1789	a compare of comparisons with the thing compared if this results
1790	in a different machine mode.
1791
1792	2017-04-12  Segher Boessenkool  <segher@kernel.crashing.org>
1793	PR target/80382
1794	* config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
1795	for quad_address_p for TImode, instead of just not indexed_address.
1796
1797	2017-04-19  Segher Boessenkool  <segher@kernel.crashing.org>
1798	PR rtl-optimization/80429
1799	* ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
1800	are only used in debug insns.
1801
1802	2017-05-17  Segher Boessenkool  <segher@kernel.crashing.org>
1803	PR middle-end/80692
1804	* real.c (do_compare): Give decimal_do_compare preference over
1805	comparing just the signs.
1806
1807	2017-05-31  Segher Boessenkool  <segher@kernel.crashing.org>
1808	PR target/80618
1809	* config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
1810	splitter result in the canonical way.
1811
1812	2017-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
1813	PR target/80966
1814	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
1815	gen_add3_insn did not fail.
1816	* config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
1817	r0, construct that number in a temporary reg and add that reg to r0.
1818	If asked to put the result in r0 as well, fail.
1819
1820	2017-06-23  Segher Boessenkool  <segher@kernel.crashing.org>
1821	PR middle-end/80902
1822	* builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
1823	a call, force the call to not be a tail call.
1824
18252017-06-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1826
1827	Backport from mainline
1828	2017-05-04  Prakhar Bahuguna  <prakhar.bahuguna@arm.com>
1829
1830	* config/arm/arm-builtins.c (arm_init_builtins): Rename
1831	__builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
1832	__builtin_arm_stfscr to __builtin_arm_set_fpscr.
1833
18342017-06-22  Richard Biener  <rguenther@suse.de>
1835
1836	Backport from mainline
1837	2017-02-17  Richard Biener  <rguenther@suse.de>
1838
1839	PR tree-optimization/79552
1840	* tree-ssa-structalias.c (visit_loadstore): Properly verify
1841	default defs.
1842
1843	2016-04-18  Richard Biener  <rguenther@suse.de>
1844
1845	PR tree-optimization/43434
1846	* tree-ssa-structalias.c (struct vls_data): New.
1847	(visit_loadstore): Handle all pointer-based accesses.
1848	(compute_dependence_clique): Compute a bitmap of restrict tags
1849	assigned bases and pass it to visit_loadstore.
1850
18512017-06-22  Jakub Jelinek  <jakub@redhat.com>
1852
1853	Backported from mainline
1854	2017-06-21  Jakub Jelinek  <jakub@redhat.com>
1855
1856	PR c++/81130
1857	* gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
1858	with ctors/dtors if GOVD_SHARED is set.
1859
18602017-06-22  Martin Liska  <mliska@suse.cz>
1861
1862	Backport from mainline
1863	2017-05-31  Martin Liska  <mliska@suse.cz>
1864
1865	PR target/79155
1866	* config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
1867
18682017-06-22  Martin Liska  <mliska@suse.cz>
1869
1870	Backport from mainline
1871	2017-05-30  Martin Liska  <mliska@suse.cz>
1872
1873	PR other/80909
1874	* auto-profile.c (get_function_decl_from_block): Fix
1875	parenthesis.
1876
18772017-06-22  Martin Liska  <mliska@suse.cz>
1878
1879	Backport from mainline
1880	2017-05-26  Martin Liska  <mliska@suse.cz>
1881
1882	PR ipa/80663
1883	* params.def: Bound partial-inlining-entry-probability param.
1884
18852017-06-22  Martin Liska  <mliska@suse.cz>
1886
1887	Backport from mainline
1888	2017-05-16  Martin Liska  <mliska@suse.cz>
1889
1890	PR ipa/79849.
1891	PR ipa/79850.
1892	* ipa-devirt.c (warn_types_mismatch): Fix typo.
1893	(odr_types_equivalent_p): Likewise.
1894
18952017-06-22  Martin Liska  <mliska@suse.cz>
1896
1897	Backport from mainline
1898	2017-05-15  Martin Liska  <mliska@suse.cz>
1899
1900	PR driver/31468
1901	* gcc.c (process_command): Do not allow empty argument of -o option.
1902
19032017-06-22  Martin Liska  <mliska@suse.cz>
1904
1905	Backport from mainline
1906	2017-05-02  Martin Liska  <mliska@suse.cz>
1907
1908	* doc/gcov.texi: Add missing preposition.
1909	* gcov.c (function_info::function_info): Properly fill up
1910	all member variables.
1911
19122017-06-22  Martin Liska  <mliska@suse.cz>
1913
1914	Backport from mainline
1915	2017-05-02  Martin Liska  <mliska@suse.cz>
1916
1917	PR other/80589
1918	* common.opt: Fix typo.
1919	* doc/invoke.texi: Likewise.
1920
19212017-06-22  Martin Liska  <mliska@suse.cz>
1922
1923	Backport from mainline
1924	2017-04-28  Martin Liska  <mliska@suse.cz>
1925
1926	* doc/gcov.texi: Enhance documentation of gcov.
1927
19282017-06-22  Martin Liska  <mliska@suse.cz>
1929
1930	Backport from mainline
1931	2017-04-28  Martin Liska  <mliska@suse.cz>
1932
1933	* doc/gcov.texi: Sort options in alphabetic order.
1934	* doc/gcov-dump.texi: Likewise.
1935	* doc/gcov-tool.texi: Likewise.
1936	* gcov.c (print_usage): Likewise.
1937	* gcov-dump.c (print_usage): Likewise.
1938	* gcov-tool.c (print_merge_usage_message): Likewise.
1939	(print_rewrite_usage_message): Likewise.
1940	(print_overlap_usage_message): Likewise.
1941
19422017-06-22  Martin Liska  <mliska@suse.cz>
1943
1944	Backport from mainline
1945	2017-04-28  Martin Liska  <mliska@suse.cz>
1946
1947	PR gcov-profile/53915
1948	* gcov.c (format_gcov): Print 'NAN %' when top > bottom.
1949
19502017-06-22  Martin Liska  <mliska@suse.cz>
1951
1952	Backport from mainline
1953	2017-04-28  Martin Liska  <mliska@suse.cz>
1954
1955	PR driver/56469
1956	* coverage.c (coverage_remove_note_file): New function.
1957	* coverage.h: Declare the function.
1958	* toplev.c (finalize): Clean if an error has been seen.
1959
19602017-06-22  Martin Liska  <mliska@suse.cz>
1961
1962	Backport from mainline
1963	2017-04-12  Jan Hubicka  <hubicka@ucw.cz>
1964
1965	PR lto/69953
1966	* ipa-visibility.c (non_local_p): Fix typos.
1967	(localize_node): When localizing symbol in same comdat group,
1968	dissolve the group only when we know external symbols are going
1969	to be privatized.
1970	(function_and_variable_visibility): Do not localize DECL_EXTERNAL.
1971
19722017-06-22  Martin Liska  <mliska@suse.cz>
1973
1974	Backport from mainline
1975	2017-01-17  Nathan Sidwell  <nathan@acm.org>
1976
1977	* ipa-visibility.c (localize_node): New function, broken out of ...
1978	(function_and_variable_visibility): ... here. Call it.
1979
19802017-06-22  Martin Liska  <mliska@suse.cz>
1981
1982	Backport from mainline
1983	2017-01-06  Nathan Sidwell  <nathan@acm.org>
1984
1985	* ipa-visibility.c (function_and_variable_visibility): Reformat
1986	comments and long lines.  Remove extrneous if.
1987	* symtab.c (symtab_node::make_decl_local): Fix code format.
1988	(symtab_node::set_section_for_node): Fix comment typo.
1989
19902017-06-22  Martin Liska  <mliska@suse.cz>
1991
1992	Backport from mainline
1993	2016-10-20  Martin Liska  <mliska@suse.cz>
1994
1995	PR lto/78049
1996	* lto-streamer-in.c (fixup_call_stmt_edges_1): Replace value
1997	comparison with STMT_UID_NOT_IN_RANGE.
1998	(fixup_call_stmt_edges): Do not fixup edges of a thunk in
1999	LTRANS.
2000
20012017-06-22  Jakub Jelinek  <jakub@redhat.com>
2002
2003	Backported from mainline
2004	2017-05-22  Jakub Jelinek  <jakub@redhat.com>
2005
2006	PR middle-end/80809
2007	* omp-low.c (finish_taskreg_remap): New function.
2008	(finish_taskreg_scan): If unit size of ctx->record_type
2009	is non-constant, unshare the size expression and replace
2010	decls in it with possible outer var refs.
2011
2012	PR middle-end/80809
2013	* gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
2014	GOVD_SHARED rather than GOVD_PRIVATE with it.
2015	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
2016	GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.
2017
2018	PR middle-end/80853
2019	* omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
2020	as last argument to build_outer_var_ref for pointer bases of array
2021	section reductions.
2022
20232017-06-22  Richard Biener  <rguenther@suse.de>
2024
2025	Backport from mainline
2026	2017-04-20  Richard Biener  <rguenther@suse.de>
2027
2028	PR tree-optimization/80453
2029	* tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
2030	* tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
2031	from the conditions.
2032	(vn_phi_eq): Pass them down.
2033	(vn_phi_lookup): Record them.
2034	(vn_phi_insert): Likewise.
2035
2036	2017-04-07  Richard Biener  <rguenther@suse.de>
2037
2038	PR middle-end/80341
2039	* tree.c (get_unwidened): Also handle ! for_type case for
2040	INTEGER_CSTs.
2041	* convert.c (do_narrow): Split out from ...
2042	(convert_to_integer_1): ... here.  Do not pass final truncation
2043	type to get_unwidened for TRUNC_DIV_EXPR.
2044
2045	2017-04-04  Richard Biener  <rguenther@suse.de>
2046
2047	PR middle-end/80281
2048	* match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
2049	arithmetic done for the negate or the plus.  Simplify.
2050	(A - (-B) -> A + B): Likewise.
2051	* fold-const.c (split_tree): Make sure to not negate pointers.
2052
20532017-06-22  Richard Biener  <rguenther@suse.de>
2054
2055	Backport from mainline
2056	2017-01-30  Richard Biener  <rguenther@suse.de>
2057
2058	PR tree-optimization/79256
2059	* targhooks.c (default_builtin_vector_alignment_reachable): Honor
2060	BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
2061	alignment on TYPE.
2062	* tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
2063
2064	2017-01-25  Richard Biener  <rguenther@suse.de>
2065
2066	PR tree-optimization/69264
2067	* target.def (vector_alignment_reachable): Improve documentation.
2068	* doc/tm.texi: Regenerate.
2069	* targhooks.c (default_builtin_vector_alignment_reachable): Simplify
2070	and add a comment.
2071	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
2072	earlier changes with respect to TYPE_USER_ALIGN.
2073	(vector_alignment_reachable_p): Likewise.  Improve dumping.
2074
2075	2017-02-09  Richard Biener  <rguenther@suse.de>
2076
2077	PR tree-optimization/69823
2078	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
2079	Properly enumerate all BBs in the region.  Use auto_vec.
2080
20812017-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
2082
2083	Back port from mainline
2084	2017-05-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
2085
2086	PR target/80718
2087	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer
2088	VSX registers over GPRs, particularly on ISA 2.07 which does not
2089	have the MTVSRDD instruction.
2090
2091	Back port from mainline
2092	2017-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
2093
2094	PR target/80510
2095	* config/rs6000/predicates.md (simple_offsettable_mem_operand):
2096	New predicate.
2097
2098	* config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
2099	(define_peephole2 for Altivec d-form load): Add peepholes to catch
2100	cases where the register allocator uses a move and an offsettable
2101	memory operation to/from a FPR register on ISA 2.06/2.07.
2102	(define_peephole2 for Altivec d-form store): Likewise.
2103
2104	Back port from mainline
2105	2017-05-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
2106
2107	PR target/68163
2108	* config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
2109	are now unused after splitting mov{sf,sd}_hardfloat.
2110	(f32_lr2): Likewise.
2111	(f32_lm): Likewise.
2112	(f32_lm2): Likewise.
2113	(f32_li): Likewise.
2114	(f32_li2): Likewise.
2115	(f32_lv): Likewise.
2116	(f32_sr): Likewise.
2117	(f32_sr2): Likewise.
2118	(f32_sm): Likewise.
2119	(f32_sm2): Likewise.
2120	(f32_si): Likewise.
2121	(f32_si2): Likewise.
2122	(f32_sv): Likewise.
2123	(f32_dm): Likewise.
2124	(f32_vsx): Likewise.
2125	(f32_av): Likewise.
2126	(mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
2127	For movsf, order stores so the VSX stores occur before the GPR
2128	store which encourages the register allocator to use a traditional
2129	FPR instead of a GPR.  For movsd, order the stores so that the GPR
2130	store comes before the VSX stores to allow the power6 to work.
2131	This is due to the power6 not having a 32-bit integer store
2132	instruction from a FPR.
2133	(movsf_hardfloat): Likewise.
2134	(movsd_hardfloat): Likewise.
2135
21362017-06-21  Jeff Law  <law@redhat.com>
2137
2138	* config/darwin-driver.c (darwin_driver_init): Const-correctness
2139	fixes for first_period and second_period variables.
2140
21412017-06-19  James Greenhalgh  <james.greenhalgh@arm.com>
2142
2143	Backport from mainline
2144	2017-06-16  James Greenhalgh  <james.greenhalgh@arm.com>
2145
2146	PR target/71778
2147	* config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
2148	if given a non-constant argument for an intrinsic which requires a
2149	constant.
2150
21512017-06-15  Eric Botcazou  <ebotcazou@adacore.com>
2152
2153	PR rtl-optimization/80474
2154	* reorg.c (update_block): Do not ignore instructions in a delay slot.
2155
21562017-06-14  Eric Botcazou  <ebotcazou@adacore.com>
2157
2158	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
2159
21602017-06-09  David S. Miller  <davem@davemloft.net>
2161
2162	PR target/80968
2163	* config/sparc/sparc.c (sparc_flat_expand_epilogue): Don't
2164	emit frame blockage here.
2165	(sparc_expand_epilogue): Do it here.
2166	* config/sparc/sparc.md (return expander): Emit frame blockage
2167	for alloca here too.
2168
21692017-06-06  David S. Miller  <davem@davemloft.net>
2170
2171	PR target/80968
2172	* config/sparc/sparc.c (sparc_expand_prologue): Emit frame
2173	blockage if function uses alloca.
2174
21752017-06-06  Toma Tabacu  <toma.tabacu@imgtec.com>
2176
2177	Backported from mainline
2178	2017-03-09  Toma Tabacu  <toma.tabacu@imgtec.com>
2179
2180	* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
2181	Document rdynamic.
2182
21832017-06-01  Jakub Jelinek  <jakub@redhat.com>
2184
2185	Backported from mainline
2186	2016-08-19  Jakub Jelinek  <jakub@redhat.com>
2187
2188	* config/i386/rdseedintrin.h (_rdseed16_step, _rdseed32_step,
2189	_rdseed64_step): Uglify argument names and/or local variable names
2190	in inline functions.
2191	* config/i386/rtmintrin.h (_xabort): Likewise.
2192	* config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64,
2193	_mm256_mask_ternarylogic_epi64, _mm256_maskz_ternarylogic_epi64,
2194	_mm256_ternarylogic_epi32, _mm256_mask_ternarylogic_epi32,
2195	_mm256_maskz_ternarylogic_epi32, _mm_ternarylogic_epi64,
2196	_mm_mask_ternarylogic_epi64, _mm_maskz_ternarylogic_epi64,
2197	_mm_ternarylogic_epi32, _mm_mask_ternarylogic_epi32,
2198	_mm_maskz_ternarylogic_epi32): Likewise.
2199	* config/i386/lwpintrin.h (__llwpcb, __lwpval32, __lwpval64,
2200	__lwpins32, __lwpins64): Likewise.
2201	* config/i386/avx2intrin.h (_mm_i32gather_pd, _mm_mask_i32gather_pd,
2202	_mm256_i32gather_pd, _mm256_mask_i32gather_pd, _mm_i64gather_pd,
2203	_mm_mask_i64gather_pd, _mm256_i64gather_pd, _mm256_mask_i64gather_pd,
2204	_mm_i32gather_ps, _mm_mask_i32gather_ps, _mm256_i32gather_ps,
2205	_mm256_mask_i32gather_ps, _mm_i64gather_ps, _mm_mask_i64gather_ps,
2206	_mm256_i64gather_ps, _mm256_mask_i64gather_ps, _mm_i32gather_epi64,
2207	_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
2208	_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
2209	_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
2210	_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
2211	_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
2212	_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
2213	_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
2214	_mm256_mask_i64gather_epi32): Likewise.
2215	* config/i386/pmm_malloc.h (_mm_malloc, _mm_free): Likewise.
2216	* config/i386/ia32intrin.h (__writeeflags): Likewise.
2217	* config/i386/pkuintrin.h (_wrpkru): Likewise.
2218	* config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd,
2219	_mm512_mask_prefetch_i32gather_ps, _mm512_mask_prefetch_i64gather_pd,
2220	_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
2221	_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
2222	_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
2223	_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
2224	_mm512_mask_prefetch_i64scatter_ps): Likewise.
2225	* config/i386/gmm_malloc.h (_mm_malloc, _mm_free): Likewise.
2226	* config/i386/avx512fintrin.h (_mm512_ternarylogic_epi64,
2227	_mm512_mask_ternarylogic_epi64, _mm512_maskz_ternarylogic_epi64,
2228	_mm512_ternarylogic_epi32, _mm512_mask_ternarylogic_epi32,
2229	_mm512_maskz_ternarylogic_epi32, _mm512_i32gather_ps,
2230	_mm512_mask_i32gather_ps, _mm512_i32gather_pd, _mm512_i64gather_ps,
2231	_mm512_i64gather_pd, _mm512_i32gather_epi32, _mm512_i32gather_epi64,
2232	_mm512_i64gather_epi32, _mm512_i64gather_epi64): Likewise.
2233
22342017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
2235
2236	Backport from mainline
2237	2017-05-29  Max Filippov  <jcmvbkbc@gmail.com>
2238
2239	* config/xtensa/xtensa.c (xtensa_emit_call): Use
2240	HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
2241	(print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
2242	format string.
2243
22442017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
2245
2246	Backport from mainline
2247	2016-11-29  Max Filippov  <jcmvbkbc@gmail.com>
2248
2249	* config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero
2250	overhead loop start between a call and its CALL_ARG_LOCATION
2251	note.
2252
22532017-05-30  Max Filippov  <jcmvbkbc@gmail.com>
2254
2255	Backport from mainline
2256	2016-11-01  Max Filippov  <jcmvbkbc@gmail.com>
2257
2258	* config/xtensa/xtensa-protos.h
2259	(xtensa_use_return_instruction_p): New prototype.
2260	* config/xtensa/xtensa.c (xtensa_current_frame_size,
2261	xtensa_callee_save_size): Remove.
2262	(struct machine_function): Add new fields: current_frame_size,
2263	callee_save_size, frame_laid_out and epilogue_done.
2264	(compute_frame_size, xtensa_expand_prologue,
2265	xtensa_expand_epilogue): Replace xtensa_callee_save_size with
2266	cfun->machine->callee_save_size and xtensa_current_frame_size
2267	with cfun->machine->current_frame_size.
2268	(compute_frame_size): Update cfun->machine->frame_laid_out and
2269	don't update frame layout after reload completion.
2270	(xtensa_expand_epilogue): Set cfun->machine->epilogue_done
2271	instead of zeroing xtensa_current_frame_size.
2272	(xtensa_use_return_instruction_p): New function.
2273	* config/xtensa/xtensa.h (xtensa_current_frame_size): Remove
2274	declaration.
2275	(INITIAL_ELIMINATION_OFFSET): Use return value of
2276	compute_frame_size instead of xtensa_current_frame_size value.
2277	* config/xtensa/xtensa.md ("return" pattern): Use new predicate
2278	function xtensa_use_return_instruction_p instead of inline code.
2279
22802017-05-29  Eric Botcazou  <ebotcazou@adacore.com>
2281
2282	* doc/install.texi (Options specification): Move entry of
2283	--enable-sjlj-exceptions.
2284
22852017-05-26  Sheldon Lobo  <smlobo@sheldon.us.oracle.com>
2286
2287	Backported from mainline
2288	2017-05-24  Sheldon Lobo  <smlobo@sheldon.us.oracle.com>
2289
2290	* config/sparc/sparc.md (length): Return the correct value for -mflat
2291	sibcalls to match output_sibcall.
2292
22932017-05-26  Martin Liska  <mliska@suse.cz>
2294
2295	Backport from mainline
2296	2017-04-24  Jan Hubicka  <hubicka@ucw.cz>
2297
2298	PR middle-end/79931
2299	* ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
2300
23012017-05-26  Martin Liska  <mliska@suse.cz>
2302
2303	Backport from mainline
2304	2017-04-19  Richard Biener  <rguenther@suse.de>
2305
2306	PR ipa/65972
2307	* auto-profile.c (afdo_vpt_for_early_inline): Update SSA
2308	when needed by AutoPGO.
2309
23102017-05-26  Martin Liska  <mliska@suse.cz>
2311
2312	Backport from mainline
2313	2017-04-19  Paulo J. Matos  <paulo@matos-sorge.com>
2314
2315	PR lto/50345
2316	* doc/lto.texi: Remove an extra 'that'.
2317
23182017-05-26  Martin Liska  <mliska@suse.cz>
2319
2320	Backport from mainline
2321	2017-04-18  Martin Liska  <mliska@suse.cz>
2322
2323	PR gcov-profile/78783
2324	* gcov-tool.c (gcov_output_files): Validate that destination
2325	file is either removed by the tool or by a user.
2326
23272017-05-26  Martin Liska  <mliska@suse.cz>
2328
2329	Backport from mainline
2330	2017-04-13  Martin Liska  <mliska@suse.cz>
2331
2332	PR gcov-profile/80413
2333	* gcov-io.c (gcov_write_string): Copy to buffer just when
2334	allocated size is greater than zero.
2335
23362017-05-26  Martin Liska  <mliska@suse.cz>
2337
2338	Backport from mainline
2339	2017-04-11  Martin Liska  <mliska@suse.cz>
2340
2341	PR ipa/80212
2342	* cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
2343	* ipa-split.c (split_function): Create a local comdat symbol
2344	if caller is in a comdat group.
2345
23462017-05-26  Martin Liska  <mliska@suse.cz>
2347
2348	Backport from mainline
2349	2017-04-11  Martin Liska  <mliska@suse.cz>
2350
2351	PR ipa/80212
2352	* ipa-cp.c (determine_versionability): Handle calls_comdat_local
2353	flags.
2354
23552017-05-26  Martin Liska  <mliska@suse.cz>
2356
2357	Backport from mainline
2358	2017-04-11  Martin Liska  <mliska@suse.cz>
2359
2360	PR sanitizer/70878
2361	* ubsan.c (instrument_object_size): Do not instrument register
2362	variables.
2363
23642017-05-26  Martin Liska  <mliska@suse.cz>
2365
2366	Backport from mainline
2367	2017-04-10  Martin Liska  <mliska@suse.cz>
2368
2369	PR gcov-profile/80224
2370	* gcov.c (print_usage): Fix usage string.
2371	(get_gcov_intermediate_filename): Remove.
2372	(output_gcov_file): Use both for normal and intermediate format.
2373	(generate_results): Do not initialize special file for
2374	intermediate format.
2375
23762017-05-26  Martin Liska  <mliska@suse.cz>
2377
2378	Backport from mainline
2379	2017-03-28  Richard Biener  <rguenther@suse.de>
2380
2381	PR ipa/80205
2382	* tree-inline.c (copy_phis_for_bb): Do not create PHI node
2383	without arguments, generate default definition of a SSA name.
2384
23852017-05-26  Martin Liska  <mliska@suse.cz>
2386
2387	Backport from mainline
2388	2017-03-28  Martin Liska  <mliska@suse.cz>
2389
2390	PR ipa/80104
2391	* cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
2392	thunk call as DECL_GIMPLE_REG_P when vector or complex type.
2393
23942017-05-23  Sheldon Lobo  <sheldon.lobo@oracle.com>
2395
2396	Backport from mainline
2397	2017-05-18  Sheldon Lobo  <sheldon.lobo@oracle.com>
2398
2399	* config/sparc/sparc.c (sparc_option_override): Set function
2400	alignment for -mcpu=niagara7 to 64 to match the I$ line.
2401	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
2402	latency to 1.
2403	* config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
2404	latency to 2.
2405	* config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
2406
24072017-05-19  Uros Bizjak  <ubizjak@gmail.com>
2408
2409	Backport from mainline
2410	2017-05-18  Uros Bizjak  <ubizjak@gmail.com>
2411
2412	PR target/80799
2413	* config/i386/mmx.md (*mov<mode>_internal): Enable
2414	alternatives 11, 12, 13 and 14 also for 32bit targets.
2415	Remove alternatives 15, 16, 17 and 18.
2416	* config/i386/sse.md (vec_concatv2di): Change
2417	alternative (!x, *y) to (x, ?!*Yn).
2418
24192017-05-15  Richard Biener  <rguenther@suse.de>
2420
2421	Revert backport of
2422	PR middle-end/80222
2423	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
2424	TYPE_REF_CAN_ALIAS_ALL references.
2425	* fold-const.c (fold_indirect_ref_1): Likewise.
2426
24272017-05-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2428
2429	Backport from mainline
2430	2017-05-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2431
2432	* config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
2433	(rs6000_init_cost): Initialize rs6000_vect_nonmem.
2434	(rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
2435	(rs6000_finish_cost): Avoid vectorizing simple copy loops with
2436	VF=2 that require versioning.
2437
24382017-05-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2439
2440	Backport from mainline
2441	2017-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2442
2443	* config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
2444	built-ins for vec_xl and vec_xst with short and char pointer
2445	arguments.
2446
24472017-05-10  John David Anglin  <danglin@gcc.gnu.org>
2448
2449	PR target/80090
2450	* config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
2451	handle calling assemble_external ourself.
2452
2453	PR target/79027
2454	* config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
2455	modes with zero size.  Enhance comment.
2456
24572017-05-10  Richard Biener  <rguenther@suse.de>
2458
2459	Backport from mainline
2460	2017-03-17  Richard Biener  <rguenther@suse.de>
2461
2462	PR middle-end/80075
2463	* tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
2464	Properly verify the LHS before the RHS possibly claims to be
2465	handled.
2466	(stmt_could_throw_p): Hande gimple conds fully here.  Clobbers
2467	do not throw.
2468
2469	2017-03-21  Brad Spengler <spender@grsecurity.net>
2470
2471	PR plugin/80094
2472	* plugin.c (htab_hash_plugin): New function.
2473	(add_new_plugin): Use it and adjust.
2474	(parse_plugin_arg_opt): Adjust.
2475	(init_one_plugin): Likewise.
2476
2477	2017-03-20  Richard Biener  <rguenther@suse.de>
2478
2479	PR tree-optimization/80113
2480	* graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
2481	allocate extra SSA name for PHI def.
2482	(add_close_phis_to_outer_loops): Likewise.
2483	(add_close_phis_to_merge_points): Likewise.
2484	(copy_loop_close_phi_args): Likewise.
2485	(copy_cond_phi_nodes): Likewise.
2486
2487	2017-03-21  Richard Biener  <rguenther@suse.de>
2488
2489	PR tree-optimization/80122
2490	* tree-inline.c (copy_bb): Do not expans va-arg packs or
2491	va_arg_pack_len when the inlined call stmt requires pack
2492	expansion itself.
2493	* tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
2494
2495	2017-03-24  Richard Biener  <rguenther@suse.de>
2496
2497	PR tree-optimization/80167
2498	* graphite-isl-ast-to-gimple.c
2499	(translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
2500	properly.
2501	(translate_isl_ast_to_gimple::get_rename): Likewise.
2502
2503	2017-03-27  Richard Biener  <rguenther@suse.de>
2504
2505	PR tree-optimization/80170
2506	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
2507	sure DR/SCEV didnt fold in constants we do not see when looking
2508	at the reference base alignment.
2509
2510	2017-03-27  Richard Biener  <rguenther@suse.de>
2511
2512	PR middle-end/80171
2513	* gimple-fold.c (fold_ctor_reference): Properly guard against
2514	NULL return value from canonicalize_constructor_val.
2515
25162017-05-09  Richard Biener  <rguenther@suse.de>
2517
2518	Backport from mainline
2519	2017-03-28  Richard Biener  <rguenther@suse.de>
2520
2521	PR middle-end/80222
2522	* gimple-fold.c (gimple_fold_indirect_ref): Do not touch
2523	TYPE_REF_CAN_ALIAS_ALL references.
2524	* fold-const.c (fold_indirect_ref_1): Likewise.
2525
2526	2017-04-06  Richard Biener  <rguenther@suse.de>
2527
2528	PR tree-optimization/80262
2529	* tree-sra.c (build_ref_for_offset): Preserve address-space
2530	information.
2531	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
2532	Drop useless address-space information on MEM_REF offsets.
2533
2534	2017-04-03  Richard Biener  <rguenther@suse.de>
2535
2536	PR tree-optimization/80275
2537	* fold-const.c (split_address_to_core_and_offset): Handle
2538	POINTER_PLUS_EXPR.
2539
2540	2017-04-06  Richard Biener  <rguenther@suse.de>
2541
2542	PR tree-optimization/80334
2543	* tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
2544	preserve alignment of accesses.
2545
2546	2017-04-10  Richard Biener  <rguenther@suse.de>
2547
2548	PR middle-end/80362
2549	* fold-const.c (fold_binary_loc): Look at unstripped ops when
2550	looking for NEGATE_EXPR in -A / -B to A / B folding.
2551
2552	2017-04-25  Richard Biener  <rguenther@suse.de>
2553
2554	PR tree-optimization/80492
2555	* alias.c (compare_base_decls): Handle registers with asm
2556	specification conservatively.
2557
2558	2017-04-27  Richard Biener  <rguenther@suse.de>
2559
2560	PR middle-end/80539
2561	* tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
2562	being in loop-closed SSA form conservatively.
2563	(chrec_fold_multiply_poly_poly): Likewise.
2564
25652017-05-09  Jakub Jelinek  <jakub@redhat.com>
2566
2567	PR testsuite/80678
2568	2016-06-14  Richard Biener  <rguenther@suse.de>
2569
2570	PR middle-end/71310
2571	PR bootstrap/71510
2572	* expr.h (get_bit_range): Declare.
2573	* expr.c (get_bit_range): Export.
2574	* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
2575	word_mode again to constrain the bitfield access.
2576
2577	2016-06-11  Segher Boessenkool  <segher@kernel.crashing.org>
2578
2579	PR middle-end/71310
2580	* fold-const.c (optimize_bit_field_compare): Don't try to use
2581	word_mode unconditionally for reading the bit field, look at
2582	DECL_BIT_FIELD_REPRESENTATIVE instead.
2583
25842017-05-05  Jakub Jelinek  <jakub@redhat.com>
2585
2586	Backported from mainline
2587	2017-04-25  Jakub Jelinek  <jakub@redhat.com>
2588
2589	* Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
2590	environment.
2591
2592	PR rtl-optimization/80501
2593	* combine.c (make_compound_operation_int): Set subreg_code to SET
2594	even for AND with mask of the sign bit of mode.
2595
2596	2017-04-12  Jakub Jelinek  <jakub@redhat.com>
2597
2598	PR sanitizer/80349
2599	* fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
2600	first argument to type.
2601
2602	2017-04-11  Jakub Jelinek  <jakub@redhat.com>
2603
2604	PR rtl-optimization/80385
2605	* simplify-rtx.c (simplify_unary_operation_1): Don't transform
2606	(not (neg X)) into (plus X -1) for complex or non-integral modes.
2607
2608	PR libgomp/80394
2609	* omp-low.c (scan_omp_task): Don't optimize away empty tasks
2610	if they have any depend clauses.
2611
2612	2017-04-04  Jakub Jelinek  <jakub@redhat.com>
2613		    Richard Biener  <rguenther@suse.de>
2614
2615	PR c++/80297
2616	* genmatch.c (capture::gen_transform): For GENERIC unshare_expr
2617	captures used multiple times, except for the last use.
2618	* generic-match-head.c: Include gimplify.h.
2619
2620	2017-04-04  Jakub Jelinek  <jakub@redhat.com>
2621
2622	PR target/80286
2623	* config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
2624	int mode, convert_modes it to mode as unsigned, otherwise use
2625	lowpart_subreg to mode rather than SImode.
2626	* config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
2627	ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
2628	Use DImode instead of SImode for the shift count operand.
2629	* config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
2630	Likewise.
2631
2632	2017-04-13  Jakub Jelinek  <jakub@redhat.com>
2633
2634	PR debug/80321
2635	* dwarf2out.c (decls_for_scope): Ignore declarations of
2636	current_function_decl in BLOCK_NONLOCALIZED_VARS.
2637
2638	2017-03-31  Jakub Jelinek  <jakub@redhat.com>
2639
2640	PR debug/79255
2641	* dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
2642	a FUNCTION_DECL, pass it as decl instead of origin to
2643	process_scope_var.
2644
2645	PR debug/80025
2646	* cselib.c (cselib_hasher::equal): Pass 0 to rtx_equal_for_cselib_1.
2647	(rtx_equal_for_cselib_1): Add depth argument.  If depth
2648	is 128, don't look up VALUE locs and punt.  Increment
2649	depth in recursive calls when walking VALUE locs.
2650
2651	2017-03-27  Jakub Jelinek  <jakub@redhat.com>
2652
2653	PR sanitizer/80168
2654	* asan.c (instrument_derefs): Copy over last operand from
2655	original COMPONENT_REF to the new COMPONENT_REF with
2656	DECL_BIT_FIELD_REPRESENTATIVE.
2657	* ubsan.c (instrument_object_size): Likewise.
2658
2659	2017-03-24  Jakub Jelinek  <jakub@redhat.com>
2660
2661	PR rtl-optimization/80112
2662	* loop-doloop.c (doloop_condition_get): Don't check condition
2663	if cmp isn't SET with IF_THEN_ELSE src.
2664
2665	2017-03-22  Jakub Jelinek  <jakub@redhat.com>
2666
2667	PR c++/80129
2668	* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
2669	TREE_READONLY on result if writing it more than once.
2670
2671	2017-03-09  Jakub Jelinek  <jakub@redhat.com>
2672
2673	PR sanitizer/79944
2674	* asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
2675	BUILT_IN_SYNC*, determine the access type from the size suffix and
2676	always build a MEM_REF with that type.  Handle forgotten
2677	BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
2678
2679	PR target/79932
2680	* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
2681	_mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
2682	_mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
2683	_mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
2684	_mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
2685	_mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
2686	_mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
2687	_mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
2688	_mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
2689	_mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
2690	_mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
2691	_mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
2692	_mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
2693	_mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
2694	_mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
2695	_mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
2696	_mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
2697	_mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
2698	_mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
2699	_mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
2700	_mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
2701	_mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
2702	_mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
2703	_mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
2704	_mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
2705	_mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
2706	_mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
2707	_mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
2708	_mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
2709	_mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
2710	definitions outside of __OPTIMIZE__ guarded section.
2711
2712	PR target/79932
2713	* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
2714	_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
2715	_mm512_packus_epi32, _mm512_maskz_packus_epi32,
2716	_mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
2717	guarded section.
2718
2719	2017-03-08  Jakub Jelinek  <jakub@redhat.com>
2720
2721	PR c/79940
2722	* gimplify.c (gimplify_omp_for): Replace index var in outer
2723	taskloop statement with an artificial variable and add
2724	OMP_CLAUSE_PRIVATE clause for it.
2725
2726	2017-03-07  Jakub Jelinek  <jakub@redhat.com>
2727
2728	PR rtl-optimization/79901
2729	* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
2730	...
2731	(*avx512f_<code><mode>3<mask_name>): ... this.
2732	(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
2733	iterator instead of VI8_AVX2_AVX512BW.
2734
2735	PR rtl-optimization/79901
2736	* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
2737	min/max expander, expand it using expand_vec_cond_expr.
2738
2739	2017-03-03  Jakub Jelinek  <jakub@redhat.com>
2740
2741	PR target/79807
2742	* config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
2743	is a memory operand, increase num_memory.
2744	(ix86_expand_args_builtin): Likewise.
2745
2746	2017-03-01  Jakub Jelinek  <jakub@redhat.com>
2747
2748	PR c++/79681
2749	* fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
2750	attempt to use its first operand as BIT_FIELD_REF base.
2751
2752	2017-02-28  Jakub Jelinek  <jakub@redhat.com>
2753
2754	PR target/79729
2755	* config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
2756	gcc_unreachable with output_operand_lossage.
2757
2758	2017-02-25  Jakub Jelinek  <jakub@redhat.com>
2759
2760	PR middle-end/79396
2761	* tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
2762	FMA_EXPR like tcc_binary or tcc_unary.
2763
2764	2017-02-21  Jakub Jelinek  <jakub@redhat.com>
2765
2766	PR target/79570
2767	* sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
2768	on temporarily removed DEBUG_INSNs.
2769
2770	PR target/79494
2771	* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
2772	make_reg_eh_region_note_nothrow_nononlocal on call_insn.
2773	* config/rs6000/rs6000.c: Include except.h.
2774	(rs6000_expand_split_stack_prologue): Call
2775	make_reg_eh_region_note_nothrow_nononlocal on the call insn.
2776
2777	2017-02-20  Jakub Jelinek  <jakub@redhat.com>
2778
2779	PR target/79568
2780	* config/i386/i386.c (ix86_expand_builtin): Handle
2781	OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
2782	ix86_builtins_isa[fcode].isa as a requirement of those
2783	flags and any other flag in the bitmask.
2784	(ix86_init_mmx_sse_builtins): Use 0 instead of
2785	~OPTION_MASK_ISA_64BIT as mask.
2786	* config/i386/i386-builtin.def (bdesc_special_args,
2787	bdesc_args): Likewise.
2788
2789	2017-02-18  Jakub Jelinek  <jakub@redhat.com>
2790
2791	PR target/79559
2792	* config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
2793	instead of gcc_assert for K, r and R code checks.  Formatting fixes.
2794
27952017-05-05  Marek Polacek  <polacek@redhat.com>
2796	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
2797	    Jakub Jelinek  <jakub@redhat.com>
2798
2799	PR target/77728
2800	* config/arm/arm.c: Include gimple.h.
2801	(aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
2802	returns negative, increment ncrn if it returned non-zero.
2803	(arm_needs_doubleword_align): Return int instead of bool,
2804	ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
2805	members, but if there is any such non-FIELD_DECL
2806	> PARM_BOUNDARY aligned decl, return -1 instead of false.
2807	(arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
2808	returns negative, increment nregs if it returned non-zero.
2809	(arm_setup_incoming_varargs): Likewise.
2810	(arm_function_arg_boundary): Emit -Wpsabi note if
2811	arm_needs_doubleword_align returns negative, return
2812	DOUBLEWORD_ALIGNMENT if it returned non-zero.
2813
28142017-05-03  Uros Bizjak  <ubizjak@gmail.com>
2815
2816	Backport from mainline
2817	2017-05-01  Uros Bizjak  <ubizjak@gmail.com>
2818
2819	PR target/68491
2820	* config/i386/cpuid.h (__get_cpuid): Always return 0 when
2821	__get_cpuid_max returns 0.
2822	(__get_cpuid_count): Ditto.
2823
28242017-04-21  Eric Botcazou  <ebotcazou@adacore.com>
2825
2826	Backport from mainline
2827	2017-04-19  Eric Botcazou  <ebotcazou@adacore.com>
2828	            Jakub Jelinek  <jakub@redhat.com>
2829
2830	PR tree-optimization/80426
2831	* tree-vrp.c (extract_range_from_binary_expr_1): For an additive
2832	operation on symbolic operands, also compute the overflow for the
2833	invariant part when the operation degenerates into a negation.
2834
28352017-04-19  Georg-Johann Lay  <avr@gjlay.de>
2836
2837	Backport from 2017-04-19 trunk r246997.
2838
2839	PR target/80462
2840	* config/avr/avr.c (tree.h): Include it.
2841	(cgraph.h): Include it.
2842	(avr_encode_section_info): Don't warn for uninitialized progmem
2843	variable if it's just an alias.
2844
28452017-04-18  Georg-Johann Lay  <avr@gjlay.de>
2846
2847	Backport from 2017-04-18 trunk r246966.
2848
2849	PR target/79453
2850	* config/avr/avr.c (intl.h): Include it.
2851	(avr_pgm_check_var_decl) [reason]: Wrap	diagnostic snippets into _().
2852
28532017-04-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2854
2855	Backport from mainline
2856	2017-04-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2857
2858	PR target/80376
2859	PR target/80315
2860	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
2861	CONST0_RTX (mode) rather than const0_rtx where appropriate.
2862	(rs6000_expand_binop_builtin): Likewise.
2863	(rs6000_expand_ternop_builtin): Likewise; also add missing
2864	vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
2865	vshasigma built-ins.
2866	* doc/extend.texi: Document that vec_xxpermdi's third argument
2867	must be a constant.
2868
28692017-04-11  Pat Haugen  <pthaugen@us.ibm.com>
2870
2871	Backport from mainline
2872	2017-04-07  Pat Haugen  <pthaugen@us.ibm.com>
2873
2874	* rs6000/rs6000.c (vec_load_pendulum): Rename...
2875	(vec_pairing): ...to this.
2876	(power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
2877	(rs6000_sched_init): Adjust for name change.
2878	(struct rs6000_sched_context): Likewise.
2879	(rs6000_init_sched_context): Likewise.
2880	(rs6000_set_sched_context): Likewise.
2881
28822017-04-11  Martin Jambor  <mjambor@suse.cz>
2883
2884	Backport from mainline
2885	2017-03-30  Martin Jambor  <mjambor@suse.cz>
2886
2887	PR ipa/77333
2888	* cgraph.h (cgraph_build_function_type_skip_args): Declare.
2889	* cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
2890	it reflects the signature changes performed at the callee side.
2891	* cgraphclones.c (build_function_type_skip_args): Make public, renamed
2892	to cgraph_build_function_type_skip_args.
2893	(build_function_decl_skip_args): Adjust call to the above function.
2894
28952017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>
2896
2897	Backport from mainline
2898	2017-04-08  Andreas Tobler  <andreast@gcc.gnu.org>
2899
2900	* config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
2901	Add comment for WCHAR_T.
2902
29032017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>
2904
2905	Backport from mainline
2906	2017-04-07  Andreas Tobler  <andreast@gcc.gnu.org>
2907
2908	* config/aarch64/aarch64-freebsd.h: Define WCHAR_T.
2909
29102017-04-07  Eric Botcazou  <ebotcazou@adacore.com>
2911
2912	Backport from mainline
2913	2017-04-05  Eric Botcazou  <ebotcazou@adacore.com>
2914
2915	PR target/78002
2916	* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
2917	ptr_mode with Pmode throughout.
2918	* config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
2919	into probe_stack_range and use DImode.
2920
29212017-04-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2922
2923	Backport from mainline
2924	2017-04-07  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2925
2926	* config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
2927	definition.
2928	* config/arm/arm.c (arm_default_short_enums): Use
2929	ARM_DEFAULT_SHORT_ENUMS.
2930	* config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
2931
29322017-04-06  Uros Bizjak  <ubizjak@gmail.com>
2933
2934	Backport from mainline
2935	2017-04-06  Uros Bizjak  <ubizjak@gmail.com>
2936
2937	PR target/79733
2938	* config/i386/i386.c (ix86_expand_builtin)
2939	<case IX86_BUILTIN_KORTEST{C,Z}16>: Determine insn operand
2940	mode from insn data. Convert operands to insn operand mode.
2941	Copy operands that don't satisfy insn predicate to a register.
2942
2943	2017-04-05  Uros Bizjak  <ubizjak@gmail.com>
2944
2945	PR target/80298
2946	* config/i386/mmintrin.h: Add -msse target option when __SSE__ is
2947	not defined for x86_64 target.  Add -mmmx target option when __SSE2__
2948	is not defined.
2949	* config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
2950	for x86_64 target.
2951
29522017-04-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2953
2954	PR target/80082
2955	* config/arm/arm-protos.h (FL_LPAE): Define macro.
2956	(FL_FOR_ARCH7VE): Add FL_LPAE.
2957	(arm_arch_lpae): Declare extern.
2958	* config/arm/arm.c (arm_arch_lpae): Declare.
2959	(arm_option_override): Define arm_arch_lpae.
2960	* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
2961	arm_arch_lpae.
2962
29632017-04-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
2964
2965	Back port from the trunk
2966	2017-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
2967
2968	PR target/79947
2969	* config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
2970	-mpowerpc-gfxopt.
2971
29722017-03-31  Richard Sandiford  <richard.sandiford@arm.com>
2973
2974	PR tree-optimization/80218
2975	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
2976	Update block frequencies and counts.
2977
29782017-03-30  Peter Bergner  <bergner@vnet.ibm.com>
2979
2980	Backport from mainline
2981	2017-03-30  Peter Bergner  <bergner@vnet.ibm.com>
2982
2983	PR target/80246
2984	* config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
2985	(dfp_diex_<mode>): Update mode of operand 1.
2986	* doc/extend.texi (dxex, dxexq): Document change to return type.
2987	(diex, diexq): Document change to argument type.
2988
29892017-03-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
2990
2991	Back port from trunk
2992	2017-03-21  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
2993
2994	PR target/80123
2995	* doc/md.texi (Constraints): Document wA constraint.
2996	* config/rs6000/constraints.md (wA): New.
2997	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
2998	(rs6000_init_hard_regno_mode_ok): Init wA constraint.
2999	* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
3000	* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
3001
3002	2017-03-16  Michael Meissner  <meissner@linux.vnet.ibm.com>
3003
3004	PR target/71294
3005	* config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
3006	SPLAT operation on ISA 2.07 64-bit systems that have direct move,
3007	but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
3008
30092017-03-29  Richard Biener  <rguenther@suse.de>
3010
3011	Backport from mainline
3012	2017-03-28  Richard Biener  <rguenther@suse.de>
3013
3014	PR tree-optimization/78644
3015	* tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
3016	of a simplification result we may not use it at all.
3017
3018	2017-03-27  Richard Biener  <rguenther@suse.de>
3019
3020	PR tree-optimization/80181
3021	* tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
3022
30232017-03-28  Marek Polacek  <polacek@redhat.com>
3024
3025	Backport from mainline
3026	2017-03-28  Marek Polacek  <polacek@redhat.com>
3027
3028	PR sanitizer/80067
3029	* fold-const.c (fold_comparison): Use protected_set_expr_location
3030	instead of SET_EXPR_LOCATION.
3031
30322017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
3033
3034	Back port from trunk
3035	2017-03-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
3036
3037	PR target/78543
3038	* config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
3039	HImode and SImode with zero extend to DImode to one insn.
3040	(bswap<mode>2_extenddi): Likewise.
3041	(bswapsi2_extenddi): Likewise.
3042	(bswaphi2_extendsi): Likewise.
3043	(bswaphi2): Combine bswap HImode and SImode into one insn.
3044	Separate memory insns from swapping register.
3045	(bswapsi2): Likewise.
3046	(bswap<mode>2): Likewise.
3047	(bswaphi2_internal): Delete, no longer used.
3048	(bswapsi2_internal): Likewise.
3049	(bswap<mode>2_load): Split bswap HImode/SImode into separate load,
3050	store, and gpr<-gpr swap insns.
3051	(bswap<mode>2_store): Likewise.
3052	(bswaphi2_reg): Register only splitter, combine with the splitter.
3053	(bswaphi2 splitter): Likewise.
3054	(bswapsi2_reg): Likewise.
3055	(bswapsi2 splitter): Likewise.
3056	(bswapdi2): If we have the LDBRX and STDBRX instructions, split
3057	the insns into load, store, and register/register insns.
3058	(bswapdi2_ldbrx): Likewise.
3059	(bswapdi2_load): Likewise.
3060	(bswapdi2_store): Likewise.
3061	(bswapdi2_reg): Likewise.
3062
30632017-03-25  Uros Bizjak  <ubizjak@gmail.com>
3064
3065	PR target/80180
3066	* config/i386/i386.c (ix86_expand_builtin)
3067	<IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
3068	flags reg setting and flags reg using instructions.
3069	<IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto.  Use non-flags reg
3070	clobbering instructions to zero extend op2.
3071
30722017-03-22  Martin Liska  <mliska@suse.cz>
3073
3074	Backport from mainline
3075	2017-03-14  Martin Liska  <mliska@suse.cz>
3076
3077	PR lto/66295
3078	* multiple_target.c (expand_target_clones): Drop local.local
3079	flag for default implementation.
3080
30812017-03-22  Martin Liska  <mliska@suse.cz>
3082
3083	Backport from mainline
3084	2017-02-22  Martin Liska  <mliska@suse.cz>
3085
3086	PR lto/79587
3087	* data-streamer-in.c (streamer_read_gcov_count): Remove assert.
3088	* data-streamer-out.c (streamer_write_gcov_count_stream):
3089	Likewise.
3090	* value-prof.c (stream_out_histogram_value): Make assert more
3091	precise based on type of counter.
3092
30932017-03-22  Martin Liska  <mliska@suse.cz>
3094
3095	Backport from mainline
3096	2017-02-03  Martin Liska  <mliska@suse.cz>
3097
3098	PR lto/66295
3099	* multiple_target.c (create_dispatcher_calls): Redirect edge
3100	from a caller of a dispatcher.
3101	(expand_target_clones): Make the clones local.
3102	(ipa_target_clone): Do both target clones and resolvers.
3103	(ipa_dispatcher_calls): Remove the pass.
3104	(pass_dispatcher_calls::gate): Likewise.
3105	(make_pass_dispatcher_calls): Likewise.
3106	* passes.def (pass_target_clone): Put as very first IPA early
3107	pass.
3108
31092017-03-22  Martin Liska  <mliska@suse.cz>
3110
3111	Backport from mainline
3112	2017-03-22  Martin Liska  <mliska@suse.cz>
3113
3114	PR target/79906
3115	* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
3116	error message instead of an ICE.
3117
31182017-03-22  Martin Liska  <mliska@suse.cz>
3119
3120	Backport from mainline
3121	2017-03-21  Martin Liska  <mliska@suse.cz>
3122
3123	PR gcov-profile/80081
3124	* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
3125	* doc/gcc.texi: Include gcov-dump stuff.
3126	* doc/gcov-dump.texi: New file.
3127
31282017-03-22  Martin Liska  <mliska@suse.cz>
3129
3130	Backport from mainline
3131	2017-03-20  Martin Liska  <mliska@suse.cz>
3132
3133	PR middle-end/79753
3134	* tree-chkp.c (chkp_build_returned_bound): Do not build
3135	returned bounds for a LHS that's not a BOUNDED_P type.
3136
31372017-03-22  Martin Liska  <mliska@suse.cz>
3138
3139	Backport from mainline
3140	2017-03-20  Martin Liska  <mliska@suse.cz>
3141
3142	PR target/79769
3143	PR target/79770
3144	* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
3145	COMPLEX_CST and VECTOR_CST.
3146
31472017-03-22  Martin Liska  <mliska@suse.cz>
3148
3149	Backport from mainline
3150	2017-03-14  Martin Liska  <mliska@suse.cz>
3151
3152	PR middle-end/79831
3153	* doc/invoke.texi (-Wchkp): Document the option.
3154
31552017-03-22  Martin Liska  <mliska@suse.cz>
3156
3157	Backport from mainline
3158	2017-03-14  Martin Liska  <mliska@suse.cz>
3159
3160	PR target/79892
3161	* multiple_target.c (create_dispatcher_calls): Check that
3162	a target can create a function dispatcher.
3163
31642017-03-22  Martin Liska  <mliska@suse.cz>
3165
3166	Backport from mainline
3167	2017-03-13  Martin Liska  <mliska@suse.cz>
3168
3169	PR middle-end/78339
3170	* ipa-pure-const.c (warn_function_noreturn): If the declarations
3171	is a CHKP clone, use original declaration.
3172
31732017-03-22  Martin Liska  <mliska@suse.cz>
3174
3175	Backport from mainline
3176	2017-03-10  Martin Liska  <mliska@suse.cz>
3177
3178	PR target/65705
3179	PR target/69804
3180	* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
3181	* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
3182	FIELD != NULL.
3183
31842017-03-22  Martin Liska  <mliska@suse.cz>
3185
3186	Backport from mainline
3187	2017-03-09  Martin Liska  <mliska@suse.cz>
3188
3189	PR tree-optimization/79631
3190	* tree-chkp-opt.c (chkp_is_constant_addr): Call
3191	tree_int_cst_sign_bit just for INTEGER constants.
3192
31932017-03-22  Martin Liska  <mliska@suse.cz>
3194
3195	Backport from mainline
3196	2017-03-09  Martin Liska  <mliska@suse.cz>
3197
3198	PR target/65705
3199	PR target/69804
3200	* toplev.c (process_options): Disable -fcheck-pointer-bounds with
3201	sanitizers.
3202
32032017-03-22  Martin Liska  <mliska@suse.cz>
3204
3205	Backport from mainline
3206	2017-03-09  Martin Liska  <mliska@suse.cz>
3207
3208	PR ipa/79761
3209	* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
3210	(chkp_find_bounds_1): Remove gcc_unreachable.
3211
32122017-03-22  Martin Liska  <mliska@suse.cz>
3213
3214	Backport from mainline
3215	2017-03-03  Jan Hubicka  <jh@suse.cz>
3216
3217	PR lto/79760
3218	* ipa-devirt.c (maybe_record_node): Properly handle
3219	__cxa_pure_virtual visibility.
3220
32212017-03-22  Martin Liska  <mliska@suse.cz>
3222
3223	Backport from mainline
3224	2017-03-03  Martin Liska  <mliska@suse.cz>
3225
3226	PR tree-optimization/79803
3227	* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
3228	assert.
3229	(pass_loop_prefetch::execute): Disabled optimization if an
3230	assumption about L1 cache size is not met.
3231
32322017-03-22  Martin Liska  <mliska@suse.cz>
3233
3234	Backport from mainline
3235	2017-03-03  Martin Liska  <mliska@suse.cz>
3236
3237	PR rtl-optimization/79574
3238	* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
3239	(hash_scan_set): Likewise.
3240	(dump_hash_table): Likewise.
3241	(hoist_code): Likewise.
3242
32432017-03-22  Martin Liska  <mliska@suse.cz>
3244
3245	Backport from mainline
3246	2017-02-17  Martin Liska  <mliska@suse.cz>
3247
3248	PR rtl-optimization/79574
3249	* gcse.c (want_to_gcse_p): Prevent integer overflow.
3250
32512017-03-22  Martin Liska  <mliska@suse.cz>
3252
3253	Backport from mainline
3254	2017-02-17  Martin Liska  <mliska@suse.cz>
3255
3256	PR rtl-optimization/79577
3257	* params.def (selsched-max-sched-times): Increase minimum to 1.
3258
32592017-03-22  Martin Liska  <mliska@suse.cz>
3260
3261	Backport from mainline
3262	2016-06-13  Martin Liska  <mliska@suse.cz>
3263
3264	PR sanitizer/71458
3265	* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
3266	w/ -fsanitize=bounds.
3267
32682017-03-21  Pat Haugen  <pthaugen@us.ibm.com>
3269
3270	Backport from mainline:
3271	2017-03-17  Pat Haugen  <pthaugen@us.ibm.com>
3272
3273	PR target/79951
3274	* config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
3275	for VECTOR_UNIT_VSX_P (<MODE>mode) too.
3276
32772017-03-21  Tamar Christina  <tamar.christina@arm.com>
3278
3279	* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
3280	Change ins into fmov.
3281
32822017-03-19  Dominique d'Humieres  <dominiq@lps.ens.fr>
3283
3284	PR target/71017
3285	* config/i386/cpuid.h: Fix another undefined behavior.
3286
32872017-03-17  Tom de Vries  <tom@codesourcery.com>
3288
3289	backport from trunk:
3290	2017-03-17  Tom de Vries  <tom@codesourcery.com>
3291
3292	* gcov-dump.c (print_usage): Print bug_report_url.
3293
32942017-03-16  Richard Biener  <rguenther@suse.de>
3295
3296	Backport from mainline
3297	2017-02-28  Richard Biener  <rguenther@suse.de>
3298
3299	PR tree-optimization/79732
3300	* tree-inline.c (expand_call_inline): Handle anonymous
3301	SSA lhs properly when inlining a function without return
3302	value.
3303
33042017-03-15  Matthias Klose  <doko@ubuntu.com>
3305
3306	Backport from mainline
3307	2017-03-14  Martin Liska  <mliska@suse.cz>
3308
3309	* Makefile.in: Install gcov-dump.
3310
33112017-03-15  Uros Bizjak  <ubizjak@gmail.com>
3312
3313	PR target/80019
3314	* config/i386/i386.c (ix86_vector_duplicate_value): Create
3315	subreg of inner mode for values already in registers.
3316
33172017-03-14  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
3318
3319	Backport from mainline
3320	2017-02-28  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
3321
3322	PR target/79752
3323	* config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
3324	udiv rather than div since input pattern is unsigned.
3325
33262017-03-14  Richard Biener  <rguenther@suse.de>
3327
3328	Backport from mainline
3329	2016-05-02  Jakub Jelinek  <jakub@redhat.com>
3330
3331	PR middle-end/80004
3332	PR target/49244
3333	* gimple.c (gimple_builtin_call_types_compatible_p): Allow
3334	char/short arguments promoted to int because of promote_prototypes.
3335
3336	2017-03-09  Richard Biener  <rguenther@suse.de>
3337
3338	PR tree-optimization/79977
3339	* graphite-scop-detection.c (scop_detection::merge_sese):
3340	Handle the case of extra exits to blocks dominating the entry.
3341
3342	2017-03-09  Richard Biener  <rguenther@suse.de>
3343
3344	PR middle-end/79971
3345	* gimple-expr.c (useless_type_conversion_p): Preserve
3346	TYPE_SATURATING for fixed-point types.
3347
3348	2017-02-22  Richard Biener  <rguenther@suse.de>
3349
3350	PR tree-optimization/79666
3351	* tree-vrp.c (extract_range_from_binary_expr_1): Make sure
3352	to not symbolically negate if that may introduce undefined
3353	overflow.
3354
3355	2017-02-17  Richard Biener  <rguenther@suse.de>
3356
3357	PR middle-end/79576
3358	* params.def (max-ssa-name-query-depth): Limit to 10.
3359
33602017-03-07  Uros Bizjak  <ubizjak@gmail.com>
3361
3362	Backport from mainline
3363	2017-03-07  Segher Boessenkool  <segher@kernel.crashing.org>
3364
3365	* config/i386/i386.c (ix86_local_alignment): Align most aggregates
3366	of 16 bytes and more to 16 bytes, not those of 16 bits and more.
3367
33682017-03-06  John David Anglin  <danglin@gcc.gnu.org>
3369
3370	PR target/77850
3371	* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
3372	vector types.
3373
33742017-03-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
3375
3376	Back port from trunk
3377	2017-03-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
3378
3379	PR target/79439
3380	* config/rs6000/predicates.md (current_file_function_operand): Do
3381	not allow self calls to be local if the function is replaceable.
3382
33832017-03-02  Uros Bizjak  <ubizjak@gmail.com>
3384
3385	PR target/79514
3386	* config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
3387
33882017-03-01  Pat Haugen  <pthaugen@us.ibm.com>
3389
3390	Backport from mainline:
3391	2017-02-27  Pat Haugen  <pthaugen@us.ibm.com>
3392
3393	PR target/79544
3394	* rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD for
3395	arithmetic shift of unsigned V2DI.
3396
33972017-03-01  Martin Jambor  <mjambor@suse.cz>
3398
3399	Backport from mainline
3400	2017-02-21  Martin Jambor  <mjambor@suse.cz>
3401
3402	PR lto/79579
3403	* ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
3404	have been analyzed.
3405
34062017-02-28  Eric Botcazou  <ebotcazou@adacore.com>
3407
3408	PR target/79749
3409	* config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
3410	condition on optimize for the leaf function test.
3411
34122017-02-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3413
3414	Backport from mainline
3415	2017-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3416
3417	PR target/79261
3418	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
3419	support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
3420	* config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
3421	generator for vsx_xxpermdi_<mode>_be.
3422	* config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
3423	force big-endian semantics.
3424	(vsx_xxpermdi_<mode>_be): New define_expand with same
3425	implementation as previous version of vsx_xxpermdi_<mode>.
3426
34272017-02-20  Marek Polacek  <polacek@redhat.com>
3428
3429	Backport from mainline
3430	2017-02-20  Marek Polacek  <polacek@redhat.com>
3431
3432	PR middle-end/79537
3433	* gimplify.c (gimplify_expr): Handle unused *&&L;.
3434
3435	PR sanitizer/79558
3436	* ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
3437
34382017-02-20  Marek Polacek  <polacek@redhat.com>
3439
3440	Backport from mainline
3441	2017-02-17  Marek Polacek  <polacek@redhat.com>
3442
3443	PR middle-end/79536
3444	* fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
3445	(fold_negate_expr): New wrapper.
3446
34472017-02-17  Carl Love  <cel@us.ibm.com>
3448
3449	Backport from mainline commit r245460 on 2017-02-14
3450
3451	PR 79545
3452	* config/rs6000/rs6000.c: Add case statement entry to make the xvcvuxdsp
3453	built-in argument unsigned.
3454	* config/rs6000/vsx.md: Fix the source and return operand types so they
3455	match the instruction definitions from the ISA document.  Fix typo
3456	in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
3457	statement.
3458
34592017-01-17  Julia Koval  <julia.koval@intel.com>
3460
3461	PR target/76731
3462	* config/i386/avx512fintrin.h
3463	(_mm512_i32gather_ps): Change __addr type to void const*.
3464	(_mm512_mask_i32gather_ps): Ditto.
3465	(_mm512_i32gather_pd): Ditto.
3466	(_mm512_mask_i32gather_pd): Ditto.
3467	(_mm512_i64gather_ps): Ditto.
3468	(_mm512_mask_i64gather_ps): Ditto.
3469	(_mm512_i64gather_pd): Ditto.
3470	(_mm512_mask_i64gather_pd): Ditto.
3471	(_mm512_i32gather_epi32): Ditto.
3472	(_mm512_mask_i32gather_epi32): Ditto.
3473	(_mm512_i32gather_epi64): Ditto.
3474	(_mm512_mask_i32gather_epi64): Ditto.
3475	(_mm512_i64gather_epi32): Ditto.
3476	(_mm512_mask_i64gather_epi32): Ditto.
3477	(_mm512_i64gather_epi64): Ditto.
3478	(_mm512_mask_i64gather_epi64): Ditto.
3479	(_mm512_i32scatter_ps): Change __addr type to void*.
3480	(_mm512_mask_i32scatter_ps): Ditto.
3481	(_mm512_i32scatter_pd): Ditto.
3482	(_mm512_mask_i32scatter_pd): Ditto.
3483	(_mm512_i64scatter_ps): Ditto.
3484	(_mm512_mask_i64scatter_ps): Ditto.
3485	(_mm512_i64scatter_pd): Ditto.
3486	(_mm512_mask_i64scatter_pd): Ditto.
3487	(_mm512_i32scatter_epi32): Ditto.
3488	(_mm512_mask_i32scatter_epi32): Ditto.
3489	(_mm512_i32scatter_epi64): Ditto.
3490	(_mm512_mask_i32scatter_epi64): Ditto.
3491	(_mm512_i64scatter_epi32): Ditto.
3492	(_mm512_mask_i64scatter_epi32): Ditto.
3493	(_mm512_i64scatter_epi64): Ditto.
3494	(_mm512_mask_i64scatter_epi64): Ditto.
3495	* config/i386/avx512pfintrin.h
3496	(_mm512_mask_prefetch_i32gather_pd): Change addr type to void const*.
3497	(_mm512_mask_prefetch_i32gather_ps): Ditto.
3498	(_mm512_mask_prefetch_i64gather_pd): Ditto.
3499	(_mm512_mask_prefetch_i64gather_ps): Ditto.
3500	(_mm512_prefetch_i32scatter_pd): Change addr type to void*.
3501	(_mm512_prefetch_i32scatter_ps): Ditto.
3502	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
3503	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
3504	(_mm512_prefetch_i64scatter_pd): Ditto.
3505	(_mm512_prefetch_i64scatter_ps): Ditto.
3506	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
3507	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
3508	* config/i386/avx512vlintrin.h
3509	(_mm256_mmask_i32gather_ps): Change __addr type to void const*.
3510	(_mm_mmask_i32gather_ps): Ditto.
3511	(_mm256_mmask_i32gather_pd): Ditto.
3512	(_mm_mmask_i32gather_pd): Ditto.
3513	(_mm256_mmask_i64gather_ps): Ditto.
3514	(_mm_mmask_i64gather_ps): Ditto.
3515	(_mm256_mmask_i64gather_pd): Ditto.
3516	(_mm_mmask_i64gather_pd): Ditto.
3517	(_mm256_mmask_i32gather_epi32): Ditto.
3518	(_mm_mmask_i32gather_epi32): Ditto.
3519	(_mm256_mmask_i32gather_epi64): Ditto.
3520	(_mm_mmask_i32gather_epi64): Ditto.
3521	(_mm256_mmask_i64gather_epi32): Ditto.
3522	(_mm_mmask_i64gather_epi32): Ditto.
3523	(_mm256_mmask_i64gather_epi64): Ditto.
3524	(_mm_mmask_i64gather_epi64): Ditto.
3525	(_mm256_i32scatter_ps): Change __addr type to void*.
3526	(_mm256_mask_i32scatter_ps): Ditto.
3527	(_mm_i32scatter_ps): Ditto.
3528	(_mm_mask_i32scatter_ps): Ditto.
3529	(_mm256_i32scatter_pd): Ditto.
3530	(_mm256_mask_i32scatter_pd): Ditto.
3531	(_mm_i32scatter_pd): Ditto.
3532	(_mm_mask_i32scatter_pd): Ditto.
3533	(_mm256_i64scatter_ps): Ditto.
3534	(_mm256_mask_i64scatter_ps): Ditto.
3535	(_mm_i64scatter_ps): Ditto.
3536	(_mm_mask_i64scatter_ps): Ditto.
3537	(_mm256_i64scatter_pd): Ditto.
3538	(_mm256_mask_i64scatter_pd): Ditto.
3539	(_mm_i64scatter_pd): Ditto.
3540	(_mm_mask_i64scatter_pd): Ditto.
3541	(_mm256_i32scatter_epi32): Ditto.
3542	(_mm256_mask_i32scatter_epi32): Ditto.
3543	(_mm_i32scatter_epi32): Ditto.
3544	(_mm_mask_i32scatter_epi32): Ditto.
3545	(_mm256_i32scatter_epi64): Ditto.
3546	(_mm256_mask_i32scatter_epi64): Ditto.
3547	(_mm_i32scatter_epi64): Ditto.
3548	(_mm_mask_i32scatter_epi64): Ditto.
3549	(_mm256_i64scatter_epi32): Ditto.
3550	(_mm256_mask_i64scatter_epi32): Ditto.
3551	(_mm_i64scatter_epi32): Ditto.
3552	(_mm_mask_i64scatter_epi32): Ditto.
3553	(_mm256_i64scatter_epi64): Ditto.
3554	(_mm256_mask_i64scatter_epi64): Ditto.
3555	(_mm_i64scatter_epi64): Ditto.
3556	(_mm_mask_i64scatter_epi64): Ditto.
3557	* config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
3558	(V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
3559	(V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
3560	(V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
3561	(V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
3562	(V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
3563	(V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
3564	(V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
3565	(V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
3566	(V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
3567	(V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
3568	(V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
3569	(V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
3570	(VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
3571	(VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
3572	(VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
3573	(VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
3574	(VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
3575	(VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
3576	(VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
3577	(VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
3578	(VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
3579	(VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
3580	(VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
3581	(VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
3582	(VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
3583	(VOID_QI_V8DI_PCINT_INT_INT): Remove.
3584	(V16SF_V16SF_PCVOID_V16SI_HI_INT,  V8DF_V8DF_PCVOID_V8SI_QI_INT)
3585	(V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
3586	(V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
3587	(V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
3588	(VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
3589	(VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
3590	(VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
3591	(VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
3592	(V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
3593	(V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
3594	(V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
3595	(V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
3596	(V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
3597	(V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
3598	(V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
3599	(V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
3600	(VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
3601	(VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
3602	(VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
3603	(VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
3604	(VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
3605	(VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
3606	(VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
3607	(VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
3608	(VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
3609	(VOID_QI_V8DI_PCVOID_INT_INT): Add.
3610	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
3611	definitions accordingly.
3612
36132017-02-16  Jakub Jelinek  <jakub@redhat.com>
3614
3615	Backported from mainline
3616	2017-02-09  Marek Polacek  <polacek@redhat.com>
3617
3618	PR c/79428
3619	* c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
3620	instead of c_parser_skip_until_found.
3621
36222017-02-15  Jakub Jelinek  <jakub@redhat.com>
3623
3624	Backported from mainline
3625	2017-02-10  Jakub Jelinek  <jakub@redhat.com>
3626
3627	PR tree-optimization/79411
3628	* tree-ssa-reassoc.c (is_reassociable_op): Return false if
3629	stmt operands are SSA_NAMEs used in abnormal phis.
3630	(can_reassociate_p): Return false if op is SSA_NAME used in abnormal
3631	phis.
3632
3633	2017-02-09  Jakub Jelinek  <jakub@redhat.com>
3634
3635	PR c/79431
3636	* gimplify.c (gimplify_adjust_omp_clauses): Ignore
3637	"omp declare target link" attribute unless is_global_var.
3638	* omp-low.c (find_link_var_op): Likewise.
3639
3640	2017-02-07  Jakub Jelinek  <jakub@redhat.com>
3641		    Richard Biener  <rguenther@suse.de>
3642
3643	PR middle-end/79399
3644	* ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
3645	type from int to size_t.
3646	* ira-costs.c (struct_costs_size): Change type from int to size_t.
3647
3648	2017-02-04  Jakub Jelinek  <jakub@redhat.com>
3649
3650	PR tree-optimization/79338
3651	* tree-parloops.c (gather_scalar_reductions): Don't call
3652	vect_analyze_loop_form for loop->inner before destroying loop's
3653	loop_vinfo.
3654
3655	2017-02-02  Jakub Jelinek  <jakub@redhat.com>
3656
3657	PR target/79197
3658	* config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
3659	(fixuns_trunc<mode>di2): ... this, remove previous expander.  Put all
3660	conditions on a single line.
3661
3662	2017-01-31  Jakub Jelinek  <jakub@redhat.com>
3663
3664	PR tree-optimization/79267
3665	* value-prof.c (gimple_ic): Only drop lhs for noreturn calls
3666	if should_remove_lhs_p is true.
3667
3668	2017-01-17  Kito Cheng  <kito.cheng@gmail.com>
3669		    Kuan-Lin Chen  <kuanlinchentw@gmail.com>
3670
3671	PR target/79079
3672	* internal-fn.c (expand_mul_overflow): Use convert_modes instead of
3673	gen_lowpart.
3674
36752017-02-14  Uros Bizjak  <ubizjak@gmail.com>
3676
3677	PR target/79495
3678	* config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
3679
36802017-02-14  Martin Liska  <mliska@suse.cz>
3681
3682	Backport from mainline
3683	2017-02-13  Martin Liska  <mliska@suse.cz>
3684
3685	PR c/79471
3686	* calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
3687
36882017-02-13  Gerald Pfeifer  <gerald@pfeifer.com>
3689
3690	Backport from mainline
3691	2016-12-11  Roger Pau Monné  <roger.pau@citrix.com>
3692
3693	* config/i386/x86-64.h: Append --32 to the assembler options when
3694	-m16 is used on non-glibc systems as well.
3695
36962017-02-08  Segher Boessenkool  <segher@kernel.crashing.org>
3697
3698	PR translation/79397
3699	* config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
3700	of AltiVec.
3701
37022017-02-08  Richard Biener  <rguenther@suse.de>
3703
3704	Backport from mainline
3705	2017-02-08  Richard Biener  <rguenther@suse.de>
3706
3707	PR tree-optimization/71824
3708	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
3709	Check all loops contained in the merged region.
3710
3711	2017-02-01  Richard Biener  <rguenther@suse.de>
3712
3713	PR tree-optimization/71824
3714	* graphite-scop-detection.c (scop_detection::build_scop_breadth):
3715	Verify the loops are valid in the merged SESE region.
3716	(scop_detection::can_represent_loop_1): Check analyzing the
3717	evolution of the number of iterations in the region succeeds.
3718
3719	2017-01-31  Richard Biener  <rguenther@suse.de>
3720
3721	PR tree-optimization/77318
3722	* graphite-sese-to-poly.c (extract_affine): Fix assert.
3723	(create_pw_aff_from_tree): Take loop parameter.
3724	(add_condition_to_pbb): Pass loop of the condition to
3725	create_pw_aff_from_tree.
3726
37272017-02-06  Dominique d'Humieres  <dominiq@lps.ens.fr>
3728
3729	PR target/71017
3730	* config/i386/cpuid.h: Fix undefined behavior.
3731
37322017-02-03  Carl Love  <cel@us.ibm.com>
3733
3734	Backport of two commits from mainline, r244943 and r244904,
3735	dated 017-01-26 and 2017-01-25 respectively
3736
3737	* config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
3738	of entries for ALTIVEC_BUILTIN_VEC_PACKS.  Remove bogus entries
3739	for P8V_BUILTIN_VEC_VGBBD.
3740
37412017-02-03  Walter Lee  <walt@tilera.com>
3742
3743	Backport from mainline
3744	2017-02-03  Walter Lee  <walt@tilera.com>
3745
3746	PR target/78862
3747	* config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
3748	after initial stackframe link reg save.
3749	* config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
3750
37512017-02-03  Maxim Ostapenko  <m.ostapenko@samsung.com>
3752
3753	PR lto/79061
3754	* asan.c (asan_add_global): Force has_dynamic_init to zero in LTO mode.
3755
37562017-01-31  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3757
3758	Backport from mainline
3759	2017-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3760
3761	PR target/79268
3762	* config/rs6000/altivec.h (vec_xl): Revise #define.
3763	(vec_xst): Likewise.
3764
37652017-01-26  Eric Botcazou  <ebotcazou@adacore.com>
3766
3767	Backport from mainline
3768	2017-01-10  Eric Botcazou  <ebotcazou@adacore.com>
3769
3770	* expr.c (store_field): In the bitfield case, fetch the return value
3771	from the registers before applying a single big-endian adjustment.
3772	Always do a final load for a BLKmode value not larger than a word.
3773
3774	2017-01-09  Eric Botcazou  <ebotcazou@adacore.com>
3775
3776	* expr.c (store_field): In the bitfield case, if the value comes from
3777	a function call and is of an aggregate type returned in registers, do
3778	not modify the field mode; extract the value in all cases if the mode
3779	is BLKmode and the size is not larger than a word.
3780
37812017-01-26  Richard Biener  <rguenther@suse.de>
3782
3783	* tree-vrp.c (vrp_visit_assignment_or_call): Use set_defs_to_varying.
3784
3785	Backport from mainline
3786	2016-01-10  Richard Biener  <rguenther@suse.de>
3787
3788	PR tree-optimization/79034
3789	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
3790	Propagate out degenerate PHIs in the joiner.
3791
3792	2016-12-13  Richard Biener  <rguenther@suse.de>
3793
3794	PR middle-end/78742
3795	* tree.c (cst_and_fits_in_hwi): Look if the actual value fits.
3796	* tree-object-size.c (compute_builtin_object_size): Use
3797	tree_fits_shwi_p.
3798	* tree-data-ref.c (initialize_matrix_A): Remove excess assert.
3799
38002017-01-26  Richard Biener  <rguenther@suse.de>
3801
3802	Backport from mainline
3803	2016-09-03  Kirill Yukhin  <kirill.yukhin@intel.com>
3804
3805	* ubsan.c (ubsan_use_new_style_p): Fix check for empty string.
3806
38072017-01-24  Eric Botcazou  <ebotcazou@adacore.com>
3808
3809	PR target/77439
3810	* config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
3811	for long calls with APCS frame and VFP.
3812
38132017-01-24  Uros Bizjak  <ubizjak@gmail.com>
3814
3815	PR target/78478
3816	Revert:
3817	2013-11-05  Uros Bizjak  <ubizjak@gmail.com>
3818
3819	* config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
3820
38212017-01-23  Martin Liska  <mliska@suse.cz>
3822
3823	Backport from mainline
3824	2017-01-20  Martin Liska  <mliska@suse.cz>
3825
3826	PR lto/69188
3827	* tree-profile.c (init_ic_make_global_vars): Do not call
3828	finalize_decl.
3829	(gimple_init_gcov_profiler): Likewise.
3830
38312017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>
3832
3833	Backport from mainline
3834	2016-12-29  Gerald Pfeifer  <gerald@pfeifer.com>
3835
3836	* doc/extend.texi (Cilk Plus Builtins): cilkplus.org now uses
3837	https by default.
3838	* doc/passes.texi (Cilk Plus Transformation): Ditto.
3839	* doc/generic.texi (Statements for C++): Ditto, and use @uref.
3840
38412017-01-20  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3842
3843	Backport from mainline
3844	2017-01-16  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3845
3846	* config/rs6000/rs6000.c (rtx_is_swappable_p): Change
3847	UNSPEC_VSX__XXSPLTD to require special splat handling.
3848
38492017-01-20  Wilco Dijkstra  <wdijkstr@arm.com>
3850
3851	Backport from mainline
3852	PR target/77455
3853	* config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
3854	* config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
3855	(EH_RETURN_HANDLER_RTX): New define.
3856	* config/aarch64/aarch64.c (aarch64_frame_pointer_required):
3857	Force frame pointer in EH return functions.
3858	(aarch64_expand_epilogue): Add barrier for eh_return.
3859	(aarch64_final_eh_return_addr): Remove.
3860	(aarch64_eh_return_handler_rtx): New function.
3861	* config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
3862	Remove.
3863	(aarch64_eh_return_handler_rtx): New prototype.
3864
38652017-01-20  Richard Earnshaw  <rearnsha@arm.com>
3866
3867	Backported from mainline
3868	2017-01-19  Richard Earnshaw  <rearnsha@arm.com>
3869
3870	PR rtl-optimization/79121
3871	* expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
3872	of the inner type when shifting an extended value.
3873
38742017-01-20  Martin Liska  <mliska@suse.cz>
3875
3876	Backport from mainline
3877	2017-01-13  Martin Liska  <mliska@suse.cz>
3878
3879	PR ipa/79043
3880	* function.c (set_cfun): Add new argument force.
3881	* function.h (set_cfun): Likewise.
3882	* ipa-inline-transform.c (inline_call): Use the function when
3883	strict alising from is dropped for function we inline to.
3884
38852017-01-20  Martin Liska  <mliska@suse.cz>
3886
3887	Backport from mainline
3888	2017-01-17  Martin Liska  <mliska@suse.cz>
3889
3890	PR ipa/71207
3891	* ipa-polymorphic-call.c (contains_type_p): Fix wrong
3892	assumption and add comment.
3893
38942017-01-19  Richard Biener  <rguenther@suse.de>
3895
3896	PR tree-optimization/72488
3897	* tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
3898	sure to restore SSA info.
3899
39002017-01-17  Jakub Jelinek  <jakub@redhat.com>
3901
3902	PR debug/78839
3903	* dwarf2out.c (field_byte_offset): Restore the
3904	PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
3905	and DECL_FIELD_BIT_OFFSET.  Use fold_build2 instead of build2 + fold.
3906	(analyze_variants_discr, gen_variant_part): Use fold_build2 instead
3907	of build2 + fold.
3908
39092017-01-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3910
3911	Backport from mainline
3912	2016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
3913
3914	PR rtl-optimization/78617
3915	* lra-remat.c (do_remat): Initialize live_hard_regs from live in
3916	registers, also setting hard registers mapped to pseudo registers.
3917
39182017-01-13  Christophe Lyon  <christophe.lyon@linaro.org>
3919
3920	Backport from mainline r244320.
3921	2017-01-11  Christophe Lyon  <christophe.lyon@linaro.org>
3922
3923	PR target/78253
3924	* config/arm/arm.c (legitimize_pic_address): Handle reference to
3925	weak symbol.
3926	(arm_assemble_integer): Likewise.
3927
39282017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3929
3930	Backport from mainline
3931	2017-01-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3932
3933	PR target/79044
3934	* config/rs6000/rs6000.c (insn_is_swappable_p): Mark
3935	element-reversing loads and stores as not swappable.
3936
39372017-01-11  Uros Bizjak  <ubizjak@gmail.com>
3938
3939	* config/i386/i386.c (memory_address_length): Increase len
3940	only when rip_relative_addr_p returns false.
3941
39422017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
3943
3944	Backport from mainline
3945	2017-01-11  Maxim Ostapenko  <m.ostapenko@samsung.com>
3946
3947	PR lto/79042
3948	* lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
3949	bit.
3950	(input_varpool_node): Unpack dynamically_initialized bit.
3951	* lto-streamer.h (LTO_minor_version): Bump version.
3952
39532017-01-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
3954
3955	Backport from mainline
3956	2016-12-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
3957
3958	PR target/78900
3959	* config/rs6000/rs6000.c (rs6000_split_signbit): Change some
3960	assertions.  Add support for doing the signbit if the IEEE 128-bit
3961	floating point value is in a GPR.
3962	* config/rs6000/rs6000.md (Fsignbit): Delete.
3963	(signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
3964	Update the length attribute if the value is in a GPR.
3965	(signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
3966	the sign or zero extension instruction, since the value is always
3967	0/1.
3968	(signbit<mode>2_dm2): Delete using <Fsignbit>.
3969
39702017-01-10  Martin Liska  <mliska@suse.cz>
3971
3972	Backport from mainline
3973	2017-01-09  Martin Liska  <mliska@suse.cz>
3974
3975	PR pch/78970
3976	* gcc.c (driver_handle_option): Handle OPT_E and set
3977	have_E.
3978	(lookup_compiler): Do not show error message with have_E.
3979
39802017-01-10  Martin Liska  <mliska@suse.cz>
3981
3982	Backport from mainline
3983	2017-01-05  Martin Liska  <mliska@suse.cz>
3984
3985	PR pch/78970
3986	* gcc.c (lookup_compiler): Reject '-' filename for a precompiled
3987	header.
3988
39892017-01-10  Thomas Schwinge  <thomas@codesourcery.com>
3990
3991	PR tree-optimization/78024
3992	* omp-low.c (oacc_loop_discovery): Call clear_bb_flags.
3993
3994	Backport trunk r239086:
3995	2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
3996
3997	* config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame
3998	size to DImode boundary.
3999	(nvptx_propagate): Likewise.
4000
40012017-01-10  Chung-Ju Wu  <jasonwucj@gmail.com>
4002
4003	Backport from mainline
4004	2016-04-28  Segher Boessenkool  <segher@kernel.crashing.org>
4005
4006	PR target/70668
4007	* config/nds32/nds32.md (casesi): Don't access the operands array
4008	out of bounds.
4009
40102017-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
4011
4012	Backport from mainline
4013	2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>
4014
4015	* config.gcc: Add aarch64-*-freebsd* support.
4016	* config.host: Likewise.
4017	* config/aarch64/aarch64-freebsd.h: New file.
4018	* config/aarch64/t-aarch64-freebsd: Ditto.
4019
40202017-01-09  Bill Seurer  <seurer@linux.vnet.ibm.com>
4021
4022	Backport from mainline
4023	2016-12-21  Bill Seurer  <seurer@linux.vnet.ibm.com>
4024
4025	PR sanitizer/65479
4026	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
4027	-fasynchronous-unwind-tables option when -fsanitize=address is
4028	specified.
4029
40302017-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
4031
4032	Backport from mainline
4033	2016-09-19  Richard Biener  <rguenther@suse.de>
4034
4035	* dwarf2out.c (dwarf2out_late_global_decl): When being during the
4036	early debug phase do not add locations but only const value
4037	attributes.
4038
4039	Backport from mainline
4040	2016-10-20  Richard Biener  <rguenther@suse.de>
4041
4042	* cgraphunit.c (analyze_functions): Set node->definition to
4043	false to signal symbol removal to debug_hooks->late_global_decl.
4044
40452017-01-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
4046
4047	Backport from mainline
4048	2016-12-09  Andre Vieira <andre.simoesdiasvieira@arm.com>
4049
4050	PR rtl-optimization/78255
4051	* gcc/postreload.c (reload_cse_simplify): Do not CSE a function if
4052	NO_FUNCTION_CSE is true.
4053
40542017-01-06  Wilco Dijkstra  <wdijkstr@arm.com>
4055
4056	Backport from mainline
4057	2016-10-25  Wilco Dijkstra  <wdijkstr@arm.com>
4058
4059	PR target/78041
4060	* config/arm/neon.md (ashldi3_neon): Add "r 0 i" and "&r r i" variants.
4061	Remove partial overlap check for shift by 1.
4062	(ashldi3_neon): Likewise.
4063
40642017-01-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
4065
4066	Backport from mainline
4067	2016-07-22  Kelvin Nilsen  <kelvin@gcc.gnu.org>
4068
4069	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
4070	comments to explain why certain error messages make mention of
4071	undocumented options.
4072	(rs6000_invalid_builtin): Change error messages to replace mention
4073	of undocumented options with mention of the -mcpu=power9 option
4074	that enables those undocumented options.
4075	* config/rs6000/rs6000.h: Add macro definition of MASK_FLOAT128
4076	and change the macro definition of RS6000_BTM_FLOAT128 to correct
4077	an error that was discovered during the development of this patch.
4078	* config/rs6000/rs6000.opt: Add the Undocumented qualifier to the
4079	mpower9-fusion, mpower9-vector, mpower9-dform, and mmodulo entries.
4080	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Modify
4081	descriptions of built-in functions so that they depend on
4082	-mcpu=power9 instead of on the corresponding undocumented flags.
4083	* doc/invoke.texi (Option Summary):  Remove all mention of newly
4084	undocumented flags.
4085	(IBM RS/6000 and PowerPC Options): Likewise.
4086	* doc/md.texi (Constraints for Particuliar Machines): Remove all
4087	mention of newly undocumented flags.
4088
40892017-01-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4090
4091	Backport from mainline
4092	2016-12-22  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4093
4094	* varasm.c (build_constant_desc): Use the alignment of the var
4095	decl instead of the original expression.
4096
40972017-01-04  Richard Biener  <rguenther@suse.de>
4098
4099	Backport from mainline
4100	2016-05-11  Richard Biener  <rguenther@suse.de>
4101
4102	PR tree-optimization/71055
4103	* tree-ssa-sccvn.c (vn_reference_lookup_3): When native-interpreting
4104	sth with precision not equal to access size verify we don't chop
4105	off bits.
4106
41072017-01-03  Martin Liska  <mliska@suse.cz>
4108
4109	Backport from mainline
4110	2016-12-21  Jakub Jelinek  <jakub@redhat.com>
4111		    Martin Liska  <mliska@suse.cz>
4112
4113	PR driver/78863
4114	* gcc.c (driver::build_option_suggestions): Do not add
4115	-fsanitize=all as a suggestion candidate.
4116
41172017-01-03  Martin Liska  <mliska@suse.cz>
4118
4119	Backport from mainline
4120	2016-12-22  Martin Liska  <mliska@suse.cz>
4121
4122	PR tree-optimization/78886
4123	* tree-ssa-strlen.c (handle_builtin_malloc): Return when LHS
4124	is equal to NULL.
4125
41262017-01-03  Martin Liska  <mliska@suse.cz>
4127
4128	Backport from mainline
4129	2016-12-13  Martin Liska  <mliska@suse.cz>
4130
4131	PR tree-optimization/78428
4132	* expr.c (store_constructor_field): Add new arguments to the
4133	function.
4134	(store_constructor): Set up bitregion_end and add
4135	gcc_unreachable to fields that have either non-constant size
4136	or (and) offset.
4137
41382016-12-27  Jakub Jelinek  <jakub@redhat.com>
4139
4140	PR translation/78922
4141	* config/i386/stringop.opt: Remove.
4142
41432016-12-21  Jakub Jelinek  <jakub@redhat.com>
4144
4145	Backported from mainline
4146	2016-12-13  Jakub Jelinek  <jakub@redhat.com>
4147
4148	PR ipa/77905
4149	* ipa-pure-const.c (cdtor_p): Return true for
4150	DECL_STATIC_{CON,DE}STRUCTOR even when it is
4151	DECL_LOOPING_CONST_OR_PURE_P.
4152
41532016-12-21  Jakub Jelinek  <jakub@redhat.com>
4154
4155	* BASE-VER: Set to 6.3.1.
4156
41572016-12-21  Release Manager
4158
4159	* GCC 6.3.0 released.
4160
41612016-12-14  Uros Bizjak  <ubizjak@gmail.com>
4162
4163	PR target/59874
4164	* config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CLZS
4165	and IX86_BUILTIN_CTZS.
4166	(bdesc_args): Add __builtin_clzs and __builtin_ctzs.
4167	(ix86_fold_builtin): Handle IX86_BUILTIN_CTZS and IX86_BUILTIN_CLZS.
4168
41692016-12-14  Wilco Dijkstra  <wdijkstr@arm.com>
4170	    Jakub Jelinek  <jakub@redhat.com>
4171
4172	PR target/78796
4173	* config/aarch64/aarch64.c (aarch64_classify_symbol): Merge large
4174	model checks into switch.
4175
41762016-12-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4177
4178	Backport from mainline
4179	2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4180
4181	* tree-ssa-math-opts.c (struct symbolic_number): Improve comment.
4182
41832016-12-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4184
4185	Backport from mainline
4186	2016-11-25  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4187
4188	PR tree-optimization/77673
4189	* tree-ssa-math-opts.c (struct symbolic_number): Add new src field.
4190	(init_symbolic_number): Initialize src field from src parameter.
4191	(perform_symbolic_merge): Select most dominated statement as the
4192	source statement.  Set src field of resulting n structure from the
4193	input src with the lowest address.
4194	(find_bswap_or_nop): Rename source_stmt into ins_stmt.
4195	(bswap_replace): Rename src_stmt into ins_stmt.  Initially get source
4196	of load from src field rather than insertion statement.  Cancel
4197	optimization if statement analyzed is not dominated by the insertion
4198	statement.
4199	(pass_optimize_bswap::execute): Rename src_stmt to ins_stmt.  Compute
4200	dominance information.
4201
42022016-12-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
4203
4204	Backport from mainline
4205	2016-12-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
4206
4207	PR target/72717
4208	* config/rs6000/rs6000.c (rs6000_expand_vector_init): If the
4209	V2DImode elements are SUBREG's convert the result into DImode
4210	rather than failing in emit_move_insn.
4211
42122016-12-13  Iain Sandoe  <iain@codesourcery.com>
4213
4214	Backport from mainline
4215	2016-12-11  Iain Sandoe  <iain@codesourcery.com>
4216
4217	PR rtl-optimization/71496
4218	* config/rs6000/darwin.md (load_macho_picbase_si): Mark as non-
4219	copyable.  (load_macho_picbase_di, reload_macho_picbase_si,
4220	reload_macho_picbase_di): Likewise.
4221
42222016-12-12  Bernd Schmidt  <bschmidt@redhat.com>
4223
4224	Backport from mainline
4225	2016-11-07  Bernd Schmidt  <bschmidt@redhat.com>
4226
4227	PR rtl-optimization/77309
4228	* combine.c (make_compound_operation): Allow EQ for IN_CODE, and
4229	don't assume an equality comparison for plain COMPARE.
4230	(simplify_comparison): Pass a more accurate code to
4231	make_compound_operation.
4232
42332016-12-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
4234
4235	Backport from mainline
4236	2016-11-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4237
4238	PR target/77904
4239	* config/arm/arm.c (thumb1_compute_save_reg_mask): Mark frame pointer
4240	in save register mask if it is needed.
4241
42422016-12-11  Iain Sandoe  <iain@codesourcery.com>
4243
4244	Backport from mainline
4245	2016-11-27  Iain Sandoe  <iain@codesourcery.com>
4246		    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4247
4248	PR target/67710
4249	* config.in: Regenerate
4250	* config/darwin-driver.c (darwin_driver_init): Emit a version string
4251	for the assembler.
4252	* config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests.
4253	* config/darwin.opt(asm_macosx_version_min): New.
4254	* config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC.
4255	* configure: Regenerate
4256	* configure.ac: Check for mmacosx-version-min handling.
4257
42582016-12-11  Iain Sandoe  <iain@codesourcery.com>
4259
4260	Backport from mainline
4261	2016-11-27  Iain Sandoe  <iain@codesourcery.com>
4262
4263	PR target/57438
4264	* config/i386/i386.c (ix86_code_end): Note that we emitted code
4265	where the function might otherwise appear empty for picbase thunks.
4266	(ix86_output_function_epilogue): If we find a zero-sized function
4267	assume that reaching it is UB and trap.  If we find a trailing label
4268	append a nop.
4269	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): If we
4270	find a zero-sized function assume that reaching it is UB and trap.
4271	If we find a trailing label, append a nop.
4272
42732016-12-11 Iain Sandoe  <iain@codesourcery.com>
4274
4275	Backport from mainline
4276	2016-11-27  Iain Sandoe  <iain@codesourcery.com>
4277
4278	PR target/71767
4279	* config/darwin-sections.def (picbase_thunk_section): New.
4280	* config/darwin.c (darwin_init_sections): Set up picbase thunk
4281	section. (darwin_rodata_section, darwin_objc2_section,
4282	machopic_select_section, darwin_asm_declare_constant_name,
4283	darwin_emit_weak_or_comdat, darwin_function_section): Don’t use
4284	coalesced with newer linkers.
4285	(darwin_override_options): Decide on usage of coalesed sections
4286	on the basis of the target linker version.
4287	* config/darwin.h (MIN_LD64_NO_COAL_SECTS): New.
4288	* config/darwin.opt  (mtarget-linker): New.
4289	* config/i386/i386.c (ix86_code_end): Do not force the thunks into
4290	a coalesced section, instead use a thunks section.
4291
4292	Backport from mainline
4293	2016-11-28  Iain Sandoe  <iain@codesourcery.com>
4294
4295	PR target/71767
4296	* configure.ac (with_ld64): Use portable method to extract the
4297	major part of the version number.
4298	* configure: Regenerated.
4299
4300	Backport from mainline
4301	2016-11-27  Iain Sandoe  <iain@codesourcery.com>
4302
4303	PR target/71767
4304	* configure.ac (with-ld64): New var, set for Darwin, set on
4305	detection of ld64, gcc_cv_ld64_export_dynamic: New, New test.
4306	* config/darwin.h: Use LD64_HAS_DYNAMIC export. DEF_LD64: New,
4307	define.
4308	* config/darwin10.h(DEF_LD64): Update for this target version.
4309	* config/darwin12.h(LINK_GCC_C_SEQUENCE_SPEC): Remove rdynamic
4310	test.  (DEF_LD64): Update for this target version.
4311	* configure: Regenerated.
4312	* config.in: Regenerated.
4313
4314	Backport from mainline
4315	2016-11-27  Iain Sandoe  <iain@codesourcery.com>
4316
4317	PR target/71767
4318	* config/darwin.c (imachopic_indirection_name): Make data
4319	section indirections linker-visible.
4320	* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL): Make local
4321	constant labels linker-visible.
4322
43232016-12-09  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4324
4325	Backport from mainline
4326	2016-11-17  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4327
4328	PR target/77933
4329	* config/arm/arm.c (thumb1_expand_prologue): Distinguish between lr
4330	being live in the function and lr needing to be saved.  Distinguish
4331	between already saved pushable registers and registers to push.
4332	Check for LR being an available pushable register.
4333
43342016-12-09  Nathan Sidwell  <nathan@acm.org>
4335
4336	PR C++/78550
4337	* convert.c (convert_to_integer_1): Maybe fold conversions to
4338	integral types with fewer bits than its mode.
4339
43402016-12-09  Richard Biener  <rguenther@suse.de>
4341
4342	Backport from mainline
4343	2016-11-09  Richard Biener  <rguenther@suse.de>
4344
4345	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
4346	Look at the DR_BASE_ADDRESS object for forcing alignment.
4347
4348	2016-11-07  Richard Biener  <rguenther@suse.de>
4349
4350	PR tree-optimization/78189
4351	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Fix
4352	alignment computation.
4353
43542016-12-09  Richard Biener  <rguenther@suse.de>
4355
4356	Backport from mainline
4357	2016-11-28  Richard Biener  <rguenther@suse.de>
4358
4359	PR tree-optimization/78542
4360	* tree-ssa-ccp.c (evaluate_stmt): Only valueize simplification
4361	if allowed.
4362
4363	2016-11-23  Richard Biener  <rguenther@suse.de>
4364
4365	PR tree-optimization/78482
4366	* tree-cfgcleanup.c: Include tree-ssa-loop-niter.h.
4367	(remove_forwarder_block_with_phi): When merging with a loop
4368	header creates a new latch reset number of iteration information
4369	of the loop.
4370
4371	2016-11-23  Richard Biener  <rguenther@suse.de>
4372
4373	PR middle-end/71762
4374	* match.pd ((~X & Y) -> X < Y, (X & ~Y) -> Y < X,
4375	(~X | Y) -> X <= Y, (X | ~Y) -> Y <= X): Remove.
4376
4377	2016-11-11  Richard Biener  <rguenther@suse.de>
4378
4379	PR tree-optimization/71575
4380	* graphite-isl-ast-to-gimple.c (copy_cond_phi_nodes): Remove
4381	bogus assert.
4382
4383	2016-11-07  Richard Biener  <rguenther@suse.de>
4384
4385	PR tree-optimization/78224
4386	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
4387	Split the fallthru edge in case its successor may have PHIs.
4388
4389	2016-11-05  David Edelsohn  <dje.gcc@gmail.com>
4390		Richard Biener  <rguenther@suse.de>
4391
4392	PR bootstrap/78188
4393	PR c++/71848
4394	* ipa-comdats.c (pass_ipa_comdats::gate): Require HAVE_COMDAT_GROUP.
4395
4396	2016-09-20  Richard Biener  <rguenther@suse.de>
4397
4398	PR tree-optimization/77646
4399	* tree-ssa-sccvn.c (visit_reference_op_call): Always value-number
4400	a VDEF.
4401
44022016-12-07  Segher Boessenkool  <segher@kernel.crashing.org>
4403
4404	Backport from mainline
4405	2016-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
4406
4407	PR target/77957
4408	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
4409	return early if !optional_tbtab.
4410
44112016-12-07  Jakub Jelinek  <jakub@redhat.com>
4412
4413	Backported from mainline
4414	2016-11-28  Jakub Jelinek  <jakub@redhat.com>
4415
4416	PR middle-end/78540
4417	* rtl.h (remove_reg_equal_equiv_notes): Return bool instead of void.
4418	* rtlanal.c (remove_reg_equal_equiv_notes): Return true if any
4419	note has been removed.
4420	* postreload.c (reload_combine_recognize_pattern): If
4421	remove_reg_equal_equiv_notes returns true, call df_notes_rescan.
4422
4423	PR rtl-optimization/78546
4424	* simplify-rtx.c (neg_const_int): When negating most negative
4425	number in mode wider than HOST_BITS_PER_WIDE_INT, use
4426	simplify_const_unary_operation to produce CONST_DOUBLE or
4427	CONST_WIDE_INT.
4428	(simplify_plus_minus): Hanlde the case where neg_const_int
4429	doesn't return a CONST_INT.
4430
4431	PR fortran/78298
4432	* tree-nested.c (convert_local_reference_stmt): After adding
4433	shared (FRAME.NN) clause to omp parallel, task or target,
4434	add it also to all outer omp parallel, task or target constructs.
4435
4436	2016-11-23  Jakub Jelinek  <jakub@redhat.com>
4437
4438	PR middle-end/69183
4439	* omp-low.c (build_outer_var_ref): Change lastprivate argument
4440	to code, pass it recursively, adjust uses.  For OMP_CLAUSE_PRIVATE
4441	on worksharing constructs, treat it like clauses on simd construct.
4442	Formatting fix.
4443	(lower_rec_input_clauses): For OMP_CLAUSE_PRIVATE_OUTER_REF pass
4444	OMP_CLAUSE_PRIVATE as last argument to build_outer_var_ref.
4445	(lower_lastprivate_clauses): Pass OMP_CLAUSE_LASTPRIVATE instead
4446	of true as last argument to build_outer_var_ref.
4447
4448	2016-11-22  Jakub Jelinek  <jakub@redhat.com>
4449
4450	PR middle-end/78416
4451	* expmed.c (expand_divmod): Use wide_int for computation of
4452	op1_is_pow2.  Don't set it if op1 is 0.  Formatting fixes.
4453	Use size <= HOST_BITS_PER_WIDE_INT instead of
4454	HOST_BITS_PER_WIDE_INT >= size.
4455
4456	2016-11-21  Jakub Jelinek  <jakub@redhat.com>
4457
4458	PR middle-end/67335
4459	* omp-simd-clone.c (simd_clone_adjust_argument_types): Use NULL prefix
4460	for tmp simd array if DECL_NAME (parm) is NULL.
4461
4462	2016-11-18  Jakub Jelinek  <jakub@redhat.com>
4463
4464	PR middle-end/78419
4465	* multiple_target.c (get_attr_len): Start with argnum and increment
4466	argnum on every arg.  Use strchr in a loop instead of counting commas
4467	manually.
4468	(get_attr_str): Increment argnum for every comma in the string.
4469	(separate_attrs): Use for instead of while loop, simplify.
4470	(expand_target_clones): Rename defenition argument to definition.
4471	Free attrs and attr_str even when diagnosing errors.  Temporarily
4472	change input_location around targetm.target_option.valid_attribute_p
4473	calls.  Don't emit warning or errors if that function fails.
4474
4475	2016-11-16  Jakub Jelinek  <jakub@redhat.com>
4476
4477	PR rtl-optimization/78378
4478	* combine.c (make_extraction): Use force_to_mode for non-{REG,MEM}
4479	inner only if pos is 0.  Fix up formatting.
4480
4481	PR fortran/78299
4482	* omp-low.c (expand_omp_for_static_nochunk): Don't assert
4483	that loop->header == body_bb if broken_loop.
4484
4485	2016-11-07  Jakub Jelinek  <jakub@redhat.com>
4486
4487	PR target/77834
4488	* dse.c (dse_step5): Call scan_reads even if just
4489	insn_info->frame_read.  Improve and fix dump file messages.
4490
4491	PR target/78227
4492	* config/i386/i386.c (ix86_expand_sse_cmp): Force dest into
4493	cmp_mode argument even for -O0 if cmp_mode != mode and maskcmp.
4494
4495	2016-11-04  Jakub Jelinek  <jakub@redhat.com>
4496
4497	PR target/77834
4498	* alias.c (nonoverlapping_memrefs_p): Return 0 if exprx or expry
4499	doesn't have rtl set.
4500
4501	2016-10-29  Jakub Jelinek  <jakub@redhat.com>
4502
4503	PR rtl-optimization/77919
4504	* expr.c (expand_expr_real_1) <normal_inner_ref>: Only avoid forcing
4505	into memory if both modes are complex and their inner modes have the
4506	same precision.  If the two modes are different complex modes, convert
4507	each part separately and generate a new CONCAT.
4508
4509	2016-10-28  Jakub Jelinek  <jakub@redhat.com>
4510
4511	PR rtl-optimization/77919
4512	* expr.c (expand_expr_real_1) <normal_inner_ref>: Force CONCAT into
4513	MEM if mode1 is not a complex mode.
4514
4515	2016-10-27  Jakub Jelinek  <jakub@redhat.com>
4516
4517	PR middle-end/78025
4518	* omp-simd-clone.c (simd_clone_adjust): Handle noreturn declare simd
4519	functions.
4520
4521	2016-10-26  Jakub Jelinek  <jakub@redhat.com>
4522		    Martin Liska  <mliska@suse.cz>
4523
4524	PR fortran/77973
4525	* gimplify.c (gimplify_adjust_omp_clauses_1): For all added map
4526	clauses with OMP_CLAUSE_SIZE being a decl, call omp_notice_variable
4527	on outer context if any.
4528
4529	2016-10-05  Jakub Jelinek  <jakub@redhat.com>
4530
4531	PR sanitizer/66343
4532	* ubsan.c (ubsan_ids): New GTY(()) array.
4533	(ubsan_type_descriptor, ubsan_create_data): Use ubsan_ids
4534	instead of static local counters.
4535
4536	2016-09-22  Jakub Jelinek  <jakub@redhat.com>
4537
4538	PR fortran/77665
4539	* tree-inline.c (remap_gimple_stmt): Set has_simduid_loops
4540	for all IFN_GOMP_SIMD_* internal fns, not just for
4541	IFN_GOMP_SIMD_ORDERED_*.
4542
4543	2016-09-20  Jakub Jelinek  <jakub@redhat.com>
4544
4545	PR middle-end/77624
4546	* builtins.c (fold_builtin_atomic_always_lock_free): Only look through
4547	cast to void * if the cast is from some other pointer type.
4548
4549	2016-09-19  Jakub Jelinek  <jakub@redhat.com>
4550		    Jan Hubicka  <jh@suse.cz>
4551
4552	PR target/77587
4553	* cgraph.c (cgraph_node::rtl_info): Pass &avail to
4554	ultimate_alias_target call, return NULL if avail < AVAIL_AVAILABLE.
4555	Call ultimate_alias_target just once, not up to 4 times.
4556
45572016-12-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4558
4559	Backport from mainline
4560	2016-11-16  Thomas Preud'homme  <thomas.preudhomme@arm.com>
4561
4562	* config/arm/arm.md (arm_addsi3): Add alternative for addition of
4563	general register with general register or ARM constant into SP
4564	register.
4565
45662016-12-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4567
4568	Backport from mainline
4569	2016-12-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4570	            Stefan Freudenberger  <stefan@reservoir.com>
4571
4572	PR tree-optimization/78646
4573	* gimple-ssa-strength-reduction.c (replace_ref): The pointer
4574	addition used for the memory base expression should have the type
4575	of the candidate.
4576
45772016-12-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4578
4579	Backport from mainline
4580	2016-09-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4581	            Michael Meissner  <meissner@linux.vnet.ibm.com>
4582
4583	PR target/72827
4584	* config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid
4585	reg+reg addressing for TImode.
4586	(rs6000_legitimate_address_p): Only allow register indirect
4587	addressing for TImode, even without TARGET_QUAD_MEMORY.
4588
45892016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4590
4591	Backport from mainline
4592	2016-12-02  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4593
4594	* config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU)
4595	(CCVHUANY): Remove modes.
4596	(CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and
4597	documentation.
4598	* config/s390/s390.c (s390_match_ccmode_set): Rename cc modes.
4599	(s390_expand_vec_compare_scalar): Pick one of the cc consumer
4600	modes.
4601	(s390_branch_condition_mask): Adjust to use the new cc consumer
4602	modes.  The new modes allow for proper reversal in the middle-end.
4603	(s390_expand_vec_compare_cc): Determine the proper cc producer and
4604	consumer modes for a comparison.
4605	* config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU
4606	throughout the file.
4607	* config/s390/vx-builtins.md: Likewise.
4608
46092016-12-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
4610
4611	Backport from mainline
4612	2016-12-01  Alan Modra  <amodra@gmail.com>
4613
4614	* gcc/config/rs6000/rs6000.c (insn_is_swappable_p): Properly
4615	look inside UNSPEC_VSX_XXSPLTW vec.
4616
46172016-12-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
4618
4619	Back port from trunk
4620	2016-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
4621
4622	PR target/78101
4623	* config/rs6000/predicates.md (fusion_addis_mem_combo_load): Add
4624	the appropriate checks for SFmode/DFmode load/stores in GPR
4625	registers.
4626	(fusion_addis_mem_combo_store): Likewise.
4627	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Rename
4628	fusion_fpr_* to fusion_vsx_* and add in support for ISA 3.0 scalar
4629	d-form instructions for traditional Altivec registers.
4630	(emit_fusion_p9_load): Likewise.
4631	(emit_fusion_p9_store): Likewise.
4632	* config/rs6000/rs6000.md (p9 fusion store peephole2): Remove
4633	early clobber from scratch register.  Do not match if the register
4634	being stored is the scratch register.
4635	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Rename fusion_fpr_*
4636	to fusion_vsx_* and add in support for ISA 3.0 scalar d-form
4637	instructions for traditional Altivec registers.
4638	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
4639	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
4640	(fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
4641
46422016-12-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4643
4644	Backport from mainline
4645	2016-11-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4646
4647	PR target/48863
4648	PR inline-asm/70184
4649	* tree-ssa-ter.c (temp_expr_table): Add reg_vars_cnt field.
4650	(new_temp_expr_table): Initialise reg_vars_cnt.
4651	(free_temp_expr_table): Release reg_vars_cnt.
4652	(process_replaceable): Add reg_vars_cnt argument, set reg_vars_cnt
4653	field of TAB.
4654	(find_replaceable_in_bb): Use the above to record register variable
4655	write occurrences and cancel replacement across them.
4656
46572016-11-29  Kaz Kojima  <kkojima@gcc.gnu.org>
4658
4659	Backported from mainline
4660	2016-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
4661
4662	PR target/78426
4663	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Use copy_to_mode_reg
4664	instead of force_reg.
4665	(sh_expand_setmem): Likewise.
4666
46672016-11-24  Eric Botcazou  <ebotcazou@adacore.com>
4668
4669	PR middle-end/78429
4670	* tree.h (wi::fits_to_boolean_p): New predicate.
4671	(wi::fits_to_tree_p): Use it for boolean types.
4672	* tree.c (int_fits_type_p): Likewise.
4673
46742016-11-24  Martin Liska  <mliska@suse.cz>
4675
4676	Backported from mainline
4677	2016-11-22  Martin Liska  <mliska@suse.cz>
4678
4679	PR ipa/78309
4680	* ipa-icf.c (void sem_item::set_hash): Update m_hash_set.
4681	(sem_function::get_hash): Use the new field.
4682	(sem_function::parse): Remove an argument from ctor.
4683	(sem_variable::parse): Likewise.
4684	(sem_variable::get_hash): Use the new field.
4685	(sem_item_optimizer::read_section): Use new ctor and set hash.
4686	* ipa-icf.h: _hash is removed from sem_item::sem_item,
4687	sem_variable::sem_variable, sem_function::sem_function.
4688
46892016-11-23  Uros Bizjak  <ubizjak@gmail.com>
4690
4691	* config/i386/i386.md (*<any_or:code>hi_1): Fix operand 2 constraints.
4692	(kxnor<mode>): Return "#" for alternative 0.
4693
46942016-11-23  Richard Biener  <rguenther@suse.de>
4695
4696	Backport from mainline
4697	2016-11-23  Richard Biener  <rguenther@suse.de>
4698
4699	PR lto/78472
4700	* tree.c (gimple_canonical_types_compatible_p): Ignore zero-sized
4701	fields.
4702
4703	2016-11-17  Richard Biener  <rguenther@suse.de>
4704
4705	PR middle-end/78305
4706	* fold-const.c (negate_expr_p): Fix multiplication case.
4707
4708	2016-11-16  Richard Biener  <rguenther@suse.de>
4709
4710	PR middle-end/78333
4711	* gimplify.c (gimplify_function_tree): Do not instrument
4712	GNU extern inline functions.
4713
4714	2016-11-07  Richard Biener  <rguenther@suse.de>
4715
4716	PR tree-optimization/78228
4717	* tree-ssa-phiopt.c (abs_replacement): Avoid introducing
4718	undefined behavior.
4719
4720	2016-11-04  Richard Biener  <rguenther@suse.de>
4721
4722	PR middle-end/78185
4723	* loop-invariant.c (find_exits): Record entering inner
4724	loops as possibly exiting to handle infinite sub-loops.
4725	* tree-ssa-loop-im.c: Include tree-ssa-loop-niter.h.
4726	(fill_always_executed_in_1): Honor infinite child loops.
4727
4728	2016-10-06  Richard Biener  <rguenther@suse.de>
4729
4730	PR tree-optimization/77855
4731	* tree-ssa-pre.c (prune_clobbered_mems): Queue exprs to remove
4732	instead of removing the current item while iterating over the set
4733	which is not safe.
4734
47352016-11-22  Walter Lee  <walt@tilera.com>
4736
4737	Backport from mainline
4738	2016-11-22  Walter Lee  <walt@tilera.com>
4739
4740	* config/tilegx/tilegx.md (trap): New pattern.
4741	* config/tilepro/tilepro.md (trap): Likewise.
4742
47432016-11-22  Walter Lee  <walt@tilera.com>
4744
4745	Backport from mainline
4746	2016-11-22  Walter Lee  <walt@tilera.com>
4747
4748	* config/tilegx/tilegx.md (*zero_extract): Use
4749	define_insn_and_split instead of define_insn; Handle pos + size >
4750	64.
4751	(*sign_extract): Likewise.
4752
47532016-11-22  Uros Bizjak  <ubizjak@gmail.com>
4754
4755	* Makefile.in ($(lang_checks_parallelized)): Fix detection
4756	of -j argument.
4757
47582016-11-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4759
4760	Backport from mainline
4761	2016-11-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4762
4763	PR target/77822
4764	* config/aarch64/aarch64.md (*tb<optab><mode>1): Use
4765	aarch64_simd_shift_imm_<mode> predicate for operand 1.
4766	(<optab>, ANY_EXTRACT): Use tighter predicates on operands 2 and 3
4767	to restrict them to an appropriate range and add FAIL check if the
4768	region they specify is out of range.  Delete useless constraint
4769	strings.
4770	(*<optab><mode>, ANY_EXTRACT): Add appropriate predicates on operands
4771	2 and 3 to restrict their range and add pattern predicate.
4772
47732016-11-18  Walter Lee  <walt@tilera.com>
4774
4775	Backport from mainline
4776	2016-11-18  Walter Lee  <walt@tilera.com>
4777
4778	* config/tilegx/tilegx.c (tilegx_gen_bundles): Preserve
4779	  end-of-bundle marker for consecutive barriers.
4780
47812016-11-18  Walter Lee  <walt@tilera.com>
4782
4783	Backport from mainline
4784	2016-11-18  Walter Lee  <walt@tilera.com>
4785
4786	* config/tilegx/tilegx.md (clzsi2): Fix for big-endian.
4787
47882016-11-15  Matthias Klose  <doko@ubuntu.com>
4789
4790	* doc/install.texi: Move the 'Overriding configure test results'
4791	subsub section to the 'Cross-Compiler-Specific Options' sub section.
4792
47932016-11-13  Eric Botcazou  <ebotcazou@adacore.com>
4794
4795	* ipa-icf.c (sem_function::merge): Do not create a wrapper also if the
4796	original function needs a static chain.
4797
47982016-11-11  Uros Bizjak  <ubizjak@gmail.com>
4799
4800	PR target/78310
4801	* config/i386/i386.md (rotate to rotatex splitter): Avoid overflow
4802	when calculating operand 2.
4803	(rotate to rotatex zext splitter): Ditto.
4804
48052016-11-11  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4806
4807	PR target/77822
4808	* config/s390/s390.md ("extzv", "*extzv<mode>_zEC12")
4809	("*extzv<mode>_z10"): Check validity of zero_extend arguments.
4810
48112016-11-09  Uros Bizjak  <ubizjak@gmail.com>
4812
4813	PR target/78262
4814	* config/i386/i386.md (*<shift_insn><mode>3_doubleword): Mark
4815	operand 0 as earlyclobber.
4816	(*ashl<mode>3_doubleword): Ditto for all operand 0 alternatives.
4817
48182016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
4819
4820	Backport from trunk
4821	2016-11-07  Peter Bergner  <bergner@vnet.ibm.com>
4822
4823	* config.gcc (powerpc*-*-*, rs6000*-*-*): Remove setting of
4824	INCLUDE_EXTRA_SPEC for Advance Toolchain builds.
4825
48262016-11-06  Jack Howarth  <howarth.at.gcc@gmail.com>
4827
4828	PR driver/78206
4829	* incpath.c: (remove_dup(): Also silently ignore EPERM.
4830
48312016-11-07  Richard Biener  <rguenther@suse.de>
4832
4833	PR target/78229
4834	* config/i386/i386.c (ix86_gimple_fold_builtin): Do not adjust
4835	EH info.
4836
48372016-11-03  Martin Liska  <mliska@suse.cz>
4838
4839	Backport from mainline
4840	2016-08-12  Martin Liska  <mliska@suse.cz>
4841	Adam Fineman  <afineman@afineman.com>
4842
4843	* gcov.c (process_file): Create .gcov file when .gcda
4844	file is missing.
4845
48462016-11-03  Richard Biener  <rguenther@suse.de>
4847
4848	Backport from mainline
4849	2016-09-29  Richard Biener  <rguenther@suse.de>
4850
4851	PR tree-optimization/77768
4852	* tree-ssa-sccvn.c (visit_reference_op_store): Properly deal
4853	with stores to a place we know has a constant value.
4854	* tree-vrp.c (set_defs_to_varying): New helper avoiding
4855	writing to vr_const_varying.
4856	(vrp_initialize): Call it.
4857	(vrp_visit_stmt): Likewise.
4858	(evrp_dom_walker::before_dom_children): Likewise.
4859	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4860	Handle stores to readonly memory when removing redundant stores.
4861
48622016-11-03  Eric Botcazou  <ebotcazou@adacore.com>
4863
4864	Backport from mainline
4865	2016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
4866
4867	* explow.c (validize_mem): Do not modify the argument in-place.
4868
48692016-11-02  Will Schmidt  <will_schmidt@vnet.ibm.com>
4870
4871	Backport from trunk
4872	2016-10-26  Will Schmidt <will_schmidt@vnet.ibm.com>
4873
4874	PR middle-end/72747
4875	* gimplify.c (gimplify_init_constructor): Move emit of constructor
4876	assignment to earlier in the if/else logic.
4877
48782016-11-02  Richard Biener  <rguenther@suse.de>
4879
4880	Backport from mainline
4881	2016-11-02  Richard Biener  <rguenther@suse.de>
4882
4883	PR tree-optimization/78047
4884	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Initialize
4885	fake field at offset zero conservatively regarding to may_have_pointers.
4886
4887	2016-10-07  Richard Biener  <rguenther@suse.de>
4888
4889	PR tree-optimization/77879
4890	* tree-ssa-structalias.c (handle_const_call): Properly handle
4891	NRV return slots.
4892	(handle_pure_call): Likewise.
4893
4894	2016-10-06  Richard Biener  <rguenther@suse.de>
4895
4896	PR tree-optimization/77839
4897	* tree-ssa-sccvn.c (set_ssa_val_to): Forbid value -> constant value
4898	lattice transition.
4899
4900	2016-09-27  Richard Biener  <rguenther@suse.de>
4901
4902	PR tree-optimization/77745
4903	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4904	When removing redundant stores make sure to check compatibility
4905	of the TBAA state for downstream accesses.
4906	* tree-ssa-sccvn.c (visit_reference_op_store): Likewise for when
4907	value-numbering virtual operands for store matches.
4908
4909	2016-09-21  Richard Biener  <rguenther@suse.de>
4910
4911	PR tree-optimization/77648
4912	* tree-ssa-structalias.c (process_constraint): Handle all DEREF
4913	with complex RHS.
4914	(make_transitive_closure_constraints): Adjust comment.
4915	(make_any_offset_constraints): New function.
4916	(handle_rhs_call): Make sure to first expand a pointer to all
4917	subfields before transitively closing it.
4918	(handle_const_call): Likewise.  Properly expand returned
4919	pointers as well.
4920	(handle_pure_call): Likewise.
4921
49222016-11-01  John David Anglin  <danglin@gcc.gnu.org>
4923
4924	PR target/78166
4925	* config/pa/pa.md: Add new shift/add patterns to handle
4926	(plus (mult (reg) (mem_shadd_operand)) (reg)) source operand.
4927
49282016-11-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4929
4930	Backport from mainline
4931	2016-10-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4932
4933	PR rtl-optimization/78038
4934	* ree.c (get_defs): Return NULL if a defining insn for REG cannot
4935	be deduced to set REG through the RTL structure.
4936	(make_defs_and_copies_lists): Return false on a failing get_defs call.
4937
49382016-10-29  John David Anglin  <danglin@gcc.gnu.org>
4939
4940	* config/pa/pa.h (BIGGEST_ALIGNMENT): Adjust comment.
4941	(MALLOC_ABI_ALIGNMENT): Define.
4942
49432016-10-28  Richard Biener  <rguenther@suse.de>
4944
4945	PR middle-end/78128
4946	PR middle-end/71002
4947	* fold-const.c (make_bit_field_ref): Only adjust alias set
4948	when the original alias set was zero.
4949
49502016-10-26  Uros Bizjak  <ubizjak@gmail.com>
4951
4952	Backport from mainline
4953	2016-10-21  Jakub Jelinek  <jakub@redhat.com>
4954
4955	PR target/78057
4956	* config/i386/i386.c: Include fold-const-call.h, tree-vrp.h
4957	and tree-ssanames.h.
4958	(ix86_fold_builtin): Fold IX86_BUILTIN_[LT]ZCNT{16,32,64}
4959	with INTEGER_CST argument.
4960	(ix86_gimple_fold_builtin): New function.
4961	(TARGET_GIMPLE_FOLD_BUILTIN): Define.
4962
4963	Backport from mainline
4964	2016-10-20 Uros Bizjak  <ubizjak@gmail.com>
4965
4966	PR target/78037
4967	* config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16.
4968	(__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32.
4969	(__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64.
4970	* config/i386/lzcntintrin.h (__lzcnt_u16): Call
4971	__builtin_ia32_lzcnt_u16.
4972	(__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32.
4973	(__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64.
4974	* config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs.
4975	(ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator.
4976	(bmi_tzcnt_<mode>): New expander.
4977	(*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
4978	(*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns.
4979	(clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator.
4980	(lzcnt_<mode>): New expander.
4981	(*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern.
4982	(*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns.
4983	* config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New.
4984	(UINT64_FTYPE_UINT64): New.
4985	* config/i386/i386-builtin.def (__builtin_clzs): Remove description.
4986	(__builtin_ia32_lzcnt_u16): New description.
4987	(__builtin_ia32_lzcnt_u32): Ditto.
4988	(__builtin_ia32_lzcnt_u64): Ditto.
4989	(__builtin_ctzs): Remove description.
4990	(__builtin_ia32_tzcnt_u16): New description.
4991	(__builtin_ia32_tzcnt_u32): Ditto.
4992	(__builtin_ia32_tzcnt_u64): Ditto.
4993	* config/i386/i386.c (ix86_expand_args_builtin): Handle
4994	UINT_FTYPE_UINT and UINT64_FTYPE_UINT64.
4995
49962016-10-25  Eric Botcazou  <ebotcazou@adacore.com>
4997
4998	* tree.h (wi::fits_to_tree_p): Accept only 0 and 1 for boolean types.
4999	* tree.c (int_fits_type_p): Likewise.  Adjust head comment.
5000
50012016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5002
5003	Backport from mainline
5004	2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5005
5006	PR tree-optimization/77550
5007	* tree-vect-stmts.c (create_array_ref): Change parameters.
5008	(get_group_alias_ptr_type): New function.
5009	(vectorizable_store, vectorizable_load): Use get_group_alias_ptr_type.
5010
50112016-10-23  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5012
5013	Backport from mainline
5014	2016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5015
5016	PR tree-optimization/77916
5017	* gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
5018	Don't allow a MINUS_EXPR for pointer arithmetic for either known
5019	or unknown strides.
5020	(record_increment): Increments of -1 for unknown strides just use
5021	a multiply initializer like other negative values.
5022	(analyze_increments): Remove stopgap solution for -1 increment
5023	applied to pointer arithmetic.
5024	(insert_initializers): Requirement of initializer for -1 should be
5025	based on pointer-typedness of the candidate basis.
5026
50272016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
5028
5029	* config/sparc/sparc.md (cpu_feature): Minor tweak.
5030	(enabled): Likewise.
5031	(movsi_insn, movdi_insn_sp32, movdi_insn_sp64, movsf_insn,
5032	movdf_insn_sp32, movdf_insn_sp64, zero_extendsidi2_insn_sp64,
5033	sign_extendsidi2_insn, mov<VM32:mode>_insn, mov<VM64:mode>_insn_sp64,
5034	mov<VM64:mode>_insn_sp32, not_<code><mode>, nand<mode>_vis,
5035	<code>_not1<mode>_vi, <code>_not2<mode>_vis, one_cmpl<mode>2,
5036	fcmp<code><GCM:gcm_name>, pdistn<mode>_vis): Likewise.
5037
50382016-10-23  Eric Botcazou  <ebotcazou@adacore.com>
5039
5040	* config/sparc/sparc-c.c (sparc_target_macros): Replace TARGET_64BIT
5041	with TARGET_ARCH64.  Define __VIS to 0x400 if TARGET_VIS4.
5042
50432016-10-19  Uros Bizjak  <ubizjak@gmail.com>
5044
5045	PR target/77991
5046	* config/i386/i386.c (legitimize_tls_address)
5047	<case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
5048	convert dest to Pmode if different than Pmode.
5049
50502016-10-18  Kugan Vivekanandarajah  <kuganv@linaro.org>
5051
5052	Backport from mainline
5053	2016-10-11  Kugan Vivekanandarajah  <kuganv@linaro.org>
5054
5055	* tree-vrp.c (vrp_intersect_ranges_1): Allocate bitmap before
5056	copying.
5057
50582016-10-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5059
5060	Backport from mainline
5061	2016-10-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5062
5063	PR tree-optimization/77937
5064	* gimple-ssa-strength-reduction.c (analyze_increments): Use
5065	POINTER_TYPE_P on the candidate type to determine whether
5066	candidates in this chain require pointer arithmetic.
5067
5068	2016-10-13  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5069
5070	PR tree-optimization/77937
5071	* gimple-ssa-strength-reduction.c (analyze_increments): Set cost
5072	to infinite when we have a pointer with an increment of -1.
5073
50742016-10-17  Martin Liska  <mliska@suse.cz>
5075
5076	Backported from mainline
5077	2016-10-13  Martin Liska  <mliska@suse.cz>
5078
5079	PR tree-optimization/77943
5080	* tree-ssa-tail-merge.c (merge_stmts_p): Do not merge BBs with
5081	a different EH landing pads.
5082
50832016-10-17  Eric Botcazou  <ebotcazou@adacore.com>
5084
5085	PR bootstrap/77995
5086	Backport from mainline
5087	2016-10-11  Eric Botcazou  <ebotcazou@adacore.com>
5088
5089	* tree.h (build_complex_type): Add second parameter with default.
5090	* tree.c (build_complex_type): Add NAMED second parameter and adjust
5091	recursive call.  Create a TYPE_DECL only if NAMED is true.
5092	(build_common_tree_nodes): Pass true in calls to build_complex_type.
5093
50942016-10-16  Eric Botcazou  <ebotcazou@adacore.com>
5095
5096	* config/sparc/sparc.c (sparc_expand_vector_init): Only accept literal
5097	constants in CONST_VECTORs.
5098
50992016-10-15  Eric Botcazou  <ebotcazou@adacore.com>
5100
5101	* config/sparc/sparc.c (sparc_expand_vec_perm_bmask): Use a scratch
5102	register as destination of bmask.
5103	(vector_init_bshuffle): Likewise.
5104	* config/sparc/sparc.md (vec_perm_constv8qi): Likewise.
5105	(bmaskdi_vis): Enable only in 64-bit mode.
5106
51072016-10-13  Andrew Senkevich  <andrew.senkevich@intel.com>
5108
5109	Backport from trunk
5110	* common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET,
5111	OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions.
5112	(ix86_handle_option): Deleted handle of OPT_mpcommit.
5113	* config.gcc: Deleted pcommitintrin.h
5114	* config/i386/pcommitintrin.h: Deleted file.
5115	* config/i386/cpuid.h (bit_PCOMMIT): Deleted.
5116	* config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit
5117	detection.
5118	* config/i386/i386-c.c (ix86_target_macros_internal): Deleted define
5119	__PCOMMIT__.
5120	* config/i386/i386.c (ix86_target_string): Deleted -mpcommit.
5121	(PTA_PCOMMIT, IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted.
5122	(ix86_option_override_internal): Deleted handle of option.
5123	(ix86_valid_target_attribute_inner_p): Deleted pcommit.
5124	* config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted.
5125	* config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT.
5126	(pcommit): Deleted instruction.
5127	* config/i386/i386.opt: Mention -mpcommit deprecation.
5128	* config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h.
5129
51302016-10-13  Tom de Vries  <tom@codesourcery.com>
5131
5132	revert:
5133	2016-10-11  Tom de Vries  <tom@codesourcery.com>
5134
5135	backport from trunk:
5136	2016-10-11  Tom de Vries  <tom@codesourcery.com>
5137
5138	PR middle-end/77558
5139	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
5140	special-casing.
5141
51422016-10-11  Tom de Vries  <tom@codesourcery.com>
5143
5144	backport from trunk:
5145	2016-10-11  Tom de Vries  <tom@codesourcery.com>
5146
5147	PR middle-end/77558
5148	* builtins.c (std_canonical_va_list_type): Remove RECORD_TYPE
5149	special-casing.
5150
51512016-10-10  Georg-Johann Lay  <avr@gjlay.de>
5152
5153	* config/avr/gen-avr-mmcu-texi.c (string.h): Include.
5154
51552016-10-06  Uros Bizjak  <ubizjak@gmail.com>
5156
5157	PR target/77874
5158	* config/i386/sse.md (<mask_codefor><code><mode>3<mask_name>):
5159	Remove wrong assert.
5160	(<floatsuffix>float<sseintvecmodelower><mode>2<mask_name><round_name>:
5161	Use <round_constraint> as operand 1 constraint.
5162
51632016-10-06  James Clarke  <jrtc27@jrtc27.com>
5164	    Eric Botcazou  <ebotcazou@adacore.com>
5165
5166	PR target/77759
5167	* config/sparc/sparc.c (classify_data_t): Remove int_regs field.
5168	(classify_registers): Don't set it
5169	(function_arg_slotno): Don't initialize and test it.  Tidy up.
5170
51712016-10-04  Uros Bizjak  <ubizjak@gmail.com>
5172
5173	Backport from mainline
5174	2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
5175
5176	* config/i386/driver-i386.c (host_detect_local_cpu): Check maximum
5177	ext_level before calling CPUID with 0x80000008.
5178
5179	2016-09-29  Uros Bizjak  <ubizjak@gmail.com>
5180
5181	PR target/77756
5182	* config/i386/cpuid.h (__get_cpuid_count): New.
5183	(__get_cpuid): Rename __level to __leaf.
5184
51852016-09-30  Michael Meissner  <meissner@linux.vnet.ibm.com>
5186
5187	Back port from trunk
5188
5189	2016-09-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
5190
5191	PR target/77670
5192	* config/rs6000/predicates.md (invert_fpmask_comparison_operator):
5193	New predicate that matches the ISA 3.0 XSCMP{EQ,GT,GE}DP
5194	instructions when you want to invert the test.
5195	* config/rs6000/rs6000.md (fpmask<mode>): Use the arguments in the
5196	correct order for XXSEL.
5197	(mov<SFDF:mode><SFDF2:mode>cc_invert_p9): Define the inverted test
5198	for using XSCMP{EQ,GT,GE}DP.
5199
52002016-09-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5201	    Alan Modra  <amodra@gmail.com>
5202
5203	Backport from mainline
5204	2016-07-01  Alan Modra  <amodra@gmail.com>
5205
5206	PR rtl-optimization/71709
5207	* ira-lives.c (find_call_crossed_cheap_reg): Exit loop on arg reg
5208	being set, not referenced.
5209
52102016-09-27  David Edelsohn  <dje.gcc@gmail.com>
5211
5212	Backport from mainline
5213	2016-09-27  David Edelsohn  <dje.gcc@gmail.com>
5214
5215	* config/rs6000/rs6000.c (rs6000_output_symbol): Don't modify
5216	VAR_DECL string.
5217
5218	2016-09-24  David Edelsohn  <dje.gcc@gmail.com>
5219
5220	* configure.ac (gcc_cv_as_aix_dwloc): Fix typo in assembly fragment.
5221	* configure: Regenerate.
5222
52232016-09-27  Richard Biener  <rguenther@suse.de>
5224
5225	Backport from mainline
5226	2016-09-01  Richard Biener  <rguenther@suse.de>
5227
5228	PR middle-end/77436
5229	* tree-chrec.c (tree_fold_binomial): Use widest_int, properly
5230	check whether the result fits the desired result type.
5231
5232	2016-09-19  Richard Biener  <rguenther@suse.de>
5233
5234	PR tree-optimization/77514
5235	* tree-ssa-pre.c (create_expression_by_pieces): Optimize
5236	search for folded stmt.
5237
5238	2016-09-15  Richard Biener  <rguenther@suse.de>
5239
5240	PR tree-optimization/77514
5241	* tree-ssa-pre.c (create_expression_by_pieces): Handle garbage
5242	only forced_stmts sequence.
5243
5244	2016-09-15  Richard Biener  <rguenther@suse.de>
5245
5246	PR middle-end/77544
5247	* fold-const.c (split_tree): Do not split constant ~X.
5248
5249	2016-09-19  Richard Biener  <rguenther@suse.de>
5250
5251	PR middle-end/77605
5252	* tree-data-ref.c (analyze_subscript_affine_affine): Use the
5253	proper niter to bound the loops.
5254
5255	2016-09-22  Richard Biener  <rguenther@suse.de>
5256
5257	PR middle-end/77679
5258	* gimple-fold.c (fold_array_ctor_reference): Turn asserts into
5259	fold fails.
5260
52612016-09-25  Uros Bizjak  <ubizjak@gmail.com>
5262
5263	Backport from mainline
5264	2016-09-21  Richard Biener  <rguenther@suse.de>
5265		    Jakub Jelinek  <jakub@redhat.com>
5266
5267	PR tree-optimization/77621
5268	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
5269	group at non-vectorizable stmts.
5270
5271	Backport from mainline
5272	2016-09-20  Uros Bizjak  <ubizjak@gmail.com>
5273
5274	PR target/77621
5275	* config/i386/i386.c (ix86_preferred_simd_mode) <case DFmode>:
5276	Don't return word_mode for !TARGET_VECTORIZE_DOUBLE.
5277	(ix86_add_stmt_cost): Penalize DFmode vector operations
5278	for !TARGET_VECTORIZE_DOUBLE.
5279
52802016-09-22  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5281
5282	Backport from 2016-09-22 trunk r240388.
5283
5284	* config/avr/avr.c (avr_rtx_costs_1): Handle DImode MULT.
5285	(avr_address_cost): Replace 61 with MAX_LD_OFFSET(mode).
5286
52872016-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
5288
5289	* doc/rtl.texi (JUMP_LABEL): Document RETURN and SIMPLE_RETURN values.
5290
52912016-09-21  Georg-Johann Lay  <avr@gjlay.de>
5292
5293	Backport from 2016-09-21 trunk r240306.
5294
5295	PR target/77326
5296	* config/avr/avr.c (avr_notice_update_cc) [CC_NONE]: If insn
5297	touches some regs mentioned in cc_status, do CC_STATUS_INIT.
5298
52992016-09-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5300
5301	Backport from mainline
5302	2016-07-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
5303
5304	* lra-constraints.c (match_reload): Pass information about other
5305	output operands.  Create new unique register value if matching input
5306	operand shares same register value as output operand being considered.
5307	(curr_insn_transform): Record output operands already processed.
5308
53092016-09-16  Jonathan Wakely  <jwakely@redhat.com>
5310
5311	* doc/extend.texi (Integer Overflow Builtins): Fix type of out
5312	parameters for functions taking long long arguments.
5313
53142016-09-16  David Edelsohn  <dje.gcc@gmail.com>
5315
5316	Backported from mainline
5317	2016-08-26  David Edelsohn  <dje.gcc@gmail.com>
5318
5319	PR target/77349
5320	* config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE.
5321
53222016-09-16  Jakub Jelinek  <jakub@redhat.com>
5323	    Eric Botcazou  <ebotcazou@adacore.com>
5324
5325	PR middle-end/77594
5326	* internal-fn.c (expand_arith_overflow) <case MINUS_EXPR>: Don't fall
5327	through into expand_addsub_overflow after expand_neg_overflow.
5328
53292016-09-16  Jakub Jelinek  <jakub@redhat.com>
5330
5331	Backported from mainline
5332	2016-09-14  Jakub Jelinek  <jakub@redhat.com>
5333
5334	PR sanitizer/68260
5335	* tsan.c: Include target.h.
5336	(enum tsan_atomic_action): Add bool_clear and bool_test_and_set.
5337	(BOOL_CLEAR, BOOL_TEST_AND_SET): Define.
5338	(tsan_atomic_table): Add BUILT_IN_ATOMIC_CLEAR and
5339	BUILT_IN_ATOMIC_TEST_AND_SET entries.
5340	(instrument_builtin_call): Handle bool_clear and bool_test_and_set.
5341
5342	2016-09-08  Jakub Jelinek  <jakub@redhat.com>
5343
5344	PR fortran/77516
5345	* omp-low.c (lower_rec_simd_input_clauses): Use max_vf for non-positive
5346	OMP_CLAUSE_SAFELEN_EXPR.
5347
5348	2016-09-06  Jakub Jelinek  <jakub@redhat.com>
5349
5350	PR target/69255
5351	* config/i386/i386.c (ix86_expand_builtin): For builtin with
5352	unsupported or unknown ISA, use expand_call.
5353
53542016-09-06  Uros Bizjak  <ubizjak@gmail.com>
5355
5356	Backport from mainline
5357	2016-09-05  Uros Bizjak  <ubizjak@gmail.com>
5358
5359	PR rtl-optimization/77452
5360	* explow.c (plus_constant) <case MEM>: Extract scalar constant from
5361	inner-mode reference to a CONST_VECTOR constant in the constant pool.
5362
53632016-09-01  Jakub Jelinek  <jakub@redhat.com>
5364
5365	Backported from mainline
5366	2016-08-30  Jakub Jelinek  <jakub@redhat.com>
5367
5368	PR tree-optimization/72866
5369	* tree-vect-patterns.c (search_type_for_mask): Turn into
5370	a small wrapper, move all code to ...
5371	(search_type_for_mask_1): ... this new function.  Add caching
5372	and adjust recursive calls.
5373
5374	PR debug/77363
5375	* dwarf2out.c (modified_type_die): Use lookup_type_die (type)
5376	instead of lookup_type_die (type_main_variant (type)) even for array
5377	types.
5378
5379	PR middle-end/77377
5380	* simplify-rtx.c (avoid_constant_pool_reference): For out of bounds
5381	constant pool reference return x instead of c.
5382
5383	2016-08-19  Jakub Jelinek  <jakub@redhat.com>
5384
5385	* config/i386/t-i386 (i386-c.o): Don't depend on
5386	i386-builtin-types.inc.
5387	(i386.o): Depend on i386-builtin-types.inc.
5388
5389	2016-08-17  Jakub Jelinek  <jakub@redhat.com>
5390
5391	PR middle-end/77259
5392	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): If
5393	turning a call into __builtin_unreachable-like noreturn call, adjust
5394	gimple_call_set_fntype.
5395	* tree-cfgcleanup.c (fixup_noreturn_call): Remove lhs also if
5396	gimple_call_fntype has void return type.
5397
5398	2016-08-16  Jakub Jelinek  <jakub@redhat.com>
5399
5400	PR target/71910
5401	* tree-cfg.c (execute_fixup_cfg): Add node variable, use it.  Before inlining,
5402	add cgraph edge for the added __builtin_unreachable call.
5403
54042016-09-01  Gerald Pfeifer  <gerald@pfeifer.com>
5405
5406	* doc/extend.texi (SPU Built-in Functions): Remove stale
5407	references to material formerly at IBM and Sony.
5408
54092016-09-01  Matthew Wahab  <matthew.wahab@arm.com>
5410
5411	PR target/77281
5412	* config/arm/arm.c (neon_valid_immediate): Delete declaration.
5413	Use const_vec_duplicate to check for duplicated elements.
5414
54152016-09-01  Eric Botcazou  <ebotcazou@adacore.com>
5416
5417	* config/i386/i386.c (ix86_option_override_internal): Also disable the
5418	STV pass if -mstackrealign is enabled.
5419
54202016-08-31  Patrick Palka  <ppalka@gcc.gnu.org>
5421
5422	Backport from mainline
5423	2016-08-27  Patrick Palka  <ppalka@gcc.gnu.org>
5424
5425	PR tree-optimization/71077
5426	PR tree-optimization/68542
5427	* fold-const.c (fold_relational_const): Fix folding of
5428	VECTOR_CST comparisons that have a scalar boolean result type.
5429
54302016-08-31  Gerald Pfeifer  <gerald@pfeifer.com>
5431
5432	* doc/install.texi (Binaries): www.opencsw.org now uses https.
5433
54342016-08-31  Jakub Sejdak  <jakub.sejdak@phoesys.com>
5435
5436	* config.gcc: Add support for arm*-*-phoenix* targets.
5437	* config/arm/t-phoenix: New.
5438	* config/phoenix.h: New.
5439
54402016-08-29  Uros Bizjak  <ubizjak@gmail.com>
5441
5442	PR target/77403
5443	* config/i386/sse.md (vec_set_lo_<mode><mask_name>): Fix assembler
5444	template for intel asm dialect.
5445	(vec_set_hi_<mode><mask_name>): Ditto.
5446
54472016-08-29  Eric Botcazou  <ebotcazou@adacore.com>
5448
5449	* Makefile.in (gcov-iov.h): Add dummy recipe.
5450
54512016-08-28  Uros Bizjak  <ubizjak@gmail.com>
5452
5453	Backport from mainline
5454	2016-08-23  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
5455
5456	* config/i386/i386.c (processor_alias_table): Enable PTA_PRFCHW
5457	for targets amdfam10 and barcelona.
5458
5459	Backport from mainline
5460	2016-08-21  Uros Bizjak  <ubizjak@gmail.com>
5461
5462	PR target/77270
5463	* config/i386/i386.md (prefetch): When TARGET_PRFCHW or
5464	TARGET_PREFETCHWT1 are disabled, emit 3dNOW! write prefetches for
5465	non-SSE2 athlons only, otherwise prefer SSE prefetches.
5466
5467	Backport from mainline
5468	2016-08-19  Uros Bizjak  <ubizjak@gmail.com>
5469
5470	PR target/77270
5471	* config/i386/i386.c (ix86_option_override_internal): Remove
5472	PTA_PRFCHW from entries that also have PTA_3DNOW flag.
5473	Enable SSE prefetch also for TARGET_PREFETCHWT1.
5474	Do not try to enable TARGET_PRFCHW ISA flag here.
5475	* config/i386/i386.md (prefetch): Enable also for TARGET_3DNOW.
5476	Rewrite expander function body.
5477	(*prefetch_3dnow): Enable for TARGET_3DNOW and TARGET_PREFETCHWT1.
5478
54792016-08-28  Tom de Vries  <tom@codesourcery.com>
5480
5481	backport from trunk:
5482	2016-08-28  Tom de Vries  <tom@codesourcery.com>
5483
5484	PR lto/70955
5485	* config/i386/i386.c (ix86_build_builtin_va_list_64): Tag type with
5486	'sysv_abi va_list' attribute.
5487	(ix86_build_builtin_va_list): Tag type with 'ms_abi va_list' attribute.
5488	(ix86_canonical_va_list_type): Handle 'sysv_abi/ms_abi va_list'
5489	attributes.
5490
54912016-08-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5492
5493	Backport from mainline
5494	2016-08-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5495
5496	PR target/72863
5497	* vsx.md (vsx_load_<mode>): For P8LE, emit swaps at expand time.
5498	(vsx_store_<mode>): Likewise.
5499
55002016-08-24  Richard Biener  <rguenther@suse.de>
5501
5502	Backport from mainline
5503	2016-08-17  Richard Biener  <rguenther@suse.de>
5504
5505	PR tree-optimization/76490
5506	* tree-vrp.c (update_value_range): Preserve overflow infinities
5507	when intersecting with ranges from get_range_info.
5508	(operand_less_p): Handle overflow infinities correctly.
5509	(value_range_constant_singleton): Use vrp_operand_equal_p
5510	to handle overflow max/min correctly.
5511	(vrp_valueize): Likewise.
5512	(union_ranges): Likewise.
5513	(intersect_ranges): Likewise.
5514
55152016-08-24  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5516
5517	* config/arm/t-rtems: Add vfp multilib.
5518
55192016-08-23  Richard Biener  <rguenther@suse.de>
5520
5521	Backport from mainline
5522	2016-08-16  Richard Biener  <rguenther@suse.de>
5523
5524	PR tree-optimization/76783
5525	* tree-ssa-propagate.c (ssa_prop_init): Use RPO order.  Clear
5526	BB visited flags at start.
5527
5528	2016-08-12  Richard Biener  <rguenther@suse.de>
5529
5530	PR tree-optimization/72851
5531	* tree-ssa-propagate.c: Include cfganal.h.  Rewrite block and stmt
5532	worklists to use bitmaps indexed in execution order.
5533	(executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head,
5534	bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove.
5535	(cfg_blocks): Make a bitmap.
5536	(bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt):
5537	New globals.
5538	(cfg_blocks_empty_p): Adjust.
5539	(cfg_blocks_add): Likewise.
5540	(cfg_blocks_get): Likewise.
5541	(add_ssa_edge): Likewise.
5542	(add_control_edge): Likewise.
5543	(simulate_stmt): Likewise.
5544	(process_ssa_edge_worklist): Likewise.
5545	(simulate_block): Likewise.
5546	(ssa_prop_init): Compute PRE order and stmt UIDs.
5547	(ssa_prop_fini): Adjust.
5548	(ssa_propagate): Adjust.
5549
55502016-08-22  Uros Bizjak  <ubizjak@gmail.com>
5551
5552	Backport from mainline
5553	2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
5554
5555	PR target/72867
5556	* config/i386/sse.md (<code><mode>3<mask_name><round_saeonly_name>):
5557	Emit ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>
5558	for !flag_finite_math_only or flag_signed_zeros.
5559	(*<code><mode>3<mask_name><round_saeonly_name>): Rename from
5560	*<code><mode>3_finite<mask_name><round_saeonly_name>.  Do not
5561	depend on flag_finite_math_only.
5562	(ieee_<ieee_maxmin><mode>3<mask_name><round_saeonly_name>):
5563	New insn pattern.
5564	(*<code><mode>3<mask_name><round_saeonly_name>): Remove.
5565	(*ieee_smin<mode>3): Ditto.
5566	(*ieee_smax<mode>3): Ditto.
5567	* config/i386/mmx.md (mmx_<code>v2sf3): Emit
5568	mmx_ieee_<ieee_maxmin>v2sf3 for !flag_finite_math_only or
5569	flag_signed_zeros.
5570	(*mmx_<code>v2sf3): Rename from *mmx_<code>v2sf3_finite.  Do not
5571	depend on flag_finite_math_only.
5572	(mmx_ieee_<ieee_maxmin>v2sf3): New insn pattern.
5573	(*mmx_<code>v2sf3): Remove.
5574	* config/i386/subst.md (round_saeonly_mask_arg3): New subst attribute.
5575	* config/i386/i386.c (ix86_expand_sse_fp_mimnax): Check
5576	flag_signed_zeros instead of !flag_unsafe_math_optimizations.
5577
55782016-08-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5579
5580	Backport from mainline
5581	2016-07-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5582
5583	PR middle-end/71700
5584	* expr.c (store_constructor): Mask sign-extended bits when widening
5585	sub-word constructor element at the start of a word.
5586
55872016-08-22  Richard Biener  <rguenther@suse.de>
5588
5589	* BASE-VER: Set to 6.2.1.
5590
55912016-08-22  Release Manager
5592
5593	* GCC 6.2.0 released.
5594
55952016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
5596
5597	Backport from mainline
5598	2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
5599
5600	PR middle-end/70895
5601	* gimplify.c (omp_add_variable): Adjust/add variable mapping on
5602	enclosing parallel construct for reduction variables on OpenACC loop
5603	directives.
5604
56052016-08-18  Oleg Endo  <olegendo@gcc.gnu.org>
5606
5607	Backport from mainline
5608	2016-06-17  DJ Delorie  <dj@redhat.com>
5609
5610	PR target/71338
5611	* config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
5612	* config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
5613	(umulqihi3_virt): Likewise.
5614	* config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
5615	(umulqihi3_real): Likewise.
5616
56172016-08-16  Eric Botcazou  <ebotcazou@adacore.com>
5618
5619	* doc/install.texi (*-*-solaris2*): Adjust latest change.
5620
56212016-08-15  Martin Liska  <mliska@suse.cz>
5622
5623	Backported from mainline
5624	2016-08-15  Martin Liska  <mliska@suse.cz>
5625
5626	PR driver/72765
5627	* gcc.c (do_spec_1): Call save_string with the right size.
5628
56292016-08-15  Jakub Jelinek  <jakub@redhat.com>
5630
5631	PR debug/71906
5632	* dwarf2out.c (string_types): New variable.
5633	(gen_array_type_die): Change early_dwarf handling of
5634	DW_AT_string_length, create DW_OP_call4 referencing the
5635	length var temporarily.  Handle parameters that are pointers
5636	to string length.
5637	(adjust_string_types): New function.
5638	(gen_subprogram_die): Temporarily set string_types to local var,
5639	call adjust_string_types if needed.
5640	(non_dwarf_expression, copy_deref_exprloc, optimize_string_length):
5641	New functions.
5642	(resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4.
5643
56442016-08-15  Richard Biener  <rguenther@suse.de>
5645
5646	PR tree-optimization/73434
5647	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve
5648	TBAA info on the base when forwarding a non-invariant address.
5649
56502016-08-15  Eric Botcazou  <ebotcazou@adacore.com>
5651
5652	* doc/install.texi (*-*-solaris2*): Fix version number and document
5653	requirement on GNU make for building libjava with the Solaris linker.
5654
56552016-08-15  Martin Liska  <mliska@suse.cz>
5656	    Jakub Jelinek  <jakub@redhat.com>
5657
5658	PR tree-optimization/72824
5659	* tree-loop-distribution.c (const_with_all_bytes_same)
5660	<case VECTOR_CST>: Fix a typo.
5661
56622016-08-14  Uros Bizjak  <ubizjak@gmail.com>
5663
5664	Backport from mainline
5665	2016-08-14  Uros Bizjak  <ubizjak@gmail.com>
5666
5667	PR target/76342
5668	* config/i386/avx512fintrin.h (_mm512_undefined_epi32):
5669	Renamed from _mm512_undefined_si512.
5670	(_mm_undefined_si512): New definition.
5671
5672	Backport from mainline:
5673	2016-08-09  David Wohlferd  <dw@LimeGreenSocks.com>
5674
5675	* config/i3836/avx512fintrin.h (_mm512_cvtsepi64_epi32): Remove
5676	unused variable __O.
5677
5678	Backport from mainline:
5679	2016-08-09  Uros Bizjak  <ubizjak@gmail.com>
5680
5681	PR target/72843
5682	* config/i386/i386.md (*movtf_internal): Use
5683	lra_in_progress || reload_completed instead of !can_create_pseudo_p
5684	in the insn constraint.
5685	(*movxf_internal): Ditto.
5686	(*movdf_internal): Ditto.
5687	(*movsf_internal): Ditto.
5688
56892016-08-12  Jakub Jelinek  <jakub@redhat.com>
5690
5691	PR c/71512
5692	* ubsan.c (instrument_si_overflow): Pass true instead of false
5693	to gsi_replace.
5694	(pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end
5695	of bbs.  Return TODO_cleanup_cfg if any returned true.
5696
56972016-08-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5698
5699	Backport from mainline
5700	2016-08-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5701
5702	PR tree-optimization/71083
5703	* tree-predcom.c (ref_at_iteration): Correctly align the
5704	reference type.
5705
57062016-08-12  James Greenhalgh  <james.greenhalgh@arm.com
5707
5708	Backport from mainline
5709	2016-08-05  James Greenhalgh  <james.greenhalgh@arm.com>
5710
5711	PR Target/72819
5712	* config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare.
5713	(aarch64_fp16_ptr_type_node): Likewise.
5714	* config/aarch64/aarch64-simd-builtins.c
5715	(aarch64_fp16_ptr_type_node): Define.
5716	(aarch64_init_fp16_types): New, refactored out of...
5717	(aarch64_init_builtins): ...here, update to call
5718	aarch64_init_fp16_types.
5719	* config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle
5720	HFmode.
5721	(aapcs_vfp_sub_candidate): Likewise.
5722
57232016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5724
5725	Backport from mainline
5726	2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5727
5728	* config/s390/s390-builtin-types.def: Add INT128 types.
5729	* config/s390/s390-builtins.def: Add INT128 variants for the add
5730	sub low-level builtins dealing with TImode.
5731	* config/s390/s390.c (s390_expand_builtin): Allow mode conversions
5732	via subreg when expanding a builtin.
5733	* config/s390/s390.md: Remove UNSPEC_VEC_ADDC_U128,
5734	UNSPEC_VEC_SUB_U128, and UNSPEC_VEC_SUBC_U128 constants.
5735	Fix comment.
5736	* config/s390/vecintrin.h: Adjust builtin names accordingly.
5737	* config/s390/vx-builtins.md ("vec_add_u128"): Remove expander.
5738	("vec_addc<mode>", "vec_addc_u128"): Merge to
5739	"vacc<bhfgq>_<mode>".
5740	("vec_adde_u128"): Rename to "vacq". Change mode to TImode.
5741	("vec_addec_u128"): Rename to "vacccq". Change mode to TImode.
5742	("vec_subc<mode>", "vec_subc_u128"): Merge to
5743	"vscbi<bhfgq>_<mode>".
5744	("vec_sube_u128"): Rename to "vsbiq". Change mode to TImode.
5745	("vec_subec_u128"): Rename to "vsbcbiq". Change mode to TImode.
5746
57472016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5748
5749	Backport from mainline
5750	2016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5751
5752	* config/s390/s390-builtins.def: Mark last operand of s390_vlvg*
5753	and s390_vlgv* builtins as element selector.
5754
57552016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5756
5757	Backport from mainline
5758	2016-07-06  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5759
5760	* config/s390/s390.c (s390_expand_vec_init): Force initializer
5761	element to register if it doesn't match general_operand.
5762
57632016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5764
5765	Backport from mainline
5766	2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5767
5768	* config/s390/vecintrin.h: Fix file description in comment.
5769
57702016-08-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5771
5772	Backport from mainline
5773	2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5774
5775	* config/s390/s390-builtin-types.def: Change builtin type naming
5776	scheme to match builtin-types.def.
5777
57782016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
5779
5780	Backport from mainline
5781	2016-08-10  Michael Meissner  <meissner@linux.vnet.ibm.com>
5782
5783	PR target/72853
5784	* config/rs6000/rs6000.c (mem_operand_ds_form): Add check for op
5785	being an offsettable address.
5786
57872016-08-10  Jakub Jelinek  <jakub@redhat.com>
5788
5789	Backported from mainline
5790	2016-08-09  Jakub Jelinek  <jakub@redhat.com>
5791
5792	PR tree-optimization/72824
5793	* tree-loop-distribution.c (const_with_all_bytes_same): Verify
5794	real_zerop is not negative.
5795
57962016-08-09  Martin Jambor  <mjambor@suse.cz>
5797
5798	PR ipa/71981
5799	* ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
5800	if instance is a MEM_REF.
5801
58022016-08-09  Richard Biener  <rguenther@suse.de>
5803
5804	Backport from mainline
5805	2016-08-09  Richard Biener  <rguenther@suse.de>
5806
5807	PR ipa/68273
5808	* ipa-prop.c (ipa_modify_formal_parameters): Build
5809	parameter types with natural alignment also for the
5810	over-aligned case.
5811
5812	2016-07-15  Richard Biener  <rguenther@suse.de>
5813
5814	PR tree-optimization/71881
5815	* tree-loop-distribution.c (destroy_loop): Remove blocks in
5816	reverse DOM order to make debug temp generation happy.
5817
58182016-08-09  Alan Modra  <amodra@gmail.com>
5819
5820	PR target/72802
5821	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Sort
5822	alternatives.  Put loads first, then stores, and reg/reg moves
5823	within same class later.  Delete attr length.
5824
58252016-08-09  Alan Modra  <amodra@gmail.com>
5826
5827	PR target/72802
5828	* config/rs6000/rs6000.c (mem_operand_gpr): Remove vsx dform test.
5829	(mem_operand_ds_form): New predicate.
5830	* config/rs6000/rs6000-protos.h (mem_operand_ds_form): Declare.
5831	* config/rs6000/constraints.md (wY): New constraint.
5832	* config/rs6000/rs6000.md (f32_lm2, f32_sm2): Use wY for SF.
5833	(extendsfdf2_fpr): Replace o constraint with wY.
5834
58352016-08-08  Georg-Johann Lay  <avr@gjlay.de>
5836
5837	Backport from 2016-07-29 trunk r238863.
5838
5839	PR rtl-optimization/71976
5840	* combine.c (get_last_value): Return 0 if the argument for which
5841	the function is called has a wider mode than the recorded value.
5842
58432016-08-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
5844
5845	Backport from trunk
5846	2016-07-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
5847
5848	PR target/71869
5849	* config/rs6000/rs6000.c (rs6000_generate_compare): Rework
5850	__float128 support when we don't have hardware support, so that
5851	the IEEE built-in functions like isgreater, first call __unordkf3
5852	to make sure neither operand is a NaN, and if both operands are
5853	ordered, do the normal comparison.
5854
58552016-08-04  Uros Bizjak  <ubizjak@gmail.com>
5856
5857	PR target/72805
5858	* config/i386/avx512fintrin.h (_mm512_cmp_epi32_mask) [!__OPTIMIZE__]:
5859	Cast builtin function result to __mmask16 instead of __mmask8.
5860	(_mm512_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
5861	(_mm512_mask_cmp_epi32_mask) [!__OPTIMIZE__]: Ditto.
5862	(_mm512_mask_cmp_epu32_mask) [!__OPTIMIZE__]: Ditto.
5863
58642016-08-03  Georg-Johann Lay  <avr@gjlay.de>
5865
5866	PR 70677
5867	* common/config/avr/avr-common.c (avr_option_optimization_table)
5868	[OPT_LEVELS_ALL]: Turn off -fcaller-saves.
5869
58702016-08-01  Georg-Johann Lay  <avr@gjlay.de>
5871
5872	Backport from 2016-08-01 trunk r238948.
5873
5874	PR target/72767
5875	* config/avr/avr.md (length) [branch]: Correct insn length
5876	attribute for forward branches.
5877
58782016-08-01  Georg-Johann Lay  <avr@gjlay.de>
5879
5880	Backport from 2016-06-16 trunk r237536.
5881	2016-06-16  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
5882
5883	PR target/71151
5884	* config/avr/avr.c (avr_asm_init_sections): Remove setup of
5885	progmem_swtable_section.
5886	(progmem_swtable_section): Remove.
5887	(avr_asm_function_rodata_section): Remove.
5888	(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
5889	* config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION): Define to 1.
5890
58912016-07-29  Marek Polacek  <polacek@redhat.com>
5892
5893	Backport from mainline
5894	2016-07-29  Marek Polacek  <polacek@redhat.com>
5895
5896	PR c/7652
5897	* config/rs6000/rs6000.c (altivec_expand_ld_builtin): Add break.
5898	(altivec_expand_st_builtin): Likewise.
5899	* config/i386/i386.c (ix86_expand_args_builtin): Likewise.
5900	(ix86_expand_round_builtin): Likewise.
5901
59022016-07-27  Segher Boessenkool  <segher@kernel.crashing.org>
5903
5904	PR target/71216
5905	* config/rs6000/rs6000.c (rs6000_file_start): Fix condition for
5906	when to emit a ".machine" pseudo-op.
5907
59082016-07-26  Alan Modra  <amodra@gmail.com>
5909
5910	PR target/72103
5911	* config/rs6000/rs6000.c (rs6000_secondary_reload): Initialize
5912	sri->t_icode.
5913
59142016-07-21  Jakub Jelinek  <jakub@redhat.com>
5915
5916	PR sanitizer/71953
5917	* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
5918	before builtin_decl_implicit.
5919
5920	* tree-object-size.c (unknown): Use HOST_WIDE_INT_M1U instead of -1.
5921
59222016-07-21  Andrew Sutton  <andrew.n.sutton@gmail.com>
5923
5924	Improving concepts performance and diagnostics.
5925	* timevar.def (TV_CONSTRAINT_SAT, TV_CONSTRAINT_SUB): New time vars
5926	for constraint satisfaction and subsumption.
5927	* timevar.h (auto_timevar): New constructor that matches the push/pop
5928	pattern of usage in pt.c.
5929
59302016-07-20  John David Anglin  <danglin@gcc.gnu.org>
5931
5932	Backport from mainline
5933	2016-07-16  John David Anglin  <danglin@gcc.gnu.org>
5934
5935	* config/pa/pa.c (hppa_profile_hook): Allocate stack space for
5936	register parameters.  Remove code to initialize argument pointer
5937	on TARGET_64BIT.  Optimize call to _mcount when it can be reached
5938	using a pc-relative branch.  Cleanup conditional code.
5939	* config/pa/pa.md (call_mcount): New expander.
5940	(call_mcount_nonpic): New insn.
5941	(call_mcount_pic): New insn and split.
5942	(call_mcount_pic_post_reload): New insn.
5943	(call_mcount_64bit): New insn and split.
5944	(call_mcount_64bit_post_reload): New insn.
5945
59462016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5947
5948	Backport from mainline
5949	2016-07-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
5950
5951	* config/s390/s390.c (s390_encode_section_info): Remove mode size
5952	check.
5953
59542016-07-20  Martin Jambor  <mjambor@suse.cz>
5955
5956	PR fortran/71688
5957	* trans-decl.c (gfc_generate_function_code): Use get_create rather
5958	than create to get a call graph node.
5959
59602016-07-19  Jakub Jelinek  <jakub@redhat.com>
5961
5962	PR rtl-optimization/71916
5963	* cfgrtl.c (contains_no_active_insn_p): Return false also for
5964	bb which have a single succ fake edge.
5965
59662016-07-19  Aldy Hernandez  <aldyh@redhat.com>
5967
5968	PR debug/71855
5969	* dwarf2out.c (gen_subprogram_die): Only call
5970	gen_unspecified_parameters_die while dumping early dwarf.
5971
59722016-07-19  Jakub Jelinek  <jakub@redhat.com>
5973
5974	PR middle-end/71874
5975	* gimple-fold.c (fold_builtin_memory_op): Use
5976	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.
5977
59782017-07-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
5979
5980	Back port from trunk
5981	2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
5982
5983	PR target/81193
5984	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
5985	provides the hardware capability bits, define the macro
5986	__BUILTIN_CPU_SUPPORTS__.
5987	* config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
5988	if GLIBC does not provide the hardware capability bits.  Add a
5989	gcc_unreachable call if the built-in cpu function is neither
5990	__builtin_cpu_is nor __builtin_cpu_supports.
5991	* doc/extend.texi (PowerPC built-in functions): Document that
5992	GLIBC 2.23 or newer is needed by __builtin_cpu_is and
5993	__builtin_cpu_supports.  Document the macros defined by GCC if the
5994	newer GLIBC is available.
5995
59962016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
5997
5998	Back port from mainline
5999	2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
6000
6001	PR target/71493
6002	* config/rs6000/rs6000.c (rs6000_function_value): Fix
6003	unintentional System V.4 structure return breakage for structures
6004	with a single floating point element.
6005
60062016-07-18  Martin Liska  <mliska@suse.cz>
6007
6008	Backported from mainline
6009	2016-07-12  Martin Liska  <mliska@suse.cz>
6010
6011	PR rtl-optimization/71634
6012	* ira-build.c (mark_loops_for_removal): Properly iterate
6013	loops.
6014
60152016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6016
6017	Backport from mainline
6018	2016-07-18  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6019
6020	* config/s390/s390.c (s390_encode_section_info): Always set
6021	notaligned marker if mode size is 0 or no MEM_ALIGN info could be
6022	found.
6023
60242016-07-15  Alan Modra  <amodra@gmail.com>
6025
6026	Apply from mainline
6027	2016-07-11  Alan Modra  <amodra@gmail.com>
6028	* config/rs6000/rs6000.md (UNSPEC_DOLOOP): New unspec.
6029	(ctr<mode>): Add unspec.
6030	(ctr<mode>_internal*): Likewise.
6031
60322016-07-14  Alan Modra  <amodra@gmail.com>
6033
6034	PR target/71733
6035	* config/rs6000/rs6000.c (rs6000_option_override_internal): Deal
6036	with p9_vector override before power9-dform override.
6037
60382016-07-13  Ilya Enkovich  <ilya.enkovich@intel.com>
6039
6040	Backport from mainline r238086.
6041	2016-07-07  Ilya Enkovich  <ilya.enkovich@intel.com>
6042
6043	PR ipa/71624
6044	* ipa-inline-analysis.c (compute_inline_parameters): Set
6045	local.can_change_signature to false for intrumentation
6046	thunk callees.
6047
60482016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
6049	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6050
6051	Backport from mainline
6052	2016-07-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
6053	            Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6054
6055	* config/rs6000/rs6000-protos.h (rs6000_split_signbit): New
6056	prototype.
6057	* config/rs6000/rs6000.c (rs6000_split_signbit): New function.
6058	* config/rs6000/rs6000.md (UNSPEC_SIGNBIT): New constant.
6059	(SIGNBIT): New mode iterator.
6060	(Fsignbit): New mode attribute.
6061	(signbit<mode>2): Change operand1 to match FLOAT128 instead of
6062	IBM128; dispatch to gen_signbit{kf,tf}2_dm for __float128
6063	when direct moves are available.
6064	(signbit<mode>2_dm): New define_insn_and_split).
6065	(signbit<mode>2_dm2): New define_insn.
6066
60672016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
6068
6069	Backport from mainline
6070	2016-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
6071
6072	PR target/71805
6073	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal):
6074	The xxperm and xxpermr instructions require that the 2nd input
6075	operand overlap with the output operand, and not the 1st.
6076	(altivec_vperm_v8hiv16qi): Likewise.
6077	(altivec_vperm_<mode>_uns_internal): Likewise.
6078	(altivec_vpermr_<mode>_internal): Likewise.
6079	(vperm_v8hiv4si): Likewise.
6080	(vperm_v16qiv8hi): Likewise.
6081
60822016-07-12  Segher Boessenkool  <segher@kernel.crashing.org>
6083
6084	Backport from mainline
6085	2016-07-06  Segher Boessenkool  <segher@kernel.crashing.org>
6086
6087	PR target/70098
6088	PR target/71763
6089	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
6090	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
6091	constraint.
6092
60932016-07-11  Jakub Jelinek  <jakub@redhat.com>
6094
6095	PR middle-end/71758
6096	* omp-low.c (expand_omp_target): Gimplify device.
6097
6098	PR tree-optimization/71823
6099	* tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs
6100	to get vec_oprnds2 from op2.
6101
61022016-07-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
6103
6104	Backport from mainline r238055.
6105	2016-07-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
6106
6107	PR tree-optimization/71518
6108	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust
6109	misalign also for outer loops with negative step.
6110
61112016-07-08  Martin Liska  <mliska@suse.cz>
6112
6113	Backported from mainline
6114	2016-07-08  Martin Liska  <mliska@suse.cz>
6115
6116	PR middle-end/71606
6117	* fold-const.c (fold_convertible_p): As COMPLEX_TYPE
6118	folding produces SAVE_EXPRs, thus return false for the type.
6119
61202016-07-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6121
6122	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): Remove
6123	redundant and erroneous definition of this macro accidentally
6124	inserted during backporting.
6125	(BU_P9_64BIT_MISC_0): Likewise.
6126	(BU_P9_MISC_0): Likewise.
6127
61282016-07-08  Jiong Wang  <jiong.wang@arm.com>
6129
6130	Back port from the trunk
6131	2016-07-08  Jiong Wang  <jiong.wang@arm.com>
6132
6133	* config/aarch64/aarch64-simd-builtins.def (smax): Remove float
6134	variants.
6135	(smin): Likewise.
6136	(fmax): New entry.
6137	(fmin): Likewise.
6138	* config/aarch64/arm_neon.h (vmaxnm_f32): Use
6139	__builtin_aarch64_fmaxv2sf.
6140	(vmaxnmq_f32): Likewise.
6141	(vmaxnmq_f64): Likewise.
6142	(vminnm_f32): Likewise.
6143	(vminnmq_f32): Likewise.
6144	(vminnmq_f64): Likewise.
6145
61462016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
6147
6148	Back port from trunk
6149	2016-07-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
6150
6151	PR target/71806
6152	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Do not
6153	enable -mfloat128-hardware by default.
6154	(ISA_3_0_MASKS_IEEE): New macro to give all of the VSX options
6155	that IEEE 128-bit hardware support needs.
6156	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
6157	-mcpu=power9 -mfloat128, enable -mfloat128-hardware by default.
6158	Use ISA_3_0_MASKS_IEEE as the set of options that IEEE 128-bit
6159	floating point requires.
6160	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
6161	-mfloat128 and -mfloat128-hardware changes.
6162
61632016-07-08  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6164
6165	Backport from mainline r237912
6166	2016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6167
6168	* config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
6169	Exchange the order of the second and third operands in the vpermr
6170	instruction tmeplate.
6171
61722016-07-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
6173
6174	Back port from the trunk
6175	2016-07-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
6176
6177	PR target/71720
6178	* config/rs6000/vsx.md (vsx_splat_v4sf_internal): When splitting
6179	the insns, use an insn form that does not adjust the offset on
6180	little endian systems.
6181
61822016-07-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6183
6184	Backport from mainline r237885
6185	2016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6186
6187	* config/rs6000/altivec.md (darn_32): Change the condition to
6188	TARGET_P9_MISC instead of TARGET_MODULO.
6189	(darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the
6190	condition expression.
6191	(darn): Replace TARGET_MODULO with TARGET_P9_MISC in the
6192	condition expression.
6193	* config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant.
6194	(DFP_TEST): New code iterator.
6195	(dfptstsfi_<code>_mode>): New define_expand.
6196	(*dfp_sgnfcnc_<mode>): New define_insn.
6197	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro
6198	definition next to BU_P9_MISC_1 definition and change the MASK
6199	value to RS6000_BTM_P9_MISC.
6200	(BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC.
6201	(BU_P9_64BIT_MISC_0): Likewise.
6202	(BU_P9_DFP_MISC_0): New macro definition.
6203	(BU_P9_DFP_MISC_1): New macro definition.
6204	(BU_P9_DFP_MISC_2): New macro definition.
6205	(BU_P9_DFP_OVERLOAD_1): New macro definition.
6206	(BU_P9_DFP_OVERLOAD_2): New macro definition.
6207	(BU_P9_DFP_OVERLOAD_3): New macro definition.
6208	(TSTSFI_LT_DD): New BU_P9_DFP_MISC_2.
6209	(TSTSFI_LT_TD): Likewise.
6210	(TSTSFI_EQ_DD): Likewise.
6211	(TSTSFI_EQ_TD): Likewise.
6212	(TSTSFI_GT_DD): Likewise.
6213	(TSTSFI_GT_TD): Likewise.
6214	(TSTSFI_OV_DD): Likewise.
6215	(TSTSFI_OV_TD): Likewise.
6216	(TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2.
6217	(TSTSFI_LT_DD): Likewise.
6218	(TSTSFI_LT_TD): Likewise.
6219	(TSTSFI_EQ): Likewise.
6220	(TSTSFI_EQ_DD): Likewise.
6221	(TSTSFI_EQ_TD): Likewise.
6222	(TSTSFI_GT): Likewise.
6223	(TSTSFI_GT_DD): Likewise.
6224	(TSTSFI_GT_TD): Likewise.
6225	(TSTSFI_OV): Likewise.
6226	(TSTSFI_OV_DD): Likewise.
6227	(TSTSFI_OV_TD): Likewise.
6228	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6229	overloaded test significance functions.
6230	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
6231	OPTION_MASK_P9_MISC into the representation of this mask.
6232	(POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation
6233	of this mask.
6234	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the
6235	RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is
6236	non-zero.
6237	(rs6000_expand_binop_builtin): Enforce that argument 0 of the exp
6238	argument is a 6-bit unsigned literal value if the icode argument
6239	represents a DFP test significance built-in call.
6240	(rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC
6241	flag used independently and in combination with the
6242	RS6000_BTM_64BIT flag.
6243	(rs6000_opt_masks): Add entry for power9-misc command-line option.
6244	(rs6000_builtin_mask_names): Add entry for power9-misc
6245	command-line option.
6246	* config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if
6247	HAVE_AS_POWER9 is not a defined macro.  Define MASK_P9_MISC and
6248	RS6000_BTM_P9_MISC macros.
6249	* config/rs6000/rs6000.opt: Add support for the -mpower9-misc
6250	option and change the description of the -mpower9-vector option to
6251	enable only vector instructions, removing its erroneously claimed
6252	support for scalar instructions.
6253	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
6254	the ISA 3.0 digital floating point test significance built-in
6255	functions.
6256
62572016-07-07  Richard Biener  <rguenther@suse.de>
6258
6259	Backport from mainline
6260	2016-06-13  Richard Biener  <rguenther@suse.de>
6261
6262	PR middle-end/64516
6263	* fold-const.c (fold_unary_loc): Preserve alignment when
6264	folding a VIEW_CONVERT_EXPR into a MEM_REF.
6265
62662016-07-07  Richard Biener  <rguenther@suse.de>
6267
6268	Backport from mainline
6269	2016-05-25  Richard Biener  <rguenther@suse.de>
6270
6271	PR tree-optimization/71264
6272	* tree-vect-stmts.c (vect_init_vector): Properly deal with
6273	vector type val.
6274
6275	2016-06-07  Richard Biener  <rguenther@suse.de>
6276
6277	PR middle-end/71423
6278	* match.pd ((X | ~Y) -> Y <= X): Properly invert the comparison
6279	for signed ops.
6280
6281	2016-06-14  Richard Biener  <rguenther@suse.de>
6282
6283	PR tree-optimization/71521
6284	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
6285	division int_const_binop against zero divisor.
6286
6287	2016-06-08  Richard Biener  <rguenther@suse.de>
6288
6289	PR tree-optimization/71452
6290	* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
6291	type used for the SSA rewrite has enough precision to cover
6292	the dynamic type of the location.
6293
6294	2016-06-14  Richard Biener  <rguenther@suse.de>
6295
6296	PR tree-optimization/71522
6297	* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
6298	copying into float copying.
6299
63002016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
6301
6302	Backport from mainline
6303	2016-07-06  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
6304
6305	PR target/50739
6306	* config/avr/avr.c (avr_asm_select_section): Strip off
6307	SECTION_DECLARED from flags when calling get_section.
6308
63092016-07-05  Pat Haugen  <pthaugen@us.ibm.com>
6310
6311	Backport from mainline
6312	2016-06-28  Pat Haugen  <pthaugen@us.ibm.com>
6313
6314	* config/rs6000/rs6000.md ('type' attribute): Add htmsimple/dfp types.
6315	('size' attribute): Add '128'.
6316	Include power9.md.
6317	(*mov<mode>_hardfloat32, *mov<mode>_hardfloat64, *movdi_internal32,
6318	*movdi_internal64, *movdf_update1): Set size attribute to '64'.
6319	(add<mode>3, sub<mode>3, mul<mode>3, div<mode>3, sqrt<mode>2,
6320	copysign<mode>3, neg<mode>2_hw, abs<mode>2_hw, *nabs<mode>2_hw,
6321	*fma<mode>4_hw, *fms<mode>4_hw, *nfma<mode>4_hw, *nfms<mode>4_hw,
6322	extend<SFDF:mode><IEEE128:mode>2_hw, trunc<mode>df2_hw,
6323	*xscvqp<su>wz_<mode>, *xscvqp<su>dz_<mode>, *xscv<su>dqp_<mode>,
6324	*trunc<mode>df2_odd): Set size attribute to '128'.
6325	(*cmp<mode>_hw): Change type to veccmp and set size attribute to '128'.
6326	* config/rs6000/power6.md (power6-fp): Include dfp type.
6327	* config/rs6000/power7.md (power7-fp): Likewise.
6328	* config/rs6000/power8.md (power8-fp): Likewise.
6329	* config/rs6000/power9.md: New file.
6330	* config/rs6000/t-rs6000 (MD_INCLUDES): Add power9.md.
6331	* config/rs6000/htm.md (*tabort, *tabort<wd>c, *tabort<wd>ci,
6332	*trechkpt, *treclaim, *tsr, *ttest): Change type attribute to
6333	htmsimple.
6334	* config/rs6000/dfp.md (extendsddd2, truncddsd2, extendddtd2,
6335	trunctddd2, adddd3, addtd3, subdd3, subtd3, muldd3, multd3, divdd3,
6336	divtd3, *cmpdd_internal1, *cmptd_internal1, floatdidd2, floatditd2,
6337	ftruncdd2, fixdddi2, ftrunctd2, fixtddi2, dfp_ddedpd_<mode>,
6338	dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>, dfp_dscli_<mode>,
6339	dfp_dscri_<mode>): Change type attribute to dfp.
6340	* config/rs6000/crypto.md (crypto_vshasigma<CR_char>): Change type
6341	attribute to vecsimple.
6342	* config/rs6000/rs6000.c (power9_cost): Update costs, cache size
6343	and prefetch streams.
6344	(rs6000_option_override_internal): Remove temporary code setting
6345	tuning to power8.  Don't set rs6000_sched_groups for power9.
6346	(last_scheduled_insn): Change to rtx_insn *.
6347	(divide_cnt, vec_load_pendulum): New variables.
6348	(rs6000_adjust_cost): Add Power9 to test for store->load separation.
6349	(rs6000_issue_rate): Set issue rate for Power9.
6350	(is_power9_pairable_vec_type): New.
6351	(power9_sched_reorder2): New.
6352	(rs6000_sched_reorder2): Call new function for Power9 specific
6353	reordering.
6354	(insn_must_be_first_in_group): Remove Power9.
6355	(insn_must_be_last_in_group): Likewise.
6356	(force_new_group): Likewise.
6357	(rs6000_sched_init): Fix initialization of last_scheduled_insn.
6358	Initialize divide_cnt/vec_load_pendulum.
6359	(_rs6000_sched_context, rs6000_init_sched_context,
6360	rs6000_set_sched_context): Handle context save/restore of new
6361	variables.
6362
63632016-07-05  Pat Haugen  <pthaugen@us.ibm.com>
6364
6365	Backport from mainline
6366	2016-06-27  Pat Haugen  <pthaugen@us.ibm.com>
6367
6368	* config/rs6000/rs6000.md ('type' attribute): Add
6369	veclogical,veccmpfx,vecexts,vecmove insn types.
6370	(*abs<mode>2_fpr, *nabs<mode>2_fpr, *neg<mode>2_fpr, *extendsfdf2_fpr,
6371	copysign<mode>3_fcpsgn, trunc<mode>df2_internal1, neg<mode>2_internal,
6372	p8_fmrgow_<mode>, pack<mode>): Change type to fpsimple.
6373	(*xxsel<mode>, copysign<mode>3_hard, neg<mode>2_hw, abs<mode>2_hw,
6374	*nabs<mode>2_hw): Change type to vecmove.
6375	(*and<mode>3_internal, *bool<mode>3_internal, *boolc<mode>3_internal,
6376	*boolcc<mode>3_internal, *eqv<mode>3_internal,
6377	*one_cmpl<mode>3_internal, *ieee_128bit_vsx_neg<mode>2_internal,
6378	*ieee_128bit_vsx_abs<mode>2_internal,
6379	*ieee_128bit_vsx_nabs<mode>2_internal, extendkftf2, trunctfkf2,
6380	*ieee128_mfvsrd_64bit, *ieee128_mfvsrd_32bit, *ieee128_mtvsrd_64bit,
6381	*ieee128_mtvsrd_32bit): Change type to veclogical.
6382	(mov<mode>_hardfloat, *mov<mode>_hardfloat32, *mov<mode>_hardfloat64,
6383	*movdi_internal32, *movdi_internal64): Update insn types.
6384	* config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
6385	vsx_extract_<mode>): Change type to veclogical.
6386	(*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns): Change type to vecmove.
6387	(vsx_sign_extend_qi_<mode>, *vsx_sign_extend_hi_<mode>,
6388	*vsx_sign_extend_si_v2di): Change type to vecexts.
6389	* config/rs6000/altivec.md (*altivec_mov<mode>, *altivec_movti): Change
6390	type to veclogical.
6391	(*altivec_eq<mode>, *altivec_gt<mode>, *altivec_gtu<mode>,
6392	*altivec_vcmpequ<VI_char>_p, *altivec_vcmpgts<VI_char>_p,
6393	*altivec_vcmpgtu<VI_char>_p): Change type to veccmpfx.
6394	(*altivec_vsel<mode>, *altivec_vsel<mode>_uns): Change type to vecmove.
6395	* config/rs6000/dfp.md (*negdd2_fpr, *absdd2_fpr, *nabsdd2_fpr,
6396	negtd2, *abstd2_fpr, *nabstd2_fpr): Change type to fpsimple.
6397	* config/rs6000/40x.md (ppc405-float): Add fpsimple.
6398	* config/rs6000/440.md (ppc440-fp): Add fpsimple.
6399	* config/rs6000/476.md (ppc476-fp): Add fpsimple.
6400	* config/rs6000/601.md (ppc601-fp): Add fpsimple.
6401	* config/rs6000/603.md (ppc603-fp): Add fpsimple.
6402	* config/rs6000/6xx.md (ppc604-fp): Add fpsimple.
6403	* config/rs6000/7xx.md (ppc750-fp): Add fpsimple.
6404	(ppc7400-vecsimple): Add veclogical, vecmove, veccmpfx.
6405	* config/rs6000/7450.md (ppc7450-fp): Add fpsimple.
6406	(ppc7450-vecsimple): Add veclogical, vecmove.
6407	(ppc7450-veccmp): Add veccmpfx.
6408	* config/rs6000/8540.md (ppc8540_simple_vector): Add veclogical,
6409	vecmove.
6410	(ppc8540_vector_compare): Add veccmpfx.
6411	* config/rs6000/a2.md (ppca2-fp): Add fpsimple.
6412	* config/rs6000/cell.md (cell-fp): Add fpsimple.
6413	(cell-vecsimple): Add veclogical, vecmove.
6414	(cell-veccmp): Add veccmpfx.
6415	* config/rs6000/e300c2c3.md (ppce300c3_fp): Add fpsimple.
6416	* config/rs6000/e6500.md (e6500_vecsimple): Add veclogical, vecmove,
6417	veccmpfx.
6418	* config/rs6000/mpc.md (mpccore-fp): Add fpsimple.
6419	* config/rs6000/power4.md (power4-fp): Add fpsimple.
6420	(power4-vecsimple): Add veclogical, vecmove.
6421	(power4-veccmp): Add veccmpfx.
6422	* config/rs6000/power5.md (power5-fp): Add fpsimple.
6423	* config/rs6000/power6.md (power6-fp): Add fpsimple.
6424	(power6-vecsimple): Add veclogical, vecmove.
6425	(power6-veccmp): Add veccmpfx.
6426	* config/rs6000/power7.md (power7-fp): Add fpsimple.
6427	(power7-vecsimple): Add veclogical, vecmove, veccmpfx.
6428	* config/rs6000/power8.md (power8-fp): Add fpsimple.
6429	(power8-vecsimple): Add veclogical, vecmove, veccmpfx.
6430	* config/rs6000/rs64.md (rs64a-fp): Add fpsimple.
6431	* config/rs6000/titan.md (titan_fp): Add fpsimple.
6432	* config/rs6000/xfpu.md (fp-default, fp-addsub-s, fp-addsub-d): Add
6433	fpsimple.
6434	* config/rs6000/rs6000.c (rs6000_adjust_cost): Add TYPE_FPSIMPLE.
6435
64362016-07-05  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6437
6438	Backport from mainline r237391
6439	2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6440
6441	* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
6442	RS6000_BTM_MODULO flag into the set of flags that are considered
6443	to be part of the common configuration.
6444
64452016-07-04  Jakub Jelinek  <jakub@redhat.com>
6446
6447	PR c++/71739
6448	* tree.c (attribute_value_equal): Use get_attribute_name instead of
6449	directly using TREE_PURPOSE.
6450
64512016-07-04  Segher Boessenkool  <segher@kernel.crashing.org>
6452
6453	Backport from mainline
6454	2016-06-27  Segher Boessenkool  <segher@kernel.crashing.org>
6455
6456	PR target/71670
6457	* config/rs6000/rs6000.md (ashdi3_extswsli_dot): Use
6458	gen_ashdi3_extswsli_dot2 instead of gen_ashdi3_extswsli_dot.
6459
64602016-07-02  Jakub Jelinek  <jakub@redhat.com>
6461
6462	Backported from mainline
6463	2016-06-28  Jakub Jelinek  <jakub@redhat.com>
6464
6465	PR middle-end/71626
6466	* config/i386/i386.c (ix86_expand_vector_move): For SUBREG of
6467	a constant, force its SUBREG_REG into memory or register instead
6468	of whole op1.
6469
6470	2016-06-20  Jakub Jelinek  <jakub@redhat.com>
6471
6472	PR target/71559
6473	* config/i386/i386.c (ix86_fp_cmp_code_to_pcmp_immediate): Fix up
6474	returned values and add UN*/LTGT/*ORDERED cases with values matching
6475	D operand modifier on vcmp for AVX.
6476
64772016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6478
6479	Backport from trunk r237659
6480	2016-06-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6481
6482	* config/rs6000/rs6000.h: Add conditional preprocessing directives
6483	to disable Power9-specific compiler features if HAVE_AS_POWER9 is
6484	not defined.
6485
64862016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
6487
6488	Backport from trunk
6489	2016-06-27  Peter Bergner  <bergner@vnet.ibm.com>
6490
6491	PR target/71656
6492	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
6493	OPTION_MASK_P9_DFORM_VECTOR.
6494	* config/rs6000/rs6000.c (rs6000_option_override_internal): Do not
6495	disable -mpower9-dform-vector when using reload.
6496	(quad_address_p): Remove 'gpr_p' argument and all associated code.
6497	New 'strict' argument.  Update all callers.  Add strict addressing
6498	support.
6499	(rs6000_legitimate_offset_address_p): Remove call to
6500	virtual_stack_registers_memory_p.
6501	(rs6000_legitimize_reload_address): Add quad address support.
6502	(rs6000_legitimate_address_p): Move call to quad_address_p above
6503	call to virtual_stack_registers_memory_p.  Adjust quad_address_p args
6504	to account for new strict usage.
6505	(rs6000_output_move_128bit): Adjust quad_address_p args to account
6506	for new strict usage.
6507	* config/rs6000/predicates.md (quad_memory_operand): Likewise.
6508
65092016-07-01  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6510
6511	Backport from mainline
6512	2016-06-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6513
6514	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define.
6515	(BU_FLOAT128_1): Likewise.
6516	(FABSQ): Likewise.
6517	(COPYSIGNQ): Likewise.
6518	(RS6000_BUILTIN_NANQ): Likewise.
6519	(RS6000_BUILTIN_NANSQ): Likewise.
6520	(RS6000_BUILTIN_INFQ): Likewise.
6521	(RS6000_BUILTIN_HUGE_VALQ): Likewise.
6522	* config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype.
6523	(TARGET_FOLD_BUILTIN): New #define.
6524	(rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry.
6525	(rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128.
6526	(rs6000_fold_builtin): New target hook implementation, handling
6527	folding of 128-bit NaNs and infinities.
6528	(rs6000_init_builtins): Initialize const_str_type_node; ensure all
6529	entries are filled in to avoid problems during bootstrap
6530	self-test; define builtins for 128-bit NaNs and infinities.
6531	(rs6000_opt_mask): Add entry for float128.
6532	* config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define.
6533	(RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128.
6534	(rs6000_builtin_type_index): Add RS6000_BTI_const_str.
6535	(const_str_type_node): New #define.
6536	* config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert
6537	to a define_expand that dispatches to either copysign<mode>3_soft
6538	or copysign<mode>3_hard.
6539	(copysign<mode>3_hard): Rename from copysign<mode>3.
6540	(copysign<mode>3_soft): New define_insn.
6541	* doc/extend.texi: Document new builtins.
6542
65432016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
6544
6545	Backport from trunk
6546	2016-07-01  Peter Bergner  <bergner@vnet.ibm.com>
6547
6548	PR target/71698
6549	* config/rs6000/rs6000.c (rs6000_secondary_reload_simple_move): Disallow
6550	TDmode values.
6551
65522016-07-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6553
6554	Backport from trunk r236992
6555	2016-06-01  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6556
6557	* config/rs6000/altivec.h (vec_slv): New macro.
6558	(vec_srv): New macro.
6559	* config/rs6000/altivec.md (UNSPEC_VSLV): New value.
6560	(UNSPEC_VSRV): New value.
6561	(vslv): New insn.
6562	(vsrv): New insn.
6563	* config/rs6000/rs6000-builtin.def (vslv): New builtin definition.
6564	(vsrv): New builtin definition.
6565	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VSLV): Macro expansion to
6566	define argument types for new builtin.
6567	(P9V_BUILTIN_VSRV): Macro expansion to define argument types for
6568	new builtin.
6569	* doc/extend.texi: Document the new vec_vslv and vec_srv built-in
6570	functions.
6571
65722016-07-01  Eric Botcazou  <ebotcazou@adacore.com>
6573
6574	* config/arm/arm.c (arm_function_ok_for_sibcall): Add another check
6575	for NULL decl.
6576
65772016-06-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6578
6579	Backport from trunk r237390
6580	2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
6581
6582	* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
6583	difference unsigned.
6584	(vec_absdb): New macro for vector absolute difference unsigned
6585	byte.
6586	(vec_absdh): New macro for vector absolute difference unsigned
6587	half-word.
6588	(vec_absdw): New macro for vector absolute difference unsigned word.
6589	* config/rs6000/altivec.md (UNSPEC_VADU): New value.
6590	(vadu<mode>3): New insn.
6591	(*p9_vadu<mode>3): New insn.
6592	* config/rs6000/rs6000-builtin.def (vadub): New built-in
6593	definition.
6594	(vaduh): New built-in definition.
6595	(vaduw): New built-in definition.
6596	(vadu): New overloaded built-in definition.
6597	(vadub): New overloaded built-in definition.
6598	(vaduh): New overloaded built-in definition.
6599	(vaduw): New overloaded built-in definition.
6600	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6601	overloaded vector absolute difference unsigned functions.
6602	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
6603	the ISA 3.0 vector absolute difference unsigned built-in functions.
6604
66052016-06-30  David Malcolm  <dmalcolm@redhat.com>
6606
6607	Backport from trunk r237880.
6608	2016-06-30  David Malcolm  <dmalcolm@redhat.com>
6609
6610	PR driver/71651
6611	* gcc.c (driver::build_option_suggestions): Pass "option" to
6612	add_misspelling_candidates.
6613	* opts-common.c (add_misspelling_candidates): Add "option" param;
6614	use it to avoid adding negated forms for options marked with
6615	RejectNegative.
6616	* opts.h (add_misspelling_candidates): Add "option" param.
6617
66182016-06-30  Jakub Jelinek  <jakub@redhat.com>
6619
6620	PR middle-end/71693
6621	* fold-const.c (fold_binary_loc) <case RROTATE_EXPR>: Cast
6622	TREE_OPERAND (arg0, 0) and TREE_OPERAND (arg0, 1) to type
6623	first when permuting bitwise operation with rotate.  Cast
6624	TREE_OPERAND (arg0, 0) to type when cancelling two rotations.
6625
66262016-06-30  Martin Liska  <mliska@suse.cz>
6627
6628	Parting backport from mainline
6629	2016-06-29  Martin Liska  <mliska@suse.cz>
6630
6631	* ipa-inline-transform.c (inline_call): Remove unnecessary call
6632	of build_optimization_node.
6633
66342016-06-29  Eric Botcazou  <ebotcazou@adacore.com>
6635
6636	Backport from mainline
6637	2016-06-09  Eric Botcazou  <ebotcazou@adacore.com>
6638
6639	* df-problems.c (df_note_bb_compute): Guard use of DF_INSN_INFO_GET.
6640
66412016-06-27  Michael Meissner  <meissner@linux.vnet.ibm.com>
6642
6643	Back port from trunk
6644	2016-06-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
6645
6646	* stor-layout.c (layout_type): Move setting complex MODE to
6647	layout_type, instead of setting it ahead of time by the caller.
6648
6649	Back port from trunk
6650	2016-05-11  Alan Modra  <amodra@gmail.com>
6651
6652	* config/rs6000/rs6000.c (is_complex_IBM_long_double,
6653	abi_v4_pass_in_fpr): New functions.
6654	(rs6000_function_arg_boundary): Exclude complex IBM long double
6655	from 64-bit alignment when ABI_V4.
6656	(rs6000_function_arg, rs6000_function_arg_advance_1,
6657	rs6000_gimplify_va_arg): Use abi_v4_pass_in_fpr.
6658
6659	Back port from trunk
6660	2016-05-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
6661
6662	* machmode.h (mode_complex): Add support to give the complex mode
6663	for a given mode.
6664	(GET_MODE_COMPLEX_MODE): Likewise.
6665	* stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode
6666	stored by build_complex_type and gfc_build_complex_type instead of
6667	trying to figure out the appropriate mode based on the size. Raise
6668	an assertion error, if the type was not set.
6669	* genmodes.c (struct mode_data): Add field for the complex type of
6670	the given type.
6671	(blank_mode): Likewise.
6672	(make_complex_modes): Remember the complex mode created in the
6673	base type.
6674	(emit_mode_complex): Write out the mode_complex array to map a
6675	type mode to the complex version.
6676	(emit_insn_modes_c): Likewise.
6677	* tree.c (build_complex_type): Set the complex type to use before
6678	calling layout_type.
6679	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add
6680	support for __float128 complex datatypes.
6681	(rs6000_hard_regno_mode_ok): Likewise.
6682	(rs6000_setup_reg_addr_masks): Likewise.
6683	(rs6000_complex_function_value): Likewise.
6684	* config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise.
6685	__float128 and __ibm128 complex.
6686	(FLOAT128_IBM_P): Likewise.
6687	(ALTIVEC_ARG_MAX_RETURN): Likewise.
6688	* doc/extend.texi (Additional Floating Types): Document that
6689	-mfloat128 must be used to enable __float128.  Document complex
6690	__float128 and __ibm128 support.
6691
66922016-06-24  Jakub Jelinek  <jakub@redhat.com>
6693
6694	PR tree-optimization/71647
6695	* omp-low.c (lower_rec_input_clauses): Convert
6696	omp_clause_aligned_alignment (c) to size_type_node for the
6697	last argument of __builtin_assume_aligned.
6698
66992016-06-22  Eric Botcazou  <ebotcazou@adacore.com>
6700
6701	* function.c (assign_parm_setup_reg): Prevent sharing in another case.
6702
67032016-06-21  Georg-Johann Lay  <avr@gjlay.de>
6704
6705	Backport from 2016-06-21 trunk r237639.
6706
6707	PR target/30417
6708	* config/avr/gen-avr-mmcu-specs.c (print_mcu):
6709	[*link_data_start]: Wrap -Tdata into %{!Tdata:...}.
6710	[*link_text_start]: Wrap -Ttext into %{!Ttext:...}.
6711
67122016-06-21  Georg-Johann Lay  <avr@gjlay.de>
6713
6714	PR target/71103
6715	* config/avr/avr.md (movqi): Only handle loading subreg:qi of
6716	constant addresses if can_create_pseudo_p.
6717
67182016-06-21  Jakub Jelinek  <jakub@redhat.com>
6719
6720	PR tree-optimization/71588
6721	* tree-ssa-strlen.c (valid_builtin_call): New function.
6722	(adjust_last_stmt, handle_builtin_memset, strlen_optimize_stmt): Use
6723	it.
6724
6725	Backported from mainline
6726	2016-06-20  Jakub Jelinek  <jakub@redhat.com>
6727
6728	PR middle-end/71581
6729	* tree-ssa-uninit.c (warn_uninit): If EXPR and VAR are NULL,
6730	see if T isn't anonymous SSA_NAME with COMPLEX_EXPR created
6731	for conversion of scalar user var to complex type and use the
6732	underlying SSA_NAME_VAR in that case.  If EXPR is still NULL,
6733	punt.
6734
6735	2016-06-16  Jakub Jelinek  <jakub@redhat.com>
6736
6737	* gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
6738	with base of reference to struct.
6739
67402016-06-20  Ilya Enkovich  <ilya.enkovich@intel.com>
6741
6742	Backport from mainline r237484.
6743	2016-06-15  Ilya Enkovich  <ilya.enkovich@intel.com>
6744
6745	PR middle-end/71529
6746	* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
6747	DECL_CONTEXT for copied arguments.
6748
67492016-06-20  Georg-Johann Lay  <avr@gjlay.de>
6750	    Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
6751
6752	Backport from 2016-06-20 trunk r237589, r236558.
6753
6754	PR target/71103
6755	* config/avr/avr.md (movqi): Handle loading subreg:qi (const,
6756	symbol_ref,label_ref).
6757
67582016-06-16  Jakub Jelinek  <jakub@redhat.com>
6759
6760	PR target/71554
6761	* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
6762	(setcc + and peephole2): Likewise.
6763
67642016-06-15  Andreas Tobler  <andreast@gcc.gnu.org>
6765
6766	Backported from mainline
6767	2016-06-14  Andreas Tobler  <andreast@gcc.gnu.org>
6768
6769	* config/arm/freebsd.h: Only enable unaligned access for armv6 on
6770	FreeBSD 11 and above.
6771
67722016-06-15  Ilya Verbin  <ilya.verbin@intel.com>
6773
6774	Backport from mainline
6775	2016-04-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6776
6777	* config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
6778
67792016-06-14  Jakub Jelinek  <jakub@redhat.com>
6780
6781	Backported from mainline
6782	2016-06-10  Jakub Jelinek  <jakub@redhat.com>
6783
6784	PR middle-end/71494
6785	* tree-nested.c (convert_nonlocal_reference_stmt): For GIMPLE_GOTO
6786	without LABEL_DECL, set *handled_ops_p to false instead of true.
6787
6788	2016-06-08  Jakub Jelinek  <jakub@redhat.com>
6789		    Richard Biener  <rguenther@suse.de>
6790
6791	PR c++/71448
6792	* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
6793	the same as DECL_P (base0) for indirect_base0.  Use equality_code
6794	in one further place.
6795
6796	2016-06-04  Jakub Jelinek  <jakub@redhat.com>
6797
6798	PR tree-optimization/71405
6799	* tree-ssa.c (execute_update_addresses_taken): For clobber with
6800	incompatible type, build a new clobber with the right type instead
6801	of building a VIEW_CONVERT_EXPR around it.
6802
68032016-06-13  Eric Botcazou  <ebotcazou@adacore.com>
6804
6805	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
6806	update shared_lookup_references only once after changing operands.
6807
68082016-06-13  Richard Biener  <rguenther@suse.de>
6809
6810	PR tree-optimization/71505
6811	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Make
6812	assert match comment.
6813
68142016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6815
6816	Backport from mainline
6817	2016-06-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
6818
6819	PR target/71379
6820	* config/s390/s390.c (s390_expand_builtin): Increase MAX_ARGS by
6821	one.
6822
68232016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6824
6825	PR middle-end/71373
6826	Backport from trunk r237291:
6827	* tree-nested.c (convert_nonlocal_omp_clauses)
6828	(convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC,
6829	OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
6830	OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE.
6831
6832	Backport from trunk r237291:
6833	* gimplify.c (gimplify_adjust_omp_clauses): Discard
6834	OMP_CLAUSE_TILE.
6835	* omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE.
6836
6837	Backport from trunk r237290:
6838	* omp-low.c (scan_sharing_clauses): Don't expect
6839	OMP_CLAUSE__CACHE_.
6840
6841	Backport trunk r235964:
6842	2016-05-06  Nathan Sidwell  <nathan@codesourcery.com>
6843
6844	* gimple.c (gimple_call_same_target_p): Unique functions are eq.
6845	* tree-ssa-tail-merge.c (same_succ::equal): Check pointer eq
6846	equality first.
6847
68482016-06-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
6849
6850	Back port from trunk
6851	2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
6852
6853	* config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify
6854	alternatives, eliminating preferred register class.  Add support
6855	for the MTVSRDD instruction in ISA 3.0.
6856	(vsx_splat_v4si_internal): Use splat_input_operand instead of
6857	reg_or_indexed_operand.
6858	(vsx_splat_v4sf_internal): Likewise.
6859
6860	Back port from trunk
6861	2016-05-31  Michael Meissner  <meissner@linux.vnet.ibm.com>
6862
6863	PR target/71186
6864	* config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives
6865	for loading up all 0's or all 1's.
6866
6867	Back port from trunk
6868	2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
6869
6870	PR target/70915
6871	* config/rs6000/constraints.md (wE constraint): New constraint
6872	for a vector constant that can be loaded with XXSPLTIB.
6873	(wM constraint): New constraint for a vector constant of a 1's.
6874	(wS constraint): New constraint for a vector constant that can be
6875	loaded with XXSPLTIB and a vector sign extend instruction.
6876	* config/rs6000/predicates.md (xxspltib_constant_split): New
6877	predicates for wE/wS constraints.
6878	(xxspltib_constant_nosplit): Likewise.
6879	(easy_vector_constant): Add support for constants that can be
6880	loaded via XXSPLTIB.
6881	(splat_input_operand): Add support for ISA 3.0 word splat operations.
6882	* config/rs6000/rs6000.c (xxspltib_constant_p): New function to
6883	return if a constant can be loaded with the ISA 3.0 XXSPLTIB
6884	instruction and possibly with a sign extension.
6885	(output_vec_const_move): Add support for XXSPLTIB. If we are
6886	loading up 0/-1 into Altivec registers, prefer using VSPLTISW
6887	instead of XXLXOR/XXLORC.
6888	(rs6000_expand_vector_init): Add support for ISA 3.0 word splat
6889	operations.
6890	(rs6000_legitimize_reload_address): Likewise.
6891	(rs6000_output_move_128bit): Use output_vec_const_move to emit
6892	constants.
6893	* config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and
6894	combine VSX_M and VSX_M2 into one iterator.
6895	(VSX_M2): Likewise.
6896	(VSINT_84): New iterators for loading constants with XXSPLTIB.
6897	(VSINT_842): Likewise.
6898	(UNSPEC_VSX_SIGN_EXTEND): New UNSPEC.
6899	(xxspltib_v16qi): New insns to load up constants with the ISA 3.0
6900	XXSPLTIB instruction.
6901	(xxspltib_<mode>_nosplit): Likewise.
6902	(xxspltib_<mode>_split): New insn to load up constants with
6903	XXSPLTIB and a sign extend instruction.
6904	(vsx_mov<mode>): Replace single move that handled all vector types
6905	with separate 32-bit and 64-bit moves.  Combine the movti_<bit>
6906	moves (when -mvsx-timode is in effect) into the main vector
6907	moves.  Eliminate separate moves for <VSr> <VSa>, where the
6908	preferred register class (<VSr>) is listed first, and the
6909	secondary register class (<VSa>) is listed second with a '?' to
6910	discourage use.  Prefer loading 0/-1 in any VSX register for ISA
6911	3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so
6912	that if the register was involved in a slow operation, the
6913	clear/set operation does not wait for the slow operation to
6914	finish.  Adjust the length attributes for 32-bit mode.  Use
6915	rs6000_output_move_128bit and drop the use of the string
6916	instructions for 32-bit movti when -mvsx-timode is in effect.  Use
6917	spacing so that the alternatives and attributes don't generate
6918	long lines, and put things in columns, so that it is easier to
6919	match up the operands and attributes with the insn alternatives.
6920	(vsx_mov<mode>_64bit): Likewise.
6921	(vsx_mov<mode>_32bit): Likewise.
6922	(vsx_movti_64bit): Fold movti into normal vector moves.
6923	(vsx_movti_32bit): Likewise.
6924	(vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word
6925	splat instructions.
6926	(vsx_splat_v4si_internal): Likewise.
6927	(vsx_splat_v4sf_internal): Likewise.
6928	(vector fusion peepholes): Use VSX_M instead of VSX_M2.
6929	(vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign
6930	extend vector elements.
6931	(vsx_sign_extend_hi_<mode>): Likewise.
6932	(vsx_sign_extend_si_v2di): Likewise.
6933	* config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add
6934	declaration.
6935	* doc/md.texi (PowerPC constraints): Document the wE, wM, and wS
6936	constraints.  Add trailing period to wL documentation.
6937
69382016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
6939
6940	Backport from mainline
6941	2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
6942
6943	* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
6944	SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
6945
69462016-06-08  Eric Botcazou  <ebotcazou@adacore.com>
6947
6948	Backport from mainline
6949	2016-06-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
6950
6951	* config/sparc/sparc.md (cpu): Add niagara7 cpu type.
6952	Include the M7 SPARC DFA scheduler.
6953	New attribute v3pipe.
6954	Annotate insns with v3pipe where appropriate.
6955	Define cpu_feature vis4.
6956	Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64.
6957	Add (V8QI "8") to vbits.
6958	Add insns {add,sub}v8qi3
6959	Add insns ss{add,sub}v8qi3
6960	Add insns us{add,sub}{v8qi,v4hi}3
6961	Add insns {min,max}{v8qi,v4hi,v2si}3
6962	Add insns {minu,maxu}{v8qi,v4hi,v2si}3
6963	Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis.
6964	* config/sparc/niagara4.md: Add a comment explaining the
6965	discrepancy between the documented latenty numbers and the
6966	implemented ones.
6967	* config/sparc/niagara7.md: New file.
6968	* configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler
6969	supports SPARC5 and VIS 4.0 instructions.
6970	* configure: Regenerate.
6971	* config.in: Likewise.
6972	* config.gcc: niagara7 is a supported cpu in sparc*-*-* targets.
6973	* config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for
6974	TARGET_CPU_niagara7.
6975	(ASM_CPU64_DEFAULT_SPEC): Likewise.
6976	(CPP_CPU_SPEC): Handle niagara7.
6977	(ASM_CPU_SPEC): Likewise.
6978	* config/sparc/sparc-opts.h (processor_type): Add
6979	PROCESSOR_NIAGARA7.
6980	(mvis4): New option.
6981	* config/sparc/sparc.h (TARGET_CPU_niagara7): Define.
6982	(AS_NIAGARA7_FLAG): Define.
6983	(ASM_CPU64_DEFAULT_SPEC): Set for niagara7.
6984	(CPP_CPU64_DEFAULT_SPEC): Likewise.
6985	(CPP_CPU_SPEC): Handle niagara7.
6986	(ASM_CPU_SPEC): Likewise.
6987	* config/sparc/sparc.c (niagara7_costs): Define.
6988	(sparc_option_override): Handle niagara7 and adjust cache-related
6989	parameters with better values for niagara cpus.  Also support VIS4.
6990	(sparc32_initialize_trampoline): Likewise.
6991	(sparc_use_sched_lookahead): Likewise.
6992	(sparc_issue_rate): Likewise.
6993	(sparc_register_move_cost): Likewise.
6994	(dump_target_flag_bits): Support VIS4.
6995	(sparc_vis_init_builtins): Likewise.
6996	(sparc_builtins): Likewise.
6997	* config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for
6998	VIS4 4.0.
6999	* config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and
7000	UltraSparc M7.
7001	* config/sparc/sparc.opt (sparc_processor_type): New value
7002	niagara7.
7003	* config/sparc/visintrin.h (__attribute__): Prototypes for the
7004	VIS4 builtins.
7005	* doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and
7006	-mvis4.
7007	* doc/extend.texi (SPARC VIS Built-in Functions): Document the
7008	VIS4 builtins.
7009
7010	2016-05-30  Jose E. Marchesi  <jose.marchesi@oracle.com>
7011
7012	* config.gcc (sparc*-*-*): Support cpu_32, cpu_64, tune_32 and
7013	tune_64.
7014	* doc/install.texi (--with-cpu-32, --with-cpu-64): Document
7015	support on SPARC.
7016	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Add entries for
7017	cpu_32, cpu_64, tune_32 and tune_64.
7018	* config/sparc/sol2.h (OPTION_DEFAULT_SPECS): Likewise.
7019
70202016-06-08  Ilya Verbin  <ilya.verbin@intel.com>
7021
7022	Backport from mainline
7023	2016-05-25  Ilya Verbin  <ilya.verbin@intel.com>
7024
7025	* config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
7026	V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
7027	* config/i386/i386.c (enum ix86_builtins): Add
7028	IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
7029	IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
7030	IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
7031	IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
7032	IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
7033	IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
7034	(builtin_description bdesc_args): Add __builtin_ia32_floorps512,
7035	__builtin_ia32_ceilps512, __builtin_ia32_truncps512,
7036	__builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
7037	__builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
7038	__builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
7039	__builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
7040	Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
7041	__builtin_ia32_cvtps2dq512_mask.
7042	(ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
7043	V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
7044	(ix86_builtin_vectorized_function): Handle builtins mentioned above.
7045	* config/i386/sse.md
7046	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
7047	Rename to ...
7048	(avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
7049	(<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
7050	to ...
7051	(avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
7052	(avx512f_vec_pack_sfix_v8df): New define_expand.
7053	(avx512f_roundpd512): Rename to ...
7054	(avx512f_round<castmode>512): ... this.  Change iterator.
7055	(avx512f_roundps512_sfix): New define_expand.
7056	(round<mode>2_sfix): Change iterator.
7057
70582016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
7059
7060	Backport from mainline
7061	2016-06-07  Peter Bergner  <bergner@vnet.ibm.com>
7062
7063	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mhtm and
7064	-mno-htm.
7065
70662016-06-07  Uros Bizjak  <ubizjak@gmail.com>
7067
7068	PR target/71389
7069	* config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
7070	Copy op1 RTX to avoid invalid sharing.
7071	(ix86_expand_vector_move_misalign): Ditto.
7072
70732016-06-06  Jakub Jelinek  <jakub@redhat.com>
7074
7075	PR tree-optimization/71259
7076	* tree-vect-slp.c (vect_get_constant_vectors): For
7077	VECTOR_BOOLEAN_TYPE_P, return all ones constant instead of
7078	one for constant op, and use COND_EXPR for non-constant.
7079
70802016-06-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7081
7082	Backport from trunk
7083	2016-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7084
7085	PR target/70830
7086	* config/arm/arm.c (arm_output_multireg_pop): Guard "pop" on update.
7087
70882016-06-05  Uros Bizjak  <ubizjak@gmail.com>
7089
7090	Backport from mainline
7091	2016-06-01  Uros Bizjak  <ubizjak@gmail.com>
7092		    Jocelyn Mayer  <l_indien@magic.fr>
7093
7094	PR target/67310
7095	* config/i386/driver-i386.c (host_detect_local_cpu): Correctly
7096	detect processor family for signature_CENTAUR_ebx.
7097	<case PROCESSOR_I486>: Pass c3, winchip2 or winchip-c6 for
7098	signature_CENTAUR_ebx.
7099	<case PROCESSOR _PENTIUMPRO>: Pass c3-2 for signature_CENTAUR_ebx.
7100	<default>: Pass x86-64 for has_longmode.
7101
71022016-06-03  Jakub Jelinek  <jakub@redhat.com>
7103
7104	PR middle-end/71387
7105	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): If redirecting
7106	to noreturn e->callee->decl that has void return type and void
7107	arguments, adjust gimple_call_fntype and remove lhs even if it had
7108	previously addressable type.
7109
71102016-06-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
7111
7112	Back port from trunk
7113	2016-05-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
7114
7115	* config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function
7116	for ISA 3.0 min/max support.
7117	(rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point
7118	conditional move support.
7119	(rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and
7120	rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are
7121	available.
7122	* config/rs6000/rs6000.md (SFDF2): New iterator to allow doing
7123	conditional moves where the comparison type is different from move
7124	type.
7125	(fp_minmax): New code iterator for smin/smax.
7126	(minmax): New code attributes for min/max.
7127	(SMINMAX): Likewise.
7128	(smax<mode>3): Combine min, max insns into one insn using the
7129	fp_minmax code iterator.  Add support for ISA 3.0 min/max
7130	instructions that don't need -ffast-math.
7131	(s<minmax><mode>3): Likewise.
7132	(smax<mode>3_vsx): Likewise.
7133	(smin<mode>3): Likewise.
7134	(s<minmax><mode>3_vsx): Likewise.
7135	(smin<mode>3_vsx): Likewise.
7136	(pre-VSX min/max splitters): Likewise.
7137	(s<minmax><mode>3_fpr): Likewise.
7138	(movsfcc): Rewrite floating point conditional moves to combine
7139	SFmode/DFmode into a single insn.
7140	(mov<mode>cc): Likewise.
7141	(movdfcc): Likewise.
7142	(fselsfsf4): Combine FSEL cases into a single insn, using SFDF and
7143	SFDF2 iterators to handle all combinations.
7144	(fseldfsf4): Likewise.
7145	(fsel<SFDF:mode><SFDF2:mode>4): Likewise.
7146	(fseldfdf4): Likewise.
7147	(fselsfdf4): Likewise.
7148	(mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0
7149	comparison instructions that set a 0/-1 mask, and use it for
7150	floating point conditional move via XXSEL.
7151	(fpmask<mode>): Likewise.
7152	(xxsel<mode>): Likewise.
7153	* config/rs6000/predicates.md (min_max_operator): Delete, no
7154	longer used.
7155	(fpmask_comparison_operaton): New insn for ISA 3.0 comparison
7156	instructions that generate a 0/-1 mask for use with XXSEL.
7157	* config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to
7158	say whether floating point min/max is available, either through
7159	FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons.
7160	(TARGET_MINMAX_DF): Likewise.
7161
7162	Back port from trunk
7163	2016-05-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
7164
7165	* config/rs6000/predicate.md (all_ones_constant): New predicate
7166	for vector constant with all 1's set.
7167
71682016-06-02  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7169
7170	Back port from trunk
7171	2016-05-19  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7172
7173	* config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant.
7174	(UNSPEC_DARN_32): New unspec constant.
7175	(UNSPEC_DARN_RAW): New unspec constant.
7176	(darn_32): New instruction.
7177	(darn_raw): New instruction.
7178	(darn): New instruction.
7179	* config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add
7180	support and documentation for this macro.
7181	(BU_P9_MISC_1): New macro definition.
7182	(BU_P9_64BIT_MISC_0): New macro definition.
7183	(BU_P9_MISC_0): New macro definition.
7184	(darn_32): New builtin definition.
7185	(darn_raw): New builtin definition.
7186	(darn): New builtin definition.
7187	* config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef
7188	RS6000_BUILTIN_0 directives to surround each occurrence of
7189	#include "rs6000-builtin.def".
7190	(rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and
7191	RS6000_BTM_64BIT flags to the returned mask, depending on
7192	configuration.
7193	(def_builtin): Correct an error in the assignments made to the
7194	debugging variable attr_string.
7195	(rs6000_expand_builtin): Add support for no-operand built-in
7196	functions.
7197	(builtin_function_type): Remove fatal_error assertion that is no
7198	longer valid.
7199	(rs6000_common_init_builtins): Add support for no-operand built-in
7200	functions.
7201	* config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro
7202	definition.
7203	(RS6000_BTM_PURE): Enhance comment to clarify intent of this flag
7204	definition.
7205	(RS6000_BTM_64BIT): New macro definition.
7206	* doc/extend.texi: Document __builtin_darn (void),
7207	__builtin_darn_raw (void), and __builtin_darn_32 (void) built-in
7208	functions.
7209
72102016-06-01  Michael Meissner  <meissner@linux.vnet.ibm.com>
7211
7212	Back port from trunk
7213	2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
7214
7215	PR target/71201
7216	* config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop
7217	ISA 3.0 xxperm fusion alternative.
7218	(altivec_vperm_v8hiv16qi): Likewise.
7219	(altivec_vperm_<mode>_uns_internal): Likewise.
7220	(vperm_v8hiv4si): Likewise.
7221	(vperm_v16qiv8hi): Likewise.
7222
7223	Back port from trunk
7224	2016-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
7225		    Kelvin Nilsen  <kelvin@gcc.gnu.org>
7226
7227	* config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate
7228	vpermr/xxpermr on ISA 3.0.
7229	(altivec_expand_vec_perm_le): Likewise.
7230	* config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec.
7231	(altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for
7232	ISA 3.0.
7233
7234	Back port from trunk
7235	2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
7236
7237	* config/rs6000/altivec.md (VParity): New mode iterator for vector
7238	parity built-in functions.
7239	(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
7240	zeros.
7241	(p9v_parity<mode>2): Likewise.
7242	* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
7243	parity.
7244	(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
7245	(parity<mode>2): ISA 3.0 expander for vector parity.
7246	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
7247	power9 built-ins.
7248	(BU_P9_64BIT_MISC_0): Likewise.
7249	(BU_P9_MISC_0): Likewise.
7250	(BU_P9V_AV_1): Likewise.
7251	(BU_P9V_AV_2): Likewise.
7252	(BU_P9V_AV_3): Likewise.
7253	(BU_P9V_AV_P): Likewise.
7254	(BU_P9V_VSX_1): Likewise.
7255	(BU_P9V_OVERLOAD_1): Likewise.
7256	(BU_P9V_OVERLOAD_2): Likewise.
7257	(BU_P9V_OVERLOAD_3): Likewise.
7258	(VCTZB): Add vector count trailing zeros support.
7259	(VCTZH): Likewise.
7260	(VCTZW): Likewise.
7261	(VCTZD): Likewise.
7262	(VPRTYBD): Add vector parity support.
7263	(VPRTYBQ): Likewise.
7264	(VPRTYBW): Likewise.
7265	(VCTZ): Add overloaded vector count trailing zeros support.
7266	(VPRTYB): Add overloaded vector parity support.
7267	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
7268	overloaded vector count trailing zeros and parity instructions.
7269	* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
7270	vector parity support.
7271	* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
7272	trailing zeros support.
7273	(vec_cntlz): Likewise.
7274	(vec_vctzb): Likewise.
7275	(vec_vctzd): Likewise.
7276	(vec_vctzh): Likewise.
7277	(vec_vctzw): Likewise.
7278	(vec_vprtyb): Add ISA 3.0 vector parity support.
7279	(vec_vprtybd): Likewise.
7280	(vec_vprtybw): Likewise.
7281	(vec_vprtybq): Likewise.
7282	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
7283	the ISA 3.0 vector count trailing zeros and vector parity built-in
7284	functions.
7285
7286	Back port from trunk
7287	2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
7288
7289	* config/rs6000/altivec.md (VNEG iterator): New iterator for
7290	VNEGW/VNEGD instructions.
7291	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
7292	(neg<mode>2): Add expander for V2DImode added in ISA 2.07, and
7293	support for ISA 3.0 VNEGW/VNEGD instructions.
7294
7295	Back port from trunk
7296	2016-05-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
7297
7298	* config/rs6000/predicates.md (quad_memory_operand): Move most of
7299	the code into quad_address_p and call it to share code with
7300	vsx_quad_dform_memory_operand.
7301	(vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector
7302	d-form support.
7303	* config/rs6000/rs6000.opt (-mlra): Switch to being an option mask
7304	bit instead of being a separate word.  Split -mpower9-dform into
7305	two switches, -mpower9-dform-scalar and -mpower9-dform-vector.
7306	* config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask
7307	for the register class supporting 128-bit quad word memory offsets.
7308	(mode_supports_vsx_dform_quad): Helper function to return if the
7309	register class uses quad word memory offsets.
7310	(rs6000_debug_addr_mask): Add support for quad word memory offsets.
7311	(rs6000_debug_reg_global): Always print if we are using LRA or not.
7312	(rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form
7313	instructions are enabled, set up the appropriate addr_masks for
7314	128-bit types.
7315	(rs6000_init_hard_regno_mode_ok): wb constraint is now based on
7316	-mpower9-dform-scalar, instead of -mpower9-dform.
7317	(rs6000_option_override_internal): Split -mpower9-dform into two
7318	switches, -mpower9-dform-scalar and -mpower9-dform-vector.  The
7319	-mpower9-dform switch sets or clears both.  If we are not using
7320	the LRA register allocator, do not enable -mpower9-dform-vector by
7321	default.  If we are using LRA, enable -mpower9-dform-vector and
7322	-mvsx-timode if it is appropriate.  Issue a warning if either
7323	-mpower9-dform-vector or -mvsx-timode are explicitly used without
7324	enabling LRA.
7325	(quad_address_offset_p): New helper function to return if the
7326	offset is legal for quad word memory instructions.
7327	(quad_address_p): New function to determin if GPR or vector
7328	register quad word memory addresses are legal.
7329	(mem_operand_gpr): Validate quad word address offsets.
7330	(reg_offset_addressing_ok_p): Add support for ISA 3.0 vector
7331	d-form (register + offset) instructions.
7332	(offsettable_ok_by_alignment): Likewise.
7333	(rs6000_legitimate_offset_address_p): Likewise.
7334	(legitimate_lo_sum_address_p): Likewise.
7335	(rs6000_legitimize_address): Likewise.
7336	(rs6000_legitimize_reload_address): Add more debug statements for
7337	-mdebug=addr.
7338	(rs6000_legitimate_address_p): Add support for ISA 3.0 vector
7339	d-form instructions.
7340	(rs6000_secondary_reload_memory): Add support for ISA 3.0 vector
7341	d-form instructions.  Distinguish different cases in debug
7342	output.	(rs6000_secondary_reload_inner): Add support for ISA 3.0 vector
7343	d-form instructions.
7344	(rs6000_preferred_reload_class): Likewise.
7345	(rs6000_output_move_128bit): Add support for ISA 3.0 d-form
7346	instructions.  If ISA 3.0 is available, generate lxvx/stxvx instead
7347	of the ISA 2.06 indexed memory instructions.
7348	(rs6000_emit_prologue): If we have ISA 3.0 d-form instructions,
7349	use them to save/restore the saved vector registers instead of
7350	using Altivec instructions.
7351	(rs6000_emit_epilogue): Likewise.
7352	(rs6000_lra_p): Use TARGET_LRA instead of the old option word.
7353	(rs6000_opt_masks): Split -mpower9-dform into
7354	-mpower9-dform-scalar and -mpower9-dform-vector.
7355	(rs6000_print_options_internal): Print -mno-<switch> if <switch>
7356	was not selected.
7357	* config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit
7358	ISA 3.0 vector indexed memory instructions, and fold the code into
7359	the normal mov<mode> patterns.
7360	(p9_vecstore_<mode>): Likewise.
7361	(vsx_mov<mode>): Add support for ISA 3.0 vector d-form
7362	instructions.
7363	(vsx_movti_64bit): Likewise.
7364	(vsx_movti_32bit): Likewise.
7365	* config/rs6000/constraints.md (wO constraint): New constraint for
7366	ISA 3.0 vector d-form support.
7367	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use
7368	-mpower9-dform-scalar instead of -mpower9-dform.  Add note not to
7369	include -mpower9-dform-vector until we switch over to LRA.
7370	(POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two.
7371	switches, -mpower9-dform-scalar and -mpower9-dform-vector.
7372	* config/rs6000/rs6000-protos.h (quad_address_p): Add declaration.
7373	* doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation
7374	for -mpower9-dform and -mlra.
7375	* doc/md.texi (wO constraint): Document wO constraint.
7376
73772016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
7378
7379	* tree-vect-loop.c (vect_determine_vectorization_factor): Also compute
7380	the factor for live Phi nodes.
7381
73822016-06-01  Jakub Jelinek  <jakub@redhat.com>
7383
7384	PR middle-end/71371
7385	* gimplify.c (gimplify_omp_for): Temporarily clear gimplify_omp_ctxp
7386	around creation of the temporary.
7387
73882016-06-01  Eric Botcazou  <ebotcazou@adacore.com>
7389
7390	* tree-vect-loop.c (vect_determine_vectorization_factor): Also take
7391	into account live statements for mask producers.
7392
73932016-05-31  Richard Biener  <rguenther@suse.de>
7394
7395	Backport from mainline
7396	2016-05-11  Richard Biener  <rguenther@suse.de>
7397
7398	PR debug/71057
7399	* dwarf2out.c (retry_incomplete_types): Set early_dwarf.
7400	(dwarf2out_finish): Move retry_incomplete_types call ...
7401	(dwarf2out_early_finish): ... here.
7402
74032016-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7404
7405	PR target/71056
7406	* config/arm/arm-builtins.c (arm_builtin_vectorized_function): Return
7407	NULL_TREE early if NEON is not available.  Remove now redundant check
7408	in ARM_CHECK_BUILTIN_MODE.
7409
74102016-05-31  Tom de Vries  <tom@codesourcery.com>
7411
7412	backport:
7413	2016-05-31  Tom de Vries  <tom@codesourcery.com>
7414
7415	PR tree-optimization/69068
7416	* graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Handle
7417	phis with more than two args.
7418
74192016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
7420
7421	Backport from mainline
7422	2016-05-30  Andreas Tobler  <andreast@gcc.gnu.org>
7423
7424	* config.gcc: Move hard float support for arm*hf*-*-freebsd* into
7425	armv6*-*-freebsd* for FreeBSD 11. Eliminate the arm*hf*-*-freebsd*
7426	target.
7427
74282016-05-30  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7429
7430	Backport from mainline
7431	2016-04-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7432
7433	* config/rs6000/altivec.h: Change definitions of vec_xl and
7434	vec_xst.
7435	* config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New.
7436	(LD_ELEMREV_V2DI): New.
7437	(LD_ELEMREV_V4SF): New.
7438	(LD_ELEMREV_V4SI): New.
7439	(LD_ELEMREV_V8HI): New.
7440	(LD_ELEMREV_V16QI): New.
7441	(ST_ELEMREV_V2DF): New.
7442	(ST_ELEMREV_V2DI): New.
7443	(ST_ELEMREV_V4SF): New.
7444	(ST_ELEMREV_V4SI): New.
7445	(ST_ELEMREV_V8HI): New.
7446	(ST_ELEMREV_V16QI): New.
7447	(XL): New.
7448	(XST): New.
7449	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
7450	descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST.
7451	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from
7452	TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR.
7453	(altivec_expand_builtin): Add handling for
7454	VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>.
7455	(rs6000_invalid_builtin): Add error-checking for
7456	RS6000_BTM_P9_VECTOR.
7457	(altivec_init_builtins): Define builtins used to implement vec_xl
7458	and vec_xst.
7459	(rs6000_builtin_mask_names): Define power9-vector.
7460	* config/rs6000/rs6000.h (MASK_P9_VECTOR): Define.
7461	(RS6000_BTM_P9_VECTOR): Define.
7462	(RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR.
7463	* config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn.
7464	(vsx_ld_elemrev_v2df): Likewise.
7465	(vsx_ld_elemrev_v4sf): Likewise.
7466	(vsx_ld_elemrev_v4si): Likewise.
7467	(vsx_ld_elemrev_v8hi): Likewise.
7468	(vsx_ld_elemrev_v16qi): Likewise.
7469	(vsx_st_elemrev_v2df): Likewise.
7470	(vsx_st_elemrev_v2di): Likewise.
7471	(vsx_st_elemrev_v4sf): Likewise.
7472	(vsx_st_elemrev_v4si): Likewise.
7473	(vsx_st_elemrev_v8hi): Likewise.
7474	(vsx_st_elemrev_v16qi): Likewise.
7475	* doc/extend.texi: Add prototypes for vec_xl and vec_xst.  Correct
7476	grammar.
7477
74782016-05-30  Richard Biener  <rguenther@suse.de>
7479
7480	Backport from mainline
7481	2016-05-11  Richard Biener  <rguenther@suse.de>
7482
7483	PR middle-end/71002
7484	* alias.c (reference_alias_ptr_type): Preserve alias-set zero
7485	if the langhook insists on it.
7486	* fold-const.c (make_bit_field_ref): Add arg for the original
7487	reference and preserve its alias-set.
7488	(decode_field_reference): Take exp by reference and adjust it
7489	to the original memory reference.
7490	(optimize_bit_field_compare): Adjust callers.
7491	(fold_truth_andor_1): Likewise.
7492
7493	2016-05-13  Jakub Jelinek  <jakub@redhat.com>
7494
7495	PR bootstrap/71071
7496	* fold-const.c (fold_checksum_tree): Allow modification
7497	of TYPE_ALIAS_SET during folding.
7498
74992016-05-30  Eric Botcazou  <ebotcazou@adacore.com>
7500
7501	* config/visium/visium.c (visium_split_double_add): Minor tweaks.
7502	(visium_expand_copysign): Use gen_int_mode directly.
7503	(visium_compute_frame_size): Minor tweaks.
7504
75052016-05-30  Tom de Vries  <tom@codesourcery.com>
7506
7507	backport:
7508	2016-05-30  Tom de Vries  <tom@codesourcery.com>
7509
7510	PR tree-optimization/69067
7511	* graphite-isl-ast-to-gimple.c (get_def_bb_for_const): Remove assert.
7512
75132016-05-27  Eric Botcazou  <ebotcazou@adacore.com>
7514
7515	* config/visium/visium-protos.h (split_double_move): Rename into...
7516	(visium_split_double_move): ...this.
7517	(visium_split_double_add): Declare.
7518	* config/visium/visium.c (split_double_move): Rename into...
7519	(visium_split_double_move): ...this.
7520	(visium_split_double_add): New function.
7521	(visium_expand_copysign): Renumber operands for consistency.
7522	* config/visium/visium.md (DImode move splitter): Adjust to renaming.
7523	(DFmode move splitter): Likewise.
7524	(*addi3_insn): Split by means of visium_split_double_add.
7525	(*adddi3_insn_flags): Delete.
7526	(*plus_plus_sltu<subst_arith>): New insn.
7527	(*subdi3_insn): Split by means of visium_split_double_add.
7528	(subdi3_insn_flags): Delete.
7529	(*minus_minus_sltu<subst_arith>): New insn.
7530	(*negdi2_insn): Split by means of visium_split_double_add.
7531	(*negdi2_insn_flags): Delete.
7532
75332016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
7534
7535	Backport from mainline r236810.
7536	2016-05-27  Ilya Enkovich  <ilya.enkovich@intel.com>
7537
7538	PR middle-end/71279
7539	* fold-const.c (fold_ternary_loc): Don't fold VEC_COND_EXPR
7540	into comparison.
7541
75422016-05-25  Eric Botcazou  <ebotcazou@adacore.com>
7543
7544	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
7545	redundant test and bail out if the type of the new operand is not
7546	a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
7547
75482016-05-24  Martin Sebor  <msebor@redhat.com>
7549
7550	PR c++/71147
7551	* tree.h (complete_or_array_type_p): New inline function.
7552
75532016-05-24  Jakub Jelinek  <jakub@redhat.com>
7554
7555	* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
7556	* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
7557	rather than X86_TUNE_AVOID_4BYTE_PREFIXES.  Use SSE_REGS instead
7558	of ALL_SSE_REGS.  Return SSE_REGS also when TARGET_AVX.
7559
75602016-05-24  Jakub Jelinek  <jakub@redhat.com>
7561
7562	PR c++/71257
7563	* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
7564	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
7565	SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
7566	SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
7567	SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
7568
75692016-05-23  Martin Jambor  <mjambor@suse.cz>
7570
7571	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty
7572	default block if a PHI node in the original one would be resized.
7573
75742016-05-23  Martin Jambor  <mjambor@suse.cz>
7575
7576	PR tree-optimization/70884
7577	* tree-sra.c (initialize_constant_pool_replacements): Do not check
7578	should_scalarize_away_bitmap and cannot_scalarize_away_bitmap bits.
7579	(sort_and_splice_var_accesses): Do not consider multiple scalar reads
7580	of constant pool data as a reason for scalarization.
7581
75822016-05-20  Eric Botcazou  <ebotcazou@adacore.com>
7583
7584	* config/arm/arm.c (arm_expand_prologue): Set the stack usage to 0
7585	for naked functions.
7586	(thumb1_expand_prologue): Likewise.
7587
75882016-05-20  Jakub Jelinek  <jakub@redhat.com>
7589
7590	PR c++/71210
7591	* gimple-fold.c (gimple_fold_call): Do not remove lhs of noreturn
7592	calls if the LHS is variable length or has addressable type.
7593	If targets[0]->decl is a noreturn call with void return type and
7594	zero arguments, adjust fntype and remove lhs in that case.
7595
75962016-05-20  Uros Bizjak  <ubizjak@gmail.com>
7597
7598	* sched-deps.c (sched_analyze_2) <case TRAP_IF>: Also
7599	force pending loads from memory.
7600
76012016-05-19  Marek Polacek  <polacek@redhat.com>
7602
7603	Backport from mainline
7604	2016-05-19  Marek Polacek  <polacek@redhat.com>
7605
7606	PR tree-optimization/71031
7607	* tree-vrp.c (extract_range_from_binary_expr_1): Turn assert into a
7608	condition and adjust the code a bit.
7609
76102016-05-19  Martin Jambor  <mjambor@suse.cz>
7611
7612	PR ipa/70646
7613	* ipa-prop.c (determine_locally_known_aggregate_parts): Bail out early
7614	if parameter PARAM_IPA_MAX_AGG_ITEMS is zero.
7615
76162016-05-19  Martin Jambor  <mjambor@suse.cz>
7617
7618	PR ipa/70646
7619	* ipa-inline.h (condition): New field size.
7620	* ipa-inline-analysis.c (add_condition): New parameter SIZE, use it
7621	for comaprison and store it into the new condition.
7622	(evaluate_conditions_for_known_args): Use condition size to check
7623	access sizes for all but CHANGED conditions.
7624	(unmodified_parm_1): New parameter size_p, store access size into it.
7625	(unmodified_parm): Likewise.
7626	(unmodified_parm_or_parm_agg_item): Likewise.
7627	(eliminated_by_inlining_prob): Pass NULL to unmodified_parm as size_p.
7628	(set_cond_stmt_execution_predicate): Extract access sizes and store
7629	them to conditions.
7630	(set_switch_stmt_execution_predicate): Likewise.
7631	(will_be_nonconstant_expr_predicate): Likewise.
7632	(will_be_nonconstant_predicate): Likewise.
7633	(inline_read_section): Stream condition size.
7634	(inline_write_summary): Likewise.
7635	* lto-streamer.h (LTO_minor_version): Bump.
7636
76372016-05-18  Martin Liska  <mliska@suse.cz>
7638
7639	Backport from mainline
7640	2016-05-18  Martin Liska  <mliska@suse.cz>
7641
7642	PR fortran/70856
7643	* ipa-icf.c (sem_variable::merge): Set DECL_PT_UID for
7644	merged variables.
7645
76462016-05-18  Jakub Jelinek  <jakub@redhat.com>
7647
7648	PR c++/71100
7649	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Don't drop
7650	lhs if it has TREE_ADDRESSABLE type.
7651
76522016-05-18  Uros Bizjak  <ubizjak@gmail.com>
7653
7654	PR target/71145
7655	* config/alpha/alpha.md (trap): Add (use (reg:DI 29)).
7656	(*exception_receiver_1): Return "#" for TARGET_EXPLICIT_RELOCS.
7657
76582016-05-17  Thomas Schwinge  <thomas@codesourcery.com>
7659
7660	Backport trunk r235748:
7661	PR target/70860
7662	* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
7663	(nvptx_function_value): Assert non-NULL cfun.
7664
76652016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7666
7667	Backport from mainline
7668	2016-05-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7669
7670	PR target/70809
7671	* config/aarch64/aarch64-simd.md (aarch64_vmls<mode>): Delete.
7672
76732016-05-16  Martin Jambor  <mjambor@suse.cz>
7674
7675	* hsa-gen.c (fillup_for_decl): Increase alignment to natural one.
7676	(get_symbol_for_decl): Sorry if a global symbol in under-aligned.
7677
76782016-05-16  Martin Jambor  <mjambor@suse.cz>
7679
7680	PR hsa/70857
7681	* omp-low.c (grid_expand_target_grid_body): Copy RESULT_DECL of
7682	the outlined kernel function.
7683
76842016-05-16  James Norris  <jnorris@codesourcery.com>
7685
7686	Backport from mainline r236098.
7687	2016-05-10  James Norris  <jnorris@codesourcery.com>
7688
7689	PR driver/68463
7690	* config/rs6000/sysv4.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o
7691	if offloading is enabled and -fopenacc or -fopenmp is specified.
7692	(CRTOFFLOADEND): Likewise.
7693	(STARTFILE_LINUX_SPEC): Add CRTOFFLOADBEGIN.
7694	(ENDFILE_LINUX_SPEC): Add CRTOFFLOADEND.
7695
76962016-05-16  Alan Modra  <amodra@gmail.com>
7697
7698	Apply from mainline
7699	2016-05-10  Alan Modra  <amodra@gmail.com>
7700	PR target/70947
7701	* config/rs6000/rs6000.c (rs6000_expand_split_stack_prologue): Stop
7702	regrename modifying insns saving lr before __morestack call.
7703	* config/rs6000/rs6000.md (split_stack_return): Similarly for
7704	insns restoring lr after __morestack call.
7705
77062016-05-13  Richard Biener  <rguenther@suse.de>
7707
7708	Backport from mainline
7709	2016-04-27  Richard Biener  <rguenther@suse.de>
7710
7711	PR ipa/70760
7712	* tree-ssa-structalias.c (find_func_aliases_for_call): Use
7713	aggregate_value_p to determine if a function result is
7714	returned by reference.
7715
7716	2016-05-06  Richard Biener  <rguenther@suse.de>
7717
7718	PR middle-end/70931
7719	* dwarf2out.c (native_encode_initializer): Skip zero-sized fields.
7720
7721	2016-05-06  Richard Biener  <rguenther@suse.de>
7722
7723	PR middle-end/70941
7724	* fold-const.c (split_tree): Always convert to the original type
7725	before negating.
7726
77272016-05-12  Martin Liska  <mliska@suse.cz>
7728
7729	Backport from mainline
7730	2016-05-10  Martin Liska  <mliska@suse.cz>
7731
7732	* tree-inline.c (remap_dependence_clique): Do not remap
7733	debugging statements.
7734
77352016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
7736
7737	Backport from mainline r236171.
7738	2016-05-12  Ilya Enkovich  <ilya.enkovich@intel.com>
7739
7740	PR tree-optimization/71006
7741	* tree-vect-loop.c (vect_determine_vectorization_factor): Don't
7742	consider COND_EXPR as a mask producer.
7743
77442016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7745
7746	Backport from mainline
7747	2016-05-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7748
7749	PR target/70830
7750	* config/arm/arm.c (arm_output_multireg_pop): Avoid POP instruction
7751	when popping the PC and within an interrupt handler routine.
7752	Add missing tab to output of "ldmfd".
7753	(output_return_instruction): Output LDMFD with SP update rather
7754	than POP when returning from interrupt handler.
7755
77562016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
7757
7758	Backport from mainline r236088.
7759	2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
7760
7761	PR middle-end/70877
7762	* tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
7763	calls with type casted fndecl.
7764
77652016-05-11  Ilya Enkovich  <ilya.enkovich@intel.com>
7766
7767	Backport from mainline r236086.
7768	2016-05-10  Ilya Enkovich  <ilya.enkovich@intel.com>
7769
7770	PR tree-optimization/70876
7771	* tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
7772	* gcc/calls.c (initialize_argument_information): Bind bounds
7773	with corresponding args passed by reference.
7774
77752016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7776
7777	Backport from mainline
7778	2016-05-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7779
7780	PR target/70963
7781	* config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
7782	code for a zero scale factor.
7783	(vsx_xvcvdpuxds_scale): Likewise.
7784
77852016-05-10  Jakub Jelinek  <jakub@redhat.com>
7786
7787	Backported from mainline
7788	2016-05-03  Jakub Jelinek  <jakub@redhat.com>
7789
7790	PR tree-optimization/70916
7791	* tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
7792	if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
7793
77942016-05-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
7795
7796	Backport from mainline r235962.
7797	2016-05-06  Yuri Rumyantsev  <ysrumyan@gmail.com>
7798
7799	PR debug/70935
7800	* tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
7801	loop latch destination.
7802
78032016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7804
7805	Backport from mainline
7806	2016-05-10  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7807
7808	* config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly")
7809	("*fixuns_truncdfdi2_z13")
7810	("*fixuns_trunc<FP:mode><GPR:mode>2_z196")
7811	("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13")
7812	("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX.
7813
78142016-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7815
7816	Backport from mainline
7817	2016-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7818
7819	* config/rtems.h (LIB_SPEC): Add -latomic.
7820
78212016-05-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7822
7823	Backport from mainline
7824	2016-04-27  Joel Sherrill  <joel@rtems.org>
7825
7826	* config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
7827	xilink.ld and flags not relevant to RTEMS.
7828
78292016-05-09  Uros Bizjak  <ubizjak@gmail.com>
7830
7831	* config/i386/i386.md (absneg splitters with general regs): Use
7832	general_reg_operand predicate.
7833	(btsq peephole2): Use x86_64_immediate_operand to check if new
7834	value is suitable for immediate operand.  Generate emitted insn
7835	using RTL expressions.
7836	(btcq peephole2): Ditto.
7837	(btrq peephole2): Ditto.  Generate correct immediate operand
7838	for AND masking.
7839
78402016-05-07  Tom de Vries  <tom@codesourcery.com>
7841
7842	backport:
7843	2016-05-07  Tom de Vries  <tom@codesourcery.com>
7844
7845	PR tree-optimization/70956
7846	* graphite-scop-detection.c (build_cross_bb_scalars_def): Handle NULL
7847	def.
7848
78492016-05-06  Marek Polacek  <polacek@redhat.com>
7850
7851	Backported from mainline
7852	2016-05-06  Marek Polacek  <polacek@redhat.com>
7853
7854	PR sanitizer/70875
7855	* ubsan.c (get_ubsan_type_info_for_type): Remove assert.
7856
78572016-05-06  Marek Polacek  <polacek@redhat.com>
7858
7859	Backported from mainline
7860	2016-04-29  Marek Polacek  <polacek@redhat.com>
7861		    Jakub Jelinek  <jakub@redhat.com>
7862
7863	PR sanitizer/70342
7864	* fold-const.c (tree_single_nonzero_warnv_p): For TARGET_EXPR, use
7865	TARGET_EXPR_SLOT as a base.
7866
78672016-05-04  Eric Botcazou  <ebotcazou@adacore.com>
7868
7869	* tree-ssa-coalesce.c (gimple_can_coalesce_p): Fix reference in head
7870	comment.
7871	(compute_samebase_partition_bases): Fix typo.
7872
78732016-05-03  Pierre-Marie de Rodat  <derodat@adacore.com>
7874
7875	* dwarf2out.c (resolve_args_picking_1): Replace the frame_offset
7876	occurence with frame_offset_ ones.
7877
78782016-04-28  Jakub Jelinek  <jakub@redhat.com>
7879
7880	PR target/70858
7881	* config/i386/i386.c (bdesc_special_args): Add | OPTION_MASK_ISA_64BIT
7882	to __builtin_ia32_lwpval64 and __builtin_ia32_lwpins64.
7883	(bdesc_args): Add | OPTION_MASK_ISA_64BIT to __builtin_ia32_bextr_u64,
7884	__builtin_ia32_bextri_u64, __builtin_ia32_bzhi_di,
7885	__builtin_ia32_pdep_di and __builtin_ia32_pext_di.
7886
78872016-04-28  Eric Botcazou  <ebotcazou@adacore.com>
7888
7889	Backport from mainline
7890	2016-04-27  Eric Botcazou  <ebotcazou@adacore.com>
7891
7892	PR ada/70759
7893	* stor-layout.h (internal_reference_types): Delete.
7894	* stor-layout.c (reference_types_internal): Likewise.
7895	(internal_reference_types): Likewise.
7896	(layout_type) <REFERENCE_TYPE>: Adjust.
7897
78982016-04-27  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7899
7900	Backport from mainline
7901	2016-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7902
7903	* config/rs6000/rs6000-builtin.def: Correct pasto error for
7904	stxvd2x and stxvw4x built-in functions.
7905
79062016-04-27  H.J. Lu  <hongjiu.lu@intel.com>
7907
7908	Backported from mainline
7909	2016-04-21  H.J. Lu  <hongjiu.lu@intel.com>
7910
7911	PR target/70750
7912	* config/i386/predicates.md (call_insn_operand): Replace
7913	sibcall_memory_operand with memory_operand.
7914
79152016-04-27  Richard Biener  <rguenther@suse.de>
7916
7917	PR ipa/70785
7918	* tree-ssa-structalias.c (refered_from_nonlocal_fn): New
7919	function cummulating used_from_other_partition, externally_visible
7920	and force_output from aliases.
7921	(refered_from_nonlocal_var): Likewise.
7922	(ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
7923	node flags properly.
7924
79252016-04-27  Jakub Jelinek  <jakub@redhat.com>
7926
7927	Backported from mainline
7928	2016-04-23  Jakub Jelinek  <jakub@redhat.com>
7929
7930	PR sanitizer/70712
7931	* cfgexpand.c (expand_stack_vars): Fix typo.
7932
7933	2016-04-19  Jakub Jelinek  <jakub@redhat.com>
7934
7935	PR middle-end/70680
7936	* gimplify.c (gimplify_omp_for): Call omp_notice_variable for
7937	implicitly linear or lastprivate iterator on the outer context.
7938
79392016-04-27  Kirill Yukhin  <kirill.yukhin@intel.com>
7940
7941	PR target/70728
7942	* gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
7943	Extract AVX-512BW constraint from AVX.
7944
79452016-04-27  Jakub Jelinek  <jakub@redhat.com>
7946
7947	* BASE-VER: Set to 6.1.1.
7948
79492016-04-27  Release Manager
7950
7951	* GCC 6.1.0 released.
7952
79532016-04-25  Richard Biener  <rguenther@suse.de>
7954
7955	PR tree-optimization/70780
7956	* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
7957	wasn't visited yet.
7958	(compute_antic): Mark blocks with abnormal preds as visited as
7959	they have a final empty antic-in solution already.
7960
79612016-04-22  H.J. Lu  <hongjiu.lu@intel.com>
7962
7963	Backport from mainline
7964	2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
7965
7966	* doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
7967
79682016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
7969
7970	* system.h (list, map, set, vector): Include conditionally.
7971	* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
7972	* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
7973	* ipa-icf.c (INCLUDE_LIST): Define.
7974	* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
7975	* config/sh/sh.c (INCLUDE_VECTOR): Define.
7976	* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
7977	(INCLUDE_LIST, INCLUDE_VECTOR): Define.
7978	* cp/logic.cc (INCLUDE_LIST): Define.
7979	* fortran/trans-common.c (INCLUDE_MAP): Define.
7980
79812016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
7982
7983	* auto-profile.c: Remove <string.h> include.
7984	* ipa-icf-gimple.c: Remove <list> include.
7985	* diagnostic.c: Remove <new> include.
7986	* genmatch.c: Likewise.
7987	* pretty-print.c: Likewise.
7988	* toplev.c: Likewise
7989	* c/c-objc-common.c: Likewise.
7990	* cp/error.c: Likewise.
7991	* fortran/error.c: Likewise.
7992
79932016-04-21  Richard Biener  <rguenther@suse.de>
7994
7995	PR middle-end/70747
7996	* fold-const.c (fold_comparison): Return properly typed
7997	constant boolean.
7998
79992016-04-20  Andrew Pinski  <apinski@cavium.com>
8000	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8001
8002	PR target/64971
8003	* config/aarch64/aarch64.md (sibcall): Force call
8004	address to be DImode for ILP32.
8005	(sibcall_value): Likewise.
8006
80072016-04-20  Marek Polacek  <polacek@redhat.com>
8008
8009	* tree-if-conv.c (is_false_predicate): For NULL_TREE return false
8010	rather than true.
8011
80122016-04-20  Marek Polacek  <polacek@redhat.com>
8013
8014	PR tree-optimization/70725
8015	* tree-if-conv.c (is_false_predicate): New function.
8016	(predicate_mem_writes): Use it.
8017
80182016-04-20  Richard Biener  <rguenther@suse.de>
8019
8020	PR tree-optimization/70726
8021	* tree-vect-stmts.c (vectorizable_shift): Do not use scalar
8022	shift amounts from a pattern stmt operand.
8023
80242016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
8025
8026	PR target/70674
8027	* config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
8028	stack_restore_from_fpr pattern when restoring r15.
8029	(s390_optimize_prologue): Strip away the memory barrier in the
8030	parallel when trying to get rid of restore insns.
8031	* config/s390/s390.md ("stack_restore_from_fpr"): New insn
8032	definition for loading the stack pointer from an FPR.  Compared to
8033	the normal move insn this pattern includes a full memory barrier.
8034
80352016-04-19  Richard Biener  <rguenther@suse.de>
8036
8037	PR tree-optimization/70724
8038	* tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
8039	restoring out from ...
8040	(free_scc_vn): ... here.
8041	* tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
8042	* tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
8043	tail merging.
8044	(pass_fre::execute): Restore SSA info.
8045
80462016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8047
8048	* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
8049	gld requirements.
8050	(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc
8051	versions.
8052	Mention Solaris 11 packaging changes.
8053	Update gas and gld requirements.
8054	Remove reference to pre-Solaris 10 bug.
8055	(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
8056	systems and bugs.
8057	(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
8058	with cc.
8059
80602016-04-18  Matthew Wahab  <matthew.wahab@arm.com>
8061
8062	PR target/70711
8063	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
8064	armv8.1-a and armv8.1-a+crc.
8065
80662016-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
8067
8068	* has-brig.c (lendian16): Don't try to use __builtin_bswap16
8069	unless compiling with at least GCC-4.8.
8070
80712016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
8072
8073	PR target/70662
8074	* config/i386/sse.md (define_insn "<avx512>_vec_dup<mode><mask_name>"):
8075	Fix mode size check.
8076
80772016-04-15  Jakub Jelinek  <jakub@redhat.com>
8078
8079	* BASE-VER: Set to 6.0.1.
8080	* DEV-PHASE: Set to prerelease.
8081
80822016-04-15  Alexander Monakov  <amonakov@ispras.ru>
8083
8084	* config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
8085
80862016-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8087
8088	* doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
8089	architecture revisions.
8090
80912016-04-15  Bernd Schmidt  <bschmidt@redhat.com>
8092
8093	* config/i386/i386-protos.h (ix86_using_red_zone): Declare.
8094	* config/i386/i386.c (ix86_using_red_zone): No longer static.
8095	* config/i386/i386.md (stack decrement to push peepholes): Guard
8096	with !x86_using_red_zone ().
8097
80982016-04-15  Jakub Jelinek  <jakub@redhat.com>
8099
8100	PR c++/70675
8101	* tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
8102	to dump_generic_node.
8103	(NIY): Pass also flags to do_niy.
8104
81052016-04-15  Thomas Schwinge  <thomas@codesourcery.com>
8106
8107	* omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
8108	(simd_clone_vector_of_formal_parm_types)
8109	(simd_clone_clauses_extract, simd_clone_compute_base_data_type)
8110	(simd_clone_mangle, simd_clone_create)
8111	(simd_clone_adjust_return_type, create_tmp_simd_array)
8112	(simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
8113	(struct modify_stmt_info, ipa_simd_modify_stmt_ops)
8114	(ipa_simd_modify_function_body, simd_clone_linear_addend)
8115	(simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
8116	(pass_data_omp_simd_clone, class pass_omp_simd_clone)
8117	(pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move
8118	into...
8119	* omp-simd-clone.c: ... this new file.
8120	(simd_clone_vector_of_formal_parm_types): Make it static.
8121	* Makefile.in (OBJS): Add omp-simd-clone.o.
8122
81232016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
8124
8125	PR target/70662
8126	* config/i386/sse.md: Use proper memory operand
8127	modifiers.
8128
8129
81302016-04-15  Richard Biener  <rguenther@suse.de>
8131	Alan Modra  <amodra@gmail.com>
8132
8133	PR tree-optimization/70130
8134	* tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
8135	when alignment stays not the same and no not use the realign
8136	scheme then.
8137
81382016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
8139
8140	PR target/70669
8141	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
8142	direct move handlers for KFmode. Change TFmode handlers test from
8143	FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
8144
81452016-04-14  Jakub Jelinek  <jakub@redhat.com>
8146
8147	PR c++/70594
8148	* ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
8149	* ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
8150	(inlined_polymorphic_ctor_dtor_block_p): Use it.
8151	* tree-ssa-live.c (remove_unused_scope_block_p): When
8152	in_ctor_dtor_block, avoid discarding not just BLOCKs with
8153	BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
8154	block_ultimate_origin is FUNCTION_DECL.
8155	(remove_unused_locals): If current_function_decl is
8156	polymorphic_ctor_dtor_p, pass initial true to
8157	remove_unused_scope_block_p' is_ctor_dtor_block.
8158
81592016-04-14  Martin Sebor  <msebor@redhat.com>
8160
8161	PR c++/69517
8162	PR c++/70019
8163	PR c++/70588
8164	* doc/extend.texi (Variable Length): Revert.
8165
81662016-04-14  Marek Polacek  <polacek@redhat.com>
8167	    Jan Hubicka  <hubicka@ucw.cz>
8168
8169	PR c++/70029
8170	* tree.c (verify_type): Disable the canonical type of main variant
8171	check.
8172
81732016-04-14  Jason Merrill  <jason@redhat.com>
8174
8175	* cfgexpand.c, expr.c: Revert previous change.
8176
81772016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
8178
8179	PR middle-end/70643
8180	* omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
8181	when building a mem ref for the incoming reduction variable.
8182
81832016-04-14  Richard Biener  <rguenther@suse.de>
8184
8185	PR tree-optimization/70614
8186	* tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
8187	loop if the evolution dropped to chrec_dont_know.
8188	(interpret_condition_phi): Likewise.
8189
81902016-04-14  Richard Biener  <rguenther@suse.de>
8191
8192	PR tree-optimization/70623
8193	* tree-ssa-pre.c (changed_blocks): Make global ...
8194	(compute_antic): ... local here.  Move and fix worklist
8195	handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
8196	(compute_antic_aux): Add dumping for MAX assumed succs.  Remove
8197	worklist handling, dump when ANTIC_IN changed.
8198	(compute_partial_antic_aux): Remove worklist handling.
8199	(init_pre): Do not compute post dominators.  Add a comment about
8200	the CFG order chosen.
8201	(fini_pre): Do not free post dominators.
8202
82032016-04-13  Martin Sebor  <msebor@redhat.com>
8204
8205	PR c++/69517
8206	PR c++/70019
8207	PR c++/70588
8208	* doc/extend.texi (Variable Length): Document C++ specifics.
8209
82102016-04-13  Jakub Jelinek  <jakub@redhat.com>
8211
8212	PR c++/70641
8213	* ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
8214	on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
8215	eh edges have been purged.
8216
8217	PR c++/70594
8218	* tree-sra.c (create_access_replacement,
8219	get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
8220	gets fancy name.
8221	* tree-pretty-print.c (dump_fancy_name): New function.
8222	(dump_decl_name, dump_generic_node): Use it.
8223
82242016-04-13  Jason Merrill  <jason@redhat.com>
8225
8226	* cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
8227	* expr.c (expand_expr_real_1): Likewise.
8228
82292016-04-13  Ilya Enkovich  <ilya.enkovich@intel.com>
8230
8231	* config/i386/i386.md (kunpckhi): Swap operands.
8232	(kunpcksi): Likewise.
8233	(kunpckdi): Likewise.
8234	* config/i386/sse.md (vec_pack_trunc_qi): Likewise.
8235	(vec_pack_trunc_<mode>): Likewise.
8236
82372016-04-13  Jakub Jelinek  <jakub@redhat.com>
8238
8239	PR debug/70628
8240	* explow.c (convert_memory_address_addr_space_1): Formatting fix.
8241
8242	PR middle-end/70633
8243	* gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
8244	gimplification turns some element into non-constant.
8245
8246	PR debug/70628
8247	* rtl.h (convert_memory_address_addr_space_1): New prototype.
8248	* explow.c (convert_memory_address_addr_space_1): No longer static,
8249	add NO_EMIT argument and don't call convert_modes if true, pass
8250	it down recursively, remove break after return.
8251	(convert_memory_address_addr_space): Adjust caller.
8252	* simplify-rtx.c (simplify_unary_operation_1): Call
8253	convert_memory_address_addr_space_1 instead of convert_memory_address,
8254	if it returns NULL, don't simplify.
8255
82562016-04-12  Eric Botcazou  <ebotcazou@adacore.com>
8257
8258	PR target/70630
8259	* config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
8260
82612016-04-12  Jakub Jelinek  <jakub@redhat.com>
8262
8263	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
8264	Bump the upper SIMDLEN limits, so that if the return type or
8265	characteristic type if the return type is void can be passed in
8266	all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
8267	allowed.
8268
82692016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
8270
8271	PR target/70640
8272	* config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
8273	Do not use "=" constraint on an input constraint.
8274	(ieee_128bit_vsx_abs<mode>2_internal): Likewise.
8275	(ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
8276	(ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
8277	generates (neg (abs ...)) instead of (abs ...).
8278
82792016-04-12  Jakub Jelinek  <jakub@redhat.com>
8280
8281	PR rtl-optimization/70596
8282	* lra-spills.c (spill_pseudos): Don't delete debug insns, instead
8283	just invalidate LRA data and reset them.  Adjust dump wording.
8284
82852016-04-12  Martin Liska  <mliska@suse.cz>
8286
8287	Revert
8288	2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
8289
8290	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
8291	estimates here.
8292	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
8293	max_loop_iterations_int.
8294	(tree_unswitch_outer_loop): Likewise.
8295	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
8296	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
8297
82982016-04-12  Tom de Vries  <tom@codesourcery.com>
8299
8300	PR tree-optimization/68756
8301	* graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
8302	instead of new_name.
8303
83042016-04-12  Jakub Jelinek  <jakub@redhat.com>
8305
8306	PR tree-optimization/70602
8307	* tree-sra.c (generate_subtree_copies): Don't write anything into
8308	constant pool decls.
8309
8310	* omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
8311	regardless whether there are depend clauses or not.
8312
83132016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
8314
8315	PR target/70381
8316	* config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
8317	target attribute and pragma from changing the -mfloat128
8318	and -mfloat128-hardware options.
8319
8320	* doc/extend.texi (Additional Floating Types): Document PowerPC
8321	__float128 restrictions.
8322
83232016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
8324
8325	PR target/70133
8326	* config/aarch64/driver-aarch64.c
8327	(aarch64_get_extension_string_for_isa_flags): New.
8328	(arch_extension): Rename to...
8329	(aarch64_arch_extension): ...This.
8330	(ext_to_feat_string): Rename to...
8331	(aarch64_extensions): ...This.
8332	(aarch64_core_data): Keep track of architecture extension flags.
8333	(cpu_data): Rename to...
8334	(aarch64_cpu_data): ...This.
8335	(aarch64_arch_driver_info): Keep track of architecture extension
8336	flags.
8337	(get_arch_name_from_id): Rename to...
8338	(get_arch_from_id): ...This, change return type.
8339	(host_detect_local_cpu): Update and reformat for renames, handle
8340	extensions through common infrastructure.
8341
83422016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
8343
8344	PR target/70133
8345	* config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
8346	track of a canonical flag name.
8347	(all_extensions): Likewise.
8348	(arch_to_arch_name): Also track extension flags enabled by the arch.
8349	(all_architectures): Likewise.
8350	(aarch64_parse_extension): Move to here.
8351	(aarch64_get_extension_string_for_isa_flags): Take a new argument,
8352	rework.
8353	(aarch64_rewrite_selected_cpu): Update for above change.
8354	* config/aarch64/aarch64-option-extensions.def: Rework the way flags
8355	are handled, such that the single explicit value enabled by an
8356	extension is kept seperate from the implicit values it also enables.
8357	* config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
8358	to here.
8359	(aarch64_parse_extension): New.
8360	* config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
8361	here to config/aarch64/aarch64-protos.h.
8362	(aarch64_parse_extension): Move from here to
8363	common/config/aarch64/aarch64-common.c.
8364	(aarch64_option_print): Update.
8365	(aarch64_declare_function_name): Likewise.
8366	(aarch64_start_file): Likewise.
8367	* config/aarch64/driver-aarch64.c (arch_extension): Keep track of
8368	the canonical flag for extensions.
8369	* config.gcc (aarch64*-*-*): Extend regex for capturing extension
8370	flags.
8371
83722016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
8373
8374	* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
8375	AARCH64_FL_CRC.
8376
83772016-04-09  Tom de Vries  <tom@codesourcery.com>
8378
8379	PR tree-optimization/68953
8380	* graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
8381	first to last subscript.
8382
83832016-04-09  Jakub Jelinek  <jakub@redhat.com>
8384
8385	PR tree-optimization/70586
8386	* tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
8387	for any calls.
8388
83892016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
8390
8391	PR lto/70289
8392	PR ipa/70348
8393	PR tree-optimization/70373
8394	PR middle-end/70533
8395	PR middle-end/70534
8396	PR middle-end/70535
8397	* gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
8398	clauses for acc parallel reductions as necessary.  Error on those
8399	that are private.
8400	* omp-low.c (scan_sharing_clauses): Don't install variables which
8401	are used in acc parallel reductions.
8402	(lower_rec_input_clauses): Remove dead code.
8403	(lower_oacc_reductions): Add support for reference reductions.
8404	(lower_reduction_clauses): Remove dead code.
8405	(lower_omp_target): Don't remap variables appearing in acc parallel
8406	reductions.
8407	* tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
8408
84092016-04-08  Jakub Jelinek  <jakub@redhat.com>
8410
8411	PR middle-end/70593
8412	* tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
8413	with multiple SSA_NAME defs, force the outputs other than first
8414	to be live before calling live_track_process_def on each output.
8415
8416	PR rtl-optimization/70574
8417	* fwprop.c (forward_propagate_and_simplify): Don't add
8418	REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
8419	(try_fwprop_subst): Don't add REG_EQUAL note if there are any
8420	paradoxical subregs within *loc.
8421
84222016-04-08  Thomas Schwinge  <thomas@codesourcery.com>
8423
8424	* config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
8425	-ftree-parallelize-loops={0,1}.
8426	* config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
8427	* config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
8428	* config/ia64/hpux.h (LIB_SPEC): Likewise.
8429	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
8430	* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
8431
84322016-04-08  Maxim Ostapenko  <m.ostapenko@samsung.com>
8433
8434	PR sanitizer/70541
8435	* asan.c (instrument_derefs): If we get unknown location, extract it
8436	with EXPR_LOCATION.
8437	(maybe_instrument_call): Instrument gimple_call's arguments if needed.
8438
84392016-04-08  Tom de Vries  <tom@codesourcery.com>
8440
8441	* omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
8442	implicit firstprivate clause.
8443
84442016-04-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8445
8446	PR target/70566
8447	* config/arm/thumb2.md (tst + branch-> lsls + branch
8448	peephole below *orsi_not_shiftsi_si): Require that condition
8449	register is dead after the peephole.
8450	(second peephole after the above): Likewise.
8451
84522016-04-08  Alan Modra  <amodra@gmail.com>
8453
8454	PR target/70117
8455	* builtins.c (fold_builtin_classify): For IBM extended precision,
8456	look at just the high-order double to test for NaN.
8457	(fold_builtin_interclass_mathfn): Similarly for Inf.  For isnormal
8458	test just the high double for Inf but both doubles for subnormal
8459	limit.
8460
84612016-04-07  Jakub Jelinek  <jakub@redhat.com>
8462
8463	* cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
8464	* omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
8465	node->simdclone->mask_mode != VOIDmode masks.
8466	(simd_clone_adjust_argument_types): Likewise.  Move sc var definition
8467	earlier, use it instead of node->simdclone.
8468	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
8469	Set clonei->mask_mode.
8470
84712016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
8472
8473	PR c/70436
8474	* parser.c (cp_parser_iteration_statement): New parameter IF_P.
8475	Pass it through to cp_parser_already_scoped_statement.
8476	(cp_parser_already_scoped_statement): New parameter IF_P.  Pass
8477	it through to cp_parser_statement.
8478	(cp_parser_statement): Pass IF_P through to
8479	cp_parser_iteration_statement.
8480	(cp_parser_pragma): Adjust call to
8481	cp_parser_iteration_statement.
8482
84832016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
8484
8485	PR c/70436
8486	* gimplify.c (gimplify_omp_ordered): Add explicit braces to
8487	resolve a future -Wparentheses warning.
8488	* omp-low.c (scan_sharing_clauses): Likewise.
8489	* tree-parloops.c (eliminate_local_variables): Likewise.
8490
84912016-04-06  Vladimir Makarov  <vmakarov@redhat.com>
8492
8493	PR rtl-optimization/70398
8494	* lra-constraints.c (process_address_1): Check zero scale and code
8495	for reloading with zero scale.
8496
84972016-04-06  Uros Bizjak  <ubizjak@gmail.com>
8498
8499	* config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
8500	(ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
8501
85022016-04-06  Jakub Jelinek  <jakub@redhat.com>
8503
8504	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
8505	Add support for AVX512F clones, include them by default for
8506	exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
8507	and use it if charasteric type is 8-bit, for AVX512F allow simdlen
8508	up to 128.
8509
8510	PR middle-end/70550
8511	* tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
8512	* gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
8513	firstprivate clauses.
8514	* omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
8515	OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
8516	(lower_omp_target): Set TREE_NO_WARNING for
8517	non-addressable possibly uninitialized vars which are copied into
8518	addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
8519
85202016-04-05  John David Anglin  <danglin@gcc.gnu.org>
8521
8522	* config/pa/predicates.md (integer_store_memory_operand): Accept
8523	REG+D operands with a large offset when reload_in_progress is true.
8524	(floating_point_store_memory_operand): Likewise.
8525
85262016-04-05  Jakub Jelinek  <jakub@redhat.com>
8527
8528	PR c++/70336
8529	* match.pd (nested int casts): Limit to GIMPLE.
8530
85312016-04-05  Jan Hubicka  <hubicka@ucw.cz>
8532
8533	PR ipa/66223
8534	* ipa-devirt.c (maybe_record_node): Fix comment; use
8535	SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
8536
85372016-04-05  Jakub Jelinek  <jakub@redhat.com>
8538
8539	PR rtl-optimization/70542
8540	* ree.c (add_removable_extension): For VECTOR_MODE_P punt
8541	if there are any uses other than insn or debug insns.
8542
85432016-04-05  Marc Glisse  <marc.glisse@inria.fr>
8544	    Jakub Jelinek  <jakub@redhat.com>
8545
8546	PR tree-optimization/70509
8547	* simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
8548	Shift HOST_WIDE_INT_1U instead of 1.
8549
85502016-04-05  Zdenek Sojka  <zsojka@seznam.cz>
8551
8552	PR tree-optimization/70509
8553	* tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
8554	of the vector base type for index.
8555
85562016-04-05  Uros Bizjak  <ubizjak@gmail.com>
8557
8558	PR target/70510
8559	* config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
8560
85612016-04-05  Richard Biener  <rguenther@suse.de>
8562
8563	PR tree-optimization/70526
8564	* tree-sra.c (build_ref_for_offset): Use prev_base to
8565	extract the alias pointer type.
8566
85672016-04-05  Richard Biener  <rguenther@suse.de>
8568
8569	* dse.c (struct store_info): Remove alias_set member.
8570	(struct read_info_type): Likewise.
8571	(clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
8572	spill_deleted, clear_alias_set_lookup): Remove.
8573	(get_group_info): Remove dead base == NULL_RTX case.
8574	(dse_step0): Remove initialization of removed variables.
8575	(delete_dead_store_insn): Reomve alias set dumping.
8576	(free_read_records): Remove alias_set handling.
8577	(canon_address): Remove alias_set_out parameter.
8578	(record_store): Remove spill_alias_set, it's always zero.
8579	(check_mem_read_rtx): Likewise.
8580	(dse_step2): Rename from ...
8581	(dse_step2_nospill): ... this.  Adjust.
8582	(scan_stores): Rename from ...
8583	(scan_stores_nospill): ... this.
8584	(scan_reads): Rename from ...
8585	(scan_reads_nospill): ... this.
8586	(scan_stores_spill, scan_reads_spill): Remove.
8587	(dse_step3_scan): Remove for_spills argument which is always false.
8588	(dse_step3): Likewise.
8589	(dse_step5): Rename from ...
8590	(dse_step5_nospill): ... this.  Remove alias_set handling.
8591	(rest_of_handle_dse): Adjust.
8592
85932016-04-05  Jakub Jelinek  <jakub@redhat.com>
8594
8595	PR target/70525
8596	* config/i386/sse.md (*andnot<mode>3): Simplify assertions.
8597	Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
8598	V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
8599	(*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
8600
86012016-04-05  Richard Biener  <rguenther@suse.de>
8602
8603	PR middle-end/70499
8604	* gimplify-me.c (gimple_regimplify_operands): Do not rewrite
8605	non-register type temporaries into SSA.
8606
86072016-04-04  Jan Hubicka  <hubicka@ucw.cz>
8608
8609	PR ipa/66223
8610	* ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
8611	calls when sanitizing.
8612	(possible_polymorphic_call_target_p): Fix formatting.
8613
86142016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
8615	    Jakub Jelinek <jakub@redhat.com>
8616
8617	PR middle-end/70457
8618	* tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
8619	to ensure a call statement is compatible with a built-in's
8620	prototype.
8621	* tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
8622	Likewise.
8623
86242016-04-04  Richard Biener  <rguenther@suse.de>
8625
8626	PR rtl-optimization/70484
8627	* rtl.h (canon_output_dependence): Declare.
8628	* alias.c (canon_output_dependence): New function.
8629	* dse.c (record_store): Use canon_output_dependence rather
8630	than canon_true_dependence.
8631
86322016-03-30  Jan Hubicka  <hubicka@ucw.cz>
8633
8634	PR ipa/68881
8635	* cgraph.h (symtab_node::copy_visibility_from): New function.
8636	* symtab.c (symtab_node::copy_visibility_from): New function.
8637	* ipa-visibility.c (optimize_weakref): New function.
8638	(function_and_variable_visibility): Use it.
8639
86402016-04-04  Martin Liska  <mliska@suse.cz>
8641
8642	PR hsa/70402
8643	* hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
8644	value that is really in range handled by SBR instruction.
8645	* hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
8646	* hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
8647	* hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
8648
86492016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
8650
8651	PR target/70416
8652	PR target/67391
8653	* config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
8654	set, but not for SP_REG operands.
8655
86562016-04-02  Martin Sebor  <msebor@redhat.com>
8657
8658	PR c++/67376
8659	* fold-const.c (maybe_nonzero_address): New function.
8660	(fold_comparison): Call it.  Fold equality and relational
8661	expressions involving null pointers.
8662	(tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
8663
86642016-03-31  Evandro Menezes  <e.menezes@samsung.com>
8665
8666	Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
8667	the "Y" constraint (scalar FP 0.0 immediate).
8668
8669	* gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
8670	Add the "const_double" to the list of operand constraints.
8671
86722016-04-01  Jakub Jelinek  <jakub@redhat.com>
8673
8674	PR rtl-optimization/70467
8675	* config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
8676	If low word of the last operand is 0, just emit addition/subtraction
8677	for the high word.
8678
86792016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
8680
8681	PR target/70404
8682	* config/s390/s390.c (s390_expand_insv): Check for everything
8683	constant instead of just VOIDmode stuff.
8684
86852016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
8686
8687	PR target/70496
8688	* config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
8689
86902016-04-01  Nathan Sidwell  <nathan@acm.org>
8691
8692	* tree.def (TRY_CATCH_EXPR): Correct documentation.
8693
86942016-03-31  Vladimir Makarov  <vmakarov@redhat.com>
8695
8696	PR rtl-optimization/70461
8697	* ira-color.c (allocno_copy_cost_saving): Use allocno class if it
8698	is necessary.
8699
87002016-03-31  Martin Liska  <mliska@suse.cz>
8701
8702	PR hsa/70399
8703	* hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
8704	a tree value or an immediate integer value to a buffer
8705	that is eventually copied to a BRIG section.
8706	(emit_immediate_operand): Call the function here.
8707	* hsa-dump.c (dump_hsa_immed): Remove checking assert.
8708	* hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
8709	of class' fields that are removed.
8710	(hsa_op_immed::~hsa_op_immed): Remove deinitialization.
8711	* hsa.h (class hsa_op_immed): Remove m_brig_repr and
8712	m_brig_repr_size fields.
8713
87142016-03-31  Martin Liska  <mliska@suse.cz>
8715
8716	PR hsa/70391
8717	* hsa-gen.c (hsa_function_representation::update_dominance): New
8718	function.
8719	(convert_addr_to_flat_segment): Likewise.
8720	(gen_hsa_memory_set): New alignment argument.
8721	(gen_hsa_ctor_assignment): Likewise.
8722	(gen_hsa_insns_for_single_assignment): Provide alignment
8723	to gen_hsa_ctor_assignment.
8724	(gen_hsa_insns_for_direct_call): Add new argument.
8725	(expand_lhs_of_string_op): New function.
8726	(expand_string_operation_builtin): Likewise.
8727	(expand_memory_copy): New function.
8728	(expand_memory_set): New function.
8729	(gen_hsa_insns_for_call): Use HOST_WIDE_INT.
8730	(convert_switch_statements): Change signature.
8731	(generate_hsa): Use a return value of the function.
8732	(pass_gen_hsail::execute): Do not call
8733	convert_switch_statements here.
8734	* hsa-regalloc.c (hsa_regalloc): Call update_dominance.
8735	* hsa.h (hsa_function_representation::m_modified_cfg): New flag.
8736	(hsa_function_representation::update_dominance): New function.
8737
87382016-03-31  Martin Liska  <mliska@suse.cz>
8739
8740	PR hsa/70391
8741	* hsa-brig.c (emit_directive_variable): Emit alignment
8742	according to hsa_symbol::m_align.
8743	* hsa-dump.c (hsa_byte_alignment): Move the function to	another file.
8744	(dump_hsa_symbol): Dump alignment of HSA symbols.
8745	* hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
8746	(gen_hsa_addr_with_align): New function.
8747	(hsa_bitmemref_alignment): Use newly added function.
8748	(gen_hsa_insns_for_load): Likewise.
8749	(gen_hsa_insns_for_store): Likewise.
8750	(gen_hsa_memory_copy): New argument added.
8751	(gen_hsa_insns_for_single_assignment): Respect
8752	alignment for assignments processed via gen_hsa_memory_copy.
8753	(gen_hsa_insns_for_direct_call): Likewise.
8754	(gen_hsa_insns_for_return): Likewise.
8755	(gen_function_def_parameters): Set default alignment.
8756	* hsa.c (hsa_object_alignment): New function.
8757	(hsa_byte_alignment): Pasted function.
8758	* hsa.h (hsa_symbol::m_align): New field.
8759
87602016-03-31  Bin Cheng  <bin.cheng@arm.com>
8761
8762	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
8763	scratch field for goto case.
8764
87652016-03-31  James Greenhalgh  <james.greenhalgh@arm.com>
8766
8767	* config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
8768
87692016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
8770
8771	PR target/70442
8772	* config/i386/i386.c (scalar_chain::convert_op): Fix description.
8773	(scalar_chain::convert_insn): Call convert_op for reg
8774	moves to handle undefined registers.
8775
87762016-03-31  Nathan Sidwell  <nathan@acm.org>
8777
8778	PR c++/70393
8779	* varasm.c (output_constructor_regular_field): Flush bitfield earlier.
8780	Assert we don't want to move backwards.
8781
87822016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
8783
8784	PR target/70453
8785	* config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
8786
87872016-03-31  Jakub Jelinek  <jakub@redhat.com>
8788
8789	PR rtl-optimization/70460
8790	* ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
8791	with operand from REG_LABEL_OPERAND, instead substitute
8792	SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
8793	Don't do anything for REG_NON_LOCAL_GOTO jumps.
8794
87952016-03-31  Martin Liska  <mliska@suse.cz>
8796
8797	* passes.c (execute_one_pass): Do not call
8798	todo_after for a discarded function.
8799
88002016-03-31  Bin Cheng  <bin.cheng@arm.com>
8801
8802	* tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
8803	(no_cost, infinite_cost): Initialize the new field.
8804	(get_computation_cost_at): Record setup cost.
8805	(determine_use_iv_cost_address): Skip cost computation for sub
8806	uses if we can estimate it without losing accuracy.
8807
88082016-03-30  Jan Hubicka  <hubicka@ucw.cz>
8809
8810	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
8811	estimates here.
8812	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
8813	max_loop_iterations_int.
8814	(tree_unswitch_outer_loop): Likewise.
8815	* tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
8816	* tree-vect-loop.c (vect_analyze_loop_2): Likewise.
8817
88182016-03-30  Richard Biener  <rguenther@suse.de>
8819
8820	PR middle-end/70450
8821	* fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
8822
88232016-03-30  Jakub Jelinek  <jakub@redhat.com>
8824
8825	PR target/70421
8826	* config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
8827	in gen_blendm expander.
8828
88292016-03-30  Nick Clifton  <nickc@redhat.com>
8830
8831	PR target/62254
8832	* config/arm/arm.c (arm_reload_out_hi): Add code to handle the
8833	case where we are already provided with an SImode SUBREG.
8834
88352016-03-30  H.J. Lu  <hongjiu.lu@intel.com>
8836
8837	PR target/70439
8838	* config/i386/i386.c (ix86_expand_epilogue): Properly check
8839	conflict between DRAP register and __builtin_eh_return.
8840
88412016-03-30  Michael Matz  <matz@suse.de>
8842	    Richard Biener  <rguenther@suse.de>
8843
8844	PR ipa/12392
8845	* ipa-polymorphic-call.c (struct type_change_info): Change
8846	speculative to an unsigned allowing to limit the work we do.
8847	(csftc_abort_walking_p): New inline function..
8848	(check_stmt_for_type_change): Limit the number of may-defs
8849	skipped for speculative devirtualization to
8850	max-speculative-devirt-maydefs.
8851	* params.def (max-speculative-devirt-maydefs): New param.
8852	* doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
8853
88542016-03-30  Mike Stump  <mrs@gcc.gnu.org>
8855
8856	PR target/63890
8857	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
8858	and TARGET_MACHO.
8859
88602016-03-30  Patrick Palka  <ppalka@gcc.gnu.org>
8861
8862	PR tree-optimization/59124
8863	* tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
8864	where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
8865
88662016-03-29  Jeff Law  <law@redhat.com>
8867
8868	* tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
8869
88702016-03-10  Jan Hubicka  <hubicka@ucw.cz>
8871
8872	* tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
8873	to HOST_WIDE_INT.
8874
88752016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
8876
8877	* config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
8878	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
8879	gcrt0.o if linking dynamically.
8880
88812016-03-10  Jan Hubicka  <hubicka@ucw.cz>
8882
8883	PR ipa/70283
8884	* ipa-devirt.c (methods_equal_p): New function.
8885	(compare_virtual_tables): Use it.
8886	* cgraph.h (symbol_table::symbol_suffix_separator): Declare.
8887	* cgraphclones.c (clone_function_name_1): Use
8888	symbol_table::symbol_suffix_separator.
8889	* coverage.c (build_var): Likewise.
8890	* symtab.c (symbol_table::symbol_suffix_separator): New.
8891
88922016-03-29  Jakub Jelinek  <jakub@redhat.com>
8893
8894	PR rtl-optimization/70429
8895	* combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
8896	(cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
8897	mode != result_mode.
8898
8899	PR c++/70353
8900	* tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
8901
8902	PR tree-optimization/70405
8903	* ssa-iterators.h (num_imm_uses): Add missing braces.
8904
89052016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
8906
8907	PR rtl-optimization/68695
8908	* ira-color.c (allocno_copy_cost_saving): New.
8909	(improve_allocation): Use it.
8910
89112016-03-29  Richard Henderson  <rth@redhat.com>
8912
8913	PR middle-end/70355
8914	* lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
8915
89162016-03-29  Richard Biener  <rguenther@suse.de>
8917
8918	PR middle-end/70424
8919	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
8920	use alignment returned by get_pointer_alignment_1 if it is
8921	bigger than BITS_PER_UNIT.
8922	* builtins.c (get_pointer_alignment_1): Do not return true
8923	for alignment extracted from SSA info.
8924
89252016-03-28  James Bowman  <james.bowman@ftdichip.com>
8926
8927	* config/ft32/ft32.opt (mnodiv): New.
8928	* config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
8929	* doc/invoke.texi (FT32 Options -mnodiv): New.
8930
89312016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
8932
8933	PR target/70406
8934	* config/i386/i386.md (define_split, andn): Fix modes.
8935
89362016-03-26  Richard Biener  <rguenther@suse.de>
8937	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
8938
8939	PR ipa/70366
8940	* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
8941	instead of
8942	TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
8943	as 2nd argument to cl_optimization_restore().
8944
89452016-03-25  Richard Henderson  <rth@redhat.com>
8946
8947	PR target/70120
8948	* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
8949	* config/aarch64/aarch64-protos.h: Declare it.
8950	* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
8951
89522016-03-25  Alan Modra  <amodra@gmail.com>
8953
8954	PR target/70052
8955	* config/rs6000/constraints.md (j): Simplify.
8956	* config/rs6000/predicates.md (easy_fp_constant): Exclude
8957	decimal float 0.D.
8958	* config/rs6000/rs6000.md (zero_fp): New mode_attr.
8959	(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
8960	 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
8961	in all constraint alternatives.
8962	(movtd_64bit_nodm): Delete "j" constraint alternative.
8963
89642016-03-24  Aldy Hernandez  <aldyh@redhat.com>
8965
8966	* tree-ssa-propagate.c: Enhance docs for
8967	SSA_PROP_NOT_INTERESTING.
8968
89692016-03-24  Aldy Hernandez  <aldyh@redhat.com>
8970
8971	* doc/extend.texi: Fix typo in documentation to pure attribute.
8972
89732016-03-24  John David Anglin  <danglin@gcc.gnu.org>
8974
8975	PR target/70319
8976	* config/pa/pa.md (bswapdi2): Use a scratch register.
8977
89782016-03-24  Richard Henderson  <rth@redhat.com>
8979
8980	PR middle-end/69845
8981	* fold-const.c (extract_muldiv_1): Correct test for multiplication
8982	overflow.
8983
89842016-03-24  Uros Bizjak  <ubizjak@gmail.com>
8985
8986	* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
8987	using ix86_expand_binary_operator instead of gen_andsi3.
8988
89892016-03-24  Richard Biener  <rguenther@suse.de>
8990
8991	PR tree-optimization/70396
8992	* tree-vect-stmts.c (vectorizable_comparison): Use
8993	get_vectype_for_scalar_type.
8994
89952016-03-24  Richard Biener  <rguenther@suse.de>
8996
8997	PR middle-end/70370
8998	* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
8999	with register bases.
9000
90012016-03-24  Richard Biener  <rguenther@suse.de>
9002
9003	PR tree-optimization/70372
9004	* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
9005	build_all_ones_cst to also handle vector types correctly.
9006
90072016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
9008
9009	PR target/70381
9010	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
9011	-mfloat128 here.
9012
90132016-03-23  Marek Polacek  <polacek@redhat.com>
9014
9015	PR c++/69884
9016	* doc/invoke.texi: Document -Wignored-attributes.
9017
90182016-03-23  Bin Cheng  <bin.cheng@arm.com>
9019
9020	PR tree-optimization/69042
9021	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
9022	parameter from 30 to 40.
9023
90242016-03-23  Bin Cheng  <bin.cheng@arm.com>
9025
9026	PR tree-optimization/69042
9027	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
9028	for use with constant offset stripped in base.
9029
90302016-03-23  Richard Biener  <rguenther@suse.de>
9031
9032	PR middle-end/70251
9033	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
9034	mode compatibility check.
9035	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
9036
90372016-03-23  Jeff Law  <law@redhat.com>
9038
9039	PR tree-optimization/64058
9040	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
9041	CONFLICT_COUNT.
9042	(struct ssa_conflicts): Move up earlier in the file.
9043	(conflicts_, var_map_): New static variables.
9044	(initialize_conflict_count): New function to initialize the
9045	CONFLICT_COUNT field for each conflict pair.
9046	(compare_pairs): Lazily initialize the conflict count and use it
9047	as the first tie-breaker.
9048	(sort_coalesce_list): Add new arguments conflicts, map.  Initialize
9049	and wipe conflicts_ and map_ around the call to qsort.  Remove
9050	special case for 2 coalesce pairs.
9051	* bitmap.c (bitmap_count_unique_bits): New function.
9052	(bitmap_count_bits_in_word): New function, extracted from
9053	bitmap_count_bits.
9054	(bitmap_count_bits): Use bitmap_count_bits_in_word.
9055	* bitmap.h (bitmap_count_unique_bits): Declare it.
9056
90572016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
9058
9059	PR target/69917
9060	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
9061	transparent alias chain for decl assembler name.
9062	* config/sol2.c (solaris_assemble_visibility): Likewise.
9063
90642016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9065
9066	* config/arm/arm1020e.md (1020call_op): Reduce reservation
9067	duration.
9068	(v10_fdivs): Likewise.
9069	(v10_fdivd): Likewise.
9070
90712016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9072
9073	PR driver/70132
9074	* config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
9075	to not call fclose twice on file.
9076
90772016-03-23  Jakub Jelinek  <jakub@redhat.com>
9078
9079	PR tree-optimization/70354
9080	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
9081	oprnd0 is wider than oprnd1 and there is a cast from the wider
9082	type to oprnd1, mask it with the mask of the narrower type.
9083
9084	PR target/70321
9085	* config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
9086	Optimize TARGET_STV splitters, if high or low word of last argument
9087	is 0 or -1.
9088
90892016-03-22  Jeff Law  <law@redhat.com>
9090
9091	PR target/70232
9092	tree-ssa-threadbackward.c
9093	(fsm_find_control_statement_thread_paths): Correctly distinguish
9094	between old style jump threads vs FSM jump threads.
9095
90962016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
9097
9098	PR target/70302
9099	* config/i386/i386.c (scalar_chain::convert_op): Support
9100	uninitialized register usage case.
9101
91022016-03-22  Richard Biener  <rguenther@suse.de>
9103
9104	PR middle-end/70251
9105	* genmatch.c (gen_transform): Adjust last parameter to a three-state
9106	int...
9107	(capture::gen_transform): ... to change behavior when substituting
9108	a condition into cond or not-cond expr context.
9109	(dt_simplify::gen_1): Adjust.
9110	* gimple-match-head.c: Include gimplify.h for unshare_expr.
9111	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
9112	last change and instead change to
9113	A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
9114	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
9115
91162016-03-22  Anthony Green  <green@moxielogic.com>
9117
9118	* config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
9119	issue for moxiebox targets.
9120	(CC1PLUS_SPEC): Ditto.
9121
91222016-03-22  Richard Biener  <rguenther@suse.de>
9123
9124	PR middle-end/70333
9125	* fold-const.c (extract_muldiv_1): Properly perform multiplication
9126	in the wide type.
9127
91282016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
9129
9130	* config/i386/i386.c (def_builtin): Remove duplicated functionality.
9131
91322016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
9133
9134	PR target/70325
9135	* config/i386/i386.c (def_builtin): Handle
9136	OPTION_MASK_ISA_AVX512VL to be and-ed with other
9137	bits.
9138	(const struct builtin_description bdesc_special_args[]):
9139	Remove duplicate ISA bits.
9140
91412016-03-22  Jakub Jelinek  <jakub@redhat.com>
9142
9143	PR target/70329
9144	* config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
9145	d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
9146	in a way that works also for AVX512BW.
9147
9148	PR target/70300
9149	* config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
9150	instead of source if operands[1] is xmm16 and above and
9151	!TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
9152	vec_interleave_lowv4sf if we need to unpack xmm16 and above.
9153
9154	PR c++/70295
9155	* gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
9156	on assign if (*from_p) is a comparison, set it to
9157	TREE_NO_WARNING (*from_p).
9158
91592016-03-21  Jakub Jelinek  <jakub@redhat.com>
9160
9161	PR middle-end/70326
9162	* lra.c (restore_scratches): Ignore deleted insns.
9163
91642016-03-21  Marc Glisse  <marc.glisse@inria.fr>
9165	    Jakub Jelinek  <jakub@redhat.com>
9166
9167	PR tree-optimization/70317
9168	* match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
9169	to HONOR_NANS.
9170
91712016-03-21  Uros Bizjak  <ubizjak@gmail.com>
9172
9173	PR target/70327
9174	* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
9175	of ix86_expand_move.
9176	(movoi): Ditto.
9177	(movti): Use general_operand for operand 1 predicate.
9178
91792016-03-21  Martin Liska  <mliska@suse.cz>
9180
9181	* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
9182	insns.
9183	(dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
9184
91852016-03-21  Martin Liska  <mliska@suse.cz>
9186
9187	PR ipa/70306
9188	* ipa-icf.c (sem_function::parse): Skip static
9189	constructors and destructors.
9190
91912016-03-21  Jakub Jelinek  <jakub@redhat.com>
9192
9193	PR target/70296
9194	* config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
9195	function-like macro, peek following token(s) if it is followed
9196	by CPP_OPEN_PAREN token with optional padding in between, and
9197	if not, don't treat it like a macro.
9198
91992016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
9200	    Alexander Monakov  <amonakov@ispras.ru>
9201
9202	* config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
9203	for the stabs debug format.
9204
92052016-03-21  Richard Biener  <rguenther@suse.de>
9206
9207	PR tree-optimization/70310
9208	* tree-vect-generic.c (expand_vector_condition): Fold the built
9209	condition.
9210
92112016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
9212
9213	PR target/70293
9214	* config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
9215	Block third alternative for AVX-512VL target,
9216
92172016-03-21  Martin Liska  <mliska@suse.cz>
9218
9219	PR hsa/70234
9220	* hsa-brig.c (emit_function_directives): Mark unemitted
9221	global variables for emission.
9222	* hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
9223	(get_symbol_for_decl): Likewise.
9224	* hsa.h (struct hsa_symbol): New flag.
9225
92262016-03-21  Richard Biener  <rguenther@suse.de>
9227
9228	PR tree-optimization/70288
9229	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
9230	we do not estimate unsimplified all-constant conditionals or
9231	switches as optimized away.
9232
92332016-03-21  Andrey Belevantsev  <abel@ispras.ru>
9234
9235	PR rtl-optimization/69102
9236	* sched-deps.c (sched_analyze_insn): Do not set last_args_size field
9237	when we have a readonly dependency context.
9238
92392016-03-18  Jeff Law  <law@redhat.com>
9240
9241	PR rtl-optimization/70263
9242	* ira.c (memref_used_between_p): Assert we found END in the insn chain.
9243	(update_equiv_regs): When trying to move a store to after the insn
9244	that sets the source of the store, make sure the store occurs after
9245	the insn that sets the source of the store.  When successful note
9246	the REG_EQUIV note created in the dump file.
9247
92482016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
9249	    Bernd Schmidt  <bschmidt@redhat.com>
9250
9251	* doc/extend.texi: Document more potential problems with basic asms.
9252
92532016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
9254
9255	PR rtl-optimization/70278
9256	* lra-constraints.c (split_reg): Handle the case where biggest_mode is
9257	VOIDmode.
9258
92592016-03-18  Jason Merrill  <jason@redhat.com>
9260
9261	* calls.c (load_register_parameters): Fix zero size sibcall logic.
9262
92632016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
9264
9265	* config/i386/sse.md: Use vpbroadcastq for broadcasting DF
9266	values to 128b regs.
9267
92682016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
9269
9270	PR tree-optimization/70252
9271	* tree-vect-stmts.c (supportable_widening_operation): Check resulting
9272	boolean vector has a proper number of elements.
9273	(supportable_narrowing_operation): Likewise.
9274
92752016-03-18  Tom de Vries  <tom@codesourcery.com>
9276
9277	PR ipa/70269
9278	* cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
9279
92802016-03-18  Jakub Jelinek  <jakub@redhat.com>
9281
9282	* reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
9283	instead of replace_rtx for DEBUG_INSNs.
9284
92852016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
9286
9287	* config/i386/znver1.md : Fix latencies of FP/SSE/AVX
9288	load type reservations.
9289
92902016-03-17  John David Anglin  <danglin@gcc.gnu.org>
9291
9292	PR target/70188
9293	* config/pa/constraints.md: Revert 2015-02-13 change.  Use
9294	define_constraint for "Q" and "T" constraints.
9295
92962016-03-17  Evandro Menezes  <e.menezes@samsung.com>
9297
9298	Tweak the pipeline model for Exynos M1
9299
9300	* config/aarch64/aarch64.c (exynosm1_tunings): 	Enable weak prefetching
9301	model.
9302
93032016-03-17  David Malcolm  <dmalcolm@redhat.com>
9304
9305	PR c/70264
9306	* diagnostic-show-locus.c (compatible_locations_p): Handle the case
9307	where one or both locations aren't within a line_map.
9308
93092016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
9310
9311	PR driver/70192
9312	* opts.c (finish_options): Don't set flag_pie to the default if
9313	-fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
9314	if it is -1.
9315
93162016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
9317
9318	* config/i386/i386.md (*movv4qicc_insn+1..36): Pass
9319	true as ALL_REGS argument to replace_rtx.
9320
93212016-03-17  Richard Biener  <rguenther@suse.de>
9322
9323	PR debug/70271
9324	* dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
9325	last.
9326
93272016-03-17  Jakub Jelinek  <jakub@redhat.com>
9328
9329	PR target/70245
9330	* rtl.h (replace_rtx): Add ALL_REGS argument.
9331	* rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
9332	equality and assert mode is the same, instead of just rtx pointer
9333	equality.
9334	* config/i386/i386.md (mov + arithmetics with load peephole): Pass
9335	true as ALL_REGS argument to replace_rtx.
9336
93372016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
9338
9339	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
9340	for boolean vector with vector mode only.
9341	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
9342
93432016-03-17  Nick Clifton  <nickc@redhat.com>
9344
9345	PR target/70162
9346	* config/rx/rx.c (rx_print_integer): Print negative constants in
9347	decimal.
9348
93492016-03-17  Jakub Jelinek  <jakub@redhat.com>
9350
9351	PR target/70261
9352	* rtlanal.c (replace_rtx): Revert 2016-03-16 change.
9353
93542016-03-16  Richard Henderson  <rth@redhat.com>
9355	    Richard Biener  <rguenth@suse.de>
9356
9357	PR middle-end/70240
9358	PR middle-end/68215
9359	PR tree-opt/68714
9360	* gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
9361	first operand as is_gimple_condexpr.
9362
9363	PR middle-end/70240
9364	PR middle-end/68215
9365	Revert r231575
9366	2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
9367	* tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
9368	Do not gimplify the result.
9369	(do_unop): Adjust call to tree_vec_extract.
9370	(do_binop): Likewise.
9371	(do_compare): Likewise.
9372	(do_plus_minus): Likewise.
9373	(do_negate): Likewise.
9374	(expand_vector_condition): Likewise.
9375	(do_cond): Likewise.
9376
93772016-03-16  Richard Henderson  <rth@redhat.com>
9378
9379	PR target/70048
9380	* config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
9381	(aarch64_classify_address): Use it.
9382	(aarch64_legitimize_address): Force all subexpressions of PLUS
9383	into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
9384
93852016-03-16  Jakub Jelinek  <jakub@redhat.com>
9386	    Richard Biener  <rguenth@suse.de>
9387
9388	PR target/70245
9389	* rtlanal.c (replace_rtx): For REG, if from is a REG,
9390	return to even if only REGNO is equal, and assert
9391	mode is the same.
9392
93932016-03-11  Jeff Law  <law@redhat.com>
9394
9395	PR rtl-optimization/70224
9396	* reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
9397
93982016-03-16  Richard Henderson  <rth@redhat.com>
9399
9400	PR middle-end/70199
9401	* function.h (struct function): Add has_forced_label_in_static.
9402	* gimplify.c (force_labels_r): Set it.
9403	* lto-streamer-in.c (input_struct_function_base): Read it.
9404	* lto-streamer-out.c (output_struct_function_base): Write it.
9405	* tree-inline.c (has_label_address_in_static_1): Remove.
9406	(copy_forbidden): Remove fndecl parameter; test
9407	has_forced_label_in_static.
9408	(inline_forbidden_p): Update call to copy_forbidden.
9409	(tree_versionable_function_p): Likewise.
9410	* ipa-chkp.c (chkp_instrumentable_p): Likewise.
9411	(chkp_versioning): Likewise.
9412	* tree-inline.h (copy_forbidden): Update decl.
9413
94142016-03-16  Marek Polacek  <polacek@redhat.com>
9415
9416	PR c/70093
9417	* cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
9418	function being thunked if the result type doesn't have fixed size.
9419	* gimplify.c (gimplify_modify_expr): Also set LHS if the result type
9420	doesn't have fixed size.
9421
94222016-03-16  Bin Cheng  <bin.cheng@arm.com>
9423
9424	* tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
9425	reporting malformed loop nest.
9426
94272016-03-16  Tom de Vries  <tom@codesourcery.com>
9428
9429	PR lto/70187
9430	* ipa-devirt.c (possible_polymorphic_call_targets): Move
9431	nodes.length () == 1 test to before first nodes[0] access.
9432
94332016-03-16  Tom de Vries  <tom@codesourcery.com>
9434
9435	PR tree-optimization/68715
9436	* graphite-scop-detection.c (scop_detection::merge_sese): Add missing
9437	single_pred_p test.
9438
94392016-03-16  Tom de Vries  <tom@codesourcery.com>
9440
9441	PR tree-optimization/68809
9442	* graphite-scop-detection.c (same_close_phi_node): Test if result types
9443	are the same.
9444
94452016-03-16  Carlos O'Donell  <carlos@redhat.com>
9446	    Sandra Loosemore  <sandra@codesourcery.com>
9447
9448	* doc/extend.texi (Common Function Attributes): Describe ifunc impact
9449	on leaf attribute. Mention ELF interposition problems.
9450
94512016-03-16  Alan Modra  <amodra@gmail.com>
9452
9453	PR rtl-optimization/69195
9454	PR rtl-optimization/47992
9455	* ira.c (indirect_jump_optimize): Ignore artificial defs.
9456	Add comments.
9457
94582016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
9459
9460	PR bootstrap/69513
9461	* dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
9462
94632016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
9464
9465	* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
9466
94672016-03-15  Jakub Jelinek  <jakub@redhat.com>
9468
9469	PR rtl-optimization/70222
9470	* combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
9471	optimization if mode is different from result_mode, queue up masking
9472	of the result in outer_op.  Formatting fix.
9473
9474	PR middle-end/70239
9475	* tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
9476	of safe_grow.
9477
94782016-03-15  Andrey Belevantsev  <abel@ispras.ru>
9479
9480	PR rtl-optimization/69032
9481	* sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
9482	looping backwards over basic block insns.
9483
94842016-03-15  Andrey Belevantsev  <abel@ispras.ru>
9485
9486	PR target/66660
9487	* sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
9488	to non-speculative when propagating trap bits.
9489
94902016-03-15  Andrey Belevantsev  <abel@ispras.ru>
9491
9492	PR rtl-optimization/63384
9493	* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
9494	DEBUG_INSN_P insns.
9495
94962016-03-15  Andrey Belevantsev  <abel@ispras.ru>
9497
9498	PR target/64411
9499	* sched-deps.c (get_implicit_reg_pending_clobbers): New function,
9500	factored out from ...
9501	(sched_analyze_insn): ... here.
9502	* sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
9503	* sel-sched-ir.c (setup_id_implicit_regs): New function, use
9504	get_implicit_reg_pending_clobbers in it.
9505	(setup_id_reg_sets): Use setup_id_implicit_regs.
9506	(deps_init_id): Ditto.
9507
95082016-03-15  Tom de Vries  <tom@codesourcery.com>
9509
9510	PR ipa/70161
9511	* cgraph.c (cgraph_node::get_body): Save, reset and restore
9512	dump_file_name.
9513	* passes.c (execute_one_ipa_transform_pass): Add missing argument to
9514	execute_function_dump.
9515	(execute_one_pass): Don't dump function if it will be dumped after ipa
9516	transform.
9517
95182016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
9519
9520	* genrecog.c (match_pattern_2): If pred is NULL don't call
9521	safe_predicate_mode on it.
9522
95232016-03-14  Jakub Jelinek  <jakub@redhat.com>
9524
9525	PR middle-end/70219
9526	* lra-constraints.c (delete_move_and_clobber): Change assertion
9527	to also allow dregno == 0.
9528
95292016-03-14  Richard Henderson  <rth@redhat.com>
9530
9531	PR tree-opt/68714
9532	* tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
9533	(can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
9534	(reassociate_bb): Use optimize_vec_cond_expr; avoid
9535	optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
9536	on vectors.
9537
95382016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
9539
9540	PR target/70083
9541	* lra-lives.c (process_bb_lives): Also update biggest mode for hard
9542	regs.
9543	(lra_create_live_ranges_1): initialize hard register biggest_mode to
9544	VOIDmode.
9545	* lra-constraints.c (split_reg): For hard regs, try to find the
9546	biggest single-register mode used in the function.
9547
95482016-03-14  Richard Biener  <rguenther@suse.de>
9549
9550	PR tree-optimization/56365
9551	* tree-ssa-phiopt.c (minmax_replacement): Handle alternate
9552	constants to compare against.
9553
95542016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
9555
9556	PR target/70098
9557	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
9558	*ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
9559	(define_split for the GPR case): Use int_reg_operand instead of
9560	gpc_reg_operand for the output.
9561
95622016-03-14  Tom de Vries  <tom@codesourcery.com>
9563
9564	PR tree-optimization/70045
9565	* graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
9566	create_empty_if_region_on_edge argument.
9567
95682016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
9569
9570	* config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
9571	(STACK_CHECK_PROTECT): Likewise.
9572	* config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
9573	(STACK_CHECK_PROTECT): Likewise.
9574	* config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
9575	(STACK_CHECK_PROTECT): Likewise.
9576	* config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
9577	* config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
9578	(STACK_CHECK_PROTECT): Likewise.
9579
95802016-03-12  Andrey Belevantsev  <abel@ispras.ru>
9581
9582	PR rtl-optimization/69307
9583	* sel-sched.c (choose_best_pseudo_reg): Properly check for hard
9584	registers in modes that span more than one register.
9585
95862016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
9587
9588	PR target/69614
9589	* lra-constraints.c (delete_move_and_clobber): New.
9590	(remove_inheritance_pseudos): Use it.
9591
95922016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
9593
9594	PR ada/70017
9595	* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
9596	the libcall is LCT_THROW.
9597	* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
9598	for the checking routine.
9599
96002016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
9601
9602	PR target/70131
9603	* config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
9604	optimization if we have direct move.
9605	(roundu32<mode>2_fprs): Likewise.
9606
96072016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
9608
9609	PR target/70123
9610	* lra-remat.c (operand_to_remat): Disallow hard regs in the value t
9611	be rematerialized.
9612	(reg_overlap_for_remat_p): Renamed from input_regno_present_p.
9613	Arguments swapped.  All callers changed.  Take reg_renumber into
9614	account, and Calculate and compare register ranges for hard regs.
9615
96162016-03-11  Jeff Law  <law@redhat.com>
9617
9618	PR tree-optimization/70190
9619	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
9620	Handle cases where we can not extract the taken edge, even though we
9621	found a constant value.
9622
9623	PR tree-optimization/64058
9624	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
9625	(num_coalesce_pairs): Move up earlier in file.
9626	(find_coalesce_pair): Initialize the INDEX field for each pair
9627	discovered.
9628	(compare_pairs): No longer sort on the elements in each pair.
9629	Instead break ties with the index of the coalesce pair.
9630
96312016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9632
9633	PR target/70002
9634	* config/aarch64/aarch64-protos.h
9635	(aarch64_save_restore_target_globals): New prototype.
9636	* config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
9637	Call the above when popping pragma.
9638	* config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
9639	New function.
9640	(aarch64_set_current_function): Rewrite using the above.
9641
96422016-03-11  Jakub Jelinek  <jakub@redhat.com>
9643
9644	PR tree-optimization/70177
9645	* gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
9646	(extract_ops_from_tree): ... this.  In the 2 argument
9647	overload remove _1 suffix.
9648	* gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
9649	(extract_ops_from_tree): ... this.
9650	* gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
9651	Adjust callers.
9652	* tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
9653	* tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
9654	extract_ops_from_tree instead of 2 operand one.
9655
96562016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
9657
9658	PR tree-optimization/70013
9659	* tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
9660	for constant-pool entries.
9661
96622016-03-11  Jakub Jelinek  <jakub@redhat.com>
9663
9664	PR rtl-optimization/70174
9665	* expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
9666	followed by gen_lowpart on force_reg instead of just gen_lowpart.
9667
9668	PR tree-optimization/70169
9669	* tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
9670	LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
9671	for unknown codes.
9672
96732016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
9674	    Jakub Jelinek  <jakub@redhat.com>
9675
9676	PR target/70160
9677	* config/i386/i386.c (scalar_chain::convert_reg): Skip uses
9678	of uninitialized values.
9679
96802016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
9681
9682	* config/s390/s390.md ("trunctddd2"): Turn former define_insn into
9683	define_expand.
9684	("*trunctddd2"): New pattern definition.
9685	("trunctdsd2"): Set prep_for_short_prec rounding mode for the
9686	TD->DD truncation.
9687
96882016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
9689
9690	* config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
9691	definitions for BFP and DFP rounding modes.
9692	("fixuns_truncdddi2", "fixuns_trunctddi2")
9693	("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
9694	("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
9695	("fix_trunctf<mode>2"): Use the new constants instead of magic
9696	numbers.
9697
96982016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
9699
9700	* config/s390/constraints.md: Adjust comment.
9701	("Y"): Adjust comment.  Rename s390_decompose_shift_count to
9702	s390_decompose_addrstyle_without_index.
9703	* config/s390/predicates.md (shift_count_or_setmem_operand):
9704	Rename to setmem_operand.
9705	* config/s390/s390-protos.h
9706	(s390_decompose_shift_count): Rename to
9707	s390_decompose_addrstyle_without_index.
9708	* config/s390/s390.c (s390_decompose_shift_count)
9709	(s390_mem_constraint, print_shift_count_operand)
9710	(print_operand_address, print_operand): Rename
9711	s390_decompose_shift_count to
9712	s390_decompose_addrstyle_without_index and rename
9713	print_shift_count_operand to print_addrstyle_operand troughout the
9714	file.
9715	* config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
9716	("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
9717	Rename shift_count_or_setmem_operand to setmem_operand.
9718	* config/s390/vx-builtins.md ("vec_insert<mode>")
9719	("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
9720	nonmemory_operand.
9721
97222016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
9723
9724	PR target/70168
9725	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
9726	Handle overlapping retval and newval.
9727
97282016-03-10  Nick Clifton  <nickc@redhat.com>
9729
9730	PR target/7044
9731	* config/aarch64/aarch64.c
9732	(aarch64_override_options_after_change_1): When forcing
9733	flag_omit_frame_pointer to be true, use a special value that can
9734	be detected if this function is called again, thus preventing
9735	flag_omit_leaf_frame_pointer from being forced to be false.
9736
97372016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9738
9739	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
9740	Set x_flag_omit_leaf_frame_pointer when handling
9741	-momit-leaf-frame-pointer.
9742
97432016-03-10  Jan Hubicka  <hubicka@ucw.cz>
9744
9745	PR lto/69589
9746	* cgraph.c (cgraph_node::dump): Dump split_part and
9747	indirect_call_target.
9748	* cgraph.h (cgraph_node): Add indirect_call_target flag.
9749	* ipa.c (has_addr_references_p): Cleanup.
9750	(is_indirect_call_target_p): New.
9751	(walk_polymorphic_call_targets): Do not mark virtuals that may be
9752	called indirectly as local.
9753	(symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
9754
97552016-03-10  Jan Hubicka  <hubicka@ucw.cz>
9756
9757	PR ipa/69630
9758	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
9759	on cxa_pure_virtual.
9760
97612016-03-10  Jan Hubicka  <hubicka@ucw.cz>
9762
9763	PR lto/69589
9764	* tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
9765
97662016-03-10  Jan Hubicka  <hubicka@ucw.cz>
9767
9768	PR lto/69589
9769	* tree.c (need_assembler_name_p): Only record main variant type names.
9770
97712016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
9772
9773	PR target/70113.
9774	* config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
9775	Always define to 0 or 1.
9776	(TARGET_FIX_ERR_A53_843419): New macro.
9777	* config/aarch64/aarch64-elf-raw.h
9778	(TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
9779	* config/aarch64/aarch64-linux.h: Likewise.
9780	* config/aarch64/aarch64.c
9781	(aarch64_override_options_after_change_1): Do not default
9782	aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
9783	843419 is on.
9784	(aarch64_attributes): Handle fix-cortex-a53-843419.
9785	(aarch64_can_inline_p): Likewise.
9786	* config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
9787
97882016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
9789	Jakub Jelinek <jakub@redhat.com>
9790
9791	* common.opt (funconstrained-commons, flag_unconstrained_commons): New.
9792	* tree.c (array_at_struct_end_p): Do not limit to size of decl for
9793	DECL_COMMONS if flag_unconstrained_commons is set.
9794	* tree-dfa.c (get_ref_base_and_extent): Likewise.
9795	* doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
9796	(funconstrained-commons): Document.
9797
97982016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
9799
9800	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
9801	aarch64-fusion-pairs.def and aarch64-tuning-flags.def
9802
98032016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
9804
9805	* tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
9806	has a proper number of elements.
9807
98082016-03-10  Alan Modra  <amodra@gmail.com>
9809
9810	PR rtl-optimization/69195
9811	PR rtl-optimization/47992
9812	* ira.c (recorded_label_ref): Delete.
9813	(update_equiv_regs): Return void.
9814	(indirect_jump_optimize): New function.
9815	(ira): Call indirect_jump_optimize and delete_trivially_dead_insns
9816	before regstat_compute_ri.  Don't rebuild_jump_labels here.
9817	Delete update_regstat.
9818
98192016-03-10  Richard Biener  <rguenther@suse.de>
9820
9821	PR tree-optimization/70128
9822	* tree-ssa-structalias.c (set_uids_in_ptset): Set
9823	vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
9824
98252016-03-09  Jakub Jelinek  <jakub@redhat.com>
9826
9827	PR tree-optimization/70152
9828	* tree-sra.c (replace_removed_params_ssa_names): Copy over
9829	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
9830
9831	PR target/70086
9832	* config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
9833	instead of gen_sse2_loadlpd.
9834	* config/i386/sse.md (*vec_concatv2df): Rename to...
9835	(vec_concatv2df): ... this.
9836
9837	PR tree-optimization/70127
9838	* fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
9839
98402016-03-09  David Malcolm  <dmalcolm@redhat.com>
9841
9842	PR c/68473
9843	PR c++/70105
9844	* diagnostic-show-locus.c (compatible_locations_p): New function.
9845	(layout::layout): Sanitize ranges using compatible_locations_p.
9846
98472016-03-09  David Malcolm  <dmalcolm@redhat.com>
9848
9849	PR c/68473
9850	PR c++/70105
9851	* diagnostic-show-locus.c (layout_range::layout_range): Replace
9852	location_range param with three const expanded_locations * and a
9853	bool.
9854	(layout::layout): Replace call to
9855	rich_location::lazily_expand_location with get_expanded_location.
9856	Extract the range and perform location expansion here, passing
9857	the results to the layout_range ctor.
9858	* diagnostic.c (source_range::debug): Delete.
9859	* diagnostic.h (diagnostic_expand_location): Reimplement in terms
9860	of rich_location::get_expanded_location.
9861	* gcc-rich-location.c (get_range_for_expr): Delete.
9862	(gcc_rich_location::add_expr): Reimplement to avoid the
9863	rich_location::add_range overload that took a location_range,
9864	passing a location_t instead.
9865
98662016-03-09  Richard Biener  <rguenther@suse.de>
9867	Jakub Jelinek  <jakub@redhat.com>
9868
9869	PR tree-optimization/70138
9870	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
9871	Also skip vect_double_reduction_def.
9872
98732016-03-09  Jakub Jelinek  <jakub@redhat.com>
9874
9875	PR target/70049
9876	* config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
9877	if the operand is "m".
9878
98792016-03-09  Nathan Sidwell  <nathan@acm.org>
9880
9881	* config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
9882
98832016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
9884
9885	* config/i386/i386.c (processor_target_table): Fix cost table
9886	intialization order for znver1.
9887
98882016-03-08  Jakub Jelinek  <jakub@redhat.com>
9889
9890	* ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
9891	- becuase -> because.
9892	* ipa-reference.c (ignore_module_statics): Likewise.
9893	* cgraph.c (cgraph_node::get_body): Likewise.
9894	* ipa-inline.c (early_inliner): Likewise.
9895	* ipa-devirt.c (types_same_for_odr): Likewise.
9896	* tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
9897	* config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
9898
98992016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9900
9901	* tree-ssa-math-opts.c: Fix typo in comment.
9902
99032016-03-08  Jakub Jelinek  <jakub@redhat.com>
9904
9905	PR target/70110
9906	* config/i386/i386.c (scalar_chain::make_vector_copies,
9907	scalar_chain::convert_reg): Call end_sequence in between
9908	get_insns and emit_conversion_insns rather than after both
9909	calls.
9910
99112016-03-07  Uros Bizjak  <ubizjak@gmail.com>
9912
9913	PR target/70064
9914	* config/i386/i386.h (machine_function): Add
9915	pc_thunk_call_expanded flag.
9916	(ix86_pc_thunk_call_expanded): New define.
9917	* config/i386/i386.md (set_got, set_got_labelled): New expanders.
9918	(*set_got): Rename insn pattern from set_got.
9919	(*set_got_labelled): Rename inst pattern from set_got_labelled.
9920	* config/i386/i386.c (ix86_compute_frame_layout): Use
9921	ix86_pc_thunk_call_expanded to prevent red-zone.
9922
99232016-03-07  Martin Jambor  <mjambor@suse.cz>
9924
9925	* hsa.h (hsa_get_ctor_statements): Declare.
9926	(hsa_get_dtor_statements): Likewise.
9927	(hsa_get_kernel_dispatch_type): Likewise.
9928	* hsa.c (hsa_get_ctor_statements): New function.
9929	(hsa_get_dtor_statements): Likewise.
9930	(hsa_get_kernel_dispatch_type): Likewise.
9931	* hsa-brig.c (hsa_cdtor_statements): Removed.
9932	(hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
9933	hsa_get_dtor_statements.
9934	* hsa-gen.c (hsa_kernel_dispatch_type): Removed.
9935	(get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
9936
99372016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9938
9939	* config/arm/arm-cores.def (cortex-r8): New.
9940	* config/arm/arm-tables.opt (cortex-r8): Regenerate.
9941	* config/arm/arm-tune.md: Likewise.
9942	* gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
9943
99442016-03-07  Martin Sebor  <msebor@redhat.com>
9945
9946	PR rtl-optimization/19705
9947	* doc/invoke.texi (Options That Control Optimization): Clarify
9948	-fno-branch-count-reg.
9949
99502016-02-26  Richard Biener  <rguenther@suse.de>
9951	    Jeff Law  <law@redhat.com>
9952
9953	PR tree-optimization/69740
9954	* cfghooks.c (remove_edge): Request loop fixups if we delete
9955	an edge that might turn an irreducible loop into a natural
9956	loop.
9957	* cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
9958	Move after definition of loops_state_clear.
9959
99602016-03-07  Bin Cheng  <bin.cheng@arm.com>
9961
9962	PR rtl-optimization/69052
9963	* rtlanal.c (commutative_operand_precedence): Set higher precedence
9964	to CONST_WIDE_INT.
9965
99662016-03-07  Tom de Vries  <tom@codesourcery.com>
9967
9968	PR tree-optimization/70116
9969	* tree-ssa-tail-merge.c	(merge_stmts_p): New function, handling
9970	is_tm_ending stmts and ubsan/asan internal functions.
9971	(find_duplicate): Use it.  Don't test is_tm_ending here.
9972
99732016-03-07  Richard Biener  <rguenther@suse.de>
9974
9975	PR tree-optimization/70115
9976	* tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
9977	(propagate_constants_for_unrolling): Use replace_uses_by.
9978
99792016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
9980
9981	PR middle-end/69916
9982	* omp-low.c (struct oacc_loop): Add ifns.
9983	(new_oacc_loop_raw): Initialize it.
9984	(finish_oacc_loop): Clear mask & flags if no ifns.
9985	(oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
9986	(oacc_loop_xform_loop): Add ifns arg & adjust.
9987	(oacc_loop_process): Adjust oacc_loop_xform_loop call.
9988
99892016-03-07  Richard Henderson  <rth@redhat.com>
9990
9991	PR rtl-opt/70061
9992	* tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
9993	(insert_value_copy_on_edge): Likewise.
9994
99952016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9996
9997	* config/arm/arm_neon.h: Show error if using with soft-float ABI.
9998
99992016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10000
10001	PR target/62281
10002	* config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
10003
100042016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
10005
10006	* config/i386/i386.c (znver1_cost): Fix Multiply cost.
10007
100082016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
10009
10010	Fix sseimul type attribute.
10011	* config/i386/znver1.md
10012	(znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
10013	znver1_sseimul_avx256_load) : Fix the type attribute.
10014	(znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
10015	pipe usage and latency.
10016
100172016-03-05  Jakub Jelinek  <jakub@redhat.com>
10018
10019	PR c++/70084
10020	* tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
10021	of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
10022	to the right type.
10023
100242016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
10025
10026	PR c/69973
10027	* targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
10028
10029	PR rtl-optimization/69941
10030	* postreload.c (reload_combine_recognize_pattern): Ensure all uses of
10031	the reg share its mode.
10032
100332016-03-04  Jeff Law  <law@redhat.com>
10034
10035	PR tree-optimization/69196
10036	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
10037	If the both SSA_NAMEs are anonymous, then consider them unassociated
10038	and include the PHI in the statement count.
10039
100402016-03-05  Tom de Vries  <tom@codesourcery.com>
10041
10042	* omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
10043	construct in oacc routine.  Check for oacc region in oacc routine.
10044
100452016-03-04  Jakub Jelinek  <jakub@redhat.com>
10046
10047	PR target/70062
10048	* config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
10049	2016-02-22 changes, instead don't recurse if RECUR is already true.
10050	Don't change *dynamic_check if RECUR.  Adjust recursive caller
10051	to pass true to the new argument.
10052	(ix86_expand_set_or_movmem): Adjust decide_alg caller.
10053
10054	PR target/70059
10055	* config/i386/sse.md (vec_set_lo_<mode><mask_name>,
10056	<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
10057	fixes.
10058	(vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
10059
100602016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
10061
10062	PR rtl-optimization/57676
10063	* lra-assigns.c (lra_assign): Guard test for maximum iterations
10064	with flag_checking.
10065
100662016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
10067
10068	* tree-vect-patterns.c (search_type_for_mask): Handle
10069	comparison of booleans.
10070
100712016-03-04  Jakub Jelinek  <jakub@redhat.com>
10072
10073	* doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
10074	Fix @xref usage.
10075
10076	PR debug/69947
10077	* dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
10078	all other ops that have dw_val_class_die_ref operands,
10079	and DW_OP_GNU_entry_value.
10080
100812016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10082
10083	PR rtl-optimization/69904
10084	* config/arm/arm.c (arm_cannot_copy_insn_p):
10085	Return true for load-exclusive instructions.
10086
100872016-03-03  Jakub Jelinek  <jakub@redhat.com>
10088
10089	PR target/70021
10090	* tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
10091	argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
10092	the pattern no matter if it is used just by non-pattern, pattern
10093	or mix thereof.
10094	(process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
10095	* tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
10096	oprnd1 def_stmt is in pattern, don't look through it.
10097
100982016-03-03  Marek Polacek  <polacek@redhat.com>
10099
10100	PR middle-end/70050
10101	* match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
10102
101032016-03-03  Martin Liska  <mliska@suse.cz>
10104
10105	PR tree-optimization/70043
10106	* tree-vect-loop.c (optimize_mask_stores): Move iterator to
10107	previous statement if we see a debug statement.
10108
101092016-03-03  Richard Biener  <rguenther@suse.de>
10110
10111	PR tree-optimization/55936
10112	* tree-vrp.c (compare_name_with_value): Add use_equiv_p
10113	parameter and guard unsafe equivalence use.
10114	(vrp_evaluate_conditional_warnv_with_ops): Always use
10115	safe equivalences but not via the quadratic compare_names
10116	helper.
10117
101182016-03-03  Michael Collison  <michael.collison@linaro.org>
10119
10120	PR target/70014
10121	* config/arm/arm.md (*subsi3_carryin_const): Change predicate
10122	for operand 1 to s_register_operand. Change predicate for operand
10123	2 to arm_not_immediate_operand.
10124
101252016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
10126
10127	* doc/tm.texi: Regenerated.
10128
101292016-03-02  Richard Henderson  <rth@redhat.com>
10130
10131	PR rtl-opt/67145
10132	* simplify-rtx.c (simplify_plus_minus): Allow reassoc without
10133	simplification when all args are positive non-fixed registers.
10134
101352016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
10136
10137	* target.def (lra_p): Specify that new ports should use LRA.
10138
101392016-03-02  Jakub Jelinek  <jakub@redhat.com>
10140
10141	PR libgomp/69555
10142	* gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
10143	gimplify_type_sizes the type they refer to.
10144	(omp_notice_variable): Handle reference vars to VLAs.
10145	* omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
10146	reference to VLA decls in the second pass instead of first pass.
10147
101482016-03-02  Tom de Vries  <tom@codesourcery.com>
10149
10150	PR tree-optimization/68659
10151	* graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
10152	new_expr == NULL_TREE.
10153	(get_new_name): Handle ADDR_EXPR.
10154
101552016-03-02  Bin Cheng  <bin.cheng@arm.com>
10156
10157	PR rtl-optimization/69052
10158	* loop-invariant.c (canonicalize_address): New function.
10159	(inv_can_prop_to_addr_use): Check validity of address expression
10160	which is canonicalized by above function.
10161
101622016-03-02  Alan Modra  <amodra@gmail.com>
10163
10164	PR ipa/69990
10165	* ipa-icf.c (sem_variable::merge): Do not merge an alias with
10166	larger alignment.
10167
101682016-03-02  Jakub Jelinek  <jakub@redhat.com>
10169
10170	PR target/70028
10171	* config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
10172	(*movhi_internal): Put mask moves from and to memory separately
10173	from moves from/to GPRs.
10174
101752016-03-02  Richard Biener  <rguenther@suse.de>
10176
10177	* genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
10178	GENERIC expressions in GIMPLE.
10179
101802016-03-02  Richard Biener  <rguenther@suse.de>
10181
10182	* config/i386/i386.c (type_natural_mode): Fix typo.
10183
101842016-03-02  Nick Clifton  <nickc@redhat.com>
10185
10186	* config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
10187
101882016-03-02  Richard Biener  <rguenther@suse.de>
10189	    Uros Bizjak  <ubizjak@gmail.com>
10190
10191	PR target/67278
10192	* config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
10193
101942016-03-02  Richard Biener  <rguenther@suse.de>
10195
10196	PR middle-end/67278
10197	* tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
10198
101992016-03-02  Marek Polacek  <polacek@redhat.com>
10200
10201	PR c/67854
10202	* gimplify.c (gimplify_va_arg_expr): Use expanded location for the
10203	"is promoted to" warning.
10204
102052016-03-01  DJ Delorie  <dj@redhat.com>
10206
10207	* config.gcc: Deprecate mep-*.
10208
102092016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
10210
10211	PR middle-end/70025
10212	* lra-constraints.c (regno_val_use_in): New.
10213	(match_reload): Use it instead of regno_use_in.
10214
102152016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
10216
10217	PR rtl-optimization/70007
10218	* gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
10219	references present in REG_EQUAL notes attached to non-SET patterns.
10220
102212016-03-01  Jeff Law  <law@redhat.com>
10222
10223	PR tree-optimization/69196
10224	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
10225	Appropriately clamp the number of statements to copy when the
10226	thread path does not traverse a loop backedge.
10227
10228	PR tree-optimization/69196
10229	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
10230	Do count some PHIs in the thread path against the insn count.  Decrease
10231	final statement count by one as the control statement in the last
10232	block will get removed.  Remove special cased code for handling PHIs
10233	in the last block.
10234
102352016-03-01  Uros Bizjak  <ubizjak@gmail.com>
10236
10237	PR target/70027
10238	* config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
10239	asm dialect alternatives to explicit GOTPCREL calls.
10240
102412016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
10242
10243	PR ada/70017
10244	* ira.c (do_reload): Issue warning for generic stack checking here...
10245	* reload1.c (reload): ...instead of here and streamline it.
10246
102472016-03-01  Nick Clifton  <nickc@redhat.com>
10248
10249	* config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
10250
102512016-03-01  Richard Biener  <rguenther@suse.de>
10252
10253	PR tree-optimization/69983
10254	* tree-chrec.c (eq_evolutions_p): Handle conversions, compare
10255	types and fall back to operand_equal_p.
10256
102572016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10258
10259	Revert
10260	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10261
10262	* config/s390/constraints.md ("jm8"): New constraint.
10263	* config/s390/predicates.md ("const_int_8bitset_operand"): New
10264	predicate.
10265	* config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
10266	into ...
10267	("*setmem_long<setmem_and>"): New pattern.
10268	("*setmem_long_31z", "*setmem_long_and_31z"): Merge
10269	into ...
10270	("*setmem_long_31z<setmem_and>"): New pattern.
10271	* config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
10272	New substitution rules with the required attributes.
10273
10274
102752016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10276
10277	Revert
10278	2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10279
10280	* gensupport.c (process_substs_on_one_elem): Split loop to
10281	complete mark_operands_used_in_match_dup on all expressions in the
10282	vector first.
10283	(adjust_operands_numbers): Inline into process_substs_on_one_elem
10284	and remove function.
10285
102862016-03-01  Richard Biener  <rguenther@suse.de>
10287
10288	PR middle-end/70022
10289	* fold-const.c (fold_indirect_ref_1): Fix range checking for
10290	vector BIT_FIELD_REF extract.
10291
102922016-03-01  Richard Biener  <rguenther@suse.de>
10293
10294	PR tree-optimization/69994
10295	* tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
10296
102972016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
10298
10299	PR tree-optimization/69956
10300	* tree-vect-stmts.c (supportable_widening_operation): Support
10301	multi-step conversion of boolean vectors.
10302	(supportable_narrowing_operation): Likewise.
10303
103042016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10305
10306	* config/s390/s390.c (s390_decompose_address): Don't accept SImode
10307	anymore.
10308
103092016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10310
10311	* config/s390/subst.md (DSI_VI): New mode iterator.
10312	("addr_style_op_subst"): Use DSI_VI instead of DSI.
10313	* config/s390/vector.md ("vec_set<mode>"): Move expander before
10314	the insn definition.
10315	("*vec_set<mode>"): Change predicate and add alternative to
10316	support only either register or const_int operands as element
10317	selector.
10318	("*vec_set<mode>_plus"): New pattern to support reg + const_int
10319	operands.
10320	("vec_extract<mode>"): New expander.
10321	("*vec_extract<mode>"): New insn definition supporting reg and
10322	const_int element selectors.
10323	("*vec_extract<mode>_plus"): New insn definition supporting
10324	reg+const_int element selectors.
10325	("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
10326	following expander+insn definition.
10327	("<vec_shifts_name><mode>3"): New expander.
10328	("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
10329
103302016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10331
10332	* config/s390/s390.md ("*tabort_1"): Change predicate to
10333	nonmemory_operand.  Add a second alternative to cover
10334	register as well as const int operands.
10335	("*tabort_1_plus"): New pattern definition.
10336
103372016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10338
10339	* config/s390/s390.md ("*ashrdi3_cc_31")
10340	("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
10341	("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
10342	Merge insn definitions into ...
10343	("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
10344	New pattern definition.
10345	("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
10346	("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
10347	("*ashr<mode>3_and"): Merge insn definitions into ...
10348	("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
10349	New pattern definition.
10350	* config/s390/subst.md ("addr_style_op_cc_subst")
10351	("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
10352	substitutions patterns plus attributes.
10353	Add ashiftrt to SUBST iterator.
10354
103552016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10356
10357	* config/s390/s390.md ("<shift><mode>3"): Change predicate of
10358	op2 to nonmemory_operand.
10359	("*<shift>di3_31", "*<shift>di3_31_and"):
10360	Merge into single pattern definition ...
10361	("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
10362	("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
10363	pattern definition ...
10364	("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
10365	* config/s390/subst.md: Add ashift and lshiftrt to SUBST
10366	iterator.
10367
103682016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10369
10370	* config/s390/predicates.md (const_int_6bitset_operand): New
10371	predicate.
10372	* config/s390/s390.md: Include subst.md.
10373	("rotl<mode>3"): New expander.
10374	("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
10375	...
10376	("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
10377	* config/s390/subst.md: New file.
10378
103792016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10380
10381	* config/s390/s390.md ("op_type", "atype", "length" attributes):
10382	Remove RRR type.  It doesn't really exist.
10383	("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
10384	attributes.
10385	("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
10386	("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
10387	("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
10388	("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
10389	("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
10390	("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
10391	`enabled' attribute.
10392
103932016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
10394
10395	* gensupport.c (process_substs_on_one_elem): Split loop to
10396	complete mark_operands_used_in_match_dup on all expressions in the
10397	vector first.
10398	(adjust_operands_numbers): Inline into process_substs_on_one_elem
10399	and remove function.
10400
104012016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
10402
10403	PR target/69706
10404	* config/sparc/sparc.c (NWORDS_UP): Rename to...
10405	(CEIL_NWORDS): ...this.  Use CEIL macro.
10406	(compute_fp_layout): Adjust to above renaming.
10407	(function_arg_union_value): Likewise.
10408	(sparc_arg_partial_bytes): Likewise.
10409	(sparc_function_arg_advance): Likewise.
10410
104112016-02-29  Jeff Law  <law@redhat.com>
10412
10413	PR tree-optimization/70005
10414	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
10415	where an object with a boolean range is compared against a value
10416	outside [0..1].
10417
10418	PR tree-optimization/69999
10419	* gimple-ssa-split-paths.c (split_paths): When duplicating a block
10420	with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
10421	loop cleanups.
10422
104232016-02-29  Richard Biener  <rguenther@suse.de>
10424
10425	PR tree-optimization/69994
10426	* tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
10427	(get_unary_op): Look through nop conversions.
10428	(ops_equal_values_p): New function, look for equality diregarding
10429	nop conversions.
10430	(eliminate_plus_minus_pair): Use ops_equal_values_p
10431	(repropagate_negates): Do not use get_unary_op here.
10432
104332016-02-29  Martin Liska  <mliska@suse.cz>
10434
10435	* system.h: Poison ENABLE_CHECKING macro.
10436
104372016-02-29  Martin Liska  <mliska@suse.cz>
10438
10439	* hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
10440	is presented in dump flags.
10441	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
10442	(hsa_regalloc): Likewise.
10443
104442016-02-19  Richard Biener  <rguenther@suse.de>
10445
10446	PR tree-optimization/69980
10447	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
10448	permutation of those we need to keep.
10449
104502016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
10451
10452	PR target/69706
10453	* config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
10454	(NWORDS_UP): ...this
10455	(init_cumulative_args): Minor tweaks.
10456	(sparc_promote_function_mode): Likewise.
10457	(scan_record_type): Delete.
10458	(traverse_record_type): New function template.
10459	(classify_data_t): New structure type.
10460	(classify_registers): New inline function.
10461	(function_arg_slotno): In 64-bit mode, bail out early if FP slots are
10462	exhausted.  Instantiate traverse_record_type on classify_registers and
10463	deal with the case of a structure passed in slot #15 with no FP field
10464	in the first word.
10465	(assign_data_t): New structure type.
10466	(compute_int_layout): New static function.
10467	(compute_fp_layout): Likewise.
10468	(count_registers): New inline function.
10469	(assign_int_registers): New static function.
10470	(assign_fp_registers): Likewise.
10471	(assign_registers): New inline function.
10472	(function_arg_record_value_1): Delete.
10473	(function_arg_record_value_2): Likewise.
10474	(function_arg_record_value_3): Likewise.
10475	(function_arg_record_value): Adjust to above changes.  Instantiate
10476	traverse_record_type on count_registers to first count the number of
10477	registers to be used and then on assign_registers to assign them.
10478	(function_arg_union_value): Adjust to above renaming.
10479	(sparc_function_arg_1); Minor tweaks.  Remove commented out code.
10480	(sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
10481	case of a structure passed in slot #15
10482	(sparc_function_arg_advance): Likewise.
10483	(function_arg_padding): Minor tweak.
10484
104852016-02-29  Richard Biener  <rguenther@suse.de>
10486
10487	PR tree-optimization/69720
10488	* tree-vect-loop.c (get_initial_def_for_reduction): Avoid
10489	the adjustment_def path for possibly vectorized defs.
10490	(vect_create_epilog_for_reduction): Handle vectorized initial
10491	defs properly.
10492
104932016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
10494
10495	* config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
10496
104972016-02-27  Jeff Law  <law@redhat.com>
10498
10499	Revert
10500	2016-02-26  Richard Biener  <rguenther@suse.de>
10501		    Jeff Law  <law@redhat.com>
10502
10503	PR tree-optimization/69740
10504	* cfghooks.c (remove_edge): Request loop fixups if we delete
10505	an edge that might turn an irreducible loop into a natural
10506	loop.
10507
105082016-02-27  Jakub Jelinek  <jakub@redhat.com>
10509
10510	PR rtl-optimization/69896
10511	* tree-vect-generic.c (get_compute_type): Avoid single element
10512	vector types.
10513
105142016-02-26  Evandro Menezes  <e.menezes@samsung.com>
10515
10516	Rename the AArch64 tuning option and related functions to enable the
10517	Newton series for the reciprocal square root to reflect its
10518	approximative characteristic.
10519
10520	* config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
10521	function to "aarch64_emit_approx_rsqrt".
10522	* config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
10523	AARCH64_EXTRA_TUNE_APPROX_RSQRT.
10524	* config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
10525	(xgene1_tunings): Likewise.
10526	(use_rsqrt_p): Likewise.
10527	(aarch64_emit_swrsqrt): Use new function name.
10528	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
10529	* config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
10530	text explaining this option.
10531	* doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
10532
105332016-02-26  Jakub Jelinek  <jakub@redhat.com>
10534
10535	PR target/69969
10536	* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
10537	complain about -mallow-movmisalign without -mvsx if
10538	TARGET_ALLOW_MOVMISALIGN was not set explicitly.
10539
105402016-02-26  Joel Sherrill  <joel@rtems.org>
10541
10542	* config.gcc: Add x86_64-*-rtems*.
10543	* gcc/config/i386/rtems-64.h: New file.
10544
105452016-02-26  Joel Sherrill  <joel@rtems.org>
10546
10547	* config.gcc: Add aarch64-*-rtems*.
10548	* gcc/config/aarch64/rtems.h: New file.
10549
105502016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
10551
10552	PR target/69946
10553	* config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
10554	shift amount using %h.  Add comment.
10555
105562016-02-26  Richard Biener  <rguenther@suse.de>
10557	    Jeff Law  <law@redhat.com>
10558
10559	PR tree-optimization/69740
10560	* cfghooks.c (remove_edge): Request loop fixups if we delete
10561	an edge that might turn an irreducible loop into a natural
10562	loop.
10563
105642016-02-26  Martin Jambor  <mjambor@suse.cz>
10565
10566	PR middle-end/69920
10567	* tree-sra.c (sra_modify_assign): Do not remove loads of
10568	uninitialized aggregates to SSA_NAMEs.
10569
105702016-02-26  Richard Henderson  <rth@redhat.com>
10571
10572	PR target/69709
10573	* config/s390/s390.md (risbg and risbgn splitters): Allocate new
10574	pseudo in case the target rtx matches the source of the left
10575	shift.
10576
105772016-02-26  Martin Jambor  <mjambor@suse.cz>
10578
10579	PR hsa/69568
10580	* hsa.h (hsa_type_packed_p): Declare.
10581	* hsa.c (hsa_type_packed_p): New function.
10582	* hsa-gen.c (mem_type_for_type): Use unsigned type for packed
10583	loads.
10584	(gen_hsa_insns_for_store): Use hsa_type_packed_p.
10585	* hsa-brig.c (emit_basic_insn): Likewise.
10586
105872016-02-26  Martin Jambor  <mjambor@suse.cz>
10588
10589	pr hsa/69674
10590	* hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
10591	pointers.
10592	(gen_hsa_addr): Allow integer constants in TMR_INDEX2.
10593
105942016-02-26  Martin Jambor  <mjambor@suse.cz>
10595
10596	* hsa.h (is_a_helper): New overload for hsa_op_immed for
10597	hsa_op_with_type operands.
10598	(hsa_unsigned_type_for_type): Declare.
10599	* hsa.c (hsa_unsigned_type_for_type): New function.
10600	* hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
10601	(gen_hsa_insns_for_operation_assignment): Satisfy constrains of
10602	the finalizer.  Do not emit extra move.
10603
106042016-02-26  Martin Jambor  <mjambor@suse.cz>
10605
10606	* hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
10607	atomic operations in private segment.
10608
106092016-02-26  Martin Jambor  <mjambor@suse.cz>
10610
10611	* omp-low.c (grid_find_ungridifiable_statement): Store problematic
10612	statements to wi->info.  Also disallow omp simd constructs.
10613	(grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
10614	for not gridifying.  Dump special string for omp_for.
10615
106162016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10617
10618	PR target/69245
10619	* config/aarch64/aarch64.c (aarch64_set_current_function):
10620	Save/restore target globals when switching to
10621	target_option_default_node.
10622
106232016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10624
10625	PR target/69613
10626	* config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
10627	Return 0 if !SHIFT_COUNT_TRUNCATED.
10628
106292016-02-26  Jakub Jelinek  <jakub@redhat.com>
10630	    Eric Botcazou  <ebotcazou@adacore.com>
10631
10632	PR rtl-optimization/69891
10633	* dse.c (scan_insn): If we can't figure out memset arguments
10634	or they are non-constant, call clear_rhs_from_active_local_stores.
10635
106362016-02-26  Martin Liska  <mliska@suse.cz>
10637
10638	* doc/extend.texi: Mention clog10, clog10f an clog10l
10639	in Builtins section.
10640
106412016-02-26  Martin Liska  <mliska@suse.cz>
10642
10643	* dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
10644	CHECKING_P.
10645	(resolve_args_picking_1): Likewise.
10646	* dwarf2out.h (struct GTY): Likewise.
10647
106482016-02-26  Martin Liska  <mliska@suse.cz>
10649
10650	* hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
10651	with flag_checking.
10652	* hsa-regalloc.c (linear_scan_regalloc): Likewise.
10653
106542016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
10655	    Martin Liska  <mliska@suse.cz>
10656
10657	* doc/install.texi: Mention --enable-valgrind-annotations.
10658
106592016-02-26  Richard Biener  <rguenther@suse.de>
10660
10661	PR tree-optimization/69551
10662	* tree-ssa-structalias.c (get_constraint_for_ssa_var): When
10663	looking through aliases adjust DECL_PT_UID to refer to the
10664	ultimate alias target.
10665
106662016-02-25  Martin Liska  <mliska@suse.cz>
10667
10668	PR middle-end/69919
10669	* alloc-pool.c (after_memory_report): New variable.
10670	* alloc-pool.h (base_pool_allocator ::release): Do not use
10671	the infrastructure if after_memory_report.
10672	* toplev.c (toplev::main): Mark after memory report.
10673
106742016-02-25  Richard Biener  <rguenther@suse.de>
10675
10676	PR tree-optimization/48795
10677	* tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
10678
106792016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
10680
10681	PR driver/68463
10682	* config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
10683	offloading is enabled and -fopenacc or -fopenmp is specified.
10684	(CRTOFFLOADEND): Likewise.
10685	(GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
10686	(GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
10687	* lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
10688	(offload_objects_file_name): New static var.
10689	(tool_cleanup): Remove offload_objects_file_name file.
10690	(find_offloadbeginend): Replace with ...
10691	(find_crtoffloadtable): ... this.
10692	(run_gcc): Remove offload_argc and offload_argv.
10693	Get offload_objects_file_name from -foffload-objects=... option.
10694	Read names of object files with offload from this file, pass them to
10695	compile_images_for_offload_targets.  Don't call find_offloadbeginend and
10696	don't pass offloadbegin and offloadend to the linker.  Don't pass
10697	offload non-LTO files to the linker, because now they're not claimed.
10698
106992016-02-25  Jan Hubicka  <hubicka@ucw.cz>
10700
10701	PR ipa/69630
10702	* ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
10703	on builtin_unreachable.
10704
107052016-02-25  Jakub Jelinek  <jakub@redhat.com>
10706
10707	PR rtl-optimization/69896
10708	* regcprop.c: Include cfgrtl.h.
10709	(copyprop_hardreg_forward_1): If noop_p insn uses narrower
10710	than remembered mode, either delete it (if noop_move_p), or
10711	treat like copy_p but not noop_p instruction.
10712
107132016-02-24  Jakub Jelinek  <jakub@redhat.com>
10714
10715	PR debug/69705
10716	* dwarf2out.c (gen_variable_die): Work around buggy LTO
10717	- allow NULL decl for Fortran DW_TAG_common_block variables.
10718
107192016-02-24  Jason Merrill  <jason@redhat.com>
10720
10721	* common.opt (flifetime-dse): Add -flifetime-dse=1.
10722
107232016-02-24  Richard Biener  <rguenther@suse.de>
10724	    Jakub Jelinek  <jakub@redhat.com>
10725
10726	PR middle-end/69760
10727	* tree-scalar-evolution.c (interpret_rhs_expr): Re-write
10728	conditionally executed ops to well-defined overflow behavior.
10729
107302016-02-24  Jakub Jelinek  <jakub@redhat.com>
10731
10732	PR middle-end/69915
10733	* tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
10734	elements.
10735
107362016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10737
10738	PR rtl-optimization/69886
10739	* gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
10740	argument.  Use it when checking validity of set instructions.
10741	(want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
10742	(compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
10743	callsite.
10744	* rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
10745	* store-motion.c (find_moveable_store): Update
10746	can_assign_to_reg_without_clobbers_p callsite.
10747
107482016-02-24  Richard Biener  <rguenther@suse.de>
10749
10750	PR middle-end/68963
10751	* tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
10752	bogus check.
10753	(record_nonwrapping_iv): Do not fall back to the low/high bound
10754	for non-constant IV bases if the stmt is not always executed.
10755
107562016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10757
10758	* config/arm/arm-cores.def (cortex-a32): New entry.
10759	* config/arm/arm-tables.opt: Regenerate.
10760	* config/arm/arm-tune.md: Regenerate.
10761	* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
10762	* config/arm/t-aprofile: Handle mcpu=cortex-a32.
10763	* doc/invoke.texi (ARM Options): Document cortex-a32 as value
10764	for -mcpu and -mtune.
10765
107662016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10767
10768	PR target/69875
10769	* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
10770	* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
10771	* config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
10772	(atomic_loaddi_1): Delete.
10773	(atomic_loaddi): Rewrite expander using the above changes.
10774
107752016-02-24  Jakub Jelinek  <jakub@redhat.com>
10776
10777	PR c/69918
10778	* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
10779	2 to 3.
10780
107812016-02-24  Jakub Jelinek  <jakub@redhat.com>
10782	    Richard Biener  <rguenth@suse.de>
10783
10784	PR middle-end/69909
10785	* expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
10786	set_mem_attributes if tem is SSA_NAME which got expanded
10787	as a MEM.
10788
107892016-02-24  Richard Biener  <rguenther@suse.de>
10790
10791	PR tree-optimization/69907
10792	* tree-vect-stmts.c (vectorizable_load): Check for gaps at the
10793	end of permutations for BB vectorization.
10794
107952016-02-24  Christian Bruel  <christian.bruel@st.com>
10796
10797	* config/arm/arm-c.c (arm_option_override): Initialize
10798	target_option_current_node.
10799	* config/arm/arm.c (arm_pragma_target_parse): Replace
10800	build_target_option_node call by target_option_current_node.
10801	Set target_option_current_node.
10802	Fix comments.
10803
108042016-02-23  David Edelsohn  <dje.gcc@gmail.com>
10805
10806	PR target/69810
10807	* config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
10808	define_insn_and_split to define_insn.
10809	(zero_extendqi<mode>2_dot2): Same.
10810	(extendqi<mode>2_dot): Same.
10811	(extendqi<mode>2_dot2): Same.
10812
108132016-02-23  Evandro Menezes  <e.menezes@samsung.com>
10814
10815	* config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
10816	and add bypass for AES{D,E} and AESMC pairs.
10817	* config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
10818	and AESMC pairs.
10819
108202016-02-23  Evandro Menezes  <e.menezes@samsung.com>
10821
10822	* config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
10823	series for reciprocal square root in Exynos M1.
10824
108252016-02-23  Martin Sebor  <msebor@redhat.com>
10826
10827	PR c/69759
10828	* doc/extend.texi (Other Builtins): Document __builtin_alloca and
10829	__builtin_alloca_with_align.
10830
108312016-02-23  Richard Henderson  <rth@redhat.com>
10832
10833	* config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
10834	(ix86_register_pragmas): Remove __seg_tls.
10835	* config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
10836	* config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
10837	(ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
10838	(ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
10839	(ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
10840	* doc/extend.texi (__seg_tls): Remove item.
10841
108422016-02-23  Richard Biener  <rguenther@suse.de>
10843
10844	* alloc-pool.h (struct allocation_object): Make id member
10845	conditional on CHECKING_P again.
10846	(get_instance): Adjust.
10847	(base_pool_allocator): Likewise.
10848
108492016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
10850
10851	* tree-parloops.c (create_parallel_loop, gen_parallel_loop)
10852	(parallelize_loops): In OpenACC kernels mode, set n_threads to
10853	zero.
10854	(pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
10855	flag_openacc.
10856	* tree-ssa-loop.c (gate_oacc_kernels): Likewise.
10857
108582016-02-23  Richard Biener  <rguenther@suse.de>
10859
10860	* mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
10861	* bitmap.h (struct bitmap_usage): Likewise.
10862	(bitmap_move): Declare.
10863	* bitmap.c (register_overhead): Take size_t argument.
10864	(bitmap_move): New function.
10865	* df-problems.c (df_rd_transfer_function): Use bitmap_move
10866	to properly account overhead.
10867	* tree.c (free_node): Use tree_size.
10868
108692016-02-23  Jakub Jelinek  <jakub@redhat.com>
10870
10871	PR c++/69902
10872	* fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
10873	when inverting comparison.
10874
10875	PR c/69900
10876	* common.opt (Wunreachable-code): Add Warning flag.
10877
108782016-02-23  Mark Wielaard  <mjw@redhat.com>
10879	    Jakub Jelinek  <jakub@redhat.com>
10880
10881	PR c/69911
10882	* cgraphunit.c (check_global_declaration): Check main_input_filename
10883	and DECL_SOURCE_FILE are not NULL.
10884
108852016-02-23  Martin Jambor  <mjambor@suse.cz>
10886
10887	PR tree-optimization/69666
10888	* tree-sra.c (sra_modify_assign): Do not attempt to create
10889	default_def replacements for unscalarizable regions.
10890
108912016-02-20  Mark Wielaard  <mjw@redhat.com>
10892
10893	PR c/28901
10894	* cgraphunit.c (check_global_declaration): Check level of
10895	warn_unused_const_variable and main_input_filename.
10896	* doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
10897	(-Wunused-variable): For C implies -Wunused-const-variable=1.
10898	(-Wunused-const-variable): Explain levels 1 and 2.
10899
109002016-02-22  Jakub Jelinek  <jakub@redhat.com>
10901
10902	PR target/69888
10903	* config/i386/i386.c (decide_alg): Ensure we don't recurse with
10904	identical arguments.  Formatting and spelling fixes.
10905
10906	PR target/69885
10907	* doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
10908	be specified.
10909
10910	PR target/69894
10911	PR target/69895
10912	* config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
10913	and m68k-devices.def.
10914	* config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
10915	* config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
10916
109172016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
10918
10919	* config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
10920	and HImode registers.
10921
109222016-02-22  Richard Biener  <rguenther@suse.de>
10923
10924	PR tree-optimization/69882
10925	* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
10926	preserve permutations present because of gaps.
10927	(vect_supported_load_permutation_p): Always continue checking
10928	permutations after vect_attempt_slp_rearrange_stmts.
10929
109302016-02-22  Bin Cheng  <bin.cheng@arm.com>
10931
10932	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
10933	min_profitable_estimate, rather than min_profitable_iters.
10934
109352016-02-22  Jakub Jelinek  <jakub@redhat.com>
10936
10937	PR target/69885
10938	* config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
10939	SImode for last match_operand.
10940
109412016-02-22  Martin Liska  <mliska@suse.cz>
10942
10943	* hsa-gen.c (gen_hsa_clrsb): In case of zero value,
10944	return bitsize - 1 as the return value.
10945
109462016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
10947
10948	PR target/69806
10949	PR target/54089
10950	* config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
10951	Handle negative shift counts.
10952	* config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
10953	force_reg on the shift constant.
10954	(lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
10955	(lshrsi3_d): Handle negative shift counts.
10956
109572016-02-22  Richard Biener  <rguenther@suse.de>
10958	    Tom de Vries  <tom@codesourcery.com>
10959
10960	* graph.c: Include dumpfile.h.
10961	(print_graph_cfg): Split into three overloads.
10962	* gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
10963
109642016-02-22  Tom de Vries  <tom@codesourcery.com>
10965
10966	* gdbhooks.py (class DumpFn): Add and instantiate, adding command
10967	dump-fn.
10968
109692016-02-22  Richard Biener  <rguenther@suse.de>
10970
10971	PR ipa/37448
10972	* ipa-inline-transform.c (inline_call): When not updating
10973	overall summaries adjust self size by the growth estimate.
10974	* ipa-inline.c (inline_to_all_callers_1): Add to the callers
10975	hash-set, do not update overall summaries here.  Renamed from ...
10976	(inline_to_all_callers): ... this which is now wrapping the
10977	above and performing delayed overall summary update.
10978	(early_inline_small_functions): Delay updating of the overall
10979	summary.
10980
109812016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
10982
10983	* tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
10984	variable.
10985
109862016-02-19  Jakub Jelinek  <jakub@redhat.com>
10987
10988	PR driver/69805
10989	* gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
10990	:%* in %:gt() argument.
10991	(greater_than_spec_func): Adjust for expecting only numbers,
10992	if there are more than two numbers, compare the last two.
10993
109942016-02-19  Jonathan Wakely  <jwakely@redhat.com>
10995
10996	* doc/invoke.texi (C++ Dialect Options): Clarify interaction of
10997	-Wnarrowing with -std.
10998
109992016-02-19  Jakub Jelinek  <jakub@redhat.com>
11000
11001	PR c++/69851
11002	* expr.c (store_field): Don't use bit-field path if exp is
11003	COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
11004	different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
11005	and the assignment can be performed by bitwise copy.  Formatting
11006	fix.
11007
11008	PR middle-end/69838
11009	* lra.c (lra_process_new_insns): If non-call exceptions are enabled,
11010	call copy_reg_eh_region_note_forward on before and/or after sequences
11011	and remove note from insn if it no longer can throw.
11012
11013	PR target/69820
11014	* config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
11015	if TARGET_AVX512BW.
11016
110172016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11018
11019	* config/s390/vector.md: Add missing commutative operand markers
11020	to the patterns which qualify for one.
11021	* config/s390/vx-builtins.md: Likewise.
11022
110232016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11024
11025	* config/s390/vector.md (VI, VI_QHS): Add single element vector
11026	types to mode iterators.
11027	(vec_double): ... and mode attribute.
11028	* config/s390/vx-builtins.md (non_vec_int): Likewise.
11029
110302016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11031
11032	* config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
11033	Change the predicate of op2 from nonimmediate to general and let
11034	reload fix it if necessary.
11035
110362016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11037
11038	* config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
11039
110402016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11041
11042	* config/s390/s390.c (s390_expand_vcond): Use the compare operand
11043	mode.
11044
110452016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11046
11047	* config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
11048	* config/s390/s390.c (s390_expand_vec_movstr): New function.
11049	* config/s390/s390.md ("movstr<P:mode>"): Call
11050	s390_expand_vec_movstr.
11051
110522016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11053
11054	* config/s390/s390.md: Add missing output modifier for operand 1
11055	to print it as address properly.
11056
110572016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
11058
11059	* config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
11060	* config/s390/2964.md: New file.
11061	* config/s390/s390.c (s390_get_sched_attrmask): Use the right set
11062	of insn grouping attributes depending on the CPU level.
11063	(s390_get_unit_mask): New function.
11064	(s390_sched_score): Remove the OOO from the scheduling macros.
11065	Add loop to calculate a score for the instruction mix.
11066	(s390_sched_reorder): Likewise plus improve debug output.
11067	(s390_sched_variable_issue): Rename macros as above.  Calculate
11068	the unit distances after actually scheduling an insn.  Improve
11069	debug output.
11070	(s390_sched_init): Clear last_scheduled_unit_distance array.
11071	* config/s390/s390.md: Include 2964.md.
11072
110732016-02-18  Jakub Jelinek  <jakub@redhat.com>
11074
11075	PR target/69671
11076	* config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
11077	*avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
11078	*avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
11079	*avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
11080	*avx512f_<code>v8div16qi2_mask_1): New insns.
11081
110822016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
11083
11084	PR target/68404
11085	* config/rs6000/predicates.md (fusion_gpr_addis): Revert
11086	2016-02-09 change.
11087
11088	* config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
11089	earlyclobber from target.  Use wF constraint for fused memory
11090	address.
11091	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
11092
110932016-02-18  Jakub Jelinek  <jakub@redhat.com>
11094	    Martin Liska  <mliska@suse.cz>
11095
11096	PR sanitizer/69863
11097	* cfgexpand.c (asan_sanitize_stack_p): New function.
11098	(partition_stack_vars): Use the function.
11099	(expand_stack_vars): Likewise.
11100	(defer_stack_allocation): Likewise.
11101	(expand_used_vars): Likewise.
11102
111032016-02-18  Richard Biener  <rguenther@suse.de>
11104
11105	PR middle-end/69553
11106	* fold-const.c (operand_equal_p): Properly compare offsets for
11107	IMAGPART_EXPR and ARRAY_REF.
11108
111092016-02-18  Nick Clifton  <nickc@redhat.com>
11110
11111	PR target/62254
11112	PR target/69610
11113	* config/arm/arm.c (arm_option_override_internal): Disable
11114	interworking if the target does not support thumb instructions.
11115	(arm_reload_in_hi): Handle the case where a register to register
11116	move needs reloading because there is no simple pattern to handle
11117	it.
11118	(arm_reload_out_hi): Likewise.
11119
111202016-02-18  Richard Biener  <rguenther@suse.de>
11121
11122	PR middle-end/69854
11123	* match.pd: Don't use fold_binary or fold_unary for folding
11124	constants.
11125
111262016-02-17  Jakub Jelinek  <jakub@redhat.com>
11127
11128	PR c++/69850
11129	* gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
11130	on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
11131	* gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
11132	warn on gimple_no_warning_p statements.
11133
111342016-02-17  Jonathan Wakely  <jwakely@redhat.com>
11135
11136	* doc/extend.texi (C++ Attributes): Correct description of
11137	warn_unused type attribute.
11138
111392016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
11140
11141	* config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
11142	correct instruction.
11143
111442016-02-17  Richard Biener  <rguenther@suse.de>
11145
11146	PR rtl-optimization/69609
11147	* bb-reorder.c (struct bbro_basic_block_data): Add priority member.
11148	(find_traces_1_round): When ending a trace update cached priority
11149	of successors.
11150	(bb_to_key): Use cached priority when available.
11151	(copy_bb): Initialize cached priority.
11152	(reorder_basic_blocks_software_trace_cache): Likewise.
11153
111542016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11155
11156	PR target/69161
11157	* config/aarch64/predicates.md (aarch64_comparison_operator_mode):
11158	New predicate.
11159	(aarch64_comparison_operator): Break overly long line into two.
11160	(aarch64_comparison_operation): Likewise.
11161	* config/aarch64/aarch64.md (cstorecc4): Use
11162	aarch64_comparison_operator_mode instead of
11163	aarch64_comparison_operator.
11164	(cstore<mode>4): Likewise.
11165	(aarch64_cstore<mode>): Likewise.
11166	(*cstoresi_insn_uxtw): Likewise.
11167	(cstore<mode>_neg): Likewise.
11168	(*cstoresi_neg_uxtw): Likewise.
11169
111702016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11171
11172	PR target/69161
11173	* config/arm/predicates.md (arm_comparison_operator_mode):
11174	New predicate.
11175	* config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
11176	instead of arm_comparison_operator.
11177	(*mov_negscc): Likewise.
11178	(*mov_notscc): Likewise.
11179	* config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
11180	(*thumb2_mov_negscc): Likewise.
11181	(*thumb2_mov_negscc_strict_it): Likewise.
11182	(*thumb2_mov_notscc): Likewise.
11183	(*thumb2_mov_notscc_strict_it): Likewise.
11184
111852016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
11186
11187	* config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
11188	Add missing return.
11189
111902016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
11191
11192	* config/visium/visium.c (machine_libfunc_index): New enum.
11193	(machine_libfuncs): New structure.
11194	(visium_libfuncs): New static variable.
11195	(TARGET_INIT_LIBFUNCS): Define to...
11196	(visium_init_libfuncs): ...this.  New function.
11197	(expand_block_move_4): Use the appropriate libfunc.
11198	(expand_block_move_2): Likewise.
11199	(expand_block_move_1): Likewise.
11200	(expand_block_set_4): Likewise.
11201	(expand_block_set_2): Likewise.
11202	(expand_block_set_1): Likewise.
11203	(visium_trampoline_init): Likewise.
11204
112052016-02-17  Nick Clifton  <nickc@redhat.com>
11206
11207	* config/msp430/msp430.c (msp430_mcu_data): Sync with data from
11208	TI's devices.csv file as of March 2016.
11209
112102016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
11211
11212	PR Target/48344
11213	* opts-global.c (handle_common_deferred_options): Introduce and
11214	initialize two global variables to remember command-line options
11215	specifying a stack-limiting register.
11216	* opts.h: Add extern declarations of the two new global variables.
11217	* emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
11218	variable based on the values of the two new global variables.
11219
112202016-02-16  Jakub Jelinek  <jakub@redhat.com>
11221
11222	PR c/69835
11223	* common.opt (Wnonnull-compare): New warning.
11224	* doc/invoke.texi (-Wnonnull): Remove text about comparison
11225	of arguments against NULL.
11226	(-Wnonnull-compare): Document.
11227	* Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
11228	* tree-pass.h (make_pass_warn_nonnull_compare): Declare.
11229	* passes.def (pass_warn_nonnull_compare): Add.
11230	* gimple-ssa-nonnull-compare.c: New file.
11231
112322016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
11233
11234	* config/aarch64/aarch64.c (cortexa57_tunings): Remove
11235	AARCH64_EXTRA_TUNE_RECIP_SQRT.
11236
112372016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
11238
11239	* config/aarch64/aarch64.c (use_rsqrt_p): Always use software
11240	reciprocal sqrt for -mlow-precision-recip-sqrt.
11241
112422016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
11243	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
11244
11245	* config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
11246	always use lane loads to construct non-constant vectors.
11247
112482016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
11249
11250	* config/aarch64/aarch64.md
11251	(arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
11252	constraints for	operand 3.
11253	(aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
11254
112552016-02-16  Jakub Jelinek  <jakub@redhat.com>
11256	    Richard Biener  <rguenther@suse.de>
11257
11258	PR tree-optimization/69820
11259	* tree-vect-patterns.c (type_conversion_p): Return false if
11260	*orig_type is unsigned single precision or boolean.
11261	(vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
11262	Formatting fix.
11263
112642016-02-16  Jakub Jelinek  <jakub@redhat.com>
11265
11266	PR rtl-optimization/69764
11267	PR rtl-optimization/69771
11268	* optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
11269	op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
11270
112712016-02-16  Richard Biener  <rguenther@suse.de>
11272
11273	PR tree-optimization/69776
11274	* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
11275	sets from caller.
11276	(indirect_refs_may_alias_p): Likewise.
11277	(refs_may_alias_p_1): Pass alias sets as from ao_ref.
11278	* tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
11279	according to tbaa_p.
11280	* tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
11281	(optimize_stmt): For redundant store discovery do not allow tbaa.
11282
112832016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
11284
11285	PR tree-optimization/69714
11286	* tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
11287	Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
11288
112892016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
11290
11291	* config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
11292	* config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
11293	(FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
11294	* config/arc/arc.c (arc_init): Check FPU options.
11295	(get_arc_condition_code): Handle new CC_FPU* modes.
11296	(arc_select_cc_mode): Likewise.
11297	(arc_conditional_register_usage): Allow 64 bit datum into even-odd
11298	register pair only. Allow access for ARCv2 accumulator.
11299	(gen_compare_reg): Whenever we have FPU support use FPU compare
11300	instructions.
11301	(arc_reorg): Don't generate brcc insns when FPU compare
11302	instructions are involved.
11303	* config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
11304	(TARGET_OPTFPE): Add condition when ARC EM can use optimized
11305	floating point emulation.
11306	(ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
11307	(REVERSE_CONDITION): Add new CC_FPU* modes.
11308	(TARGET_FP_SP_BASE): Define.
11309	(TARGET_FP_DP_BASE): Likewise.
11310	(TARGET_FP_SP_FUSED): Likewise.
11311	(TARGET_FP_DP_FUSED): Likewise.
11312	(TARGET_FP_SP_CONV): Likewise.
11313	(TARGET_FP_DP_CONV): Likewise.
11314	(TARGET_FP_SP_SQRT): Likewise.
11315	(TARGET_FP_DP_SQRT): Likewise.
11316	(TARGET_FP_DP_AX): Likewise.
11317	* config/arc/arc.md (ARCV2_ACC): New constant.
11318	(type): New fpu type attribute.
11319	(SDF): Conditional iterator.
11320	(cstore<mode>, cbranch<mode>): Change expand condition.
11321	(addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
11322	handles FPU/FPX cases as well.
11323	* config/arc/arc.opt (mfpu): New option.
11324	* config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
11325	Renamed.
11326	(adddf3, muldf3, subdf3): Removed.
11327	* config/arc/predicates.md (proper_comparison_operator): Recognize
11328	CC_FPU* modes.
11329	* config/arc/fpu.md: New file.
11330	* doc/invoke.texi (ARC Options): Document mfpu option.
11331
113322016-02-16  Richard Biener  <rguenther@suse.de>
11333
11334	PR rtl-optimization/69291
11335	* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
11336	noce_operand_ok check.
11337
113382016-02-16  Tom de Vries  <tom@codesourcery.com>
11339
11340	PR lto/67709
11341	* omp-low.c (simd_clone_create): Remove call to
11342	symtab->call_cgraph_insertion_hooks.
11343
113442016-02-16  Jakub Jelinek  <jakub@redhat.com>
11345
11346	PR tree-optimization/69802
11347	* tree-ssa-reassoc.c (update_range_test): If op is
11348	SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
11349	op == 1 test of precision 1 integral op, otherwise handle
11350	that case as op itself.  Fix up formatting.
11351	(optimize_range_tests_to_bit_test, optimize_range_tests): Fix
11352	up formatting.
11353
113542016-02-16  Richard Biener  <rguenther@suse.de>
11355
11356	PR tree-optimization/69586
11357	* tree-vrp.c (register_edge_assert_for_2): Handle all integral
11358	types for conversion sources.
11359
113602016-02-16  Richard Biener  <rguenther@suse.de>
11361
11362	PR middle-end/69801
11363	* fold-const.c (operand_equal_p): For COND_EXPR zero operand
11364	mask OEP_ADDRESS_OF.
11365
113662016-02-16  Alan Modra  <amodra@gmail.com>
11367
11368	PR target/68973
11369	* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
11370	(p8_mtvsrd_df, p8_mtvsrd_sf): New.
11371	(p8_mtvsrd_1, p8_mtvsrd_2): Delete.
11372	(p8_mtvsrwz): New.
11373	(p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
11374	(p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
11375	(p8_fmrgow_<mode>): Likewise.
11376	(reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
11377	changes.
11378	(reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
11379	(reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
11380	to use movdi_internal64.  Remove op0_di.
11381	* config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
11382
113832016-02-15  Evandro Menezes  <e.menezes@samsung.com>
11384
11385	Add support for the FCCMP insn types
11386
11387	* config/aarch64/aarch64.md (fccmp): Change insn type.
11388	(fccmpe): Likewise.
11389	* config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
11390	* config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
11391	* config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
11392	* config/arm/xgene1.md (xgene1_fcmp): Likewise.
11393	* config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
11394	* config/arm/types.md (fccmps): Add new insn type.
11395	(fccmpd): Likewise.
11396
113972016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11398
11399	* alias.c (get_alias_set): Fix a typo in comment.
11400
114012016-02-15  Richard Biener  <rguenther@suse.de>
11402
11403	PR tree-optimization/69595
11404	* match.pd: Complete range test simplification to true.
11405
114062016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
11407
11408	PR rtl-optimization/69648
11409	* lra-constraints.c (update_ebb_live_info): Don't remove sets of
11410	pic_offset_table_rtx.
11411
11412	PR rtl-optimization/69752
11413	* ira.c (update_equiv_regs): When looking for more than a single SET,
11414	also take other side effects into account.
11415
114162016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
11417
11418	* config/s390/s390.c (s390_function_profiler): Add a new sequence
11419	for z900+ CPUs in 31-bit mode.
11420
114212016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
11422
11423	* common/config/s390/s390-common.c (s390_supports_split_stack):
11424	New function.
11425	(TARGET_SUPPORTS_SPLIT_STACK): New macro.
11426	* config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
11427	* config/s390/s390.c (struct machine_function): New field
11428	split_stack_varargs_pointer.
11429	(s390_register_info): Mark r12 as clobbered if it'll be used as temp
11430	in s390_emit_prologue.
11431	(s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
11432	vararg pointer.
11433	(morestack_ref): New global.
11434	(SPLIT_STACK_AVAILABLE): New macro.
11435	(s390_expand_split_stack_prologue): New function.
11436	(s390_live_on_entry): New function.
11437	(s390_va_start): Use split-stack vararg pointer if appropriate.
11438	(s390_asm_file_end): Emit the split-stack note sections.
11439	(TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
11440	* config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
11441	(UNSPECV_SPLIT_STACK_CALL): New unspec.
11442	(UNSPECV_SPLIT_STACK_DATA): New unspec.
11443	(split_stack_prologue): New expand.
11444	(split_stack_space_check): New expand.
11445	(split_stack_data): New insn.
11446	(split_stack_call): New expand.
11447	(split_stack_call_*): New insn.
11448	(split_stack_cond_call): New expand.
11449	(split_stack_cond_call_*): New insn.
11450
114512016-02-15  Richard Biener  <rguenther@suse.de>
11452
11453	PR tree-optimization/69783
11454	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11455	Add trivially correct cases.
11456
114572016-02-15  Tom de Vries  <tom@codesourcery.com>
11458
11459	PR lto/69655
11460	* lto-cgraph.c (input_offload_tables): Add and handle bool parameter
11461	do_force_output.
11462	* lto-streamer.h (input_offload_tables): Add and handle bool parameter.
11463
114642016-02-15  Richard Biener  <rguenther@suse.de>
11465
11466	PR tree-optimization/69776
11467	* tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
11468	* tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
11469	indicate whether we can use TBAA to disambiguate against stores.
11470	Use alias-set zero if not.
11471	(visit_reference_op_store): Do not use TBAA when looking up
11472	redundant stores.
11473	* tree-ssa-pre.c (compute_avail): Use TBAA here.
11474	(eliminate_dom_walker::before_dom_children): But not when looking
11475	up redundant stores.
11476
114772016-02-14  John David Anglin  <danglin@gcc.gnu.org>
11478
11479	* config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
11480
114812016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
11482
11483	*  config/i386/znver1.md
11484	(znver1_pop, znver1_pop_mem,
11485	znver1_load_imov_double_store,
11486	znver1_load_imov_direct_store,
11487	znver1_load_imov_direct_load,
11488	znver1_load_imov_double_load): Add new.
11489	(znver1_insn, znver1_insn_load): Add icmov type.
11490	(znver1_sseavx_fma,
11491	znver1_sseavx_fma_load,
11492	znver1_avx256_fma,
11493	znver1_avx256_fma_load): Fix pipe usage.
11494
114952016-02-14  Alan Modra  <amodra@gmail.com>
11496
11497	PR target/68973
11498	* reloads.c (find_reloads_address_1): For pre/post-inc/dec
11499	with an invalid hard reg, reload just the reg not the entire
11500	pre/post-inc/dec address expression.
11501
115022016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
11503
11504	PR target/67260
11505	* config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
11506	fixed R1_REG scratch reg.
11507	(sibcall_value_pcrel_fdpic): Likewise.
11508
115092016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
11510
11511	PR target/67636
11512	PR target/64345
11513	* config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
11514
115152016-02-12  Walter Lee  <walt@tilera.com>
11516
11517	* config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
11518	* config/tilegx/t-tilegx: Likewise.
11519
115202016-02-12  David Malcolm  <dmalcolm@redhat.com>
11521
11522	PR other/69554
11523	* diagnostic-show-locus.c (struct line_span): New struct.
11524	(layout::get_first_line): Delete.
11525	(layout::get_last_line): Delete.
11526	(layout::get_num_line_spans): New member function.
11527	(layout::get_line_span): Likewise.
11528	(layout::print_heading_for_line_span_index_p): Likewise.
11529	(layout::get_expanded_location): Likewise.
11530	(layout::calculate_line_spans): Likewise.
11531	(layout::m_first_line): Delete.
11532	(layout::m_last_line): Delete.
11533	(layout::m_line_spans): New field.
11534	(layout::layout): Update comment.  Replace m_first_line and
11535	m_last_line with m_line_spans, replacing their initialization
11536	with a call to calculate_line_spans.
11537	(diagnostic_show_locus): When printing source lines and
11538	annotations, rather than looping over a single span
11539	of lines, instead loop over each line_span within
11540	the layout, with an inner loop over the lines within them.
11541	Call the context's start_span callback when changing line spans.
11542	* diagnostic.c (diagnostic_initialize): Initialize start_span.
11543	(diagnostic_build_prefix): Break out the building of the location
11544	part of the string into...
11545	(diagnostic_get_location_text): ...this new function, rewriting
11546	it from nested ternary expressions to a sequence of "if"
11547	statements.
11548	(default_diagnostic_start_span_fn): New function.
11549	* diagnostic.h (diagnostic_start_span_fn): New typedef.
11550	(diagnostic_context::start_span): New field.
11551	(default_diagnostic_start_span_fn): New prototype.
11552
115532016-02-12  David Malcolm  <dmalcolm@redhat.com>
11554
11555	PR driver/69779
11556	* gcc.c (driver::finalize): Fix cleanup of "specs".
11557
115582016-02-12  David Malcolm  <dmalcolm@redhat.com>
11559
11560	PR driver/69265
11561	PR driver/69453
11562	* gcc.c (driver::driver): Initialize m_option_suggestions.
11563	(driver::~driver): Clean up m_option_suggestions.
11564	(suggest_option): Convert to...
11565	(driver::suggest_option): ...this, and split out into
11566	driver::build_option_suggestions and find_closest_string.
11567	(driver::build_option_suggestions): New function, from
11568	first half of suggest_option.  Special-case
11569	OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
11570	the sanitizer_opts array.  For options of enum types, add the
11571	various enum values to the candidate strings.
11572	(driver::handle_unrecognized_options): Remove "const".
11573	* gcc.h (driver::handle_unrecognized_options): Likewise.
11574	(driver::build_option_suggestions): New decl.
11575	(driver::suggest_option): New decl.
11576	(driver::m_option_suggestions): New field.
11577	* opts-common.c (add_misspelling_candidates): New function.
11578	* opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
11579	and make non-static.
11580	* opts.h (sanitizer_opts): New array decl.
11581	(add_misspelling_candidates): New function decl.
11582	* spellcheck.c (find_closest_string): New function.
11583	* spellcheck.h (find_closest_string): New function decl.
11584
115852016-02-12  Jakub Jelinek  <jakub@redhat.com>
11586
11587	PR rtl-optimization/69764
11588	PR rtl-optimization/69771
11589	* optabs.c (expand_binop_directly): For shift_optab_p, force
11590	convert_modes with VOIDmode if xop1 has VOIDmode.
11591
115922016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
11593
11594	PR target/69729
11595	* lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
11596	to correctly determine instrumentation thunks.
11597
115982016-02-12  Jakub Jelinek  <jakub@redhat.com>
11599
11600	PR ipa/69241
11601	* ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
11602	type by reference, force lhs on the call.
11603
11604	PR ipa/68672
11605	* ipa-split.c (split_function): Don't compute/use main_part_return_p.
11606	Compute retval and retbnd early in all cases if split_part_return_p
11607	and return_bb is not EXIT.  Remove all clobber stmts and reset
11608	all debug stmts that refer to SSA_NAMEs defined in split part,
11609	except if it is retval, in that case replace the old retval with the
11610	lhs of the call to the split part.
11611
116122016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
11613
11614	revert:
11615	2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
11616
11617	PR middle-end/66726
11618	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
11619	whose result is used in PHI.
11620	(maybe_optimize_range_tests): Likewise.
11621	(final_range_test_p): Likweise.
11622
116232016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
11624
11625	PR middle-end/66726
11626	* tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
11627	whose result is used in PHI.
11628	(maybe_optimize_range_tests): Likewise.
11629	(final_range_test_p): Likweise.
11630
116312016-02-12  Jakub Jelinek  <jakub@redhat.com>
11632
11633	* cgraph.c: Spelling fixes - behaviour -> behavior and
11634	neighbour -> neighbor.
11635	* target.def: Likewise.
11636	* sel-sched.c: Likewise.
11637	* config/mips/mips.c: Likewise.
11638	* config/arc/arc.md: Likewise.
11639	* config/arm/cortex-a57.md: Likewise.
11640	* config/arm/arm.c: Likewise.
11641	* config/arm/neon.md: Likewise.
11642	* config/arm/arm-c.c: Likewise.
11643	* config/vms/vms-c.c: Likewise.
11644	* config/s390/s390.c: Likewise.
11645	* config/i386/znver1.md: Likewise.
11646	* config/i386/i386.c: Likewise.
11647	* config/ia64/hpux-unix2003.h: Likewise.
11648	* config/msp430/msp430.md: Likewise.
11649	* config/rx/rx.c: Likewise.
11650	* config/rx/rx.md: Likewise.
11651	* config/aarch64/aarch64-simd.md: Likewise.
11652	* config/aarch64/aarch64.c: Likewise.
11653	* config/nvptx/nvptx.c: Likewise.
11654	* config/bfin/bfin.c: Likewise.
11655	* config/cris/cris.opt: Likewise.
11656	* config/rs6000/rs6000.c: Likewise.
11657	* target.h: Likewise.
11658	* spellcheck.c: Likewise.
11659	* ira-build.c: Likewise.
11660	* tree-inline.c: Likewise.
11661	* builtins.c: Likewise.
11662	* lra-constraints.c: Likewise.
11663	* explow.c: Likewise.
11664	* hwint.h: Likewise.
11665	* targhooks.c: Likewise.
11666	* tree-vect-data-refs.c: Likewise.
11667	* expr.c: Likewise.
11668	* doc/tm.texi: Likewise.
11669	* doc/extend.texi: Likewise.
11670	* doc/install.texi: Likewise.
11671	* doc/md.texi: Likewise.
11672	* tree-ssa-tail-merge.c: Likewise.
11673	* sched-int.h: Likewise.
11674	* match.pd: Likewise.
11675	* sched-ebb.c: Likewise.
11676	* target.def (omit_struct_return_reg): Likewise.
11677	* gimple-ssa-isolate-paths.c: Likewise.
11678	(find_implicit_erroneous_behaviour): Renamed to...
11679	(find_implicit_erroneous_behavior): ... this.
11680	(find_explicit_erroneous_behaviour): Renamed to...
11681	(find_explicit_erroneous_behavior): ... this.
11682	(gimple_ssa_isolate_erroneous_paths): Adjust caller.
11683
116842016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
11685
11686	PR rtl-optimization/64682
11687	PR rtl-optimization/69567
11688	PR rtl-optimization/69737
11689	* combine.c (distribute_notes) <REG_DEAD>: If the register is set
11690	in I2 as well, just lose it.
11691
116922016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11693
11694	* config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
11695	New variable.
11696	(aarch64_last_printed_tune_string): Likewise.
11697	(aarch64_declare_function_name): Only output .arch assembler
11698	directive if it will be different from the previously output
11699	directive.  Same for .tune comment but only if -dA is set.
11700	(aarch64_start_file): New function.
11701	(TARGET_ASM_FILE_START): Define.
11702
117032016-02-11  David Malcolm  <dmalcolm@redhat.com>
11704
11705	PR plugins/69758
11706	* Makefile.in (PLUGIN_HEADERS): Add params.list.
11707
117082016-02-11  Jakub Jelinek  <jakub@redhat.com>
11709
11710	PR target/65313
11711	* tree-vect-slp.c (vect_schedule_slp_instance): Avoid
11712	-Wmaybe-uninitialized warning.
11713
117142016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
11715
11716	PR target/69713
11717	* config/sh/sh.md (casesi_worker_0): Add T_REG use.
11718
117192016-02-11  Richard Biener  <rguenther@suse.de>
11720
11721	PR rtl-optimization/69291
11722	* ifcvt.c (noce_try_store_flag_constants): Do not allow
11723	subexpressions affected by changing the result.
11724
117252016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
11726
11727	PR target/69148
11728	* lra-constraints.c (curr_insn_transform): Find in/out operands
11729	for secondary memory moves.  Update dups.
11730
117312016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
11732
11733	PR tree-optimization/69652
11734	* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
11735	to nested loop, did source re-formatting, skip debug statements,
11736	add check on statement with volatile operand, remove dead scalar
11737	statements.
11738
117392016-02-10  Jakub Jelinek  <jakub@redhat.com>
11740	    Patrick Palka  <ppalka@gcc.gnu.org>
11741
11742	PR ipa/69241
11743	PR c++/69649
11744	* gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
11745	calls if the return type is TREE_ADDRESSABLE.
11746	* cgraphunit.c (cgraph_node::expand_thunk): Likewise.
11747	* ipa-split.c (split_function): Fix doubled "we" in comment.
11748	Use void return type for the split part even if
11749	!split_point->split_part_set_retval.
11750
117512016-02-10  Bin Cheng  <bin.cheng@arm.com>
11752
11753	PR tree-optimization/68021
11754	* tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
11755	when computing the value of biv cand by itself.
11756
117572016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
11758
11759	* config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
11760	(cortexa57_tunings): Likewise.
11761	(cortexa72_tunings): Likewise.
11762	(arch_macro_fusion_pair_p): Add support for AES fusion.
11763	* config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
11764	* config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
11765	Allow virtual registers before reload so early scheduling works.
11766	* config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
11767	correct latency and pipeline.
11768	(cortex_a57_crypto_complex): Likewise.
11769	(cortex_a57_crypto_xor): Likewise.
11770	(define_bypass): Add AES bypass.
11771
117722016-02-10  Richard Biener  <rguenther@suse.de>
11773
11774	PR tree-optimization/69726
11775	* passes.def: Add DCE pass before late uninit.
11776	* match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
11777	really fixup if-conversions job.
11778
117792016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
11780
11781	* config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
11782	(arm_cortex_a57_tune): Likewise.
11783	(aarch_macro_fusion_pair_p): Add support for AES fusion.
11784	* config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
11785
117862016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
11787
11788	* timevar.def (TV_PHASE_DBGINFO): Delete.
11789	(TV_PHASE_CHECK_DBGINFO): Likewise.
11790	* varpool.c (varpool_node::assemble_decl): Do not change timevar.
11791
117922016-02-10  Richard Biener  <rguenther@suse.de>
11793
11794	PR tree-optimization/69719
11795	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11796	Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
11797
117982016-02-09  Andrew Pinski  <apinski@cavium.com>
11799
11800	PR tree-opt/69282
11801	* optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
11802	get_vcond_mask_icode returns false.
11803
118042016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
11805
11806	PR target/68404
11807	* config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
11808	an ADDIS that adds a pointer to a large constant that sets the
11809	upper16 bits with a load operation.
11810
118112016-02-09  Charles Baylis  <charles.baylis@linaro.org>
11812
11813	PR target/68532
11814	* config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
11815	order.
11816	* config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
11817	endian.
11818	(vzipq_s16): Likewise.
11819	(vzipq_s32): Likewise.
11820	(vzipq_f32): Likewise.
11821	(vzipq_u8): Likewise.
11822	(vzipq_u16): Likewise.
11823	(vzipq_u32): Likewise.
11824	(vzipq_p8): Likewise.
11825	(vzipq_p16): Likewise.
11826
118272016-02-09  Charles Baylis  <charles.baylis@linaro.org>
11828
11829	PR target/68532
11830	* config/arm/arm.c (neon_endian_lane_map): New function.
11831	(neon_vector_pair_endian_lane_map): New function.
11832	(arm_evpc_neon_vuzp): Allow for big endian lane order.
11833	* config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
11834	endian.
11835	(vuzpq_s16): Likewise.
11836	(vuzpq_s32): Likewise.
11837	(vuzpq_f32): Likewise.
11838	(vuzpq_u8): Likewise.
11839	(vuzpq_u16): Likewise.
11840	(vuzpq_u32): Likewise.
11841	(vuzpq_p8): Likewise.
11842	(vuzpq_p16): Likewise.
11843
118442016-02-11  Alexandre Oliva  <aoliva@redhat.com>
11845
11846	PR target/69634
11847	* regstat.c (regstat_bb_compute_calls_crossed): Disregard
11848	debug insns.
11849
118502016-02-09  Uros Bizjak  <ubizjak@gmail.com>
11851
11852	* config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
11853	truncate const_int operand 1 to QImode.
11854
118552016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
11856
11857	* gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
11858	corresponding to an abnormal edge.
11859
118602016-02-09  Tom de Vries  <tom@codesourcery.com>
11861
11862	PR tree-optimization/69599
11863	* tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
11864	function.
11865	(find_func_aliases_for_builtin_call, find_func_clobbers)
11866	(ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
11867	partition.
11868
118692016-02-09  Richard Biener  <rguenther@suse.de>
11870
11871	PR tree-optimization/69715
11872	* tree-ssa.c (execute_update_addresses_taken): Mark non-decl
11873	LHS on calls as non-rewritable.
11874
118752016-02-09  Tom de Vries  <tom@codesourcery.com>
11876
11877	PR lto/69707
11878	* lto-wrapper.c (append_diag_options): New function.
11879	(compile_offload_image): Call append_diag_options.
11880
118812016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
11882
11883	PR other/69722
11884	* doc/extend.texi (Flag Output Operands): Correct sectioning.
11885	Minor copy-edit to fix verb tenses.
11886
118872016-02-08  Jakub Jelinek  <jakub@redhat.com>
11888
11889	PR tree-optimization/69209
11890	* ipa-split.c (split_function): If split part is not
11891	returning retval, retval has gimple type but is not
11892	gimple value, force it into a SSA_NAME first.
11893
118942016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
11895
11896	* doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
11897	outdated section.
11898
118992016-02-08  Jason Merrill  <jason@redhat.com>
11900
11901	PR c++/69631
11902	* convert.c (convert_to_integer_1): Check dofold on truncation
11903	distribution.
11904	(convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
11905	(convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
11906	Rename from *_nofold.
11907	* convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
11908	(convert_to_real_nofold, convert_to_complex_nofold): New inlines.
11909
119102016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
11911
11912	PR target/60410
11913	* tree.c (build_common_tree_nodes): Remove short_double argument.
11914	All callers changed.
11915	* tree.h (build_common_tree_nodes): Adjust declaration.
11916	* doc/invoke.texi (-fshort-double): Remove documentation.
11917	* config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
11918	MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
11919	* lto-wrapper.c (merge_and_complain, append_compiler_options)
11920	(append_linker_options): Don't handle OPT_fshort_double.
11921
11922	PR rtl-optimization/68730
11923	* lra-remat.c (insn_to_cand_activation): New static variable.
11924	(lra_remat): Allocate and free it.
11925	(create_cand): New arg activation. Initialize a field in
11926	insn_to_cand_activation if it is nonnull.
11927	(create_cands): Pass the activation insn to create_cand when making
11928	a candidate involving an output reload.  Reorganize code a little.
11929	(do_remat): Keep track of active status of candidates in a separate
11930	bitmap.
11931
119322016-02-08  Richard Biener  <rguenther@suse.de>
11933
11934	PR tree-optimization/69719
11935	* tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
11936	Properly use absolute of the difference of the two offsets to
11937	compare or adjust the segment length.
11938
119392016-02-08  Richard Biener  <rguenther@suse.de>
11940	    Jeff Law  <law@redhat.com>
11941
11942	PR target/68273
11943	* tree-ssanames.c (make_ssa_name_fn): Always use unqualified
11944	types for anonymous SSA names.
11945
119462016-02-08   Richard Biener  <rguenther@suse.de>
11947
11948	PR rtl-optimization/69274
11949	* ira.c (ira_setup_alts): Do not change recog_data.operand order.
11950
119512016-02-08  Jeff Law  <law@redhat.com>
11952
11953	PR tree-optimization/65917
11954	* tree-ssa-dom.c (record_temporary_equivalences): Record both
11955	equivalences from if (x == y) style conditionals.
11956	(loop_depth_of_name): Remove.
11957	(record_equality): Remove loop depth check.
11958	* tree-ssa-scopedtables.h (const_and_copies): Refine comments.
11959	(const_and_copies::record_const_or_copy_raw): New member function.
11960	* tree-ssa-scopedtables.c
11961	(const_and_copies::record_const_or_copy_raw): New, factored out of
11962	(const_and_copies::record_const_or_copy): Call new member function.
11963
119642016-02-05  Jeff Law  <law@redhat.com>
11965
11966	PR tree-optimization/68541
11967	* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
11968	(count_stmts_in_block): New function.
11969	(poor_ifcvt_candidate_code): Likewise.
11970	(is_feasible_trace): Add some heuristics to determine when path
11971	splitting is profitable.
11972	(find_block_to_duplicate_for_splitting_paths): Make sure the graph
11973	is a diamond with a single exit.
11974
119752016-02-05  Martin Sebor  <msebor@redhat.com>
11976
11977	PR c++/69662
11978	* doc/invoke.texi: Update -Wplacement-new to take an optional
11979	argument.
11980
119812016-02-06  Richard Henderson  <rth@redhat.com>
11982
11983	PR c/69643
11984	* tree.c (tree_nop_conversion_p): Do not strip casts into or
11985	out of non-standard address spaces.
11986
119872016-02-05  Jakub Jelinek  <jakub@redhat.com>
11988
11989	PR rtl-optimization/69691
11990	* lra-eliminations.c (move_plus_up): Don't add the addend twice.
11991
119922016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
11993
11994	* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
11995	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
11996	(*ieee128_mfvsrd_64bit): Likewise.
11997	(*ieee128_mfvsrd_32bit): Likewise.
11998
119992016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
12000
12001	PR target/69369
12002	Revert r232560:
12003	2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
12004
12005	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
12006	instrumented_version.
12007
120082016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
12009
12010	* doc/invoke.texi (Optimize Options): In table of --param options
12011	rename second occurrence of tracer-min-branch-ratio to
12012	tracer-min-branch-probability, rename
12013	tracer-min-branch-ratio-feedback to
12014	tracer-min-branch-probability-feedback and clarify description,
12015	rename sched-spec-state-edge-prob-cutoff to
12016	sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
12017	to selsched-insns-to-rename, rename lto-minpartition to
12018	lto-min-partition, delete reorder-blocks-duplicate and
12019	reorder-blocks-duplicate-feedback.
12020
120212016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
12022
12023	* config/s390/s390.c (s390_register_info_set_ranges): Remove
12024	superfluous loops.
12025
120262016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
12027
12028	* doc/extend.texi: S/390: Correct some typos.
12029
120302016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
12031
12032	* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
12033
120342016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
12035
12036	PR target/69625
12037	* config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
12038	(s390_register_info_gprtofpr): Use new macros above.
12039	(s390_register_info_stdarg_fpr): Adjust max_fpr to better match
12040	its name.
12041	(s390_register_info_stdarg_gpr): Adjust max_gpr to better match
12042	its name.  Adjust restore and save gpr ranges.
12043	(s390_register_info_set_ranges): New function.
12044	(s390_register_info): Use new macros above.  Call
12045	s390_register_info_set_ranges.
12046	(s390_optimize_register_info): Likewise.
12047	(s390_hard_regno_rename_ok): Use new macros.
12048	(s390_hard_regno_scratch_ok): Likewise.
12049	(s390_emit_epilogue): Likewise.
12050	(s390_can_use_return_insn): Likewise.
12051	(s390_optimize_prologue): Likewise.
12052	* config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
12053
120542016-02-05  Jakub Jelinek  <jakub@redhat.com>
12055
12056	PR bootstrap/69677
12057	* config/i386/i386.c (convert_scalars_to_vector): Readd stack
12058	alignment fixes.
12059	(ix86_option_override_internal): Disable TARGET_STV even for
12060	-m{incoming,preferred}-stack-boundary=3.
12061
120622016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
12063
12064	* config.gcc: Mark deprecated rtems targets as obsolete.
12065
120662016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
12067
12068	PR rtl-optimization/64682
12069	PR rtl-optimization/69567
12070	* combine.c (distribute_notes) <REG_DEAD>: Place the death note
12071	before I2 only if the register is both used and set in I2.
12072
120732016-02-04  DJ Delorie  <dj@redhat.com>
12074
12075	* config/msp430/msp430.c (msp430_start_function): Add function type.
12076
120772016-02-04  Jakub Jelinek  <jakub@redhat.com>
12078
12079	PR fortran/69368
12080	* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
12081
120822016-02-04  Uros Bizjak  <ubizjak@gmail.com>
12083
12084	PR rtl-optimization/69577
12085	Revert:
12086	2015-10-29  Richard Henderson  <rth@redhat.com>
12087
12088	PR target/68124
12089	PR rtl-opt/67609
12090	* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
12091	sse check to the exact conditions of PR 67609.
12092
120932016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
12094
12095	PR target/69667
12096	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
12097	instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
12098	not allowed into the traditional Altivec registers.
12099	(movtd_64bit_nodm): Likewise.
12100	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
12101
121022016-02-04  David Malcolm  <dmalcolm@redhat.com>
12103
12104	* config/aarch64/cortex-a57-fma-steering.c
12105	(aarch64_register_fma_steering): Remove "static" from arguments
12106	to register_pass.
12107
121082016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
12109
12110	PR target/69619
12111	* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
12112	twice when complex.
12113
121142016-02-04  Mike Frysinger  <vapier@gentoo.org>
12115
12116	* doc/invoke.texi: Delete -mno-fma4.
12117
121182016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
12119
12120	PR rtl-optimization/69577
12121	* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
12122	(find_subregs_of_mode): Update accordingly.  Iterate over partial
12123	definitions.
12124
121252016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
12126
12127	* config/arm/arm-protos.h (neon_reinterpret): Remove.
12128	* config/arm/arm.c (neon_reinterpret): Remove.
12129	* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
12130	vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
12131	vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
12132	vreinterpretti): Remove.
12133	* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
12134	neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
12135	neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
12136	neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
12137	neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
12138	neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
12139	* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
12140	vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
12141	vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
12142	vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
12143	vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
12144	vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
12145	vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
12146	vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
12147	vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
12148	vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
12149	vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
12150	vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
12151	vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
12152	vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
12153	vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
12154	vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
12155	vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
12156	vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
12157	vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
12158	vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
12159	vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
12160	vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
12161	vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
12162	vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
12163	vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
12164	vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
12165	vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
12166	vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
12167	vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
12168	vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
12169	vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
12170	vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
12171	vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
12172	vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
12173	vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
12174	vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
12175	vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
12176	vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
12177	vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
12178	vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
12179	vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
12180	vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
12181	vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
12182	vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
12183	vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
12184	vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
12185	vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
12186	vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
12187	vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
12188	vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
12189	vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
12190	vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
12191	vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
12192	vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
12193	vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
12194	vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
12195	vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
12196	vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
12197	vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
12198	vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
12199	vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
12200	vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
12201	vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
12202	vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
12203	vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
12204	vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
12205	vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
12206	vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
12207	vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
12208	vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
12209	vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
12210	vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
12211	vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
12212	vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
12213	vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
12214	vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
12215	vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
12216	vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
12217	vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
12218	vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
12219	vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
12220	vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
12221	vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
12222	vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
12223	vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
12224	vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
12225	vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
12226	vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
12227	vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
12228	vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
12229	vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
12230	vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
12231	vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
12232	vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
12233	vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
12234	vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
12235	vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
12236
122372016-02-04  Martin Liska  <mliska@suse.cz>
12238
12239	PR sanitizer/69276
12240	* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
12241	that are gimple_store_p.
12242	(maybe_instrument_call): Likewise.
12243
122442016-02-04  Bin Cheng  <bin.cheng@arm.com>
12245
12246	* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
12247	register scaling out of memory reference and comment why.
12248
122492016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12250
12251	PR target/65932
12252	PR target/67714
12253	* cse.c (cse_insn): Pass NULL to fold_rtx when initially
12254	folding the source of a SET.
12255
122562016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12257
12258	PR target/65932
12259	PR target/67714
12260	* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
12261	the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
12262
122632016-02-04  Jim Wilson  <jim.wilson@linaro.org>
12264
12265	PR target/65932
12266	PR target/67714
12267	* config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
12268	HImode.
12269
122702016-02-04  Christian Bruel  <christian.bruel@st.com>
12271
12272	* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
12273	* config/arm/arm.c (arm_set_current_function): Likewise.
12274
122752016-02-04  Jakub Jelinek  <jakub@redhat.com>
12276	    Ilya Enkovich  <enkovich.gnu@gmail.com>
12277	    H.J. Lu  <hongjiu.lu@intel.com>
12278
12279	PR target/69454
12280	* config/i386/i386.c (convert_scalars_to_vector): Remove
12281	stack alignment fixes.
12282	(ix86_option_override_internal): Disable TARGET_STV if stack
12283	might not be aligned enough.
12284	(ix86_minimum_alignment): Assert that TARGET_STV is false.
12285
122862016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
12287
12288	* gcc/config/i386/x86-tune.def: Disable default prefetching
12289	for -march=znver1.
12290
122912016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
12292	    Vladimir Makarov  <vmakarov@redhat.com>
12293
12294	PR target/69461
12295	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
12296	in validating fused toc addresses.
12297
122982016-02-03  Jakub Jelinek  <jakub@redhat.com>
12299
12300	PR c/69627
12301	* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
12302	range->m_caret fields if range->m_show_caret_p is false.
12303
12304	PR target/69644
12305	* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
12306	Force oldval into register if it does not satisfy reg_or_short_operand
12307	predicate.  Fix up formatting.
12308
123092016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
12310	    Alexandre Oliva  <aoliva@redhat.com>
12311
12312	PR target/69461
12313	* lra-constraints.c (simplify_operand_subreg): Check additionally
12314	address validity after potential reloading.
12315	(process_address_1): Check insns validity.  In case of failure do
12316	nothing.
12317
123182016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
12319
12320	PR target/69118
12321	* config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
12322	Fix target.
12323
123242016-02-02  Jakub Jelinek  <jakub@redhat.com>
12325
12326	* wide-int.cc (canonize_uhwi): New function.
12327	(wi::divmod_internal): Use it.
12328
123292016-02-02  James Norris  <jnorris@codesourcery.com
12330
12331	* gimplify.c (omp_notice_variable): Add usage check.
12332
123332016-02-02  Alexander Monakov  <amonakov@ispras.ru>
12334
12335	* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
12336	like LE, GE, LT, GT when emitting relational operator.
12337
123382016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
12339
12340	* ira-costs.c (find_costs_and_classes): Add extra argument.
12341	* target.def (ira_change_pseudo_allocno_class): Add parameter.
12342	* targhooks.h (ira_change_pseudo_allocno_class): Likewise.
12343	* targhooks.c (ira_change_pseudo_allocno_class): Likewise.
12344	* config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
12345	Add best_class parameter, and return it if not ALL_REGS.
12346	* config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
12347	Add parameter.
12348	* doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
12349	Update target hook.
12350
123512016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
12352
12353	* config/aarch64/aarch64.c
12354	(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
12355	(aarch64_ira_change_pseudo_allocno_class): New function.
12356
123572016-02-02  Uros Bizjak  <ubizjak@gmail.com>
12358
12359	PR target/67032
12360	* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
12361
123622016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
12363
12364	* config/avr/avr.c (avr_option_override): Set
12365	PARAM_ALLOW_STORE_DATA_RACES to 1.
12366
123672016-02-02  Richard Biener  <rguenther@suse.de>
12368
12369	PR tree-optimization/69595
12370	* match.pd: Add range test simplifications to true/false.
12371
123722016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
12373
12374	* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
12375	* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
12376	instead.
12377
123782016-02-02  Richard Biener  <rguenther@suse.de>
12379
12380	PR tree-optimization/69606
12381	* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
12382	info on the result before moving a stmt.
12383
123842016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
12385
12386	PR middle-end/68542
12387	* config/i386/i386.c (ix86_expand_branch): Add support for conditional
12388	branch with vector comparison.
12389	* config/i386/sse.md (VI48_AVX): New mode iterator.
12390	(define_expand "cbranch<mode>4): Add support for conditional branch
12391	with vector comparison.
12392	* tree-vect-loop.c (optimize_mask_stores): New function.
12393	* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
12394	has_mask_store field of vect_info.
12395	* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
12396	vectorized loops having masked stores after vec_info destroy.
12397	* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
12398	correspondent macros.
12399	(optimize_mask_stores): Add prototype.
12400
124012016-02-02  Alan Modra  <amodra@gmail.com>
12402
12403	PR target/69548
12404	* config/rs6000/predicates.md (quad_int_reg_operand): Don't
12405	allow subregs.
12406
124072016-02-02  Alan Modra  <amodra@gmail.com>
12408
12409	PR target/68662
12410	* config/rs6000/rs6000.c (need_toc_init): New var, set it
12411	whenever toc_label_name used.
12412	(rs6000_file_start): Don't set up toc section here,
12413	(rs6000_output_function_epilogue): do so here instead,
12414	(rs6000_xcoff_file_start): and here.
12415	* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
12416	(load_toc_aix_di): Likewise.
12417
124182016-02-01  Jakub Jelinek  <jakub@redhat.com>
12419
12420	PR rtl-optimization/69592
12421	* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
12422	(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
12423	(num_sign_bit_copies_binary_arith_p): New inline function.
12424	(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
12425
124262016-02-01  Jeff Law  <law@redhat.com>
12427
12428	PR tree-optimization/69580
12429	* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
12430	* tree-ssa-threadbackward.c
12431	(fsm_find_control_statement_thread_paths): Do not try to walk
12432	through large PHI nodes.
12433
124342016-02-01  Jakub Jelinek  <jakub@redhat.com>
12435
12436	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
12437	when count is incremented above limit, don't analyze further
12438	insns afterwards.
12439
12440	* omp-low.c (oacc_parse_default_dims): Avoid
12441	-Wsign-compare warning, make sure value fits into int
12442	rather than just unsigned int.
12443
124442016-02-01  Bin Cheng  <bin.cheng@arm.com>
12445
12446	PR tree-optimization/67921
12447	* fold-const.c (split_tree): New parameters.  Convert pointer
12448	type variable part to proper type before negating.
12449	(fold_binary_loc): Pass new arguments to split_tree.
12450
124512016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
12452
12453	* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
12454	(nvptx_goacc_validate_dims): Extend to handle global defaults.
12455	* target.def (OACC_VALIDATE_DIMS): Extend documentation.
12456	* doc/tm.texti: Rebuilt.
12457	* doc/invoke.texi (fopenacc-dim): Document.
12458	* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
12459	(append_compiler_options): Likewise.
12460	* omp-low.c (oacc_default_dims, oacc_min_dims): New.
12461	(oacc_parse_default_dims): New.
12462	(oacc_validate_dims): Add USED arg.  Select non-unity default when
12463	possible.
12464	(oacc_loop_fixed_partitions): Return mask of used partitions.
12465	(oacc_loop_auto_partitions): Emit dump info.
12466	(oacc_loop_partition): Return mask of used partitions.
12467	(execute_oacc_device_lower): Parse default dimension arg.  Adjust
12468	loop partitioning and validation calls.
12469
124702016-02-01  Richard Biener  <rguenther@suse.de>
12471
12472	PR middle-end/69556
12473	* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
12474
124752016-02-01  Richard Biener  <rguenther@suse.de>
12476
12477	PR tree-optimization/69574
12478	* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
12479	of asserting return chrec_dont_know.
12480
124812016-02-01  Martin Liska  <mliska@suse.cz>
12482
12483	* mem-stats-traits.h: Add copyright header.
12484	* mem-stats.h: Likewise.
12485
124862016-02-01  Richard Biener  <rguenther@suse.de>
12487
12488	PR tree-optimization/69579
12489	* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
12490	Do not propagate through abnormal PHI results.
12491
124922016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
12493
12494	* postreload.c (reload_cse_simplify): Remove dead code.
12495
124962016-02-01  Jakub Jelinek  <jakub@redhat.com>
12497
12498	PR rtl-optimization/69570
12499	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
12500	if there is more than one set, not if there is a single set.
12501
125022016-02-01  Richard Henderson  <rth@redhat.com>
12503
12504	PR rtl-opt/69535
12505	* combine.c (make_compound_operation): When looking through a
12506	subreg, make sure to re-extend to the width of the outer mode.
12507
125082016-01-30  Jakub Jelinek  <jakub@redhat.com>
12509
12510	PR tree-optimization/69546
12511	* wide-int.cc (wi::divmod_internal): For unsigned division
12512	where both operands fit into uhwi, if o1 is 1 and o0 has
12513	msb set, if divident_prec is larger than bits per hwi,
12514	clear another quotient word and return 2 instead of 1.
12515	Similarly for remainder with msb in HWI set, if dividend_prec
12516	is larger than bits per hwi.
12517
125182016-01-29  Martin Jambor  <mjambor@suse.cz>
12519
12520	* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
12521	Use short lowercase names.
12522	(get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
12523	MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
12524	acq_rel one.  Protect warning agains segfaults if
12525	get_memory_order_name returns NULL.
12526	(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
12527	with release semantics.  Do not warn if get_memory_order already did.
12528	(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
12529	semantics.  Fix check for relaxed or acquire semantics.  Do not warn
12530	if get_memory_order already did.
12531
125322016-01-29  Sebastian Pop  <s.pop@samsung.com>
12533
12534	* doc/install.texi: Document that isl-0.16 is supported.
12535
125362016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
12537
12538	PR target/69299
12539	* config/i386/constraints.md (Bm): Describe as special memory
12540	constraint.
12541	* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
12542	* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
12543	* genpreds.c (struct constraint_data): Add is_special_memory.
12544	(have_special_memory_constraints, special_memory_start): New
12545	static vars.
12546	(special_memory_end): Ditto.
12547	(add_constraint): Add new arg is_special_memory.  Add code to
12548	process its true value.  Update have_special_memory_constraints.
12549	(process_define_constraint): Pass the new arg.
12550	(process_define_register_constraint): Ditto.
12551	(choose_enum_order): Process special memory.
12552	(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
12553	function insn_extra_special_memory_constraint.
12554	(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
12555	* gensupport.c (process_rtx): Process
12556	DEFINE_SPECIAL_MEMORY_CONSTRAINT.
12557	* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
12558	* ira-lives.c (single_reg_class): Use
12559	insn_extra_special_memory_constraint.
12560	* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
12561	* lra-constraints.c (process_alt_operands): Ditto.
12562	(curr_insn_transform): Use insn_extra_special_memory_constraint.
12563	* recog.c (asm_operand_ok, preprocess_constraints): Process
12564	CT_SPECIAL_MEMORY.
12565	* reload.c (find_reloads): Ditto.
12566	* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
12567	* stmt.c (parse_input_constraint): Use
12568	insn_extra_special_memory_constraint.
12569
125702016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
12571
12572	PR target/69530
12573	* lra-splill.c (lra_final_code_change): Revert r229087 by
12574	removing all sub-registers.
12575
125762016-01-29  Steve Ellcey  <sellcey@imgtec.com>
12577
12578	PR target/65604
12579	* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
12580
125812016-01-29  Jakub Jelinek  <jakub@redhat.com>
12582
12583	PR target/69551
12584	* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
12585	SSE1, copy target into the temporary reg first before recursing
12586	on it.
12587
125882016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
12589
12590	* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
12591	with vm.
12592
125932016-01-29  Jonathan Wakely  <jwakely@redhat.com>
12594
12595	* ginclude/stdarg.h: Test __cplusplus instead of
12596	__GXX_EXPERIMENTAL_CXX0X__.
12597
125982016-01-29  Richard Biener  <rguenther@suse.de>
12599
12600	PR tree-optimization/69547
12601	* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
12602	Do not mark clobbers necessary.
12603	(mark_all_reaching_defs_necessary_1): Likewise.
12604
126052016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
12606
12607	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
12608	declaration name with %qs and print it in both error messages.
12609	Also fix indentation.
12610
126112016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
12612
12613	PR other/69006
12614	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
12615	trailing blank line from error message.
12616
126172016-01-29  Jonathan Wakely  <jwakely@redhat.com>
12618
12619	PR c++/69462
12620	* ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
12621	for C++-11.
12622
126232016-01-29  Richard Biener  <rguenther@suse.de>
12624
12625	PR middle-end/69537
12626	* match.pd: Allow all integral types when simplifying a
12627	widening or sign-changing conversion.
12628
126292016-01-28  Sebastian Pop  <s.pop@samsung.com>
12630
12631	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
12632	back to setting codegen_error to fail codegen.
12633
126342016-01-28  Uros Bizjak  <ubizjak@gmail.com>
12635
12636	PR target/69459
12637	* config/i386/constraints.md (C): Only accept constant zero operand.
12638	(BC): New constraint.
12639	* config/i386/sse.md (*mov<mode>_internal): Use BC constraint
12640	instead of C constraint.
12641	* doc/md.texi (Machine Constraints): Update description
12642	of C constraint.
12643
126442016-01-28  Steve Ellcey  <sellcey@imgtec.com>
12645
12646	PR target/68400
12647	* config/mips/mips.c (and_operands_ok): Add MIPS16 check.
12648
126492016-01-28  Jakub Jelinek  <jakub@redhat.com>
12650
12651	PR middle-end/69542
12652	* lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
12653	non-debug insns.
12654
126552016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
12656
12657	* config/rs6000/rs6000.c (output_cbranch): Don't statically predict
12658	branches if using guessed profile.
12659
126602016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
12661
12662	* graphite-optimize-isl.c (optimize_isl): Fix dump.
12663
126642016-01-28  Richard Henderson  <rth@redhat.com>
12665
12666	PR target/69305
12667	* config/aarch64/aarch64-modes.def (CC_Cmode): New
12668	* config/aarch64/aarch64-protos.h: Update.
12669	* config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
12670	(aarch64_select_cc_mode): Add check for use of CC_Cmode.
12671	(aarch64_get_condition_code_1): Handle CC_Cmode.
12672	* config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
12673	(*add<mode>3_compareC_cconly_imm): New.
12674	(*add<mode>3_compareC_cconly): New.
12675	(*add<mode>3_compareC_imm): New.
12676	(add<mode>3_compareC): New.
12677	(add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
12678	to be first.  Use aarch64_carry_operation.
12679	(*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
12680	(*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
12681	(*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
12682	(subti3): Use subdi3_compare1.
12683	(*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
12684	(sub<mode>3_compare1): New.
12685	(*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
12686	(*sub<mode>3_carryin): Use aarch64_borrow_operation.
12687	(*subsi3_carryin_uxtw): Likewise.
12688	(*ngc<mode>, *ngcsi_uxtw): Likewise.
12689	(*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
12690	* config/aarch64/iterators.md (DWI): New.
12691	* config/aarch64/predicates.md (aarch64_carry_operation): New.
12692	(aarch64_borrow_operation): New.
12693
126942016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
12695
12696	* graphite-optimize-isl.c (optimize_isl): Print a different debug
12697	message when isl does not return a valid schedule.
12698
126992016-01-28  Sebastian Pop  <s.pop@samsung.com>
12700
12701	* graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
12702	Remove comments from class declarations: they are already in the code
12703	close by the defs.
12704
127052016-01-28  Sebastian Pop  <s.pop@samsung.com>
12706
12707	* graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
12708	codegen_error_p.
12709	(ternary_op_to_tree): Same.
12710	(unary_op_to_tree): Same.
12711	(nary_op_to_tree): Same.
12712	(gcc_expression_from_isl_expr_op): Same.
12713	(gcc_expression_from_isl_expression): Same.
12714	(graphite_create_new_loop): Same.
12715	(graphite_create_new_loop_guard): Same.
12716	(build_iv_mapping): Same.
12717	(graphite_create_new_guard): Same.
12718	(translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
12719	(translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
12720
127212016-01-28  Sebastian Pop  <s.pop@samsung.com>
12722
12723	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
12724	instead of setting codegen_error to fail codegen.
12725
127262016-01-28  Jason Merrill  <jason@redhat.com>
12727
12728	* tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
12729
127302016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
12731
12732	* config/aarch64/aarch64.c (aarch64_if_then_else_costs):
12733	Remove CONST_INT_P check in CCMP cost calculation.
12734
127352016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
12736
12737	* config/aarch64/aarch64.c (generic_vector_cost):
12738	Set vec_permute_cost.
12739	(cortexa57_vector_cost): Likewise.
12740	(exynosm1_vector_cost): Likewise.
12741	(xgene1_vector_cost): Likewise.
12742	(aarch64_builtin_vectorization_cost): Use vec_permute_cost.
12743	* config/aarch64/aarch64-protos.h (cpu_vector_cost):
12744	Add vec_permute_cost entry.
12745
127462016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
12747
12748	* config/aarch64/aarch64.md (ccmp<mode>): Disassemble
12749	immediate as %1.
12750	(add<mode>3_compare0): Likewise.
12751	(addsi3_compare0_uxtw): Likewise.
12752	(add<mode>3nr_compare0): Likewise.
12753	(compare_neg<mode>): Likewise.
12754	(<optab><mode>3): Likewise.
12755
127562016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
12757
12758	* tree-vect-stmts.c (vectorizable_comparison): Add
12759	NULL check for vectype.
12760
127612016-01-28  Richard Biener  <rguenther@suse.de>
12762
12763	PR tree-optimization/69466
12764	* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
12765	Account for PHIs we couldn't duplicate.
12766
127672016-01-28  Martin Liska  <mliska@suse.cz>
12768
12769	PR pch/68758
12770	* ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
12771	instead of ENABLE_VALGRIND_CHECKING.
12772
127732016-01-27  Richard Henderson  <rth@redhat.com>
12774
12775	PR rtl-opt/69447
12776	* lra-remat.c (subreg_regs): New.
12777	(dump_candidates_and_remat_bb_data): Dump it.
12778	(operand_to_remat): Reject if operand in subreg_regs.
12779	(set_bb_regs): Collect subreg_regs.
12780	(lra_remat): Init and free subreg_regs.  Compute
12781	calculate_local_reg_remat_bb_data before create_cands.
12782
127832016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
12784
12785	PR target/68986
12786	* config/i386/i386.c (ix86_update_stack_boundary): Don't
12787	change stack_alignment_needed for __tls_get_addr call.
12788
127892016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
12790
12791	* config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
12792
127932016-01-27  Jeff Law  <law@redhat.com>
12794
12795	PR tree-optimization/68398
12796	PR tree-optimization/69196
12797	* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
12798	(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
12799	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
12800	Only count PHIs in the last block in the path.  The others will
12801	const/copy propagate away.  Add heuristic to allow more irreducible
12802	subloops to be created when it is likely profitable to do so.
12803
12804	* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
12805	Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
12806	check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
12807
128082016-01-27  Jakub Jelinek  <jakub@redhat.com>
12809
12810	PR lto/69254
12811	* sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
12812	END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
12813	* asan.c (DEF_BUILTIN_STUB): Temporarily define.
12814	* tree-streamer-in.c: Include asan.h.
12815	(streamer_get_builtin_tree): For builtins in sanitizer
12816	range call initialize_sanitizer_builtins and retry.
12817
128182016-01-27  Ian Lance Taylor  <iant@google.com>
12819
12820	* common.opt (fkeep-gc-roots-live): New undocumented option.
12821	* tree-ssa-loop-ivopts.c (add_candidate_1): If
12822	-fkeep-gc-roots-live, skip pointers.
12823	(add_iv_candidate_for_biv): Handle add_candidate_1 returning
12824	NULL.
12825
128262016-01-27  Uros Bizjak  <ubizjak@gmail.com>
12827
12828	PR target/69512
12829	* config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
12830	(*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
12831
128322016-01-27  Thomas Klausner  <wiz@NetBSD.org>
12833
12834	PR target/68380
12835	* configure.ac: NetBSD provides SSP in its C library.
12836	* configure: Updated.
12837
128382016-01-27  Richard Biener  <rguenther@suse.de>
12839
12840	PR tree-optimization/69166
12841	* tree-vect-loop.c (vect_is_simple_reduction): Always check
12842	reduction code for commutativity / associativity.
12843
128442016-01-27  Martin Jambor  <mjambor@suse.cz>
12845
12846	PR tree-optimization/69355
12847	* tree-sra.c (analyze_access_subtree): Correct hole detection when
12848	total_scalarization fails.
12849
128502016-01-27  David Edelsohn  <dje.gcc@gmail.com>
12851
12852	* config/rs6000/driver-rs6000.c (detect_processor_aix): Add
12853	power9.
12854
128552016-01-27  Christian Bruel  <christian.bruel@st.com>
12856
12857	PR target/69245
12858	* config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
12859	Move arm_reset_previous_fndecl and set_target_option_current_node in
12860	the conditional part.  Call save_restore_target_globals.
12861	* config/arm/arm.c (arm_set_current_function):
12862	Refactor to better support #pragma target and attribute mix.
12863	Call save_restore_target_globals.
12864	* config/arm/arm-protos.h (save_restore_target_globals): New function.
12865
128662016-01-27  Martin Liska  <mliska@suse.cz>
12867
12868	* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
12869	reference for an HSA kernel and its host function.
12870
128712016-01-27  Jakub Jelinek  <jakub@redhat.com>
12872
12873	PR tree-optimization/69399
12874	* wide-int.h (wi::lrshift): For larger precisions, only
12875	use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
12876
128772016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
12878
12879	* config/arc/predicates.md (proper_comparison_operator): Reject
12880	constant-constant comparison.
12881
128822016-01-26  Tom de Vries  <tom@codesourcery.com>
12883
12884	PR tree-optimization/69110
12885	* tree-data-ref.c (initialize_data_dependence_relation): Handle
12886	DR_NUM_DIMENSIONS == 0.
12887
128882016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
12889	    Sebastian Pop  <s.pop@samsung.com>
12890
12891	* graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
12892	isl_ast_op_cond and isl_ast_op_select.
12893	(gcc_expression_from_isl_expr_op): Same.
12894
128952016-01-26  Jason Merrill  <jason@redhat.com>
12896
12897	PR c++/68782
12898	* tree.c (recompute_constructor_flags): Split out from
12899	build_constructor.
12900	(verify_constructor_flags): New.
12901	* tree.h: Declare them.
12902
129032016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
12904
12905	PR rtl-optimization/69217
12906	* var-tracking.c (tracked_record_parameter_p): Don't segfault if there
12907	are no TYPE_FIELDS set for the record type.
12908
129092016-01-26  Jakub Jelinek  <jakub@redhat.com>
12910
12911	PR target/68662
12912	* config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
12913	toc_label_name unconditionally.
12914	(rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
12915	SYMBOL_REF string.  Use toc_label_name instead of constructing
12916	LCTOC1.
12917	(rs6000_elf_declare_function_name): Use toc_label_name instead of
12918	constructing LCTOC1.
12919
129202016-01-26  Martin Sebor  <msebor@redhat.com>
12921
12922	PR other/69477
12923	* doc/extend.texi (Common Type Attributes): Move text that talks about
12924	attribute packed from attribute aligned to the section discussing
12925	the former attribute for clarity.
12926
129272016-01-26  Richard Henderson  <rth@redhat.com>
12928
12929	PR middle-end/60908
12930	* trans-mem.c (tm_region_init): Mark entry block as visited.
12931
129322016-01-26  David Malcolm  <dmalcolm@redhat.com>
12933
12934	PR other/69006
12935	* diagnostic-show-locus.c (layout::print_source_line): Replace
12936	call to pp_newline with call to layout::print_newline.
12937	(layout::print_annotation_line): Likewise.
12938	(layout::move_to_column): Likewise.
12939	(layout::print_any_fixits): After printing any fixits, print a
12940	trailing newline, if necessary.
12941	(layout::print_newline): New method, resetting any colorization
12942	before a newline.
12943	(diagnostic_show_locus): Move the pp_newline to before the
12944	early bailout.  Remove dummy block enclosing the layout instance.
12945	* diagnostic.c (default_diagnostic_finalizer): Replace invocation
12946	of pp_newline_and_flush with pp_flush.
12947	(diagnostic_append_note): Delete use of pp_newline.
12948	(diagnostic_append_note_at_rich_loc): Delete.
12949	* diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
12950	* pretty-print.h (output_buffer_append_r): Reset buff->line_length
12951	when newline characters are added to the buffer.
12952
129532016-01-26  Michael Matz  <matz@suse.de>
12954
12955	* configure.ac (ac_cv_std_swap_in_utility): New test.
12956	* system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
12957	* configure: Regenerate.
12958	* config.in: Regenerate.
12959
129602016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
12961
12962	* config/arc/arc.md (cstoresi4): Force operand into register.
12963	(arcset<code>): Fix predicate.
12964	(arcsetltu): Likewise.
12965	(arcsetgeu): Likewise.
12966	(arcsethi): Likewise.
12967	(arcsetls): Likewise.
12968
129692016-01-26  Jakub Jelinek  <jakub@redhat.com>
12970
12971	PR tree-optimization/69483
12972	* gimple-fold.c (canonicalize_constructor_val): Return NULL
12973	if base has error_mark_node type.
12974
129752016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
12976
12977	PR target/68620
12978	* config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
12979	* config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
12980	New helper macros.
12981	(vget_lane_f16): Handle big-endian.
12982	(vgetq_lane_f16): Likewise.
12983	(vset_lane_f16): Likewise.
12984	(vsetq_lane_f16): Likewise.
12985	* config/arm/iterators.md (VQXMOV): Add V8HF.
12986	(VDQ): Add V4HF and V8HF.
12987	(V_reg): Handle V4HF and V8HF.
12988	(Is_float_mode): Likewise.
12989	* config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
12990	neon_vdup_nv8hf): New patterns.
12991	(vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
12992	Use VD_LANE iterator.
12993	(neon_vld1_dup<mode>): Use VQ2 iterator.
12994
129952016-01-26  Nathan Sidwell  <nathan@acm.org>
12996
12997	* omp-low.h (oacc_fn_attrib_kernels_p): Declare.
12998	(set_oacc_fn_attrib): Add IS_KERNEL arg.
12999	* omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
13000	(oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
13001	(expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
13002	(oacc_validate_dims): Add LEVEL arg, don't return level.
13003	(new_oacc_loop_routine): Use oacc_fn_attrib_level, not
13004	oacc_validate_dims.
13005	(execute_oacc_device_lower): Adjust, add more dump output.
13006	* tree-ssa-loop.c (gate_oacc_kernels): Use
13007	oacc_fn_attrib_kernels_p.
13008	* tree-parloops.c (create_parallel_loop): Adjust
13009	set_oacc_fn_attrib call.
13010
130112016-01-26  Jakub Jelinek  <jakub@redhat.com>
13012
13013	PR lto/69254
13014	* lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
13015	(append_compiler_options): Handle -fcilkplus.
13016	(append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
13017
130182016-01-26  Nick Clifton  <nickc@redhat.com>
13019
13020	PR target/66655
13021	* config/i386/winnt.c (i386_pe_binds_local_p): If a function has
13022	been marked as DECL_ONE_ONLY but we do not the means to make it
13023	so, then do not allow it to bind locally.
13024
130252016-01-26  Jakub Jelinek  <jakub@redhat.com>
13026
13027	PR lto/69254
13028	* opts.h (parse_sanitizer_options): New prototype.
13029	* opts.c (sanitizer_opts): New array.
13030	(parse_sanitizer_options): New function.
13031	(common_handle_option): Use parse_sanitizer_options.
13032
130332016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
13034
13035	PR target/68986
13036	* config/i386/i386.c (ix86_compute_frame_layout): Move stack
13037	alignment adjustment to ...
13038	(ix86_update_stack_boundary): Here.  Don't over-align stack for
13039	__tls_get_addr.
13040	(ix86_finalize_stack_realign_flags): Use stack_alignment_needed
13041	if __tls_get_addr is called.
13042
130432016-01-26  Christian Bruel  <christian.bruel@st.com>
13044
13045	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
13046
130472016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
13048
13049	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
13050
130512016-01-26  Richard Biener  <rguenther@suse.de>
13052
13053	PR middle-end/69467
13054	* match.pd: Guard X * CST CMP 0 pattern with single_use.
13055
130562016-01-26  Richard Biener  <rguenther@suse.de>
13057
13058	PR tree-optimization/69452
13059	* tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
13060	(move_computations_dom_walker::before_dom_children): Rename
13061	to ...
13062	(move_computations_worker): This.
13063	(move_computations): Perform an RPO rather than a DOM walk.
13064
130652016-01-26  Jakub Jelinek  <jakub@redhat.com>
13066
13067	PR target/69442
13068	* combine.c (combine_instructions): For REG_EQUAL note with
13069	SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
13070	to the underlying register.
13071	* doc/rtl.texi (REG_EQUAL): Document the behavior of
13072	REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
13073
130742016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
13075
13076	PR target/67896
13077	* config/aarch64/aarch64-builtins.c
13078	(aarch64_init_simd_builtin_types): Do not set structural
13079	equality to __Poly{8,16,64,128}_t types.
13080
130812016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
13082
13083	PR tree-optimization/69400
13084	* wide-int.cc (wi_pack): Take the precision as argument and
13085	perform canonicalization here rather than in the callers.
13086	Use the main loop to handle all full-width HWIs.  Add a
13087	zero HWI if in_len isn't a full result.
13088	(wi::divmod_internal): Update accordingly.
13089	(wi::mul_internal): Likewise.  Simplify.
13090
130912016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
13092	    Sebastian Pop  <s.pop@samsung.com>
13093
13094	* graphite-poly.c (apply_poly_transforms): Simplify.
13095	(print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
13096	(print_isl_map): Same.
13097	(print_isl_union_map): Same.
13098	(print_isl_schedule): New.
13099	(debug_isl_schedule): New.
13100	* graphite-dependences.c (scop_get_reads): Do not call
13101	isl_union_map_add_map that is undocumented isl functionality.
13102	(scop_get_must_writes): Same.
13103	(scop_get_may_writes): Same.
13104	(scop_get_original_schedule): Remove.
13105	(scop_get_dependences): Do not call isl_union_map_compute_flow that
13106	is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
13107	(compute_deps): Remove.
13108	* graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
13109	(debug_schedule_ast): New.
13110	(translate_isl_ast_to_gimple::scop_to_isl_ast): Call
13111	set_separate_option.
13112	(graphite_regenerate_ast_isl): Add dump.
13113	(translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
13114	from scop->transformed_schedule.
13115	(graphite_regenerate_ast_isl): Add more dump.
13116	* graphite-optimize-isl.c (optimize_isl): Set
13117	scop->transformed_schedule.  Check whether schedules are equal.
13118	(apply_poly_transforms): Move here.
13119	* graphite-poly.c (apply_poly_transforms): ... from here.
13120	(free_poly_bb): Static.
13121	(free_scop): Static.
13122	(pbb_number_of_iterations_at_time): Remove.
13123	(print_isl_ast): New.
13124	(debug_isl_ast): New.
13125	(debug_scop_pbb): New.
13126	* graphite-scop-detection.c (print_edge): Move.
13127	(print_sese): Move.
13128	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
13129	(build_scop_scattering): Remove.
13130	(create_pw_aff_from_tree): Assert instead of bailing out.
13131	(add_condition_to_pbb): Remove unused code, do not fail.
13132	(add_conditions_to_domain): Same.
13133	(add_conditions_to_constraints): Remove.
13134	(build_scop_context): New.
13135	(add_iter_domain_dimension): New.
13136	(build_iteration_domains): Initialize pbb->iterators.
13137	Call add_conditions_to_domain.
13138	(nested_in): New.
13139	(loop_at): New.
13140	(index_outermost_in_loop): New.
13141	(index_pbb_in_loop): New.
13142	(outermost_pbb_in): New.
13143	(add_in_sequence): New.
13144	(add_outer_projection): New.
13145	(outer_projection_mupa): New.
13146	(add_loop_schedule): New.
13147	(build_schedule_pbb): New.
13148	(build_schedule_loop): New.
13149	(embed_in_surrounding_loops): New.
13150	(build_schedule_loop_nest): New.
13151	(build_original_schedule): New.
13152	(build_poly_scop): Call build_original_schedule.
13153	* graphite.h: Declare print_isl_schedule and debug_isl_schedule.
13154	(free_poly_dr): Remove.
13155	(struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
13156	(free_poly_bb): Remove.
13157	(debug_loop_vec): Remove.
13158	(print_isl_ast): Declare.
13159	(debug_isl_ast): Declare.
13160	(scop_do_interchange): Remove.
13161	(scop_do_strip_mine): Remove.
13162	(scop_do_block): Remove.
13163	(flatten_all_loops): Remove.
13164	(optimize_isl): Remove.
13165	(pbb_number_of_iterations_at_time): Remove.
13166	(debug_scop_pbb): Declare.
13167	(print_schedule_ast): Declare.
13168	(debug_schedule_ast): Declare.
13169	(struct scop): Remove schedule.  Add original_schedule,
13170	transformed_schedule.
13171	(free_gimple_poly_bb): Remove.
13172	(print_generated_program): Remove.
13173	(debug_generated_program): Remove.
13174	(unify_scattering_dimensions): Remove.
13175	* sese.c (print_edge): ... here.
13176	(print_sese): ... here.
13177	(debug_edge): ... here.
13178	(debug_sese): ... here.
13179	* sese.h (print_edge): Declare.
13180	(print_sese): Declare.
13181	(dump_edge): Declare.
13182	(dump_sese): Declare.
13183
131842016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
13185	    Sebastian Pop  <s.pop@samsung.com>
13186
13187	* Makefile.in: Set ISLVER in site.exp.
13188
131892016-01-25  Jakub Jelinek  <jakub@redhat.com>
13190
13191	* omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
13192	DECL_VALUE_EXPR of new_var even for the non-array case.  Look
13193	through DECL_VALUE_EXPR for expansion.
13194
131952016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
13196
13197	* config/mips/mips.c (mips_compute_frame_info): Skip re-computing
13198	the frame info after reload completed.
13199
132002016-01-25  Jeff Law  <law@redhat.com>
13201
13202	PR tree-optimization/69196
13203	PR tree-optimization/68398
13204	* tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
13205	tree-ssa-threadupdate.c.
13206	(determine_bb_domination_status): Prototype
13207	* tree-ssa-threadupdate.c (enum bb_dom_status): Remove
13208	(determine_bb_domination_status): No longer static.
13209	(valid_jump_thread_path): Remove code to detect characteristics
13210	of the jump thread path not associated with correctness.
13211	* tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
13212	Correct test for thread path length.  Count PHIs for real operands as
13213	statements that need to be copied.  Do not count ASSERT_EXPRs.
13214	Look at all the blocks in the thread path.  Compute and selectively
13215	filter thread paths based on threading through the latch, threading
13216	a multiway branch or crossing a multiway branch.
13217
132182016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
13219
13220	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
13221	decl with __attribute__ ((unused)) annotation.
13222
132232016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
13224
13225	PR target/69421
13226	* tree-vect-stmts.c (vectorizable_condition): Check vectype
13227	of operands is compatible with a statement vectype.
13228
132292016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
13230
13231	* doc/extend.texi (scalar_storage_order type attribute): Fix typo and
13232	improve wording for mixed storage order support.
13233
132342016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
13235
13236	* config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
13237	(vcvt_u64_f64): Likewise.
13238	(vcvta_s64_f64): Likewise.
13239	(vcvta_u64_f64): Likewise.
13240	(vcvtm_s64_f64): Likewise.
13241	(vcvtm_u64_f64): Likewise.
13242	(vcvtn_s64_f64): Likewise.
13243	(vcvtn_u64_f64): Likewise.
13244	(vcvtp_s64_f64): Likewise.
13245	(vcvtp_u64_f64): Likewise.
13246
132472016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
13248
13249	* config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
13250	(arc_init): Check validity mll64 option.
13251	(arc_save_restore): Use double load/store instruction.
13252	(arc_expand_movmem): Likewise.
13253	(arc_split_move): Don't split if we have double load/store
13254	instructions. Returns a boolean.
13255	(arc_process_double_reg_moves): Change function to return boolean
13256	instead of a sequence of instructions.
13257	(arc_dwarf_register_span): New function.
13258	* config/arc/arc-protos.h (arc_split_move): Change prototype.
13259	* config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
13260	* config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
13261	(*movdf_insn): Likewise.
13262	* config/arc/arc.opt (mll64): New option.
13263	* config/arc/predicates.md (even_register_operand): New predicate.
13264	* doc/invoke.texi (ARC Options): Add mll64 documentation.
13265
132662016-01-25  Richard Biener  <rguenther@suse.de>
13267
13268	PR lto/69393
13269	* dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
13270	* tree-streamer-out.c (pack_ts_base_value_fields): Stream
13271	DECL_NAMELESS.
13272	* tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
13273
132742016-01-25  Richard Biener  <rguenther@suse.de>
13275
13276	PR tree-optimization/69376
13277	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
13278	flag.
13279	(VN_INFO_ANTI_RANGE_P): New inline.
13280	(VN_INFO_RANGE_TYPE): Likewise.
13281	* tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
13282	SSA_NAME_ANTI_RANGE_P.
13283	(free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
13284	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
13285	Properly query VN_INFO_RANGE_TYPE.
13286
132872016-01-25  Nick Clifton  <nickc@redhat.com>
13288
13289	PR target/66655
13290	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
13291
132922016-01-23  Tom de Vries  <tom@codesourcery.com>
13293
13294	PR tree-optimization/69426
13295	* tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
13296	removed clobber.
13297
132982016-01-23  Jakub Jelinek  <jakub@redhat.com>
13299
13300	* tree-ssanames.c (release_free_names_and_compact_live_names): Replace
13301	"the the" with "the" in the comments.
13302	* ipa-devirt.c (build_type_inheritance_graph,
13303	update_type_inheritance_graph): Likewise.
13304	* tree.c (build_function_type_list_1): Likewise.
13305	* cfgloopmanip.c (scale_loop_profile): Likewise.
13306	* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
13307	* gimple-ssa-split-paths.c
13308	(find_block_to_duplicate_for_splitting_paths): Likewise.
13309	* tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
13310	* expr.c (convert_move): Likewise.
13311	* var-tracking.c (vt_stack_adjustments): Likewise.
13312	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
13313	* tree-vrp.c (test_for_singularity): Likewise.
13314
13315	* tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
13316	directly instead of building a temporary tree.
13317
13318	PR bootstrap/69434
13319	* genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
13320	remove <algorithm> include.
13321
133222016-01-22  Jakub Jelinek  <jakub@redhat.com>
13323
13324	PR target/69432
13325	* config/i386/i386.c: Include dojump.h.
13326	(expand_small_movmem_or_setmem,
13327	expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
13328	fixes.
13329	(ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
13330	if dynamic_check != -1.
13331
133322016-01-21  Jeff Law  <law@redhat.com>
13333
13334	PR middle-end/69347
13335	* tree-ssa-dom.c (back_propagate_equivalences): Factored out of
13336	record_temporary_equivalences.  Rewritten to avoid unnecessary calls
13337	into dominated_by_p.
13338	(cprop_into_successor_phis): Avoid unnecessary tests.
13339
133402016-01-22  Richard Henderson  <rth@redhat.com>
13341
13342	PR target/69416
13343	* config/aarch64/aarch64.md (UNSPEC_NZCV): New.
13344	(ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
13345
133462016-01-22  Michael Matz  <matz@suse.de>
13347
13348	* system.h (string, algorithm): Include only conditionally.
13349	(new): Include always under C++.
13350	* bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
13351	* final.c (toplevel): Ditto.
13352	* ipa-chkp.c (toplevel): Define INCLUDE_STRING.
13353	* genconditions.c (write_header): Make gencondmd.c define
13354	INCLUDE_STRING.
13355	* mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
13356
13357	* config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
13358	* common/config/aarch64/aarch64-common.c (toplevel): Ditto.
13359
133602016-01-22  Christian Bruel  <christian.bruel@st.com>
13361
13362	PR target/68674
13363	* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
13364
133652016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13366
13367	PR target/69403
13368	* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
13369	define_insn_and_split.  Ensure operands[1] and operands[0] do not
13370	get assigned the same register.
13371
133722016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
13373
13374	* ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
13375
133762016-01-22  Christian Bruel  <christian.bruel@st.com>
13377
13378	* config/arm/arm-c.c (arm_pragma_target_parse):
13379	Remove warn_builtin_macro_redefined overwrite.
13380
133812016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
13382
13383	* ipa-inline.c (can_inline_edge_p): Back out overzealous check on
13384	flag_non_call_exceptions compatibility.
13385
133862016-01-22  Jakub Jelinek  <jakub@redhat.com>
13387
13388	PR debug/66668
13389	* dwarf2out.c (add_child_die_after): New function.
13390	(dwarf_qual_info_t): New type.
13391	(dwarf_qual_info): New variable.
13392	(qualified_die_p): New function.
13393	(modified_type_die): For -fdebug-types-section, ensure
13394	canonical order of qualifiers.  Put qualified DIEs adjacent
13395	to the corresponding non-qualified type DIE and search there
13396	for existing qualified DIEs.
13397
133982016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
13399
13400	* doc/extend.texi (scalar_storage_order type attribute): Document
13401	restriction on type punning and aliasing, and remove future tense.
13402
134032016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
13404
13405	PR target/69252
13406	* modulo-sched.c (optimize_sc):	Allow branch-scheduling to add a new
13407	first stage.
13408
134092016-01-21  Jeff Law  <law@redhat.com>
13410
13411	PR middle-end/69347
13412	* tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
13413	useless call to record_temporary_equivalences.
13414	* tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
13415	allocate 10 slots in the bb_path vector and let it grow as needed.
13416	(fsm_find_control_statement_thread_paths): Similarly for the next_path
13417	vector.
13418
134192016-01-21  David Edelsohn  <dje.gcc@gmail.com>
13420
13421	* configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
13422	Detangle.
13423	* configure: Regenerate.
13424
134252016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
13426
13427	* config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
13428	* config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
13429
134302016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
13431
13432	PR middle-end/66178
13433	* expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
13434	drop EXPAND_INITIALIZER.
13435	* rtl.h (contains_symbolic_reference_p): Declare.
13436	* rtlanal.c (contains_symbolic_reference_p): New function.
13437	* simplify-rtx.c (simplify_binary_operation_1): Don't turn
13438	a subtraction into a NOT if symbolic constants are involved.
13439
134402016-01-21  Anton Blanchard  <anton@samba.org>
13441	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
13442
13443	PR target/63354
13444	* config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
13445	#define.
13446	* config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
13447	function.
13448
134492016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
13450
13451	* config/microblaze/microblaze.c
13452	(get_branch_target): New.
13453	(insert_wic_for_ilb_runout): New.
13454	(insert_wic): New.
13455	(microblaze_machine_dependent_reorg): New.
13456	(TARGET_MACHINE_DEPENDENT_REORG): Define macro.
13457	* config/microblaze/microblaze.md
13458	(UNSPEC_IPREFETCH): Define.
13459	(iprefetch): New pattern
13460	* config/microblaze/microblaze.opt
13461	(mxl-prefetch): New flag.
13462
134632016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
13464
13465	* config/microblaze/microblaze.h
13466	(FIXED_REGISTERS): Update in macro.
13467	(CALL_USED_REGISTERS): Update in macro.
13468
134692016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
13470
13471	PR rtl-optimization/68920
13472	* ifcvt.c (cond_move_process_if_block): Limit number of conditional
13473	moves.
13474
134752016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
13476
13477	PR rtl-optimization/68990
13478	* lra-coalesce.c (lra_coalesce): Invalidate value for the result
13479	pseudo instead of inheritance ones.
13480
134812016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
13482	    Nick Clifton  <nickc@redhat.com>
13483
13484	PR target/69129
13485	PR target/69012
13486	* config/mips/mips.c (mips_compute_frame_info): Initialise
13487	args_size and hard_frame_pointer_offset fields of the frame
13488	structure before calling mips_global_pointer.
13489
134902016-01-21  David Edelsohn  <dje.gcc@gmail.com>
13491
13492	* configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
13493	label reference.
13494	* configure: Regenerate.
13495
134962016-01-21  Richard Biener  <rguenther@suse.de>
13497
13498	* graphite-optimize-isl.c (get_schedule_map): Fix typo.
13499
135002016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
13501
13502	* config/s390/s390.c (s390_asm_declare_function_size): Add code
13503	to actually emit the .size directive.
13504
135052016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
13506	     Jakub Jelinek  <jakub@redhat.com>
13507
13508	PR target/69187
13509	PR target/65624
13510	* config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
13511	args array size by one to avoid buffer overflow.
13512
135132016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
13514
13515	* config/s390/s390.md (pool_section_start): Use switch_to_section
13516	to select proper read-only data section instead of hardcoding
13517	.rodata.
13518	(pool_section_end): Use switch_to_section to match the above.
13519
135202016-01-21  Richard Biener  <rguenther@suse.de>
13521
13522	PR tree-optimization/69378
13523	* tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
13524	(set_ssa_val_to): Use it for dominance checks taking into
13525	account not executable edges.
13526
135272016-01-21  Jakub Jelinek  <jakub@redhat.com>
13528
13529	PR c++/69355
13530	* tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
13531	for bitsize instead of GET_MODE_PRECISION (mode).
13532
135332016-01-20  Martin Sebor  <msebor@redhat.com>
13534
13535	PR c/52291
13536	* extend.texi (__sync Builtins): Clarify the semantics of
13537	__sync_fetch_and_OP built-ins on pointers.
13538	(__atomic Builtins): Same.
13539
135402016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13541	    Sebastian Pop  <s.pop@samsung.com>
13542
13543	* graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
13544	(class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
13545	(is_valid_rename): Same.
13546	(translate_isl_ast_to_gimple::get_rename): Same.
13547	(translate_isl_ast_to_gimple::rename_all_uses): Same.
13548	(translate_isl_ast_to_gimple::rename_uses): Same.
13549	(get_new_name): Check for close_phi nodes.
13550	(copy_loop_phi_args): Use phi_node_kind.
13551	(translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
13552	(translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
13553
135542016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13555	    Sebastian Pop  <s.pop@samsung.com>
13556
13557	Revert commit r229783.
13558	* graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
13559	Remove use of parameter_rename_map.
13560	(copy_def): Remove.
13561	(copy_internal_parameters): Remove.
13562	(graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
13563	* sese.c (new_sese_info): Do not initialize parameter_rename_map.
13564	(free_sese_info): Do not free parameter_rename_map.
13565	(set_rename): Do not use parameter_rename_map.
13566	(rename_uses): Update call to set_rename.
13567	(graphite_copy_stmts_from_block): Do not use parameter_rename_map.
13568	* sese.h (parameter_rename_map_t): Remove.
13569	(struct sese_info_t): Remove field parameter_rename_map.
13570
135712016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13572	    Sebastian Pop  <s.pop@samsung.com>
13573
13574	* graphite-isl-ast-to-gimple.c: Fix comment.
13575	* graphite-scop-detection.c (defined_in_loop_p): New.
13576	(canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
13577	names defined in loop.
13578
135792016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13580	    Sebastian Pop  <s.pop@samsung.com>
13581
13582	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
13583	Discard unstructured if-then-else regions.
13584
135852016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13586	    Sebastian Pop  <s.pop@samsung.com>
13587
13588	* graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
13589	(cleanup_loop_iter_dom): Remove.
13590	(build_loop_iteration_domains): Remove.
13591	(build_scop_context): Remove.
13592	(build_scop_iteration_domain): Remove.
13593	(add_loop_constraints): New.
13594	(build_iteration_domains): New.
13595	(build_poly_scop): Call build_iteration_domains.
13596
135972016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13598	    Sebastian Pop  <s.pop@samsung.com>
13599
13600	* graphite-scop-detection.c
13601	(scop_detection::harmful_loop_in_region): Free dom and loops.
13602	(scop_detection::loop_body_is_valid_scop): Free bbs.
13603
136042016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13605	    Sebastian Pop  <s.pop@samsung.com>
13606
13607	* graphite-scop-detection.c (record_loop_in_sese): New.
13608	(gather_bbs::before_dom_children): Call record_loop_in_sese.
13609	(build_scops): Remove call to build_sese_loop_nests.
13610	* sese.c (sese_record_loop): Remove.
13611	(build_sese_loop_nests): Remove.
13612	(new_sese_info): Remove region->loops.
13613	(free_sese_info): Same.
13614	* sese.h (sese_contains_loop): Same.
13615	(build_sese_loop_nests): Remove.
13616	(sese_contains_loop): Remove.
13617
136182016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13619	    Sebastian Pop  <s.pop@samsung.com>
13620
13621	* graphite-scop-detection.c (loop_is_valid_scop): Renamed
13622	loop_is_valid_in_scop.
13623	(scop_detection::harmful_stmt_in_region): Renamed
13624	harmful_loop_in_region.
13625	Call loop_is_valid_in_scop.
13626
136272016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13628	    Sebastian Pop  <s.pop@samsung.com>
13629
13630	* graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
13631	isl_ast_node_mark.
13632
136332016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13634	    Sebastian Pop  <s.pop@samsung.com>
13635
13636	* graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
13637	* graphite.h (struct poly_bb): Remove field is_reduction.
13638	(PBB_IS_REDUCTION): Remove.
13639
136402016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
13641	    Sebastian Pop  <s.pop@samsung.com>
13642
13643	* graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
13644	(add_pdr_constraints): Same.
13645	(scop_get_reads): Same.
13646	(scop_get_must_writes): Same.
13647	(scop_get_may_writes): Same.
13648	(scop_get_original_schedule): Same.
13649	(extend_schedule): Same.
13650	(apply_schedule_on_deps): Same.
13651	(carries_deps): Same.
13652	(compute_deps): Same.
13653	(scop_get_dependences): Same.
13654	* graphite-isl-ast-to-gimple.c
13655	(translate_isl_ast_to_gimple::generate_isl_schedule): Same.
13656	* graphite-optimize-isl.c (get_schedule_for_band): Same.
13657	(get_schedule_for_band_list): Same.
13658	(get_schedule_map): Same.
13659	(apply_schedule_map_to_scop): Same.
13660	* graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
13661	(build_loop_iteration_domains): Same.
13662	(add_condition_to_pbb): Same.
13663	(add_param_constraints): Same.
13664	(pdr_add_memory_accesses): Same.
13665	(pdr_add_data_dimensions): Same.
13666
136672016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
13668
13669	* doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
13670	requirements.
13671
136722016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
13673
13674	* common.opt (feliminate-dwarf2-dups): Replace references to
13675	"DWARF 2" with just "DWARF".
13676	* config/ia64/ia64.opt (mdwarf2-asm): Likewise.
13677	* doc/extend.texi: Likewise.
13678	* doc/cpp.texi: Likewise.
13679	* doc/invoke.texi: Likewise.
13680	(Option Summary): Add -gdwarf to list of Debugging Options.
13681	(Debugging Options): Document -gdwarf.
13682	* doc/contrib.texi: Spell "DWARF" like that.
13683
136842016-01-21  Jakub Jelinek  <jakub@redhat.com>
13685
13686	* omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
13687	warning.  Fix up formatting.
13688
13689	PR middle-end/67653
13690	* gimplify.c (gimplify_asm_expr): Warn if it is too late to
13691	attempt to mark memory input operand addressable and
13692	call prepare_gimple_addressable in that case.  Don't adjust
13693	input_location for diagnostics, use error_at instead.
13694
136952016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
13696
13697	* config/rs6000/ppc-auxv.h: New file.
13698	* config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
13699	(cpu_is): Likewise.
13700	(cpu_supports): Likewise.
13701	* config/rs6000/rs6000.c: include "ppc-auxv.h".
13702	(cpu_is_info): New variable.
13703	(cpu_supports_info): Likewise.
13704	(tcb_verification_symbol): Likewise.
13705	(cpu_builtin_p): Likewise.
13706	(cpu_expand_builtin): New function.
13707	(rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
13708	(rs6000_init_builtins): Likewise.
13709	(rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
13710	* config/rs6000/rs6000.h (TLS_REGNUM): New define.
13711	* configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
13712	* configure: Regenerate.
13713	* config.in: Likewise.
13714	* doc/extend.texi (PowerPC Built-in Functions): Document
13715	__builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
13716
137172016-01-20  David Edelsohn  <dje.gcc@gmail.com>
13718
13719	PR target/68609
13720	* config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
13721	domain check.
13722	* config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
13723	for V4SFmode.
13724
137252016-01-20  Richard Henderson  <rth@redhat.com>
13726
13727	PR bootstrap/69343
13728	PR bootstrap/69339
13729	PR tree-opt/68964
13730	Revert:
13731	* tree.c (tm_define_builtin): New.
13732	(find_tm_vector_type): New.
13733	(build_tm_vector_builtins): New.
13734	(build_common_builtin_nodes): Call it.
13735
137362016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
13737
13738	* doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
13739	(arm_fp_ok): Likewise.
13740	(arm_fp): Likewise.
13741	(arm_crypto): Likewise.
13742
137432016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
13744	    Richard Biener  <rguenther@suse.de>
13745
13746	PR tree-optimization/69328
13747	* tree-vect-stmts.c (vect_is_simple_cond): Check compared
13748	vectors have same number of elements.
13749	(vectorizable_condition): Fix masked version recognition.
13750
137512016-01-20  Richard Biener  <rguenther@suse.de>
13752
13753	PR tree-optimization/69345
13754	* tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
13755	(VN_INFO_PTR_INFO): Likewise.
13756	* tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
13757	info when it is equal between non-dominating SSA names.
13758	* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
13759	Make sure to look at original SSA infos.
13760
137612016-01-20  Jeff Law  <law@redhat.com>
13762
13763	PR target/25114
13764	* config/m68k/predicates.md (pow2_m1_operand): New predicate
13765	extracted from ...
13766	(reg_or_pow2_m1_operand): Call pow2_m1_operand.
13767	(pc_or_label_operand): New predicate.
13768	* config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
13769	tests for small integers that are 2^n - 1.
13770
137712016-01-20  Jonathan Wakely  <jwakely@redhat.com>
13772
13773	* doc/invoke.texi (Options Summary): Add '.' after @xref.
13774
137752016-01-19  Jeff Law  <law@redhat.com>
13776
13777	PR middle-end/69347
13778	* tree-ssa-threadbackwards.c
13779	(fsm_find_control_statement_thread_paths): Do not try to lookup
13780	FSM paths for SSA_NAMEs appearing in abnormal PHIs.
13781
137822016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
13783
13784	* doc/lto.texi: Remove text that says only Gold has linker plugin
13785	support.
13786
137872016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
13788
13789	* dwarf2out.c (need_endianity_attribute_p): New inline predicate.
13790	(base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
13791	the DIE accordingly.
13792	(modified_type_die): Add REVERSE parameter and pass it recursively,
13793	as well as to base_type_die.  Adjust presence check accordingly.
13794	(base_type_for_mode): Adjust call to modified_type_die.
13795	(add_type_attribute): Add REVERSE parameter and pass it to
13796	modified_type_die.
13797	(generic_parameter_die): Adjust call to add_type_attribute.
13798	(add_scalar_info): Likewise.
13799	(add_subscript_info): Likewise.
13800	(gen_array_type_die): Likewise.
13801	(gen_descr_array_type_die): Likewise.
13802	(gen_entry_point_die): Likewise.
13803	(gen_enumeration_type_die): Likewise.
13804	(gen_formal_parameter_die): Likewise.
13805	(gen_subprogram_die): Likewise.
13806	(gen_variable_die ): Likewise.
13807	(gen_const_die): Likewise.
13808	(gen_field_die): Likewise.
13809	(gen_pointer_type_die): Likewise.
13810	(gen_reference_type_die): Likewise.
13811	(gen_ptr_to_mbr_type_die): Likewise.
13812	(gen_inheritance_die): Likewise.
13813	(gen_subroutine_type_die): Likewise.
13814	(gen_typedef_die): Likewise.
13815	(force_type_die): Adjust call to modified_type_die.
13816
138172016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
13818
13819	* doc/standards.texi: Copy-editing for grammar, markup, and sentence
13820	flow throughout the file.  Fix broken link to Objective-C 2.0
13821	documentation.
13822	* doc/invoke.texi: More copy-editing; fix numerous typos and spelling
13823	errors.
13824
138252016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
13826
13827	* ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
13828
138292016-01-19  Jan Hubicka  <hubicka@ucw.cz>
13830
13831	PR ipa/66223
13832	* ipa-devirt.c (is_cxa_pure_virtual_p): New function.
13833	(maybe_record_node): Record cxa_pure_virtual as the only possible
13834	target if there are not ohter candidates.
13835	(possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
13836
138372016-01-19  Richard Biener  <rguenther@suse.de>
13838
13839	* hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
13840	(get_memory_order): Likewise.
13841
138422016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
13843
13844	* tree-vect-stmts.c (vectorizable_store): Check
13845	rhs vectype.
13846
138472016-01-19  David Malcolm  <dmalcolm@redhat.com>
13848
13849	PR jit/68446
13850	* gcc.c (driver::decode_argv): Add call to
13851	init_opts_obstack before init_options_struct.
13852	* opts.c (init_opts_obstack): Remove idempotency.
13853	(init_options_struct): Replace call to init_opts_obstack
13854	with a gcc_assert to verify that it has already been called.
13855	* toplev.c (toplev::main): Add call to init_opts_obstack before
13856	calls to init_options_struct.
13857	(toplev::finalize): Move cleanup of opts_obstack next to
13858	cleanup of save_decoded_options, clearing the latter, and
13859	save_decoded_options_count.
13860
138612016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13862
13863	PR target/69135
13864	* config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
13865	attribute to unconditional.  Remove %? from output template.
13866
138672015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
13868	    Jiong Wang  <jiong.wang@arm.com>
13869
13870	* ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
13871	generated from different expand order.
13872
138732015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
13874
13875	* /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
13876	Add support for CCMP costing.
13877
138782015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
13879
13880	* ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
13881	* config/aarch64/aarch64.md (fccmp<mode>): New pattern.
13882	(fccmpe<mode>): Likewise.
13883	(fcmp): Rename to fcmp and globalize pattern.
13884	(fcmpe): Likewise.
13885	* config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
13886	(aarch64_gen_ccmp_next): Add FP support.
13887
138882015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
13889
13890	* target.def (gen_ccmp_first): Update documentation.
13891	(gen_ccmp_next): Likewise.
13892	* doc/tm.texi (gen_ccmp_first): Update documentation.
13893	(gen_ccmp_next): Likewise.
13894	* ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
13895	expand_ccmp_expr_1.  Improve comments.
13896	* config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
13897	(ccmp_ior<mode>): Remove pattern.
13898	(cmp<mode>): Remove expand.
13899	(cmp): Globalize pattern.
13900	(cstorecc4): Use cc_register.
13901	(mov<mode>cc): Remove ccmp_cc_register check.
13902	* config/aarch64/aarch64.c (aarch64_get_condition_code_1):
13903	Simplify after removal of CC_DNE/* modes.
13904	(aarch64_ccmp_mode_to_code): Remove.
13905	(aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
13906	In 'k' case use integer as condition.
13907	(aarch64_nzcv_codes): Remove inverted cases.
13908	(aarch64_code_to_ccmode): Remove.
13909	(aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
13910	comparison with CC register to be used in folowing CCMP/branch/CSEL.
13911	(aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
13912	pattern.  Return the comparison with CC register.  Invert conditions
13913	when bitcode is OR.
13914	* config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
13915	* config/aarch64/predicates.md (ccmp_cc_register): Remove.
13916
139172016-01-19  Jan Hubicka  <hubicka@ucw.cz>
13918
13919	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
13920	instrumented_version.
13921
139222016-01-19  Richard Biener  <rguenther@suse.de>
13923
13924	PR tree-optimization/69336
13925	* tree-ssa-scopedtables.c (avail_expr_hash): Handle all
13926	handled components with get_ref_base_and_extent.
13927	(equal_mem_array_ref_p): Adjust.
13928
139292016-01-19  Jakub Jelinek  <jakub@redhat.com>
13930
13931	PR debug/65779
13932	* shrink-wrap.c: Include valtrack.h.
13933	(move_insn_for_shrink_wrap): Add DEBUG argument.  If
13934	MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
13935	in between insn and where it will be moved to.  Call
13936	dead_debug_insert_temp.
13937	(prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
13938	first and dead_debug_local_finish at the end.
13939	For uses and defs bitmap, handle all regs in between REGNO and
13940	END_REGNO, not just the first one.
13941
139422016-01-19  Richard Biener  <rguenther@suse.de>
13943
13944	PR tree-optimization/69352
13945	* tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
13946	(equal_mem_array_ref_p): Constrain size and max size properly.
13947	Compare the reverse flag.
13948
139492016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
13950
13951	* ira.c (ira): Update regstat data if we deleted insns.
13952
139532016-01-19  Jakub Jelinek  <jakub@redhat.com>
13954
13955	PR rtl-optimization/68955
13956	PR rtl-optimization/64557
13957	* dse.c (record_store, check_mem_read_rtx): Don't call get_addr
13958	here.  Fix up formatting.
13959	* alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
13960
139612016-01-19  Jan Hubicka  <hubicka@ucw.cz>
13962
13963	PR lto/69133
13964	* cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
13965	assume that the node has body.
13966	* cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
13967	check.
13968
139692016-01-19  Jan Hubicka  <hubicka@ucw.cz>
13970
13971	* lto-streamer-out.c (lto_output): Do not stream instrumentation
13972	thunks.
13973
139742016-01-19  Jan Hubicka  <hubicka@ucw.cz>
13975
13976	* symtab.c (symtab_node::asm_name): Do not call printable name directly.
13977	(symtab_node::name): Report name as unnamed if DECL_NAME is not set.
13978
139792016-01-19  Martin Jambor  <mjambor@suse.cz>
13980	    Martin Liska  <mliska@suse.cz>
13981	    Michael Matz  <matz@suse.de>
13982
13983	* Makefile.in (OBJS): Add new source files.
13984	(GTFILES): Add hsa.c.
13985	* common.opt (disable_hsa): New variable.
13986	(-Whsa): New warning.
13987	* config.in (ENABLE_HSA): New.
13988	* configure.ac: Treat hsa differently from other accelerators.
13989	(OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
13990	$enable_offloading.
13991	(ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
13992	* doc/install.texi (Configuration): Document --with-hsa-runtime,
13993	--with-hsa-runtime-include, --with-hsa-runtime-lib and
13994	--with-hsa-kmt-lib.
13995	* doc/invoke.texi (-Whsa): Document.
13996	(hsa-gen-debug-stores): Likewise.
13997	* lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
13998	to invoke offload compiler for hsa acclerator.
13999	* opts.c (common_handle_option): Determine whether HSA offloading
14000	should be performed.
14001	* params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
14002	* builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
14003	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
14004	(BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
14005	* gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
14006	* gimple-pretty-print.c (dump_gimple_omp_for): Also handle
14007	GF_OMP_FOR_KIND_GRID_LOOP.
14008	(dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
14009	(pp_gimple_stmt_1): Likewise.
14010	* gimple-walk.c (walk_gimple_stmt): Likewise.
14011	* gimple.c (gimple_build_omp_grid_body): New function.
14012	(gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
14013	* gimple.def (GIMPLE_OMP_GRID_BODY): New.
14014	* gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
14015	GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
14016	GF_OMP_TEAMS_GRID_PHONY.
14017	(gimple_statement_omp_single_layout): Updated comments.
14018	(gimple_build_omp_grid_body): New function.
14019	(gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
14020	(gimple_omp_for_grid_phony): New function.
14021	(gimple_omp_for_set_grid_phony): Likewise.
14022	(gimple_omp_parallel_grid_phony): Likewise.
14023	(gimple_omp_parallel_set_grid_phony): Likewise.
14024	(gimple_omp_teams_grid_phony): Likewise.
14025	(gimple_omp_teams_set_grid_phony): Likewise.
14026	(gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
14027	* omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
14028	(BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
14029	(BUILT_IN_GOMP_TARGET): Updated type.
14030	* omp-low.c: Include symbol-summary.h, hsa.h and params.h.
14031	(adjust_for_condition): New function.
14032	(get_omp_for_step_from_incr): Likewise.
14033	(extract_omp_for_data): Moved parts to adjust_for_condition and
14034	get_omp_for_step_from_incr.
14035	(build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
14036	(fixup_child_record_type): Bail out if receiver_decl is NULL.
14037	(scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
14038	(scan_omp_parallel): Do not create child functions for phony
14039	constructs.
14040	(check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
14041	(scan_omp_1_op): Checking assert we are not remapping to
14042	ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
14043	(parallel_needs_hsa_kernel_p): New function.
14044	(expand_parallel_call): Register apprpriate parallel child
14045	functions as HSA kernels.
14046	(grid_launch_attributes_trees): New type.
14047	(grid_attr_trees): New variable.
14048	(grid_create_kernel_launch_attr_types): New function.
14049	(grid_insert_store_range_dim): Likewise.
14050	(grid_get_kernel_launch_attributes): Likewise.
14051	(get_target_argument_identifier_1): Likewise.
14052	(get_target_argument_identifier): Likewise.
14053	(get_target_argument_value): Likewise.
14054	(push_target_argument_according_to_value): Likewise.
14055	(get_target_arguments): Likewise.
14056	(expand_omp_target): Call get_target_arguments instead of looking
14057	up for teams and thread limit.
14058	(grid_expand_omp_for_loop): New function.
14059	(grid_arg_decl_map): New type.
14060	(grid_remap_kernel_arg_accesses): New function.
14061	(grid_expand_target_kernel_body): New function.
14062	(expand_omp): Call it.
14063	(lower_omp_for): Do not emit phony constructs.
14064	(lower_omp_taskreg): Do not emit phony constructs but create for them
14065	a temporary variable receiver_decl.
14066	(lower_omp_taskreg): Do not emit phony constructs.
14067	(lower_omp_teams): Likewise.
14068	(lower_omp_grid_body): New function.
14069	(lower_omp_1): Call it.
14070	(grid_reg_assignment_to_local_var_p): New function.
14071	(grid_seq_only_contains_local_assignments): Likewise.
14072	(grid_find_single_omp_among_assignments_1): Likewise.
14073	(grid_find_single_omp_among_assignments): Likewise.
14074	(grid_find_ungridifiable_statement): Likewise.
14075	(grid_target_follows_gridifiable_pattern): Likewise.
14076	(grid_remap_prebody_decls): Likewise.
14077	(grid_copy_leading_local_assignments): Likewise.
14078	(grid_process_kernel_body_copy): Likewise.
14079	(grid_attempt_target_gridification): Likewise.
14080	(grid_gridify_all_targets_stmt): Likewise.
14081	(grid_gridify_all_targets): Likewise.
14082	(execute_lower_omp): Call grid_gridify_all_targets.
14083	(make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
14084	* tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
14085	(tree_omp_clause): Added union field dimension.
14086	* tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
14087	* tree.c (omp_clause_num_ops): Added number of arguments of
14088	OMP_CLAUSE__GRIDDIM_.
14089	(omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
14090	(walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
14091	* tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
14092	(OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
14093	(OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
14094	(OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
14095	* passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
14096	* tree-pass.h (make_pass_gen_hsail): Declare.
14097	(make_pass_ipa_hsa): Likewise.
14098	* ipa-hsa.c: New file.
14099	* lto-section-in.c (lto_section_name): Add hsa section name.
14100	* lto-streamer.h (lto_section_type): Add hsa section.
14101	* timevar.def (TV_IPA_HSA): New.
14102	* hsa-brig-format.h: New file.
14103	* hsa-brig.c: New file.
14104	* hsa-dump.c: Likewise.
14105	* hsa-gen.c: Likewise.
14106	* hsa.c: Likewise.
14107	* hsa.h: Likewise.
14108	* toplev.c (compile_file): Call hsa_output_brig.
14109	* hsa-regalloc.c: New file.
14110
141112016-01-18  Jeff Law  <law@redhat.com>
14112
14113	PR tree-optimization/69320
14114	* tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
14115	ranged object, do nothing if the RHS constant is not [0..1].
14116	(optimize_stmt): Comparing a boolean ranged object against a
14117	constant outside [0..1] results in a compile-time constant.
14118
14119	* tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
14120	test.
14121
141222016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
14123
14124	* doc/invoke.texi (Invoking GCC): Add new section to menu.
14125	(Option Summary): Update to reflect new section and moved options.
14126	(C++ Dialect Options): Move -fstats to new section.
14127	(Debugging Options): Move all dump, statistics, and other GCC
14128	developer options to new section.  Rewrite section introduction
14129	and re-order remaining options to put the more basic ones first.
14130	(Optimization Options): Move -fira-verbose and -flto-report* to
14131	new section.
14132	(Developer Options): New section incorporating moved options.
14133	* doc/cppopts.texi (-dM): Update cross-reference.
14134
141352016-01-18  Richard Henderson  <rth@redhat.com>
14136
14137	PR target/69176
14138	* config/aarch64/aarch64.md (add<GPI>3): Move long immediate
14139	operands to pseudo only if CSE is expected.  Split long immediate
14140	operands only after reload, and for the stack pointer.
14141	(*add<GPI>3_pluslong): Remove.
14142	(*addsi3_aarch64, *adddi3_aarch64): Merge into...
14143	(*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
14144	(*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
14145	(*add<GPI>3 peepholes): New.
14146	(*add<GPI>3 splitters): New.
14147	* config/aarch64/constraints.md (Upl): New.
14148	* config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
14149
141502016-01-18  Richard Biener  <rguenther@suse.de>
14151
14152	PR tree-optimization/69297
14153	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
14154	stmt at most once.
14155	(vect_bb_vectorization_profitable_p): Clear visited flag again.
14156
141572016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
14158
14159	PR middle-end/68542
14160	* fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
14161	of mixind vector and scalar types.
14162	(fold_relational_const): Add handling of vector
14163	comparison with boolean result.
14164	* tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
14165	comparison of vector operands with boolean result for EQ/NE only.
14166	(verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
14167	(verify_gimple_cond): Likewise.
14168	* tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
14169	valid type of VAL.
14170
141712016-01-18  Joseph Myers  <joseph@codesourcery.com>
14172
14173	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
14174	!TARGET_OCTEON.
14175
141762016-01-18  Richard Biener  <rguenther@suse.de>
14177
14178	PR middle-end/69308
14179	* gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
14180
141812016-01-18  Tom de Vries  <tom@codesourcery.com>
14182
14183	* passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
14184
141852016-01-18  Tom de Vries  <tom@codesourcery.com>
14186
14187	* omp-low.c (set_oacc_fn_attrib): Make extern.
14188	* omp-low.h (set_oacc_fn_attrib): Declare.
14189	* tree-parloops.c (struct reduction_info): Add reduc_addr field.
14190	(create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
14191	(create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
14192	Add and handle function parameter oacc_kernels_p.
14193	(find_reduc_addr, get_omp_data_i_param): New function.
14194	(ref_conflicts_with_region, oacc_entry_exit_ok_1)
14195	(oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
14196	(parallelize_loops): Add and handle function parameter oacc_kernels_p.
14197	Calculate dominance info.  Skip loops that are not in a kernels region
14198	in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
14199	(pass_parallelize_loops::execute): Call parallelize_loops with
14200	oacc_kernels_p argument.
14201	(pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
14202	New member function.
14203	(pass_parallelize_loops::bool oacc_kernels_p): New member var.
14204	* passes.def: Add argument to pass_parallelize_loops instantation.
14205
142062016-01-18  Tom de Vries  <tom@codesourcery.com>
14207
14208	* tree-parloops.c (pass_parallelize_loops::execute): Allow
14209	pass_parallelize_loops to be run outside the loop pipeline.
14210
142112016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
14212
14213	* tree-scalar-evolution.c (follow_copies_to_constant): New.
14214	(analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
14215
142162016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
14217
14218	PR target/63679
14219	* tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
14220	using get_ref_base_and_extent.
14221	(equal_mem_array_ref_p): New.
14222	(hashable_expr_equal_p): Add call to previous.
14223
142242016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
14225
14226	PR target/63679
14227	* tree-sra.c (disqualified_constants, constant_decl_p): New.
14228	(sra_initialize): Allocate disqualified_constants.
14229	(sra_deinitialize): Free disqualified_constants.
14230	(disqualify_candidate): Update disqualified_constants when appropriate.
14231	(create_access): Scan for constant-pool entries as we go along.
14232	(scalarizable_type_p): Add check against type_contains_placeholder_p.
14233	(maybe_add_sra_candidate): Allow constant-pool entries.
14234	(load_assign_lhs_subreplacements): Bind debug for constant pool vars.
14235	(initialize_constant_pool_replacements): New.
14236	(sra_modify_assign): Avoid mangling assignments created by previous,
14237	and don't generate writes into constant pool.
14238	(sra_modify_function_body): Call initialize_constant_pool_replacements.
14239
142402016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
14241
14242	* config/i386/i386.c (scalar_to_vector_candidate_p): Support
14243	andnot instruction.
14244	(scalar_chain::convert_op): Likewise.
14245	* config/i386/i386.md (*andndi3_doubleword): New.
14246
142472016-01-18  Richard Biener  <rguenther@suse.de>
14248
14249	PR tree-optimization/69170
14250	* tree-vect-slp.c (vect_build_slp_tree): Verify we are not
14251	building a vector from scalar results of a pattern stmt.
14252
142532016-01-18  Jakub Jelinek  <jakub@redhat.com>
14254
14255	* haifa-sched.c (autopref_multipass_init): Work around
14256	-Wmaybe-uninitialized warning.
14257
142582016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
14259
14260	* config/arm/arm.c (thumb1_reorg): Check that the comparison is
14261	against the constant 0.
14262
142632016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
14264
14265	PR tree-optimization/68799
14266	* gimple-ssa-strength-reduction.c (create_phi_basis): Directly
14267	look up phi candidates in the statement-candidate map.
14268	(phi_add_costs): Likewise.
14269	(record_phi_increments): Likewise.
14270	(phi_incr_cost): Likewise.
14271	(ncd_with_phi): Likewise.
14272	(all_phi_incrs_profitable): Likewise.
14273
142742016-01-17  Jakub Jelinek  <jakub@redhat.com>
14275
14276	* omp-low.c (mark_loops_in_oacc_kernels_region): Work around
14277	-Wmaybe-uninitialized warning.
14278
142792016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
14280
14281	* doc/invoke.texi (Invoking GCC): Add new section to menu.
14282	(Option Summary): Update to reflect new section and moved options.
14283	(C++ Dialect Options): Move -fvtable-verify and related options.
14284	(Debugging Options): Move Sanitizer, Pointer Bounds Checker,
14285	and profiling-related options.
14286	(Optimization Options): Move profile generation options and
14287	-fstack-protector and related options.
14288	(Instrumentation Options): New section incorporating moved options.
14289	(Code Generation Options): Move -finstrument-functions and
14290	related options, -fstack-check, -fstack-limit*, and -fbounds-check.
14291
142922016-01-16  Tom de Vries  <tom@codesourcery.com>
14293
14294	* passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
14295
142962016-01-16  Tom de Vries  <tom@codesourcery.com>
14297
14298	* omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
14299
143002016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
14301
14302	* hash-table.h (hash_table::empty): Turn into an inline wrapper
14303	that checks whether the table is already empty.  Rename the
14304	original implementation to...
14305	(hash_table::empty_slot): ...this new private function.
14306
143072016-01-15  David Malcolm  <dmalcolm@redhat.com>
14308
14309	PR diagnostic/68899
14310	* diagnostic-show-locus.c (layout::print_source_line): Move x
14311	offset of line until after call to
14312	get_line_width_without_trailing_whitespace.
14313
143142016-01-15  Jeff Law  <law@redhat.com>
14315
14316	PR tree-optimization/69270
14317	* tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
14318	tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
14319	* tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
14320	* tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
14321	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
14322	ssa_name_has_boolean_range and constant_boolean_node.
14323
143242016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
14325
14326	PR rtl-optimization/69030
14327	* lra-spills.c (remove_pseudos): Check nrefs and make the function
14328	returning bool.
14329	(spill_pseudos): Delete debug insn for dead pseudo.
14330	(lra_spill): Initiate spill_hard_reg and slots memory separately.
14331
143322016-01-15  Jiong Wang  <jiong.wang@arm.com>
14333
14334	* config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
14335	New.
14336	(TYPES_UNOPUS): Likewise.
14337	* config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
14338	builtin type, from UNOP to UNOPUS.
14339	(lbtruncuv4sf): Likewise.
14340	(lbtruncuv2df): Likewise.
14341	(lrounduv2sf): Likewise.
14342	(lrounduv4sf): Likewise.
14343	(lrounduv2df): Likewise.
14344	(lroundusf): Likewise.
14345	(lroundusf): Likewise.
14346	(lceiluv2sf): Likewise.
14347	(lceiluv4sf): Likewise.
14348	(lceiluv2df): Likewise.
14349	(lceilusf): Likewise.
14350	(lceiludf): Likewise.
14351	(lflooruv2sf): Likewise.
14352	(lflooruv4sf): Likewise.
14353	(lflooruv2df): Likewise.
14354	(lfloorusf): Likewise.
14355	(lfloorudf): Likewise.
14356	(lfrintnuv2sf): Likewise.
14357	(lfrintnuv4sf): Likewise.
14358	(lfrintnuv2df): Likewise.
14359	(lfrintnusf): Likewise.
14360	(lfrintnudf): Likewise.
14361	* config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
14362	conversion.
14363	(vcvtq_u32_f32): Likewise.
14364	(vcvtq_u64_f64): Likewise.
14365	(vcvta_u32_f32): Likewise.
14366	(vcvtaq_u32_f32): Likewise.
14367	(vcvtaq_u64_f64): Likewise.
14368	(vcvtm_u32_f32): Likewise.
14369	(vcvtmq_u32_f32): Likewise.
14370	(vcvtmq_u64_f64): Likewise.
14371	(vcvtn_u32_f32): Likwise.
14372	(vcvtnq_u32_f32): Likewise.
14373	(vcvtnq_u64_f64): Likewise.
14374	(vcvtp_u32_f32): Likewise.
14375	(vcvtpq_u32_f32): Likewise.
14376	(vcvtpq_u64_f64): Likewise.
14377	(vcvtmd_u64_f64): Likewise.
14378	(vcvtms_u32_f32): Likewise.
14379	(vcvtad_u64_f64): Likewise.
14380	(vcvtas_u32_f32): Likewise.
14381	(vcvtnd_u64_f64): Likewise.
14382	(vcvtns_u32_f32): Likewise.
14383	(vcvtpd_u64_f64): Likewise.
14384	(vcvtps_u32_f32): Likewise.
14385
143862016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
14387
14388	* config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
14389	CSEL of zero_extended registers.
14390
143912016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
14392
14393	* config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
14394	Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
14395
143962016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
14397
14398	* config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
14399	false when argument string is not found in the attributes table
14400	at all.
14401
144022016-01-15  David Edelsohn  <dje.gcc@gmail.com>
14403
14404	PR target/68609
14405	* config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
14406	(rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
14407	* config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
14408	precision estimate.
14409
144102016-01-15  Richard Biener  <rguenther@suse.de>
14411
14412	PR tree-optimization/66856
14413	* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
14414	* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
14415	(vect_create_new_slp_node): Increment stmt reference count.
14416	(vect_get_and_check_slp_defs): Make sure stmts are nor already in
14417	an SLP tree before swapping operands.
14418	(vect_build_slp_tree): Likewise.
14419	(destroy_bb_vec_info): Free stmt info after SLP instances.
14420	* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
14421	* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
14422	(STMT_VINFO_NUM_SLP_USES): New macro.
14423
144242016-01-15  Richard Biener  <rguenther@suse.de>
14425
14426	PR debug/69137
14427	* dwarf2out.c (add_linkage_name_raw): New function split out from ...
14428	(add_linkage_name): ... here.
14429	(gen_typedef_die): Use add_linkage_name_raw instead of
14430	add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
14431	if necessary.
14432
144332016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
14434
14435	* gimplify.c (oacc_default_clause): Decode reference and pointer
14436	types for both kernels and parallel regions.
14437
144382016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
14439
14440	PR middle-end/69246
14441	* calls.c (emit_call_1): Force n_popped to zero for sibcalls.
14442
144432016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
14444
14445	* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
14446	(convert_scalars_to_vector): Likewise.
14447
144482016-01-15  Jonathan Wakely  <jwakely@redhat.com>
14449
14450	* doc/extend.texi (Type Traits): Fix grammar.
14451
144522016-01-15  Martin Jambor  <mjambor@suse.cz>
14453
14454	* tree-inline.c (remap_decl): Use existing dclarations if
14455	remapping a type and prevent_decl_creation_for_types.
14456	(replace_locals_stmt): Do an initial remapping of non-VLA typed
14457	decls first.  Do real remapping with
14458	prevent_decl_creation_for_types set.
14459	* tree-inline.h (copy_body_data): New field
14460	prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
14461	padding.
14462
144632016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
14464
14465	* config/s390/s390.opt (mmvcle): More verbose help text.
14466
144672016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
14468
14469	* config/s390/s390.opt: Add period to -mzvector option text.
14470
144712016-01-15  Richard Biener  <rguenther@suse.de>
14472
14473	PR tree-optimization/68961
14474	* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
14475	of invariants in stores again.
14476
144772016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14478
14479	* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
14480
144812016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
14482
14483	* config/i386/i386.c (ix86_expand_branch): Don't split
14484	DI mode xor instruction to SI mode.
14485
144862016-01-15  Jan Hubicka  <hubicka@ucw.cz>
14487
14488	PR ipa/68148
14489	* ipa-icf.c (sem_function::merge): Virtual functions may become
14490	reachable even if they address is not taken and there are no
14491	idrect calls.
14492
144932016-01-15  Jan Hubicka  <hubicka@ucw.cz>
14494
14495	* lto-streamer-out.c (subtract_estimated_size): New function.
14496	(get_symbol_initial_value): Use it.
14497
144982016-01-15  Christian Bruel  <christian.bruel@st.com>
14499
14500	PR target/65837
14501	* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
14502	(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
14503	(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
14504	use add_builtin_function_ext_scope instead of add_builtin_function.
14505	(neon_set_p, neon_crypto_set_p): Remove.
14506	(arm_init_builtins): Always call arm_init_neon_builtins and
14507	arm_init_crypto_builtins.
14508	(arm_expand_builtin): Check that builtins are allowed for the arch.
14509	* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
14510	* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
14511	arm_init_neon_builtins call.
14512
145132016-01-15  Richard Biener  <rguenther@suse.de>
14514
14515	PR tree-optimization/69117
14516	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
14517	* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
14518	of the leader conservatively.
14519	(free_scc_vn): Restore original SSA name infos.
14520
145212016-01-14  Jeff Law  <law@redhat.com>
14522
14523	PR tree-optimization/69270
14524	* tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
14525	single bit of precision, verify it's also unsigned.
14526	(record_edge_info): Use constant_boolean_node rather than fold_convert
14527	to convert boolean_true/boolean_false to the right type.
14528
145292016-01-14  Richard Henderson  <rth@redhat.com>
14530
14531	PR rtl-opt/69014
14532	* loop-doloop.c (record_reg_sets): New.
14533	(doloop_optimize): Reject the transform if the sequence
14534	clobbers registers live at the end of the loop block.
14535	(doloop_optimize_loops): Enable df_live if needed.
14536
145372016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
14538
14539	* config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
14540	* gcc/config/rs6000/rs6000.c: Likewise.
14541	* gcc/config/rs6000/rs6000.h: Likewise.
14542	* gcc/config/rs6000/rs6000.md: Likewise.
14543	* gcc/doc/extend.texi: Likewsie.
14544
145452016-01-14  Jeff Law  <law@redhat.com>
14546
14547	* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
14548	typo.
14549
145502016-01-14  Richard Henderson  <rth@redhat.com>
14551
14552	PR c/69272
14553	PR tree-opt/68964
14554	* trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
14555	* tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
14556	instead of builtin_decl_declared_p to test for declaration.
14557
145582016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
14559
14560	* doc/loop.texi (Loop Analysis and Representation): Document
14561	loop_depth function.
14562
145632016-01-14  Tom de Vries  <tom@codesourcery.com>
14564
14565	PR tree-optimization/68773
14566	* omp-low.c (expand_omp_target): Don't set force_output.
14567	* varpool.c (varpool_node::get_create): Same.
14568	* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
14569	offload_funcs with force_output.
14570
145712016-01-14  Jakub Jelinek  <jakub@redhat.com>
14572
14573	PR debug/69244
14574	* lra-eliminations.c (move_plus_up): Don't change anything if either
14575	the outer or inner subreg mode is not MODE_INT.
14576	* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
14577	integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
14578
145792016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
14580
14581	* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
14582	reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
14583	reduc_uplus_@var{m}): Remove.
14584	* expr.c (expand_expr_real_2): Remove expansion path for
14585	reduc_[us](min|max|plus) optabs.
14586	* optabs-tree.c (scalar_reduc_to_vector): Remove.
14587	* optabs-tree.h (scalar_reduc_to_vector): Remove.
14588	* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
14589	reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
14590	* tree-vect-loop.c (vectorizable_reduction): Remove test for
14591	reduc_[us](min|max|plus) optabs.
14592
145932016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
14594
14595	* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
14596	(reduc_plus_scal_v2sf): New.
14597	(reduc_smax_v2sf): Rename to...
14598	(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
14599	(reduc_smin_v2sf): Rename to...
14600	(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
14601
146022016-01-14  Jan Hubicka  <hubicka@ucw.cz>
14603
14604	* alias.c (compare_base_symbol_refs): New function.
14605	(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
14606	it.
14607
146082016-01-14  Jakub Jelinek  <jakub@redhat.com>
14609
14610	PR middle-end/68146
14611	PR tree-optimization/69155
14612	* tree-complex.c: Include cfganal.h.
14613	(phis_to_revisit): New variable.
14614	(extract_component): Add phiarg_p argument.  Assert that returned
14615	SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
14616	(update_phi_components): Partly rewrite to use loop over real/imag
14617	components instead of code duplication.  If extract_component returns
14618	SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
14619	create_tmp_reg into the PHI node instead, and mention the phi triplet
14620	in phis_to_revisit.
14621	(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
14622	in phis_to_revisit at the end.
14623
146242016-01-14  Richard Biener  <rguenther@suse.de>
14625
14626	PR tree-optimization/68060
14627	* tree-vect-loop.c (vect_is_simple_reduction): Check the
14628	outer loop reduction is only used in the inner loop before
14629	detecting a double reduction.
14630
146312016-01-14  Jakub Jelinek  <jakub@redhat.com>
14632
14633	PR target/68269
14634	* combine.c (expand_field_assignment): Punt if compute_mode is
14635	unsupported scalar mode.
14636
146372016-01-14  Richard Biener  <rguenther@suse.de>
14638
14639	PR tree-optimization/66856
14640	* tree-vect-slp.c (vect_build_slp_tree): Refactor to build
14641	SLP node only if it built successfully.
14642	(vect_analyze_slp_instance): Adjust.
14643
146442016-01-14  Jeff Law  <law@redhat.com>
14645
14646	PR tree-optimization/69270
14647	* tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
14648	(record_edge_info): Use it.  Convert boolean_{true,false}_node
14649	to the type of op0.
14650
146512016-01-13  Jan Hubicka  <hubicka@ucw.cz>
14652
14653	PR ipa/66487
14654	* ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
14655	use block_ultimate_origin
14656	(noncall-stmt_may_be_vtbl_ptr_store): Likewise.
14657
146582016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
14659
14660	* doc/invoke.texi (Submodel Options): Rename section to
14661	"Machine-Dependent Options" to better reflect its content.
14662	Rewrite introductory text to remove archaic CPU names.
14663	Update references.
14664
146652016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
14666
14667	* doc/invoke.texi (Code Gen Options): Move section up in file,
14668	before target-specific options.  Update menu and option summary
14669	to reflect the new section ordering.
14670
146712016-01-13  Jonathan Wakely  <jwakely@redhat.com>
14672
14673	* doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
14674	(C++ Dialect Options): Add cross-reference to -std option.
14675	* doc/standards.texi (C++ Language): Document C++14 support.
14676
146772016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
14678
14679	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
14680	for pack/unpack functions for __ibm128.
14681	(PACK_IF): Likewise.
14682	(UNPACK_IF): Likewise.
14683
14684	* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
14685	support for __ibm128 pack/unpack functions.
14686	(rs6000_invalid_builtin): Likewise.
14687	(rs6000_init_builtins): Likewise.
14688	(rs6000_opt_masks): Likewise.
14689
14690	* config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
14691	(RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
14692	functions
14693	(RS6000_BTM_COMMON): Likewise.
14694
14695	* config/rs6000/rs6000.md (f128_vsx): New mode attribute.
14696	(unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
14697	disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
14698	128-bit floating point.  Add support for the double values to be
14699	in Altivec registers for TF/IF packing and unpacking, but restrict
14700	TD packing sub-fields to be FPR registers.  Don't allow overlapped
14701	register support for packing.  Allow pack inputs to be memory
14702	locations.  Don't build generator functions for unpack<mode>_dm
14703	and unpack<mode>_nodm.
14704	(unpack<mode>_dm): Likewise.
14705	(unpack<mode>_nodm): Likewise.
14706	(pack<mode>): Likewise.
14707
14708	* config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
14709	built-in functions to pack/unpack explicit __ibm128 values.
14710	(__builtin_unpack_ibm128): Likewise.
14711
14712	* doc/extend.texi (PowerPC Built-in Functions): Document
14713	__builtin_pack_ibm128 and __builtin_unpack_ibm128.
14714
147152016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
14716
14717	PR c/66208
14718	* c-common.c (check_function_nonnull): Remove unnecessary declaration.
14719	Add new arg loc and pass it down as context.
14720	(check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
14721	to the location to use for the warning.
14722	(check_function_arguments): New arg loc.  All callers changed.  Pass
14723	it to check_function_nonnull.
14724	* c-common.h (check_function_arguments): Adjust declaration.
14725
147262016-01-13  Jakub Jelinek  <jakub@redhat.com>
14727
14728	PR tree-optimization/69156
14729	* gimple.c (validate_type): Removed.
14730	(gimple_builtin_call_types_compatible_p): Use
14731	useless_type_conversion_p instead of validate_type.
14732	* value-prof.c (gimple_stringop_fixed_value): Fold
14733	icall_size to correct type.
14734
147352016-01-13  Jonathan Wakely  <jwakely@redhat.com>
14736
14737	* doc/extend.texi (__atomic Builtins): Clarify compare_exchange
14738	effects.
14739
147402016-01-13  Richard Henderson  <rth@redhat.com>
14741
14742	PR tree-opt/68964
14743	* target.def (builtin_tm_load, builtin_tm_store): Remove.
14744	* config/i386/i386.c (ix86_builtin_tm_load): Remove.
14745	(ix86_builtin_tm_store): Remove.
14746	(TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
14747	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
14748	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
14749	(TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
14750	* doc/tm.texi: Rebuild.
14751
14752	* gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
14753	(BUILT_IN_TM_MEMCPY_RTWN): New.
14754	* trans-mem.c (tm_log_emit_stmt): Rearrange code for better
14755	fallback from vector to integer helpers.
14756	(build_tm_load): Handle vector types directly, instead of
14757	via target hook.
14758	(build_tm_store): Likewise.
14759	(expand_assign_tm): Prepare for register types not handled by
14760	the above.  Copy them to memory and use memcpy.
14761	* tree.c (tm_define_builtin): New.
14762	(find_tm_vector_type): New.
14763	(build_tm_vector_builtins): New.
14764	(build_common_builtin_nodes): Call it.
14765
147662016-01-13  Uros Bizjak  <ubizjak@gmail.com>
14767
14768	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
14769	TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
14770
147712016-01-13  Tom de Vries  <tom@codesourcery.com>
14772
14773	PR tree-optimization/69169
14774	* tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
14775	handled_struct_type param.
14776	(create_variable_info_for, intra_create_variable_infos): Call
14777	create_variable_info_for_1 with extra arg.
14778
147792016-01-13  Yvan Roux  <yvan.roux@linaro.org>
14780
14781	* config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
14782	and "armv8.1-a+crc" entries.
14783
147842016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
14785
14786	PR target/69228
14787	* config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
14788	Change first operand predicate from register_or_constm1_operand
14789	to register_operand.
14790	(define_expand "avx512pf_gatherpf<mode>df"): Likewise.
14791	(define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
14792	(define_expand "avx512pf_scatterpf<mode>df"): Likewise.
14793	(define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
14794	(define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
14795	(define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
14796	(define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
14797	* config/i386/i386.c (ix86_expand_builtin): Remove first operand
14798	comparison with constm1_rtx from vec_prefetch_gen part.
14799
148002016-01-13  Richard Biener  <rguenther@suse.de>
14801
14802	PR tree-optimization/69013
14803	* tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
14804	Exchange assert for a test.
14805
148062016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
14807
14808	PR target/69247
14809	* config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
14810
148112016-01-13  Richard Biener  <rguenther@suse.de>
14812
14813	PR tree-optimization/69242
14814	* tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
14815	assert with a check.
14816
148172016-01-13  Richard Biener  <rguenther@suse.de>
14818
14819	PR tree-optimization/69186
14820	* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
14821	Properly guard vect_update_misalignment_for_peel call.
14822
148232016-01-12  Jeff Law  <law@redhat.com>
14824
14825	PR tree-optimization/pr67755
14826	* tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
14827	"need_profile_correction".
14828	(thread_block_1): Initialize new field to false by default.  If we
14829	have multiple thread paths through a common joiner to different
14830	final targets, then set new field to true.
14831	(compute_path_counts): Only do count adjustment when it's really
14832	needed.
14833
148342016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
14835
14836	* doc/invoke.texi (Spec Files): Move section down in file, past
14837	all command-line option descriptions.
14838
148392016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
14840
14841	PR middle-end/54809
14842	* doc/gty.texi: Remove documentation of mark_hook.
14843	* gengtype.c (struct write_types_data): Remove code to support
14844	mark_hook attribute.
14845	(walk_type): Likewise.
14846	(write_func_for_structure): Likewise.
14847
148482016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
14849
14850	* doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
14851	Directory Options, and -specs= to Overall Options.
14852	(Overall Options): Adjust similarly.  Reorder to group related
14853	options together.  Make -specs= cross-reference the spec file details.
14854	(Directory Options): Adjust similarly.
14855
148562016-01-12  Jeff Law  <law@redhat.com>
14857
14858	* tree-ssa-threadupdate.c: Various whitespace and typo fixes.
14859
148602016-01-12  Olivier Hainque  <hainque@adacore.com>
14861
14862	* gcc.c (spec_undefvar_allowed): New global.
14863	(process_command): Set to true when running for --version or --help,
14864	alone or together.
14865	(getenv_spec_function): When the variable is not defined, use the
14866	variable name as the variable value if we're allowed not to issue
14867	a fatal error.
14868
148692016-01-12  Bin Cheng  <bin.cheng@arm.com>
14870
14871	PR tree-optimization/68911
14872	* tree-vrp.c (adjust_range_with_scev): Check overflow in range
14873	information computed for expression "init + nit * step".
14874
148752016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
14876
14877	* doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
14878	about name of GCC executable.  Remove deleted node from menu.
14879	(Directory Options) <-B>: Remove cross-reference to deleted node.
14880	(Target Options): Delete section.
14881
148822016-01-12  Christian Bruel  <christian.bruel@st.com>
14883
14884	PR target/69180
14885	* config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
14886	for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
14887
148882016-01-12  Jakub Jelinek  <jakub@redhat.com>
14889
14890	PR target/69198
14891	* config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
14892	aligned_mem is properly set for AVX512-VL floating point masked
14893	stores.
14894
14895	PR target/69175
14896	* ifcvt.c (cond_exec_process_if_block): When removing the last
14897	insn from then_bb, remove also any possible barriers that follow it.
14898
148992016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
14900
14901	PR target/68456
14902	PR target/69226
14903	* config/i386/iamcu.h (SIZE_TYPE): New macro.
14904	(PTRDIFF_TYPE): Likewise.
14905	(WCHAR_TYPE): Likewise.
14906	(WCHAR_TYPE_SIZE): Likewise.
14907	(STDINT_LONG32): Likewise.
14908
149092016-01-12  Richard Biener  <rguenther@suse.de>
14910
14911	PR tree-optimization/69053
14912	* tree-vect-loop.c (get_initial_def_for_reduction): Properly
14913	convert initial value for cond reductions.
14914
149152016-01-12  Richard Biener  <rguenther@suse.de>
14916
14917	PR tree-optimization/69007
14918	* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
14919	widen_sum after dot_prod and sad.
14920
149212016-01-12  Richard Biener  <rguenther@suse.de>
14922
14923	PR tree-optimization/69168
14924	* tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
14925	pattern stmt SLP type.
14926	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
14927	end up unused so cope with that case.
14928
149292016-01-12  Richard Biener  <rguenther@suse.de>
14930
14931	PR tree-optimization/69157
14932	* tree-vect-stmts.c (vectorizable_mask_load_store): Check
14933	stmts def type only during analyze phase.
14934	(vectorizable_call): Likewise.
14935	(vectorizable_simd_clone_call): Likewise.
14936	(vectorizable_conversion): Likewise.
14937	(vectorizable_assignment): Likewise.
14938	(vectorizable_shift): Likewise.
14939	(vectorizable_operation): Likewise.
14940	(vectorizable_store): Likewise.
14941	(vectorizable_load): Likewise.
14942
149432016-01-12  Richard Biener  <rguenther@suse.de>
14944
14945	PR tree-optimization/69174
14946	* tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
14947	space.
14948	(vectorizable_load): Properly compute the number of loads needed
14949	for permuted strided SLP loads and do not spuriously assign
14950	to SLP_TREE_VEC_STMTS.
14951
149522016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
14953
14954	* config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
14955	(TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
14956	(MD_EXEC_PREFIX): Remove.
14957	(MD_STARTFILE_PREFIX) Removee.
14958	(FILE_NAME_ABSOLUTE_P): Remove.
14959	(CPP_SPEC): Do not read macros from sys/version.h.
14960	(LINK_COMMAND_SPEC): Remove.
14961	(LOCAL_INCLUDE_DIR): Remove.
14962	(TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
14963	(TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
14964	(POST_LINK_SPEC): Define to invoke stubify after linker
14965	(LIBSTDCXX): Remove define
14966	(DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
14967	(DEFAULT_PCC_STRUCT_RETURN): Define to 1.
14968	(SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
14969	(SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
14970	(SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
14971	(IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
14972	(i386_djgpp_asm_named_section): Add propotype of new procedure
14973
14974	* config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
14975	(MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
14976	(STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
14977	in config/i386/djgpp.h).
14978	(STANDARD_STARTFILE_PREFIX_2): Define identical to
14979	STANDARD_STARTFILE_PREFIX_1.
14980	(LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
14981	(GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
14982	installation errors.
14983	(MAX_OFILE_ALIGNMENT): Define to 128.
14984	(HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
14985
14986	* config/i386/djgpp.c: New file. Add implementation of
14987	i386_djgpp_asm_named_section.
14988
14989	* config/i386/djgpp.opt: Remove obsolete option -mbnu210.
14990
14991	* config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
14992	Add rule for building djgpp.o.
14993
149942016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
14995
14996	* config/rs6000/rs6000.c (v2df_reduction_p): New function.
14997	(rtx_is_swappable_p): Reductions are swappable.
14998	(insn_is_swappable_p): V2DF reductions are swappable.
14999
150002016-01-11  John David Anglin  <danglin@gcc.gnu.org>
15001
15002	* config/pa/pa.c (pa_emit_move_sequence): Handle floating point
15003	reloads for other unsupported memory operands.
15004
150052016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
15006	    Jim Wilson  <jim.wilson@linaro.org>
15007
15008	PR target/69194
15009	* config/arm/arm-builtins.c (arm_expand_neon_args): Call
15010	copy_to_mode_reg instead of force_reg.
15011
150122016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
15013
15014	PR target/69225
15015	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
15016	TARGET_80387 is true.
15017
150182016-01-11  Jakub Jelinek  <jakub@redhat.com>
15019
15020	PR target/69071
15021	* lra-eliminations.c (move_plus_up): Only move plus up
15022	if subreg of the constant can be simplified into constant
15023	and use the simplified subreg of the constant instead of
15024	the original constant.
15025
15026	* fold-const.c (fold_convertible_p): Don't return true
15027	for conversion of VECTOR_TYPE to same sized integral type.
15028	(fold_convert_loc): Fix up formatting.  Fold conversion of
15029	VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
15030	instead of NOP_EXPR.
15031
15032	PR tree-optimization/69214
15033	* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
15034	innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
15035	Formatting fix.
15036
15037	PR tree-optimization/69207
15038	* tree-vect-slp.c (vect_get_constant_vectors): For
15039	VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
15040	fold_convertible_p to vector_type's element type, and always
15041	use VCE for non-VECTOR_BOOLEAN_TYPE_P.
15042
150432016-01-11  Richard Biener  <rguenther@suse.de>
15044
15045	PR tree-optimization/69173
15046	* tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
15047	fixup the cycle if all stmts are in a pattern.
15048
150492016-01-11  Uros Bizjak  <ubizjak@gmail.com>
15050
15051	PR middle-end/68999
15052	* alias.c (base_alias_check): Move check for addresses with
15053	alignment ANDs before the call for compare_base_decls.
15054	(memrefs_conflict_p): Return -1 for different decls
15055	that went through alignment adjustments.
15056
150572016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
15058
15059	PR rtl-optimization/68796
15060	* config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
15061	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
15062	and QImode comparisons against zero with CC_NZmode.
15063	* config/aarch64/iterators.md (short_mask): New mode_attr.
15064
150652016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
15066
15067	* config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
15068	(<avx512>_store<mode>_mask): Likewise.
15069
150702016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
15071	    Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
15072
15073	PR rtl-optimization/68841
15074	* ifcvt.c (struct noce_if_info): Add orig_x field.
15075	(bbs_ok_for_cmove_arith): Add to_rename parameter.
15076	Don't record conflicts on to_rename if it's present.
15077	Allow memory destinations in sets.
15078	(noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
15079	blocks, passing orig_x to the checks.
15080	(noce_process_if_block): Set if_info->orig_x appropriately.
15081
150822016-01-11  Tom de Vries  <tom@codesourcery.com>
15083
15084	PR tree-optimization/69069
15085	* tree-parloops.c (create_parallel_loop): Add missing phi args.
15086
150872016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
15088
15089	PR rtl-optimization/68920
15090	* config/i386/i386.c (ix86_option_override_internal): Restrict number
15091	of conditional moves for  RTL if-conversion to 1 for
15092	TARGET_ONE_IF_CONV_INSN.
15093	* config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
15094	* config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
15095	* params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
15096	parameter to restirct number of conditional moves for
15097	RTL if-conversion.
15098	* doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
15099	* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
15100	conditionl moves.
15101
151022016-01-11  Alexandre Oliva  <aoliva@redhat.com>
15103
15104	PR bootstrap/69123
15105	* var-tracking.c (drop_overlapping_mem_locs): Operate on all
15106	onepart vars.  Fix typo in comment.  Fix reversed condition in
15107	unshare test.
15108	(dataflow_set_remove_mem_locs): Operate on all onepart vars.
15109
15110	PR bootstrap/69123
15111	* var-tracking.c (dump_onepart_variable_differences): New.
15112	(dataflow_set_different): If a detailed dump is requested,
15113	delay early returns and dump differences between onepart
15114	variables present before and after, and added variables.
15115
151162016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
15117
15118	PR target/69010
15119	* expr.c (expand_expr_real_1): For boolean vector constants
15120	with a scalar mode use const_scalar_mask_from_tree.
15121	(const_scalar_mask_from_tree): New.
15122	* optabs.c (expand_vec_cond_mask_expr): Use mask mode
15123	assigned to a mask type to handle constants.
15124
151252016-01-11  Martin Jambor  <mjambor@suse.cz>
15126
15127	PR ipa/69044
15128	* ipa-cp.c (estimate_local_effects): Do not clone for removal of
15129	useless parameters if we cannot change function signature.
15130
151312016-01-11  Martin Jambor  <mjambor@suse.cz>
15132
15133	PR ipa/66616
15134	* cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
15135	flag.
15136
151372016-01-11  Tom de Vries  <tom@codesourcery.com>
15138
15139	PR tree-optimization/69109
15140	* tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
15141	latch with phi.
15142
151432016-01-11  Tom de Vries  <tom@codesourcery.com>
15144
15145	PR tree-optimization/69108
15146	* tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
15147	res is not used in a phi.
15148
151492016-01-11  Yury Gribov  <y.gribov@samsung.com>
15150
15151	PR 67425
15152	* common.opt (frandom-seed): Fix parameter name.
15153	* doc/invoke.texi (frandom-seed): Ditto and describe parameter.
15154
151552016-01-11  Tom de Vries  <tom@codesourcery.com>
15156
15157	PR tree-optimization/69058
15158	* tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
15159	not supported.
15160
151612016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
15162
15163	* config/arc/arc.opt (mdiv-rem): Add period to the end.
15164	(mcode-density): Likewise.
15165
151662016-01-10  Tom de Vries  <tom@codesourcery.com>
15167
15168	PR tree-optimization/69062
15169	* tree-parloops.c (loop_has_phi_with_address_arg): New function.
15170	(parallelize_loops): Don't paralelize loop that has phi with address
15171	arg.
15172
151732016-01-10  Tom de Vries  <tom@codesourcery.com>
15174
15175	PR tree-optimization/69039
15176	* tree-parloops.c (try_create_reduction_list): Only allow single exit
15177	phi for reduction.
15178
151792016-01-09  John David Anglin  <danglin@gcc.gnu.org>
15180
15181	PR middle-end/68743
15182	* match.pd: Require target has function_c99_misc before doing
15183	truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
15184
151852016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
15186
15187	* configure.ac (isl_options_set_schedule_serialize_sccs): Also
15188	use GMPINC.
15189	* configure: Regenerate.
15190
151912016-01-09  Jakub Jelinek  <jakub@redhat.com>
15192
15193	PR middle-end/50865
15194	PR tree-optimization/69097
15195	* fold-const.h (expr_not_equal_to): New prototype.
15196	* fold-const.c: Include stringpool.h and tree-ssanames.h.
15197	(expr_not_equal_to): New function.
15198	* match.pd (X % -Y is the same as X % Y): Don't optimize
15199	unless X is known not to be equal to minimum or Y is known
15200	not to be equal to -1.
15201	* tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
15202	fold TRUNC_MOD_EXPR if the second argument is not a power of two.
15203	(simplify_stmt_using_ranges): Adjust caller.
15204	(vrp_finalize): Call set_value_range on SSA_NAMEs before calling
15205	substitute_and_fold.
15206
152072016-01-09  Jan Hubicka  <hubicka@ucw.cz>
15208
15209	* ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
15210	w/o DECL_NAME.
15211
152122016-01-08  Jakub Jelinek  <jakub@redhat.com>
15213
15214	PR tree-optimization/69167
15215	* gimple-fold.c (replace_stmt_with_simplification): Also punt if
15216	new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
15217	ops[0] comparison.
15218	* gimple-match-head.c (maybe_push_res_to_seq): Likewise.
15219
152202016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
15221	    Richard Biener  <rguenther@suse.de>
15222
15223	PR tree-optimization/68707
15224	* tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
15225	instances that can be handled via vect_load_lanes.
15226
152272016-01-08  Uros Bizjak  <ubizjak@gmail.com>
15228
15229	* symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
15230	if we can't determine address equivalence.
15231	* alias.c (compare_base_decl): Update for changed return value of
15232	symtab_node::equal_address_to.
15233
152342016-01-08  Jason Merrill  <jason@redhat.com>
15235
15236	PR c++/68983
15237	PR c++/67557
15238	* function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
15239	* expr.c (store_field): Not here.
15240	* tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
15241	call with TREE_ADDRESSABLE type.
15242	* tree-cfg.c (verify_gimple_call): Adjust.
15243
152442016-01-08  Olivier Hainque  <hainque@adacore.com>
15245
15246	* config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
15247	libc_internal.
15248
152492016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
15250
15251	* gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
15252	(reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
15253	(reduc_smin_v2sf): Rename to...
15254	(reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
15255	(reduc_splus_v2sf): Rename to...
15256	(reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
15257
152582016-01-08  Jakub Jelinek  <jakub@redhat.com>
15259
15260	PR tree-optimization/69162
15261	* gimplify.c (gimplify_va_arg_expr): Encode original type of
15262	valist argument in another argument.
15263	(gimplify_modify_expr): Adjust for the above change.  Cleanup.
15264	* tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
15265	to determine the va_list type, build a MEM_REF instead of
15266	build_fold_indirect_ref.
15267
15268	PR tree-optimization/69172
15269	* gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
15270	gimple_build.
15271
152722016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
15273
15274	PR tree-optimization/67781
15275	* tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
15276	and cmpnop in two steps: first the ones not accessed in original
15277	gimple expression in a endian independent way and then the ones not
15278	accessed in the final result in an endian-specific way.
15279
152802016-01-08  Jakub Jelinek  <jakub@redhat.com>
15281
15282	PR tree-optimization/69083
15283	* tree-vect-slp.c (vect_get_constant_vectors): For
15284	VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
15285	element type.  If op is fold_convertible_p to vector_type's element
15286	type, use NOP_EXPR instead of VCE.
15287
152882016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
15289
15290	PR rtl-optimization/67778
15291	PR rtl-optimization/68634
15292	PR rtl-optimization/68909
15293	* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
15294	block from the stack until done with it.  Remove a superfluous
15295	bitmap set.  Remove a superfluous bitmap test.
15296
152972016-01-07  Martin Sebor  <msebor@redhat.com>
15298
15299	PR c/68966
15300	* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
15301	constraint on the type of arguments.
15302
153032016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
15304
15305	* config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
15306	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
15307	unaligned_access on the gcc_options set.
15308	* config/arm/arm.c (arm_option_override_internal): Use
15309	SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
15310
153112016-01-07  Uros Bizjak  <ubizjak@gmail.com>
15312
15313	PR target/69140
15314	* config/i386/i386.c (ix86_frame_pointer_required): Enable
15315	frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
15316
153172016-01-07  Uros Bizjak  <ubizjak@gmail.com>
15318
15319	Revert
15320	2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
15321
15322	PR target/69140
15323	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
15324	depending on frame_pointer_needed before remaining integer and SSE
15325	registers are saved.
15326
153272016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
15328
15329	PR 1078
15330	* doc/extend.texi (Nvidia PDX Function Attributes): New section.
15331
153322016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
15333
15334	PR target/69171
15335	* config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
15336	Use the "xBm" constraint.
15337	(float<sseintvecmodelower><mode>2<mask_name><round_name):
15338	Likewise.
15339	(sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
15340	(sse_cvtsi2ssq<round_name>): Likewise.
15341	(sse_cvtss2si<round_name>): Likewise.
15342	(sse_cvtss2siq<round_name>): Likewise.
15343	(sse2_cvtsi2sdq<round_name>): Likewise.
15344	(sse2_cvtsd2si<round_name>): Likewise.
15345	(sse2_cvtsd2siq<round_name>): Likewise.
15346	* config/i386/subst.md (round_nimm_scalar_predicate): New
15347	predicate.
15348
153492015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
15350
15351	PR middle-end/67639
15352	* varasm.c (make_decl_rtl): Mark invalid register vars as
15353	DECL_EXTERNAL.
15354
15355	PR rtl-optimization/66206
15356	* bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
15357	All callers changed.
15358
153592016-01-07  Jakub Jelinek  <jakub@redhat.com>
15360
15361	PR tree-optimization/69141
15362	* tree-ssa-pre.c: Include langhooks.h.
15363	(eliminate_dom_walker::before_dom_children): Use
15364	lang_hooks.decl_printable_name instead of
15365	cgraph_node::get ()->name ().
15366
15367	PR middle-end/68960
15368	* gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
15369	it and DECL_ALIGN too.
15370
153712016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
15372
15373	* config/mips/mips-ftypes.def: Sort to lexicographical order.
15374
153752016-01-06  Uros Bizjak  <ubizjak@gmail.com>
15376
15377	PR target/69140
15378	* config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
15379	depending on frame_pointer_needed before remaining integer and SSE
15380	registers are saved.
15381
153822015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
15383
15384	* config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
15385	mode iterator with VSX_M2.
15386	(*p9_vecstore_<mode>): Likewise.
15387	(*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
15388	(*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
15389	(*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
15390	(define_split for VSX_LE128 stores): Likewise.
15391	(define_peephole2 for TImode LE swaps): Likewise.
15392	(define_split for VSX_LE128 post-reload stores): Likewise.
15393
153942016-01-06  Marek Polacek  <polacek@redhat.com>
15395
15396	PR sanitizer/69099
15397	* convert.c (convert_to_integer_1): Adjust call to
15398	ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
15399	* ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
15400	EXPR instead of ARG.
15401	* ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
15402
154032016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
15404
15405	PR 1078
15406	* doc/extend.texi (RL78 Variable Attributes): New section.
15407
154082016-01-05  Marek Polacek  <polacek@redhat.com>
15409
15410	PR c/69104
15411	* builtins.c (get_memmodel): Use expansion point location rather than
15412	the input location.  Call warning_at rather than warning.
15413	(expand_builtin_atomic_compare_exchange): Likewise.
15414	(expand_builtin_atomic_load): Likewise.
15415	(expand_builtin_atomic_store): Likewise.
15416	(expand_builtin_atomic_clear): Likewise.
15417
154182016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
15419
15420	PR target/68991
15421	* config/i386/i386.c (ix86_expand_vector_logical_operator):
15422	Replace nonimmediate_operand with vector_operand.
15423	* config/i386/predicates.md (vector_operand): New predicate.
15424	(general_vector_operand): Replace nonimmediate_operand with
15425	vector_operand.
15426	* config/i386/sse.md: Replace nonimmediate_operand with
15427	vector_operand and m constraint with Bm constraint on SSE
15428	patterns with 16-byte memory operand.
15429	* config/i386/subst.md (round_nimm_predicate): Replace
15430	nonimmediate_operand with vector_operand.
15431	(round_saeonly_nimm_predicate): Likewise.
15432	(round_saeonly_nimm_scalar_predicate): New.
15433
154342016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
15435
15436	PR target/68991
15437	* config/i386/constraints.md (Bm): New constraint.
15438	* config/i386/predicates.md (vector_memory_operand): New
15439	predicate.
15440	* config/i386/sse.md: Replace xm with xBm in plusminus and
15441	any_logic patterns.
15442
154432016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
15444
15445	PR 1078
15446	* doc/extend.texi (V850 Function Attributes): New section.
15447	(V850 Variable Attributes): New section.
15448
154492016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
15450
15451	PR 1078
15452	* doc/extend.texi (MicroBlaze Function Attributes): Document
15453	interrupt_handler and fast_interrupt attributes.
15454
154552016-01-05  Sergei Trofimovich  <siarheit@google.com>
15456
15457	PR other/60465
15458	* config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
15459	for local symbolic operands.
15460	* config/ia64/predicates.md (local_symbolic_operand64): New
15461	predicate.
15462
154632016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
15464
15465	PR rtl-optimization/68651
15466	* combine.c (combine_simplify_rtx): Canonicalize x + x into
15467	x << 1.
15468
154692016-01-05  Nathan Sidwell  <nathan@acm.org>
15470
15471	* alias.c (compare_base_decls): Use symtab_node::get.
15472
154732016-01-05  Nick Clifton  <nickc@redhat.com>
15474
15475	PR target/68770
15476	* ira-costs.c (copy_cost): Initialise the t_icode field of the
15477	secondary_reload_info structure.
15478
15479	PR target/66655
15480	* config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
15481	decls if weak support is available.
15482
154832016-01-04  Martin Sebor  <msebor@redhat.com>
15484
15485	* doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
15486
154872016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
15488
15489	* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
15490	OPTION_MASK_P9_DFORM.
15491
15492	* config/rs6000/constraints.md (wo constraint): New constraint for
15493	ISA 3.0 (power9).
15494
15495	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
15496	for wo constraint.
15497	(rs6000_init_hard_regno_mode_ok): Likewise.
15498
15499	* config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
15500	wo constraint.
15501
15502	* config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
15503	expanders not to have constraints.  Add support for ISA 3.0 xxperm
15504	instruction.  Add support for fusing xxlor with xxperm.
15505	(altivec_vperm_<mode>_internal): Likewise.
15506	(altivec_vperm_v8hiv16qi): Likewise.
15507	(altivec_vperm_<mode>v16q): Likewise.
15508	(altivec_vperm_<mode>_uns): Likewise.
15509	(vperm_v8hiv4si): Likewise.
15510	(vperm_v16qiv8hi): Likewise.
15511
15512	* doc/md.texi (RS/6000 constraints): Document wo constraint.
15513
155142016-01-04  Jakub Jelinek  <jakub@redhat.com>
15515
15516	Update copyright years.
15517
15518	* gcc.c (process_command): Update copyright notice dates.
15519	* gcov-dump.c (print_version): Ditto.
15520	* gcov.c (print_version): Ditto.
15521	* gcov-tool.c (print_version): Ditto.
15522	* gengtype.c (create_file): Ditto.
15523	* doc/cpp.texi: Bump @copying's copyright year.
15524	* doc/cppinternals.texi: Ditto.
15525	* doc/gcc.texi: Ditto.
15526	* doc/gccint.texi: Ditto.
15527	* doc/gcov.texi: Ditto.
15528	* doc/install.texi: Ditto.
15529	* doc/invoke.texi: Ditto.
15530
155312016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
15532
15533	* config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
15534	modes larger than TImode as TImode if NEON is not enabled.
15535
155362016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
15537
15538	PR target/69100
15539	* config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
15540	mode for %f0-%f31 only if TARGET_FPU.
15541
155422016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
15543
15544	PR target/69072
15545	* config/sparc/sparc.c (scan_record_type): Take into account subfields
15546	to compute the PACKED_P predicate.
15547	(function_arg_record_value): Minor tweaks.
15548
155492016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
15550
15551	* doc/install.texi (--with-multilib-list): Describe the meaning of the
15552	option for arm*-*-* targets.
15553
155542016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
15555
15556	* doc/extend.texi (Common Function Attributes): Move docs for
15557	MSP430-specific attributes to....
15558	(MSP430 Function Attributes): ...here.  Delete the redundant
15559	entries and copy-edit the remaining text.
15560	(MSP430 Variable Attributes): Use uniform format for index
15561	entries and add a cross-reference to the corresponding function
15562	attribute docs.
15563
155642016-01-03  Vladimír Čunát  <vcunat@gmail.com>
15565
15566	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix
15567	-finite-math typo.
15568	(x86 Options): Likewise.
15569
155702016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
15571
15572	PR 1078
15573
15574	* extend.texi (Common Function Attributes) <no_stack_limit>: New.
15575	* invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
15576	to corresponding attribute.
15577
155782016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
15579
15580	* doc/extend.texi (Common Function Attributes) <noplt>: Move
15581	to correct alphabetization of table.  Copy-edit and correct
15582	markup.
15583	<stack_protect>: Likewise.
15584	<target_clones>: Likewise.
15585	<simd>: Likewise.
15586	* doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
15587	Correct punctuation.
15588	(Code Gen Options) <-fno-plt>: Copy-edit.
15589
155902016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
15591
15592	PR target/68917
15593	* config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
15594	SI values.  Explicitly convert SI to DI and vice-versa.
15595
155962016-01-01  Jakub Jelinek  <jakub@redhat.com>
15597
15598	PR tree-optimization/69070
15599	* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
15600	REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
15601
15602	PR sanitizer/69055
15603	* ubsan.c (ubsan_instrument_float_cast): Call
15604	initialize_sanitizer_builtins.
15605
15606	PR target/69015
15607	* ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
15608
15609Copyright (C) 2016 Free Software Foundation, Inc.
15610
15611Copying and distribution of this file, with or without modification,
15612are permitted in any medium without royalty provided the copyright
15613notice and this notice are preserved.
15614