re PR tree-optimization/67781 (wrong code generated on big-endian with -O1 -fexpensiv...
[gcc.git] / gcc / ChangeLog
1 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
2
3 PR tree-optimization/67781
4 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
5 and cmpnop in two steps: first the ones not accessed in original
6 gimple expression in a endian independent way and then the ones not
7 accessed in the final result in an endian-specific way.
8
9 2016-01-08 Jakub Jelinek <jakub@redhat.com>
10
11 PR tree-optimization/69083
12 * tree-vect-slp.c (vect_get_constant_vectors): For
13 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
14 element type. If op is fold_convertible_p to vector_type's element
15 type, use NOP_EXPR instead of VCE.
16
17 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
18
19 PR rtl-optimization/67778
20 PR rtl-optimization/68634
21 PR rtl-optimization/68909
22 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
23 block from the stack until done with it. Remove a superfluous
24 bitmap set. Remove a superfluous bitmap test.
25
26 2016-01-07 Martin Sebor <msebor@redhat.com>
27
28 PR c/68966
29 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
30 constraint on the type of arguments.
31
32 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
33
34 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
35 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
36 unaligned_access on the gcc_options set.
37 * config/arm/arm.c (arm_option_override_internal): Use
38 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
39
40 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
41
42 PR target/69140
43 * config/i386/i386.c (ix86_frame_pointer_required): Enable
44 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
45
46 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
47
48 Revert
49 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
50
51 PR target/69140
52 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
53 depending on frame_pointer_needed before remaining integer and SSE
54 registers are saved.
55
56 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
57
58 PR 1078
59 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
60
61 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
62
63 PR target/69171
64 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
65 Use the "xBm" constraint.
66 (float<sseintvecmodelower><mode>2<mask_name><round_name):
67 Likewise.
68 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
69 (sse_cvtsi2ssq<round_name>): Likewise.
70 (sse_cvtss2si<round_name>): Likewise.
71 (sse_cvtss2siq<round_name>): Likewise.
72 (sse2_cvtsi2sdq<round_name>): Likewise.
73 (sse2_cvtsd2si<round_name>): Likewise.
74 (sse2_cvtsd2siq<round_name>): Likewise.
75 * config/i386/subst.md (round_nimm_scalar_predicate): New
76 predicate.
77
78 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
79
80 PR middle-end/67639
81 * varasm.c (make_decl_rtl): Mark invalid register vars as
82 DECL_EXTERNAL.
83
84 PR rtl-optimization/66206
85 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
86 All callers changed.
87
88 2016-01-07 Jakub Jelinek <jakub@redhat.com>
89
90 PR tree-optimization/69141
91 * tree-ssa-pre.c: Include langhooks.h.
92 (eliminate_dom_walker::before_dom_children): Use
93 lang_hooks.decl_printable_name instead of
94 cgraph_node::get ()->name ().
95
96 PR middle-end/68960
97 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
98 it and DECL_ALIGN too.
99
100 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
101
102 * config/mips/mips-ftypes.def: Sort to lexicographical order.
103
104 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
105
106 PR target/69140
107 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
108 depending on frame_pointer_needed before remaining integer and SSE
109 registers are saved.
110
111 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
112
113 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
114 mode iterator with VSX_M2.
115 (*p9_vecstore_<mode>): Likewise.
116 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
117 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
118 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
119 (define_split for VSX_LE128 stores): Likewise.
120 (define_peephole2 for TImode LE swaps): Likewise.
121 (define_split for VSX_LE128 post-reload stores): Likewise.
122
123 2016-01-06 Marek Polacek <polacek@redhat.com>
124
125 PR sanitizer/69099
126 * convert.c (convert_to_integer_1): Adjust call to
127 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
128 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
129 EXPR instead of ARG.
130 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
131
132 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
133
134 PR 1078
135 * doc/extend.texi (RL78 Variable Attributes): New section.
136
137 2016-01-05 Marek Polacek <polacek@redhat.com>
138
139 PR c/69104
140 * builtins.c (get_memmodel): Use expansion point location rather than
141 the input location. Call warning_at rather than warning.
142 (expand_builtin_atomic_compare_exchange): Likewise.
143 (expand_builtin_atomic_load): Likewise.
144 (expand_builtin_atomic_store): Likewise.
145 (expand_builtin_atomic_clear): Likewise.
146
147 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
148
149 PR target/68991
150 * config/i386/i386.c (ix86_expand_vector_logical_operator):
151 Replace nonimmediate_operand with vector_operand.
152 * config/i386/predicates.md (vector_operand): New predicate.
153 (general_vector_operand): Replace nonimmediate_operand with
154 vector_operand.
155 * config/i386/sse.md: Replace nonimmediate_operand with
156 vector_operand and m constraint with Bm constraint on SSE
157 patterns with 16-byte memory operand.
158 * config/i386/subst.md (round_nimm_predicate): Replace
159 nonimmediate_operand with vector_operand.
160 (round_saeonly_nimm_predicate): Likewise.
161 (round_saeonly_nimm_scalar_predicate): New.
162
163 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
164
165 PR target/68991
166 * config/i386/constraints.md (Bm): New constraint.
167 * config/i386/predicates.md (vector_memory_operand): New
168 predicate.
169 * config/i386/sse.md: Replace xm with xBm in plusminus and
170 any_logic patterns.
171
172 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
173
174 PR 1078
175 * doc/extend.texi (V850 Function Attributes): New section.
176 (V850 Variable Attributes): New section.
177
178 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
179
180 PR 1078
181 * doc/extend.texi (MicroBlaze Function Attributes): Document
182 interrupt_handler and fast_interrupt attributes.
183
184 2016-01-05 Sergei Trofimovich <siarheit@google.com>
185
186 PR other/60465
187 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
188 for local symbolic operands.
189 * config/ia64/predicates.md (local_symbolic_operand64): New
190 predicate.
191
192 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
193
194 PR rtl-optimization/68651
195 * combine.c (combine_simplify_rtx): Canonicalize x + x into
196 x << 1.
197
198 2016-01-05 Nathan Sidwell <nathan@acm.org>
199
200 * alias.c (compare_base_decls): Use symtab_node::get.
201
202 2016-01-05 Nick Clifton <nickc@redhat.com>
203
204 PR target/68770
205 * ira-costs.c (copy_cost): Initialise the t_icode field of the
206 secondary_reload_info structure.
207
208 PR target/66655
209 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
210 decls if weak support is available.
211
212 2016-01-04 Martin Sebor <msebor@redhat.com>
213
214 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
215
216 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
217
218 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
219 OPTION_MASK_P9_DFORM.
220
221 * config/rs6000/constraints.md (wo constraint): New constraint for
222 ISA 3.0 (power9).
223
224 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
225 for wo constraint.
226 (rs6000_init_hard_regno_mode_ok): Likewise.
227
228 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
229 wo constraint.
230
231 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
232 expanders not to have constraints. Add support for ISA 3.0 xxperm
233 instruction. Add support for fusing xxlor with xxperm.
234 (altivec_vperm_<mode>_internal): Likewise.
235 (altivec_vperm_v8hiv16qi): Likewise.
236 (altivec_vperm_<mode>v16q): Likewise.
237 (altivec_vperm_<mode>_uns): Likewise.
238 (vperm_v8hiv4si): Likewise.
239 (vperm_v16qiv8hi): Likewise.
240
241 * doc/md.texi (RS/6000 constraints): Document wo constraint.
242
243 2016-01-04 Jakub Jelinek <jakub@redhat.com>
244
245 Update copyright years.
246
247 * gcc.c (process_command): Update copyright notice dates.
248 * gcov-dump.c (print_version): Ditto.
249 * gcov.c (print_version): Ditto.
250 * gcov-tool.c (print_version): Ditto.
251 * gengtype.c (create_file): Ditto.
252 * doc/cpp.texi: Bump @copying's copyright year.
253 * doc/cppinternals.texi: Ditto.
254 * doc/gcc.texi: Ditto.
255 * doc/gccint.texi: Ditto.
256 * doc/gcov.texi: Ditto.
257 * doc/install.texi: Ditto.
258 * doc/invoke.texi: Ditto.
259
260 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
261
262 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
263 modes larger than TImode as TImode if NEON is not enabled.
264
265 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
266
267 PR target/69100
268 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
269 mode for %f0-%f31 only if TARGET_FPU.
270
271 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
272
273 PR target/69072
274 * config/sparc/sparc.c (scan_record_type): Take into account subfields
275 to compute the PACKED_P predicate.
276 (function_arg_record_value): Minor tweaks.
277
278 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
279
280 * doc/install.texi (--with-multilib-list): Describe the meaning of the
281 option for arm*-*-* targets.
282
283 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
284
285 * doc/extend.texi (Common Function Attributes): Move docs for
286 MSP430-specific attributes to....
287 (MSP430 Function Attributes): ...here. Delete the redundant
288 entries and copy-edit the remaining text.
289 (MSP430 Variable Attributes): Use uniform format for index
290 entries and add a cross-reference to the corresponding function
291 attribute docs.
292
293 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
294
295 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
296 -finite-math typo.
297 (x86 Options): Likewise.
298
299 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
300
301 PR 1078
302
303 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
304 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
305 to corresponding attribute.
306
307 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
308
309 * doc/extend.texi (Common Function Attributes) <noplt>: Move
310 to correct alphabetization of table. Copy-edit and correct
311 markup.
312 <stack_protect>: Likewise.
313 <target_clones>: Likewise.
314 <simd>: Likewise.
315 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
316 Correct punctuation.
317 (Code Gen Options) <-fno-plt>: Copy-edit.
318
319 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
320
321 PR target/68917
322 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
323 SI values. Explicitly convert SI to DI and vice-versa.
324
325 2016-01-01 Jakub Jelinek <jakub@redhat.com>
326
327 PR tree-optimization/69070
328 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
329 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
330
331 PR sanitizer/69055
332 * ubsan.c (ubsan_instrument_float_cast): Call
333 initialize_sanitizer_builtins.
334
335 PR target/69015
336 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
337 \f
338 Copyright (C) 2016 Free Software Foundation, Inc.
339
340 Copying and distribution of this file, with or without modification,
341 are permitted in any medium without royalty provided the copyright
342 notice and this notice are preserved.