]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR target/55981 (std::atomic store is split in two smaller stores)
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
8abaebcd
UB
12012-01-17 Uros Bizjak <ubizjak@gmail.com>
2
3 PR target/55981
4 * config/i386/sync.md (atomic_store<mode>): Always generate SWImode
5 store through atomic_store<mode>_1.
6 (atomic_store<mode>_1): Macroize insn using SWI mode iterator.
7
8222c37e
MJ
82013-01-17 Martin Jambor <mjambor@suse.cz>
9
10 PR tree-optimizations/55264
11 * ipa-inline-transform.c (can_remove_node_now_p_1): Never return true
12 for virtual methods.
13 * ipa.c (symtab_remove_unreachable_nodes): Never return true for
14 virtual methods before inlining is over.
15 * cgraph.h (cgraph_only_called_directly_or_aliased_p): Return false for
16 virtual functions.
17 * cgraphclones.c (cgraph_create_virtual_clone): Mark clones as
18 non-virtual.
19
79f01c76
VM
202013-01-16 Vladimir Makarov <vmakarov@redhat.com>
21
22 PR rtl-optimization/56005
23 * sched-deps.c (sched_analyze_2): Check deps->readonly for adding
24 pending reads for prefetch.
25
d0b6bb1b
IB
262013-01-16 Ian Bolton <ian.bolton@arm.com>
27
28 * gcc/config/aarch64/aarch64.md
29 (*cstoresi_neg_uxtw): New pattern.
30 (*cmovsi_insn_uxtw): New pattern.
31 (*<optab>si3_uxtw): New pattern.
32 (*<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): New pattern.
33 (*<optab>si3_insn_uxtw): New pattern.
34 (*bswapsi2_uxtw): New pattern.
35
cb9cf03b
RB
362013-01-16 Richard Biener <rguenther@suse.de>
37
38 * tree-inline.c (tree_function_versioning): Remove set but
39 never used variable.
40
2cfc56b9
RB
412013-01-16 Richard Biener <rguenther@suse.de>
42
43 PR tree-optimization/55964
44 * tree-flow.h (rename_variables_in_loop): Remove.
45 (rename_variables_in_bb): Likewise.
46 * tree-loop-distribution.c (update_phis_for_loop_copy): Remove.
47 (copy_loop_before): Adjust and delete update-ssa status.
48 * tree-vect-loop-manip.c (rename_variables_in_bb): Make static.
8abaebcd 49 (rename_variables_in_bb): Likewise. Properly walk over predecessors.
2cfc56b9
RB
50 (rename_variables_in_loop): Remove.
51 (slpeel_update_phis_for_duplicate_loop): Likewise.
52 (slpeel_tree_duplicate_loop_to_edge_cfg): Handle nested loops,
53 use available cfg machinery instead of duplicating it.
54 Update PHI nodes and perform poor-mans SSA update here.
55 (slpeel_tree_peel_loop_to_edge): Adjust.
56
c25a0c60
RB
572013-01-16 Richard Biener <rguenther@suse.de>
58
59 PR tree-optimization/54767
60 PR tree-optimization/53465
61 * tree-vrp.c (vrp_meet_1): Revert original fix for PR53465.
62 (vrp_visit_phi_node): For PHI arguments coming via backedges
63 drop all symbolical range information.
64 (execute_vrp): Compute backedges.
65
04b535af
RB
662013-01-16 Richard Biener <rguenther@suse.de>
67
68 * doc/install.texi: Update CLooG and ISL requirements to
69 0.18.0 and 0.11.1.
70
8b0a1e0b
CB
712013-01-16 Christian Bruel <christian.bruel@st.com>
72
73 PR target/55301
74 * config/sh/sh.c (sh_expand_prologue): Postpone new_stack mem symbol.
75 (broken_move): Handle UNSPECV_SP_SWITCH_B.
76 * config/sh/sh.md (sp_switch_1): Use set (reg:SI SP_REG).
77
782013-01-16 DJ Delorie <dj@redhat.com>
79
80 * config/sh/sh.md (UNSPECV_SP_SWITCH_B): New.
81 (UNSPECV_SP_SWITCH_E): New.
82 (sp_switch_1): Change to an unspec.
83 (sp_switch_2): Change to an unspec. Don't use post-inc when we
84 replace $r15.
85
862013-01-16 Uros Bizjak <ubizjak@gmail.com>
88e784e6
UB
87
88 * emit-rtl.c (need_atomic_barrier_p): Mask memory model argument
89 with MEMMODEL_MASK before comparing with MEMMODEL_* memory types.
90 * optabs.c (maybe_emit_sync_lock_test_and_set): Ditto.
91 (expand_mem_thread_fence): Ditto.
92 (expand_mem_signal_fence): Ditto.
93 (expand_atomic_load): Ditto.
94 (expand_atomic_store): Ditto.
95
5147bf6a
AO
962013-01-16 Alexandre Oliva <aoliva@redhat.com>
97
98 PR rtl-optimization/55547
99 PR rtl-optimization/53827
100 PR debug/53671
101 PR debug/49888
102 * alias.c (memrefs_conflict_p): Set sizes to negative after
103 AND adjustments.
104
305e3ac1
JJ
1052013-01-15 Jakub Jelinek <jakub@redhat.com>
106
107 PR target/55940
108 * function.c (thread_prologue_and_epilogue_insns): Always
109 add crtl->drap_reg to set_up_by_prologue.set, even if
110 stack_realign_drap is false.
111
f78ac4f2
JBG
1122013-01-15 Jan-Benedict Glaw <jbglaw@lug-owl.de>
113
114 * config/vax/vax.md (add<mode>3, sub<mode>3, mul<mode>3, div<mode>3,
115 and<mode>3, *and<mode>_const_int, ior<mode>3, xor<mode>3, ashrsi3,
116 *call): Fix indention.
117
a78a8cc4
TV
1182013-01-15 Tom de Vries <tom@codesourcery.com>
119
120 PR target/55876
121 * optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
122 Update comment.
123
0e80383f
VM
1242013-01-15 Vladimir Makarov <vmakarov@redhat.com>
125
305e3ac1 126 PR rtl-optimization/55153
0e80383f
VM
127 * sched-deps.c (sched_analyze_2): Add pending reads for prefetch.
128
207b5956
MJ
1292013-01-15 Martin Jambor <mjambor@suse.cz>
130
131 PR tree-optimization/55920
132 * tree-sra.c (analyze_access_subtree): Do not mark non-removable
133 accesses as grp_to_be_debug_replaced.
134
a7818b54
JJ
1352013-01-15 Jakub Jelinek <jakub@redhat.com>
136
137 PR tree-optimization/55920
138 * tree-sra.c (sra_modify_assign): If for lacc->grp_to_be_debug_replaced
139 there is non-useless type conversion needed from debug rhs to lhs,
140 use build_debug_ref_for_model and/or VIEW_CONVERT_EXPR.
141
b0fe107e
JM
1422013-01-15 Joseph Myers <joseph@codesourcery.com>
143 Mikael Pettersson <mikpe@it.uu.se>
144
145 PR target/43961
146 * config/arm/arm.h (ADDR_VEC_ALIGN): Align SImode jump tables for
147 Thumb.
148 (ASM_OUTPUT_CASE_LABEL): Remove.
149 (ASM_OUTPUT_BEFORE_CASE_LABEL): Define to empty.
150 * final.c (shorten_branches): Update alignment of labels before
151 jump tables if CASE_VECTOR_SHORTEN_MODE.
152
34ab62ee
RB
1532013-01-15 Richard Biener <rguenther@suse.de>
154
155 PR bootstrap/55961
156 * system.h: Do not include gmp.h for building host tools.
157
783a3a05
RB
1582013-01-15 Richard Biener <rguenther@suse.de>
159
160 PR middle-end/55882
161 * emit-rtl.c (set_mem_attributes_minus_bitpos): Correctly
162 account for bitpos when computing alignment.
163
3a579e09
VY
1642013-01-15 Vladimir Yakovlev <vladimir.b.yakovlev@intel.com>
165
166 * config/i386/i386-c.c (ix86_target_macros_internal): New case.
167 (ix86_target_macros_internal): Likewise.
168
169 * config/i386/i386.c (m_CORE2I7): Removed.
170 (m_CORE_HASWELL): New macro.
171 (m_CORE_ALL): Likewise.
172 (initial_ix86_tune_features): m_CORE2I7 is replaced by m_CORE_ALL.
173 (initial_ix86_arch_features): Likewise.
174 (processor_target_table): Initializations for Core avx2.
175 (cpu_names): New names "core-avx2".
176 (ix86_option_override_internal): Changed PROCESSOR_COREI7 by
177 PROCESSOR_CORE_HASWELL.
178 (ix86_issue_rate): New case.
179 (ia32_multipass_dfa_lookahead): Likewise.
180 (ix86_sched_init_global): Likewise.
181
182 * config/i386/i386.h (TARGET_HASWELL): New macro.
183 (target_cpu_default): New TARGET_CPU_DEFAULT_haswell.
184 (processor_type): New PROCESSOR_HASWELL.
185
955f5a07
JJ
1862013-01-15 Jakub Jelinek <jakub@redhat.com>
187
ff784829
JJ
188 PR tree-optimization/55955
189 * tree-vect-loop.c (vectorizable_reduction): Give up early on
190 *SHIFT_EXPR and *ROTATE_EXPR codes.
191
955f5a07
JJ
192 PR tree-optimization/48766
193 * opts.c (common_handle_option): For -fwrapv disable -ftrapv, for
194 -ftrapv disable -fwrapv.
195
aeb8b4e9
GJL
1962013-01-14 Georg-Johann Lay <avr@gjlay.de>
197
198 PR target/55974
199 * config/avr/avr-c.c (avr_cpu_cpp_builtins): Define __FLASH
200 etc. to 1 and not to __flash.
201 Use LL suffix for __INT24_MAX__ with -mint8.
202 Use ULL suffix for __UINT24_MAX__ with -mint8.
203
1c494c6a
GJL
2042013-01-14 Georg-Johann Lay <avr@gjlay.de>
205
206 * config/avr/avr-arch.h
207 (struct base_arch_s): Use typedef avr_arch_t instead.
208 (struct arch_info_s): Use typedef avr_arch_info_t instead.
209 (struct mcu_type_s): Use typedef avr_mcu_t instead.
210 * config/avr/avr.c: Same.
211 * config/avr/avr-devices.c: Same.
212 * config/avr/driver-avr.c: Same.
213 * config/avr/gen-avr-mmcu-texi.c: Same.
214 * config/avr/avr-mcus.def: Adjust comment.
215
a50344cb
TB
2162013-01-14 Tejas Belagod <tejas.belagod@arm.com>
217
88e784e6
UB
218 * config/aarch64/aarch64-simd.md (*aarch64_simd_ld1r<mode>): New.
219 * config/aarch64/iterators.md (VALLDI): New.
a50344cb 220
e6f0e052
UB
2212012-01-14 Uros Bizjak <ubizjak@gmail.com>
222 Andi Kleen <ak@linux.intel.com>
223
224 PR target/55948
225 * config/i386/sync.md (atomic_store<mode>_1): New pattern.
226 (atomic_store<mode>): Call atomic_store<mode>_1 for IX86_HLE_RELEASE
227 memmodel flag.
228
00892272
GJL
2292013-01-14 Georg-Johann Lay <avr@gjlay.de>
230
231 * config/avr/avr-stdint.h: Remove trailing blanks.
232 * config/avr/avr-log.h: Same.
233 * config/avr/avr-arch.h: Same.
234 * config/avr/avr-devices.c: Same.
235 * config/avr/avr-dimode.md: Same.
236 * config/avr/predicates.md: Same.
237 * config/avr/avr-c.c: Same. And fix typo.
e6f0e052 238
00892272
GJL
239 * config/avr/avr-protos.h: Same. And:
240 (function_arg_regno_p): Rename to avr_function_arg_regno_p.
241 (init_cumulative_args): Rename to avr_init_cumulative_args.
242 (expand_prologue): Rename to avr_expand_prologue.
243 (expand_epilogue): Rename to avr_expand_epilogue.
244 (adjust_insn_length): Rename to avr_adjust_insn_length.
245 (notice_update_cc): Rename to avr_notice_update_cc.
246 (final_prescan_insn): Rename to avr_final_prescan_insn.
247 * config/avr/avr.c: Same.
248 * config/avr/avr.h: Same.
249 * config/avr/avr.md: Remove trailing blanks.
250 (prologue): Use avr_expand_prologue.
251 (epilogue, sibcall_epilogue): Use avr_expand_epilogue.
252
7bb01996
RB
2532013-01-14 Richard Biener <rguenther@suse.de>
254
255 * tree-cfg.c (verify_expr_location, verify_expr_location_1,
256 verify_location, collect_subblocks): New functions.
257 (verify_gimple_in_cfg): Verify that locations only reference
258 BLOCKs in the functions BLOCK tree.
259
2724573f
RB
2602013-01-14 Richard Biener <rguenther@suse.de>
261
262 * tree-cfgcleanup.c (remove_forwarder_block): Unshare propagated
263 PHI argument.
264 * graphite-sese-to-poly.c (insert_out_of_ssa_copy): Properly
265 unshare reference.
266 (insert_out_of_ssa_copy_on_edge): Likewise.
267 (rewrite_close_phi_out_of_ssa): Likewise.
268 * tree-ssa.c (insert_debug_temp_for_var_def): Properly unshare
269 debug expressions.
270 * tree-ssa-pre.c (insert_into_preds_of_block): Properly unshare
271 propagated constants.
272 * tree-cfg.c (tree_node_can_be_shared): Handled component-refs
273 can not be shared.
274
9a0bbab6
GJL
2752013-01-14 Georg-Johann Lay <avr@gjlay.de>
276
277 * config/avr/avr-modes.def: Add GPL copyright notice.
278
45805f17
UB
2792013-01-13 Uros Bizjak <ubizjak@gmail.com>
280
281 * config/i386/sync.md (mem_thread_fence): Mask operands[0] with
282 MEMMODEL_MASK to determine memory model.
283 (atomic_store<mode>): Ditto from operands[2].
284 * config/i386/i386.c (ix86_memmodel_check): Declare "strong" as bool.
285
9d60be38
JJ
2862013-01-13 Jakub Jelinek <jakub@redhat.com>
287
288 PR fortran/55935
45805f17 289 * gimple-fold.c (get_symbol_constant_value): Call unshare_expr.
9d60be38
JJ
290 (fold_gimple_assign): Don't call unshare_expr here.
291 (fold_ctor_reference): Call unshare_expr.
292
e7f49d92
TG
2932013-01-13 Terry Guo <terry.guo@arm.com>
294
295 * gcc/Makefile.in (s-mlib): New argument MULTILIB_REUSE.
296 * gcc/doc/fragments.texi: Document MULTILIB_REUSE.
297 * gcc/gcc.c (multilib_reuse): New internal spec.
298 (set_multilib_dir): Also search multilib from multilib_reuse.
299 * gcc/genmultilib (tmpmultilib3): Refactor code.
300 (tmpmultilib4): Ditto.
301 (multilib_reuse): New multilib argument.
302
fbd03a27
RS
3032013-01-13 Richard Sandiford <rdsandiford@googlemail.com>
304
305 * Makefile.in: Update copyright.
306
b3681f13
TV
3072013-01-12 Tom de Vries <tom@codesourcery.com>
308
309 PR middle-end/55890
310 * calls.c (expand_call): Check if arg_nr is valid.
311
3f287e4b
MM
3122013-01-11 Michael Meissner <meissner@linux.vnet.ibm.com>
313
314 * doc/extend.texi (X86 Built-in Functions): Add whitespace in
315 __builtin_ia32_paddb256 and __builtin_ia32_pavgb256
5bc35113
MM
316 documentation. Add missing '__' in front of
317 __builtin_ia32_packssdw256.
3f287e4b 318
1abcd5eb
AK
3192013-01-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
320
321 PR target/55719
322 * config/s390/s390.c (s390_preferred_reload_class): Do not return
323 NO_REGS for larl operands.
324 (s390_reload_larl_operand): Use s390_load_address instead of
325 emit_move_insn.
326
980d0812
RB
3272013-01-11 Richard Biener <rguenther@suse.de>
328
329 * tree-cfg.c (verify_node_sharing_1): Split out from ...
330 (verify_node_sharing): ... here.
331 (verify_gimple_in_cfg): Use verify_node_sharing_1 for walk_tree.
332
7cb9fd07
EB
3332013-01-11 Eric Botcazou <ebotcazou@adacore.com>
334
335 * configure.ac (Tree checking): Set TREECHECKING to yes if enabled.
336 Substitute TREECHECKING.
337 * configure: Regenerate.
338 * Makefile.in (TREECHECKING): New.
339
c7ab2530
RG
3402012-01-11 Richard Guenther <rguenther@suse.de>
341
342 PR tree-optimization/44061
343 * tree-vrp.c (extract_range_basic): Compute zero as
344 value-range for __builtin_constant_p of function parameters.
345
d1e082c2
RS
3462013-01-10 Richard Sandiford <rdsandiford@googlemail.com>
347
45805f17 348 Update copyright years.
d1e082c2 349
f85021b0
VM
3502013-01-10 Vladimir Makarov <vmakarov@redhat.com>
351
9d60be38 352 PR rtl-optimization/55672
0160442c
VM
353 * lra-eliminations.c (mark_not_eliminable): Permit addition with
354 const to be eliminable.
f85021b0 355
7a8b1ec4
DE
3562013-01-10 David Edelsohn <dje.gcc@gmail.com>
357
358 * configure.ac (HAVE_AS_TLS): Add check for powerpc-ibm-aix.
359 * configure: Regenerate.
360
ad2e5b71
RB
3612013-01-10 Richard Biener <rguenther@suse.de>
362
ddf9322d 363 * builtins.c (expand_builtin_init_trampoline): Use set_mem_attributes.
ad2e5b71 364
ffc5b2bb
RB
3652013-01-10 Richard Biener <rguenther@suse.de>
366
367 PR bootstrap/55792
368 * tree-into-ssa.c (rewrite_add_phi_arguments): Do not set
369 locations for virtual PHI arguments.
370 (rewrite_update_phi_arguments): Likewise.
371
e1f674e4
JS
3722013-01-10 Joel Sherrill <joel.sherrill@OARcorp.com>
373
374 * config/v850/rtems.h (ASM_SPEC): Pass -m8byte-align and -mgcc-abi
375 on to assembler.
376
a57fc743
JJ
3772013-01-10 Jakub Jelinek <jakub@redhat.com>
378
379 PR tree-optimization/55921
380 * tree-complex.c (expand_complex_asm): New function.
381 (expand_complex_operations_1): Call it for GIMPLE_ASM.
382
0ff4390d
AK
3832013-01-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
384
385 PR target/55718
386 * config/s390/s390.c (s390_symref_operand_p)
387 (s390_loadrelative_operand_p): Merge the two functions.
388 (s390_check_qrst_address, print_operand_address): Add parameters
389 to s390_loadrelative_operand_p invokation.
390 (s390_check_symref_alignment): Use s390_loadrelative_operand_p.
391 (s390_reload_larl_operand, s390_secondary_reload): Use
392 s390_loadrelative_operand_p instead of s390_symref_operand_p.
393 (legitimize_pic_address): Handle @GOTENT and @PLT + addend.
394
6f557e0e
MS
3952013-01-09 Mike Stump <mikestump@comcast.net>
396
397 * dse.c (record_store): Remove unnecessary assert.
398
7770c9e9
JH
3992013-01-09 Jan Hubicka <jh@suse.cz>
400
401 PR tree-optimization/55569
402 * cfgloopmanip.c (scale_loop_profile): Make ITERATION_BOUND gcov_type.
403 * cfgloop.h (scale_loop_profile): Likewise.
404
a19b1432
JH
4052013-01-09 Jan Hubicka <jh@suse.cz>
406
407 PR lto/45375
ddf9322d
UB
408 * ipa-inline.c (ipa_inline): Remove extern inlines and virtual
409 functions.
a19b1432
JH
410 * cgraphclones.c (cgraph_clone_node): Cpoy also LTO file data.
411
9a002da8
RS
4122013-01-09 Richard Sandiford <rdsandiford@googlemail.com>
413
414 PR middle-end/55114
415 * expr.h (maybe_emit_group_store): Declare.
416 * expr.c (maybe_emit_group_store): New function.
417 * builtins.c (expand_builtin_int_roundingfn): Call it.
418 (expand_builtin_int_roundingfn_2): Likewise.
419
511dcace
VM
4202013-01-09 Vladimir Makarov <vmakarov@redhat.com>
421
e1f2b729 422 PR rtl-optimization/55829
511dcace
VM
423 * lra-constraints.c (match_reload): Add code for absent output.
424 (curr_insn_transform): Add code for reloads of matched inputs
425 without output.
426
7b0fe4f4
UB
4272013-01-09 Uros Bizjak <ubizjak@gmail.com>
428
429 * config/i386/sse.md (*vec_interleave_highv2df): Change mode
430 attribute of movddup insn to DF.
431 (*vec_interleave_lowv2df): Ditto.
432 (vec_dupv2df): Ditto.
433
870ca331
JH
4342013-01-09 Jan Hubicka <jh@suse.cz>
435
436 PR tree-optimiation/55875
437 * tree-ssa-loop-niter.c (number_of_iterations_cond): Add
438 EVERY_ITERATION parameter.
7b0fe4f4 439 (number_of_iterations_exit): Check if exit is executed every iteration.
870ca331
JH
440 (idx_infer_loop_bounds): Similarly here.
441 (n_of_executions_at_most): Simplify
442 to only test for cases where statement is dominated by the
7b0fe4f4 443 particular bound; handle correctly the "postdominance" test.
870ca331
JH
444 (scev_probably_wraps_p): Use max loop iterations info
445 as a global bound first.
446
6f575fe4 4472013-01-09 Nguyen Duy Dat <dat.nguyen.yn@rvc.renesas.com>
3cd232b5
NDD
448 Nick Clifton <nickc@redhat.com>
449
450 * config/v850/v850.md (cbranchsf4): New pattern.
451 (cstoresf4): New pattern.
452 (cbranchdf4): New pattern.
453 (cstoredf4): New pattern.
454 (movsicc): Disallow floating point comparisons.
455 (cmpsf_le_insn): Fix order of operators.
456 (cmpsf_lt_insn): Likewise.
457 (cmpsf_eq_insn): Likewise.
458 (cmpdf_le_insn): Likewise.
459 (cmpdf_lt_insn): Likewise.
460 (cmpdf_eq_insn): Likewise.
461 (cmpsf_ge_insn): Use LE comparison.
462 (cmpdf_ge_insn): Likewise.
463 (cmpsf_gt_insn): Use LT comparison.
464 (cmpdf_gt_insn): Likewise.
465 (cmpsf_ne_insn): Delete pattern.
466 (cmpdf_ne_insn): Delete pattern.
467 * config/v850/v850.c (v850_gen_float_compare): Use
468 gen_cmpdf_eq_insn for NE comparison.
469 (v850_float_z_comparison_operator)
470 (v850_float_nz_comparison_operator): Move from here ...
471 * config/v850/predicates.md: ... to here. Move GT and GE
472 comparisons into v850_float_z_comparison_operator.
473 * config/v850/v850-protos.h (v850_float_z_comparison_operator):
474 Delete prototype.
475 (v850_float_nz_comparison_operator): Likewise.
476
f0d54148
JDA
4772013-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
478
479 * config/pa/pa.c (pa_emit_move_sequence): Replace calls to gen_insv
480 with calls to gen_insvsi/gen_insvdi.
481
8f01beca
VK
4822013-01-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
483
484 * config/i386/i386.c (initial_ix86_tune_features): Set up
485 X86_TUNE_AVX128_OPTIMAL for m_BTVER2.
486
2aa579ad
JJ
4872013-01-09 Steven Bosscher <steven@gcc.gnu.org>
488 Jakub Jelinek <jakub@redhat.com>
489
490 PR tree-optimization/48189
491 * predict.c (predict_loops): If max is 0, don't call compare_tree_int.
492 If nitercst is 0, don't predict the exit edge.
493
01a3a324
N
4942013-01-08 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
495
496 * config/aarch64/aarch64.c (aarch64_print_operand): Replace %r
497 in asm_fprintf with reg_names.
498 (aarch64_print_operand_address): Likewise.
499 (aarch64_return_addr): Likewise.
500 * config/aarch64/aarch64.h (ASM_FPRINTF_EXTENSIONS): Remove.
501
f6f94d94
JDA
5022013-01-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
503
504 * config/pa/pa.h (VAL_U6_BITS_P): Define.
505 (INT_U6_BITS): Likewise.
506 * config/pa/predicates.md (uint6_operand): New predicate.
507 (shift5_operand, shift6_operand): Likewise.
508 * config/pa/pa.md (lshrsi3, rotrsi3): Use shift5_operand instead of
509 arith32_operand.
510 (lshrdi3): Use shift6_operand.
511 (shrpsi4, shrpdi4): New insn patterns.
512 (extzv): Delete expander.
513 (extzvsi, extzvdi): New expanders. Use uint5_operand and uint6_operand
514 predicates in unamed zero extract patterns. Tighten common constraint.
515 (extv): Delete expander.
516 (extvsi, extvdi): New expanders. Use uint5_operand and uint6_operand
517 predicates in unamed sign extract patterns. Tighten common constraint.
518 (insv): Delete expander.
519 (insvsi, insvdi): New expanders. Use uint5_operand and uint6_operand
520 predicates in unamed insert patterns. Tighten common constraint.
521 Change uint32_operand predicate to uint6_operand predicate in unamed
522 DImode pattern to insert constant values of type 1...1xxxx.
523
36b72910
JH
5242013-01-04 Jan Hubicka <jh@suse.cz>
525
526 PR tree-optimization/55823
7b0fe4f4
UB
527 * ipa-prop.c (update_indirect_edges_after_inlining): Fix ordering
528 issue.
36b72910 529
c6d851b9
JJ
5302012-01-08 Jakub Jelinek <jakub@redhat.com>
531 Uros Bizjak <ubizjak@gmail.com>
532
533 PR rtl-optimization/55845
534 * df-problems.c (can_move_insns_across): Stop scanning at
535 volatile_insn_p source instruction or give up if
536 across_from .. across_to range contains any volatile_insn_p
537 instructions.
538
4369c11e
TB
5392013-01-08 Tejas Belagod <tejas.belagod@arm.com>
540
7b0fe4f4
UB
541 * config/aarch64/aarch64-simd.md (vec_init<mode>): New.
542 * config/aarch64/aarch64-protos.h (aarch64_expand_vector_init):
543 Declare.
4369c11e 544 * config/aarch64/aarch64.c (aarch64_simd_dup_constant,
7b0fe4f4 545 aarch64_simd_make_constant, aarch64_expand_vector_init): New.
4369c11e 546
aeb7e7c1
JJ
5472013-01-08 Jakub Jelinek <jakub@redhat.com>
548
549 PR fortran/55341
550 * asan.c (asan_clear_shadow): New function.
551 (asan_emit_stack_protection): Use it.
552
a02ad1aa
TB
5532013-01-08 Tejas Belagod <tejas.belagod@arm.com>
554
555 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_<su>mult_lo_<mode>,
556 aarch64_simd_vec_<su>mult_hi_<mode>): Separate instruction and operand
557 with tab instead of space.
558
f90d87f5
NC
5592013-01-08 Nick Clifton <nickc@redhat.com>
560
561 * config/rl78/rl78.c (rl78_expand_prologue): Always select
562 register bank 0 at the start of an interrupt handler.
83ffd964
NC
563 * config/rl78/rl78.md (mulsi3_g13): Correct values for MDBL and
564 MDBH registers.
f90d87f5 565
385eb93d
JG
5662013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
567
568 * config/aarch64/aarch64-simd.md
569 (aarch64_simd_bsl<mode>_internal): Add floating-point modes.
570 (aarch64_simd_bsl): Likewise.
571 (aarch64_vcond_internal<mode>): Likewise.
572 (vcond<mode><mode>): Likewise.
573 (aarch64_cm<cmp><mode>): Fix constraints, add new modes.
574 * config/aarch64/iterators.md (V_cmp_result): Add V2DF.
575
4dcd1054
JG
5762013-01-08 James Greenhalgh <james.greenhalgh@arm.com>
577
578 * config/aarch64/aarch64-builtins.c
579 (aarch64_builtin_vectorized_function): Handle sqrt, sqrtf.
580
4267a4a6
MJ
5812013-01-08 Martin Jambor <mjambor@suse.cz>
582
583 PR debug/55579
584 * tree-sra.c (analyze_access_subtree): Return true also after
585 potentially creating a debug-only replacement.
586
5f4e6de3
JJ
5872013-01-08 Jakub Jelinek <jakub@redhat.com>
588
3138f224
JJ
589 PR middle-end/55890
590 * tree-ssa-ccp.c (evaluate_stmt): Use gimple_call_builtin_p.
591
5f4e6de3
JJ
592 PR tree-optimization/54120
593 * tree-vrp.c (range_fits_type_p): Don't allow
594 src_precision < precision from signed vr to unsigned_p
595 if vr->min or vr->max is negative.
596 (simplify_float_conversion_using_ranges): Test can_float_p
597 against CODE_FOR_nothing.
598
f3ef18ff
JJ
5992013-01-08 Jakub Jelinek <jakub@redhat.com>
600 Richard Biener <rguenther@suse.de>
601
602 PR middle-end/55851
603 * fold-const.c (int_binop_types_match_p): Allow all INTEGRAL_TYPE_P
604 types instead of just INTEGER_TYPE types.
605
25c210f9
MK
6062013-01-07 Mark Kettenis <kettenis@openbsd.org>
607
608 * config/i386/openbsdelf.h (LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT,
609 TF_SIZE): Define.
f90d87f5 610
81826a7b
SE
6112013-01-07 Steve Ellcey <sellcey@mips.com>
612
613 PR target/42661
614 * config/mips/mips.opt: Change mad to mmad to match documentation.
615
35678514
GJL
6162013-01-07 Georg-Johann Lay <avr@gjlay.de>
617
618 PR target/55897
619 * doc/extend.texi (AVR Named Address Spaces): __memx goes into
620 .progmemx.data now.
621
e5669488
GJL
6222013-01-07 Georg-Johann Lay <avr@gjlay.de>
623
624 PR target/55897
625 * config/avr/avr.h (ADDR_SPACE_COUNT): New enum.
626 (avr_addrspace_t): Add .section_name field.
627 * config/avr/avr.c (progmem_section): Use ADDR_SPACE_COUNT as
628 array size.
629 (avr_addrspace): Same. Initialize .section_name. Remove last
630 NULL entry. Put __memx into .progmemx.data.
631 (progmem_section_prefix): Remove.
632 (avr_asm_init_sections): No need to initialize progmem_section.
633 (avr_asm_named_section): Use avr_addrspace[].section_name to get
634 section name prefix.
635 (avr_asm_select_section): Ditto. And use get_unnamed_section to
636 retrieve the progmem section.
637 * avr-c.c (avr_cpu_cpp_builtins): Use ADDR_SPACE_COUNT as loop
638 boundary to run over avr_addrspace[].
639 (avr_register_target_pragmas): Ditto.
640
656e6f37
JJ
6412013-01-06 Jakub Jelinek <jakub@redhat.com>
642
643 * varasm.c (output_constant_def_contents): For asan_protect_global
644 protected strings, adjust DECL_ALIGN if needed, before testing for
645 anchored symbols.
646 (place_block_symbol): Adjust size for asan protected STRING_CSTs if
647 TREE_CONSTANT_POOL_ADDRESS_P. Increase alignment for asan protected
648 normal decls.
649 (output_object_block): For asan protected decls, emit asan padding
650 after their contents.
651 * asan.c (asan_protect_global): Don't check TREE_ASM_WRITTEN here.
652 (asan_finish_file): Test it here instead.
653
b352afba
NC
6542013-01-07 Nick Clifton <nickc@redhat.com>
655 Matthias Klose <doko@debian.org>
656 Doug Kwan <dougkwan@google.com>
657 H.J. Lu <hongjiu.lu@intel.com>
658
659 PR driver/55470
660 * collect2.c (main): Support -fuse-ld=bfd and -fuse-ld=gold.
661
662 * common.opt: Add fuse-ld=bfd and fuse-ld=gold.
663
664 * gcc.c (LINK_COMMAND_SPEC): Pass -fuse-ld=* to collect2.
665
7b0fe4f4 666 * opts.c (comman_handle_option): Ignore -fuse-ld=bfd and -fuse-ld=gold.
b352afba
NC
667
668 * doc/invoke.texi: Document -fuse-ld=bfd and -fuse-ld=gold.
669
2a095093
GJL
6702013-01-07 Georg-Johann Lay <avr@gjlay.de>
671
f3b503f4 672 PR target/54461
2a095093
GJL
673 * doc/install.texi (Cross-Compiler-Specific Options): Document
674 --with-avrlibc.
675
383f9b34
TB
6762013-01-07 Tejas Belagod <tejas.belagod@arm.com>
677
678 * config/aarch64/arm_neon.h (vmovn_high_is16, vmovn_high_s32,
679 vmovn_high_s64, vmovn_high_u16, vmovn_high_u32, vmovn_high_u64,
680 vqmovn_high_s16, vqmovn_high_s32, vqmovn_high_s64, vqmovn_high_u16,
681 vqmovn_high_u32, vqmovn_high_u64, vqmovun_high_s16, vqmovun_high_s32,
682 vqmovun_high_s64): Fix source operand number and update copyright.
683
3626621a
RB
6842013-01-07 Richard Biener <rguenther@suse.de>
685
686 PR middle-end/55890
687 * gimple.h (gimple_call_builtin_p): New overload.
688 * gimple.c (validate_call): New function.
689 (gimple_call_builtin_p): Likewise.
690 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
691 Use gimple_call_builtin_p.
692 (find_func_clobbers): Likewise.
693 * tree-ssa-strlen.c (adjust_last_stmt): Likewise.
694 (strlen_optimize_stmt): Likewise.
695
8b2ea410
JG
6962013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
697
698 * config/aarch64/arm_neon.h (vld1_dup_*): Make argument const.
699 (vld1q_dup_*): Likewise.
700 (vld1_*): Likewise.
701 (vld1q_*): Likewise.
702 (vld1_lane_*): Likewise.
703 (vld1q_lane_*): Likewise.
704
9713d329
RB
7052013-01-07 Richard Biener <rguenther@suse.de>
706
707 * lto-streamer.h (LTO_minor_version): Bump to 2.
708
3520f7cc
JG
7092013-01-07 James Greenhalgh <james.greenhalgh@arm.com>
710
711 * config/aarch64/aarch64-protos.h
712 (aarch64_const_double_zero_rtx_p): Rename to...
713 (aarch64_float_const_zero_rtx_p): ...this.
714 (aarch64_float_const_representable_p): New.
715 (aarch64_output_simd_mov_immediate): Likewise.
716 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): Refactor
717 move immediate case.
718 * config/aarch64/aarch64.c
719 (aarch64_const_double_zero_rtx_p): Rename to...
720 (aarch64_float_const_zero_rtx_p): ...this.
721 (aarch64_print_operand): Allow printing of new constants.
722 (aarch64_valid_floating_const): New.
723 (aarch64_legitimate_constant_p): Check for valid floating-point
724 constants.
725 (aarch64_simd_valid_immediate): Likewise.
726 (aarch64_vect_float_const_representable_p): New.
727 (aarch64_float_const_representable_p): Likewise.
728 (aarch64_simd_imm_zero_p): Also allow for floating-point 0.0.
729 (aarch64_output_simd_mov_immediate): New.
730 * config/aarch64/aarch64.md (*movsf_aarch64): Add new alternative.
731 (*movdf_aarch64): Likewise.
732 * config/aarch64/constraints.md (Ufc): New.
733 (Y): call aarch64_float_const_zero_rtx.
734 * config/aarch64/predicates.md (aarch64_fp_compare_operand): New.
735
e167c04d
RB
7362013-01-07 Richard Biener <rguenther@suse.de>
737
738 PR tree-optimization/55888
739 PR tree-optimization/55862
740 * tree-ssa-pre.c (phi_translate_1): Revert previous change.
741 (valid_in_sets): Check if a NAME has a leader in AVAIL_OUT,
742 not if it is contained therein.
743
0139aaab
GJL
7442013-01-07 Georg-Johann Lay <avr@gjlay.de>
745
746 * config/avr/t-avr: Typo.
747
4a176b23
GJL
7482013-01-07 Georg-Johann Lay <avr@gjlay.de>
749
750 PR55243
751 * config/avr/t-avr: Don't automatically rebuild
752 $(srcdir)/config/avr/t-multilib
753 $(srcdir)/config/avr/avr-tables.opt
754 $(srcdir)/doc/avr-mmcu.texi
755 (avr-mcus): New phony target to build them on request.
756 (s-avr-mlib, s-avr-mmcu-texi): Remove.
757 * avr/avr-mcus.def: Adjust comments.
758
c7afdc98
UB
7592013-01-07 Uros Bizjak <ubizjak@gmail.com>
760
761 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Remove.
762
1ab05c31
RS
7632013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
764
765 * file-find.c, file-find.h, realmpfr.c: Add FSF as copyright holder.
766
488e3acc
RS
7672013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
768
769 * config/tilepro/gen-mul-tables.cc: Put copyright on one line.
770
a89599d2
DE
7712013-01-05 David Edelsohn <dje.gcc@gmail.com>
772
773 * config/rs6000/aix53.h (LIB_SPEC): Add -lpthreads when compiling
774 to generate profiling.
775 * config/rs6000/aix64.h (LIB_SPEC): Same.
776
70f09188
AP
7772013-01-04 Andrew Pinski <apinski@cavium.com>
778
779 * config/aarch64/aarch64.c (aarch64_fixed_condition_code_regs):
780 New function.
781 (TARGET_FIXED_CONDITION_CODE_REGS): Define.
782
918d445f
UB
7832013-01-04 Uros Bizjak <ubizjak@gmail.com>
784
785 * config/i386/i386.c (ix86_legitimize_address): Call convert_to_mode
786 unconditionally.
787 (ix86_expand_move): Ditto.
788 (ix86_zero_extend_to_Pmode): Ditto.
789 (ix86_expand_call): Ditto.
790 (ix86_expand_special_args_builtin): Ditto.
791 (ix86_expand_builtin): Ditto.
792
361618ec
RB
7932013-01-04 Richard Biener <rguenther@suse.de>
794
795 PR tree-optimization/55862
796 * tree-ssa-pre.c (phi_translate_1): Valueize SSA names after
797 translating them through PHI nodes.
798
87eab554
MJ
7992013-01-04 Martin Jambor <mjambor@suse.cz>
800
801 PR tree-optimization/55755
802 * tree-sra.c (sra_modify_assign): Do not check that an access has no
803 children when trying to avoid producing a VIEW_CONVERT_EXPR.
804
33879b9f
MP
8052013-01-04 Marek Polacek <polacek@redhat.com>
806
807 PR middle-end/55859
808 * opts.c (default_options_optimization): Clarify error message.
809
3068819a
RB
8102013-01-04 Richard Biener <rguenther@suse.de>
811
812 PR middle-end/55863
813 * fold-const.c (split_tree): Undo -X - 1 to ~X folding for
814 reassociation.
815
0e4ae794
JDA
8162013-01-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
817
818 PR target/53789
819 * config/pa/pa.md (movsi): Revert previous change.
e58d2e48
JDA
820 * config/pa/pa.c (pa_legitimate_constant_p): Reject all TLS symbol
821 references.
0e4ae794 822
65c88cef
RH
8232013-01-03 Richard Henderson <rth@redhat.com>
824
825 * config/i386/i386.c (ix86_expand_move): Always assign to op1
826 after eliminating TLS symbols.
827
8ac16127
MG
8282013-01-03 Marc Glisse <marc.glisse@inria.fr>
829
830 PR bootstrap/50167
831 * graphite-interchange.c (pdr_stride_in_loop): Use gmp_fprintf.
832 * graphite-poly.c (debug_gmp_value): Likewise.
833
bb664f09
UB
8342013-01-03 Uros Bizjak <ubizjak@gmail.com>
835
836 PR target/55712
837 * config/i386/i386-c.c (ix86_target_macros_internal): Depending on
838 selected code model, define __code_mode_small__, __code_model_medium__,
839 __code_model_large__, __code_model_32__ or __code_model_kernel__.
840 * config/i386/cpuid.h (__cpuid, __cpuid_count) [__i386__]: Prefix
841 xchg temporary register with %k. Declare temporary register as
842 early clobbered.
843 [__x86_64__]: For medium and large code models, preserve %rbx register.
844
bcf1ef00
RB
8452013-01-03 Richard Biener <rguenther@suse.de>
846
0506634a 847 * tree-data-ref.c (dump_conflict_function): Use less vertical spacing.
bcf1ef00
RB
848 (dump_subscript): Adjust.
849 (finalize_ddr_dependent): Do not dump redundant info.
850 (analyze_siv_subscript): Adjust.
851 (subscript_dependence_tester): Likewise.
852 (compute_affine_dependence): Likewise.
853
59fd17e3
RB
8542013-01-03 Richard Biener <rguenther@suse.de>
855
856 Revert
857 2013-01-03 Richard Biener <rguenther@suse.de>
858
859 PR tree-optimization/55857
860 * tree-vect-stmts.c (vectorizable_load): Do not setup
861 re-alignment for invariant loads.
862
863 2013-01-02 Richard Biener <rguenther@suse.de>
864
865 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 866 invariant load do not generate a vector load from the scalar location.
59fd17e3 867
595c2679
RB
8682013-01-03 Richard Biener <rguenther@suse.de>
869
870 * tree-vect-loop.c (vect_analyze_loop_form): Clarify reason
871 for not vectorizing.
872 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Do
873 not build INDIRECT_REFs, call get_name once only.
874 (vect_create_data_ref_ptr): Likewise. Dump base object kind
875 based on DR_BASE_OBJECT, not DR_BASE_ADDRESS.
876
90bb7d7a
RB
8772013-01-03 Richard Biener <rguenther@suse.de>
878
879 PR tree-optimization/55857
880 * tree-vect-stmts.c (vectorizable_load): Do not setup
881 re-alignment for invariant loads.
882
f09b77ca
RB
8832013-01-03 Richard Biener <rguenther@suse.de>
884
885 PR lto/55848
886 * lto-symtab.c (lto_symtab_merge_decls_1): As last resort, always
887 prefer a built-in decl.
888
3461a16e
JJ
8892013-01-03 Jakub Jelinek <jakub@redhat.com>
890
df8e2b4f
JJ
891 * gcc.c (process_command): Update copyright notice dates.
892 * gcov.c (print_version): Likewise.
893 * gcov-dump.c (print_version): Likewise.
894
3461a16e
JJ
895 PR rtl-optimization/55838
896 * loop-iv.c (iv_number_of_iterations): Call lowpart_subreg on
897 iv0.step, iv1.step and step.
898
8b5546d6
JJ
8992013-01-03 Jakub Jelinek <jakub@redhat.com>
900 Marc Glisse <marc.glisse@inria.fr>
901
902 PR tree-optimization/55832
903 * fold-const.c (fold_binary_loc): For ABS_EXPR<x> >= 0 and
904 ABS_EXPR<x> < 0 folding use constant_boolean_node instead of
905 integer_{one,zero}_node.
906
8ab1d2e9
JJ
9072013-01-03 Jakub Jelinek <jakub@redhat.com>
908
909 PR debug/54402
910 * params.def (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE): New param.
911 * var-tracking.c (reverse_op): Don't add reverse ops to
912 VALUEs that have already
0506634a 913 PARAM_VALUE (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE) or longer locs list.
8ab1d2e9 914
5b9ad1d4
GP
9152013-01-02 Gerald Pfeifer <gerald@pfeifer.com>
916
917 * doc/contrib.texi: Note years as release manager for Mark Mitchell.
918
e25a6711
TJ
9192013-01-02 Teresa Johnson <tejohnson@google.com>
920
921 * dumpfile.c (dump_loc): Print filename with location.
922 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Use
923 new location_t parameter to emit complete unroll message with
924 new dump framework.
925 (canonicalize_loop_induction_variables): Compute loops location
926 and pass to try_unroll_loop_completely.
927 * loop-unroll.c (report_unroll_peel): New function.
928 (peel_loops_completely): Use new dump format with location
929 for main dumpfile message, and invoke report_unroll_peel on success.
930 (decide_unrolling_and_peeling): Ditto.
931 (decide_peel_once_rolling): Remove old dumpfile message subsumed
932 by report_unroll_peel.
933 (decide_peel_completely): Ditto.
934 (decide_unroll_constant_iterations): Ditto.
935 (decide_unroll_runtime_iterations): Ditto.
936 (decide_peel_simple): Ditto.
937 (decide_unroll_stupid): Ditto.
938 * cfgloop.c (get_loop_location): New function.
939 * cfgloop.h (get_loop_location): Declare.
940
77878621
ST
9412013-01-02 Sriraman Tallam <tmsriram@google.com>
942
943 * config/i386/i386.c (fold_builtin_cpu): Remove unnecessary checks for
944 NULL.
945
9e65d03e
JDA
9462013-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
947
948 PR middle-end/55198
949 * expr.c (expand_expr_real_1): Don't use bitfield extraction for non
950 BLKmode objects when EXPAND_MEMORY is specified.
951
6a7da30f
ST
9522013-01-02 Sriraman Tallam <tmsriram@google.com>
953
954 * config/i386/i386.c (ix86_get_function_versions_dispatcher): Fix bug
955 in loop predicate.
956 (fold_builtin_cpu): Do not share cpu model decls across statements.
957
e78167f2
JM
9582013-01-02 Jason Merrill <jason@redhat.com>
959
960 PR c++/55804
961 * tree.c (build_array_type_1): Revert earlier change.
962
8c075fb4
YZ
9632013-01-02 Yufeng Zhang <yufeng.zhang@arm.com>
964
965 * config/aarch64/aarch64-cores.def: Add entries for "cortex-a53" and
966 "cortex-a57".
967 * config/aarch64/aarch64-tune.md: Re-generate.
968
0682ed3e
RB
9692013-01-02 Richard Biener <rguenther@suse.de>
970
971 * tree-vect-stmts.c (vectorizable_load): When vectorizing an
0506634a 972 invariant load do not generate a vector load from the scalar location.
0682ed3e 973
b8f6a302
RB
9742013-01-02 Richard Biener <rguenther@suse.de>
975
976 PR bootstrap/55784
977 * configure.ac: Add $GMPINC to CFLAGS/CXXFLAGS.
978 * configure: Regenerate.
979
04b80dbb
RS
9802013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
981
982 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2)
983 (expand_builtin_mathfn_ternary, expand_builtin_mathfn_3)
984 (expand_builtin_int_roundingfn_2): Keep the original target around
985 for the fallback case.
986
635b0b0c
RS
9872013-01-02 Richard Sandiford <rdsandiford@googlemail.com>
988
989 * tree-vrp.c (range_fits_type_p): Require the MSB of the double_int
990 to be clear for sign changes.
991
42d57399
JH
9922013-01-01 Jan Hubicka <jh@suse.cz>
993
994 * ipa-inline-analysis.c: Fix formatting.
995
5bb6669d
JJ
9962013-01-01 Jakub Jelinek <jakub@redhat.com>
997
998 PR tree-optimization/55831
999 * tree-vect-loop.c (get_initial_def_for_induction): Use
1000 gsi_after_labels instead of gsi_start_bb.
ad41bd84 1001\f
86a2db33 1002Copyright (C) 2013 Free Software Foundation, Inc.
ad41bd84
JM
1003
1004Copying and distribution of this file, with or without modification,
1005are permitted in any medium without royalty provided the copyright
1006notice and this notice are preserved.