]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
2005-12-16 Jon Grimm <jgrimm2@us.ibm.com>
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
c4503c0a 12005-12-16 Jon Grimm <jgrimm2@us.ibm.com>
2 Janis Johnson <janis187@us.ibm.com>
3 Ben Elliston <bje@au.ibm.com>
4
5 * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): New.
6 (TARGET_INITIALIZER): Add TARGET_DECIMAL_FLOAT_P.
7 * target.h (struct gcc_target): Add decimal_float_supported_p.
8 * targhooks.c (default_scalar_mode_supported_p): Handle
9 MODE_DECIMAL_FLOAT.
10 * builtins.def: Add new builtins for 32, 64 and 128 bit variants
11 of inf, nan, finite, isinf and isnan.
12 * builtin-types.def (BT_DFLOAT32, BT_DFLOAT64, BT_DFLOAT128,
13 BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR,
14 BT_FN_DFLOAT32, BT_FN_DFLOAT64, BT_FN_DFLOAT128,
15 BT_FN_INT_DFLOAT32, BT_FN_INT_DFLOAT64, BT_FN_INT_DFLOAT128,
16 BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT64_CONST_STRING,
17 BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT32_DFLOAT32,
18 BT_FN_DFLOAT64_DFLOAT64, BT_FN_DFLOAT128_DFLOAT128): New.
19 * c-decl.c (declspecs_add_type): Verify combos on type qualifiers.
20 Pedwarn if decimal floating point types are used. Error if
21 decimal floating point is not supported by the target.
22 (finish_declspecs): Return type from DFP typespec_word.
23 * c-typeck.c (c_common_type): Choose the decimal floating point
24 type with the greater precision when determining a common type.
25 (convert_arguments): Warn if there is a mismatch between argument
26 and prototype for decimal float types. Warn of conversions with
27 binary float types and of precision narrowing due to prototype.
28 * c-parser.c (reswords): Add _Decimal32, _Decimal64, _Decimal128.
29 (c_token_starts_typename): Handle RID_DFLOAT32/64/128.
30 (c_token_starts_declspecs): Likewise.
31 (c_parser_attributes): Likewise.
32 * c-common.h (enum rid): Add new enumeration values RID_DFLOAT32,
33 RID_DFLOAT64, RID_DFLOAT128.
34 (T_D32, TEX_D32, T_D64, TEX_D64, T_D128, TEX_D128): New macros.
35 * c-common.c (c_common_type_for_mode): Handle decimal float modes.
36 (shorten_compare): Convert DFP/BFP operands to a common type.
37 (c_common_modes_and_builtins): Register built-in decimal float
38 types if the target supports them.
39 (handle_mode_addtribute): Handle MODE_DECIMAL_FLOAT.
40 * builtins.c (fold_builtin_1): Handle 32, 64 and 128 bit cases of
41 inf, nan, finite, isinf and isnan builtins.
42 * c-cppbuiltin.c (builtin_define_decimal_float_constants): New.
43 (builtin_define_float_constants): Assert non-decimal radix.
44 (c_cpp_builtins): Register built-in __DEC_EVAL_METHOD__ define.
45 Call builtin_define_decimal_float_constants for each type.
46 * c-lex.c (interpret_float): Decode decimal float types from CPP_N
47 flags. Use real_from_string3, which can handle binary or decimal
48 floats.
49 * c-tree.h (enum c_typespec_keyword): Add cts_dfloat32,
50 cts_dfloat64, cts_dfloat128.
51 * tree.c (build_common_tree_nodes_2): Add decimal float types.
52 * tree.h (enum tree_index): Add new enumeration values
53 TI_DFLOAT32_TYPE, TI_DFLOAT64_TYPE, TI_DFLOAT128_TYPE,
54 TI_DFLOAT32_PTR_TYPE, TI_DFLOAT64_PTR_TYPE, TI_DFLOAT128_PTR_TYPE.
55 (dfloat32_type_node): New macro.
56 (dfloat64_type_node, dfloat128_type_node): Likewise.
57 (dfloat32_ptr_type_node, dfloat64_ptr_type_node): Likewise.
58 (dfloat128_ptr_type_node): Likewise.
59 * c-pretty-print.c (pp_c_floating_constant): Append 32, 64 and 128
60 bit decimal floating point types with "df", "dd" and "dl".
61 * c-format.h (enum format_lengths): Add new enumeration values
62 FMT_LEN_H, FMT_LEN_D and FMT_LEN_DD.
63 * c-format.c (printf_length_specs, scanf_length_specs): Add
64 entries for H, D, DD.
65 (print_char_table, scan_char_table): Use new entries.
66 (asm_fprintf_char_table, gcc_diag_char_table,
67 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Adjust for longer
68 length arrays.
69 * defaults.h (DECIMAL32_TYPE_SIZE): Define.
70 (DECIMAL64_TYPE_SIZE): Likewise.
71 (DECIMAL128_TYPE_SIZE): Likewise.
72 (TARGET_DEC_EVAL_METHOD): Likewise.
73 * doc/extend.texi (Decimal Float): New node.
74 (Constructing Calls): Document decimal float built-ins.
75 * doc/tm.texi: Document TARGET_DECIMAL_FLOAT_SUPPORTED_P hook.
76 * Makefile.in (USER_H): Add $(srcdir)/ginclude/decfloat.h.
77 * ginclude/decfloat.h: New file.
78
caebd015 792005-12-16 Alan Modra <amodra@bigpond.net.au>
80
81 * reload.c (find_reloads): Fix comment typo.
82 * recog.h (recog_memoized): Correct comment.
83
191ec5a2 842005-12-16 Kazu Hirata <kazu@codesourcery.com>
85
86 * basic-block.h, config/i386/winnt.c, config/pa/pa.c,
87 config/s390/s390.c, dfp.c, expr.c, fold-const.c, params.def,
88 reload.c, struct-equiv.c, tree-ssa-ccp.c, tree-ssa-pre.c,
89 tree-ssa-reassoc.c, tree-ssa-structalias.c: Fix comment typos.
90 * doc/invoke.texi, doc/tm.texi: Fix typos.
91
c676730a 922005-12-16 Ben Elliston <bje@au.ibm.com>
93
94 * real.c (decimal_quad_format): Correct values for emin, emax.
95
c47b8642 962005-12-15 DJ Delorie <dj@redhat.com>
97
98 * config/m32c/predicates.md (m32c_psi_scale): New.
99 * config/m32c/m32c.c (m32c_expand_neg_mulpsi3): New.
100 * config/m32c/muldiv.md (mulpsi3): Support negative constants.
101
16c6b1e7 1022005-12-16 Jan Hubicka <jh@suse.cz>
103
104 PR rtl-optimization/25224
105 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
106 tables.
107
c2aa3ceb 1082005-12-15 Zdenek Dvorak <dvorakz@suse.cz>
109 Steven Bosscher <stevenb@suse.de>
110
111 * loop-invariant.c (df): New global variable.
112 (find_defs, check_dependencies, find_invariant_insn, record_uses,
113 find_invariants_bb, find_invariants_body, find_invariants,
114 find_invariants_to_move, move_invariants, free_inv_motion_data,
115 move_single_loop_invariants, move_loop_invariants): Do not pass df in
116 arguments.
117
3ec5e42b 1182005-12-15 Jakub Jelinek <jakub@redhat.com>
119
120 * varasm.c (default_unique_section_1): Use special section
121 names for SECCAT_DATA_REL{,_RO}{,_LOCAL}.
122
644bf179 1232005-12-16 Ben Elliston <bje@au.ibm.com>
124
125 * doc/invoke.texi (Warning Options): Document -Walways-true being
126 enabled by -Wall.
127
3212edfa 1282005-12-15 Joseph S. Myers <joseph@codesourcery.com>
129
130 PR other/25028
131 * libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define.
132 * libgcc2.c (__floatdixf, __floatundixf, __floatditf,
133 __floatunditf): Use #error if type sizes don't match requirements
134 of implementation.
135 (__floatdisf, __floatdidf): Unify. Possibly use XFmode or TFmode
136 as wider floating-point type. Use #error if type sizes don't
137 match requirements of implementation. Avoid overflow in computing
138 Wtype_MAXp1_F * Wtype_MAXp1_F. When special casing conversion,
139 shift one more bit. Cast 1 to DWtype or UDWtype for shifting.
140 (__floatundisf, __floatundidf): Likewise.
141 * config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define.
142 * config/ia64/ia64.c (ia64_init_libfuncs): Use
143 _U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for
144 TFmode-TImode conversions.
145 * doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document.
146
d98001e9 1472005-12-14 Craig Rodrigues <rodrigc@gcc.gnu.org>
148
149 * freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS):
150 Use builtin_define_with_int_value() instead of
151 adding a new check for every new major FreeBSD version.
152
8178b607 1532005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
154
155 * config/t-darwin (darwin-c.o): Depend on $(TREE_H) instead of tree.h.
156
a3c63a9d 1572005-12-15 Richard Sandiford <richard@codesourcery.com>
158
159 * config/arm/predicates.md (call_memory_operand): New.
160 * config/arm/arm.md (*call_mem, *call_value_mem): Use it.
161
8c1761de 1622005-12-15 Andrew Haley <aph@redhat.com>
163
164 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Guard
165 against prev_cache_entry == NULL when moving a cache entry to the
166 head of the list.
167
5674bc5f 1682005-12-15 Nathan Sidwell <nathan@codesourcery.com>
169
170 * config/mt/mt.c (mt_override_options): Require lower case
171 architectures. Revert accidental default to ms2.
172 * config/mt/mt.h (ASM_SPEC, LIBSPEC, STARTFILE_SPEC,
173 ENDFILE_SPEC): Require lower case architectures. Revert default
174 to ms2.
175
176 * doc/invoke.texi (MT Options): Rename and update.
177 * doc/md.texi (MorphoTech family): Rename and update.
178
e1b062ae 1792005-12-15 Olivier Hainque <hainque@adacore.com>
180
181 * stor-layout.c (layout_type): Don't complain about a too small
182 an array element type size compared to its alignment when the
183 size overflows.
184
f707ca7d 1852005-12-15 Jan Hubicka <jh@suse.cz>
186
187 PR target/24969
188 * i386.c (classify_argument): Properly adjust offset of bitfield for
189 substructures.
190
5fbee89d 1912005-12-15 Richard Sandiford <richard@codesourcery.com>
192
193 * final.c (final_scan_insn): Flip in_cold_section_p when changing
194 between the hot and cold sections. Use current_function_section
195 to get the new section.
196 * dwarf2out.c (output_line_info): Use in_cold_section_p to
197 determine whether we are assembling hot or cold code.
198 (secname_for_decl, dwarf2out_var_location): Likewise.
199 (dwarf2out_init, dwarf2out_finish): Use switch_to_section.
200 * varasm.c (last_text_section): Delete.
201 (in_cold_section_p): New variable.
202 (hot_function_section): New function.
203 (current_function_section): Pass in_cold_section_p as the
204 reloc argument to select_section. Use it to decide between
205 unlikely_function_section and hot_function_section.
206 (assemble_start_function): Use switch_to_section. Set
207 in_cold_section_p instead of last_text_section.
208 (assemble_end_function): Use switch_to_section.
209 (switch_to_section): Don't set last_text_section.
210 * config/darwin/darwin.c (machopic_select_section): Trust the reloc
211 argument to make the right choice between hot and cold sections.
212
476c49c6 2132005-12-15 Nathan Sidwell <nathan@codesourcery.com>
214
215 Second part of MS1->MT renaming
216 * config/mt/mt.md (doloop_end): Call mt_add_loop.
217 (movqi, movhi): Call mt_set_memflags.
218 (*movdf_internal): Call mt_split_words.
219 (reload_inqi, reload_outqi, reload_inhi, reload_outhi): Call
220 mt_set_memflags.
221 (cmpsi): Store to mt_compare_op[01].
222 (beq, bne, bge, bgt, ble, blt, bgeu, bgtu, bleu, bltu, bunge,
223 bungt, bunle, bunlt): Call mt_emit_cbranch.
224 (prologue): Call mt_expand_prologue.
225 (epilogu): Call mt_expend_epilogue.
226 (eh_return): Call mt_expand_eh_return.
227 (eh_epilogue): Call me_emit_eh_epilogue.
228 (conditional_trap): Store to mt_compare_op[01].
229 * config/mt/crti.asm: Adjust comment.
230 * config/mt/crtn.asm: Adjust comment.
231 * config/mt/mt.c (MT_INT_ARG_FIRST): Renamed.
232 (mt_compare_op0, mt_compare_op1): Renamed.
233 (current_frame_info, zero_frame_info): Adjust type.
234 (mt_ucmpsi3_libcall): Renamed.
235 (mt_flag_delayed_branch): Renamed.
236 (mt_struct_value_rtx, mt_return_addr_rtx): Renamed.
237 (mt_nops_required, mt_nop_reasons): Renamed.
238 (mt_asm_output_opcode, mt_get_attr_type, mt_final_prescan_insn,
239 mt_debug_stack, mt_print_operand_simple_address,
240 mt_print_operand_address, mt_print_operand): Renamed, adjusted.
241 (mt_init_cumulative_args, mt_function_arg_slotno, mt_function_arg,
242 mt_function_arg_advance, mt_arg_partial_bytes,
243 mt_pass_by_reference, mt_function_arg_boundary,
244 mt_reg_ok_for_base_p, mt_legitimate_simple_address_p,
245 mt_legitimate_address_p): Renamed, adjusted.
246 (mt_cpu): Renamed.
247 (mt_init_machine_status, mt_override_options, mt_builtin_saveregs,
248 mt_va_start, mt_compute_frame_size, mt_emit_save_restore,
249 mt_emit_save_fp, mt_emit_save_regs, mt_interrupt_function_p,
250 mt_expand_prologue, mt_epilogue_uses, mt_expand_epilogue,
251 mt_expand_eh_return, mt_emit_eh_prologue,
252 mt_handl_interrupt_attribute): Renamed, adjusted.
253 (mt_attribute_table): Renamed, adjusted.
254 (mt_initial_elimination_offset, mt_generate_compare,
255 mt_emit_cbranch, mt_set_memflags_1, mt_set_memflags,
256 mt_secondary_reload_class, mt_function_value, mt_split_words,
257 mt_pass_in_stack, mt_add_loop, mt_loop_nesting, mt_block_length,
258 mt_scan_loop, mt_reorg_loops): Renamed, adjusted.
259 (mt_labels): Renamed.
260 (mt_add_branches, mt_check_delay_slot, mt_reorg_hazard,
261 mt_machine_reorg): Renamed, adjusted.
262 (mt_attribute_table: Renamed.
263 (TARGET_ATTRIBUTE_TABLE, TARGET_STRUCT_VALUE_RTX,
264 TARGET_PASS_BY_REFERENCE, TARGET_MUST_PASS_IN_STACK,
265 TARGET_ARG_PARTIAL_BYTES, TARGET_MACHINE_DEPENDENT_REORG): Adjust.
266 * config/mt/mt.opt (march): Set mt_cpu_string.
267 * config/mt/mt.h (mt_ucmpsi3_libcall, mt_cpu): Renamed.
268 (TARGET_CPU_CPP_BUILTINS): Adjust.
269 (TARGET_MS1_64_001, TARGET_MS1_16_002, TARGET_MS1_16_003,
270 TARGET_MS2): Adjust.
271 (TARGET_VERSION, OVERRIDE_OPTIONS, SECONDARY_RELOAD_CLASS): Adjust.
272 (MT_MIN_INT): Renamed.
273 (RETURN_ADDR_RTX): Adjust.
274 (struct mt_frame_info): Renamed.
275 (current_frame_info): Adjust type.
276 (INITIAL_ELIMINATION_OFFSET): Adjust.
277 (MT_NUM_ARG_REGS): Renamed.
278 (REG_PARM_STACK_SPACE, FUNCTION_ARG, INIT_CUMULATVE_ARGS,
279 FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY, FUNCTION_VALUE,
280 LIBCALL_VALUE, EPILOGUE_USES, EXPAND_BUILTIN_VA_START,
281 GO_IF_LEGITIMATE_ADDRESS, REG_OK_FOR_BASE_P, ASM_OUTPUT_OPCODE,
282 FINAL_REPSCAN_INSN, PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Adjust.
283 (mt_compare_op0, mt_compare_op1): Renamed.
284 * config/mt/mt-protos.h: Rename prototypes.
285
3fefae7a 2862005-12-15 Richard Guenther <rguenther@suse.de>
287
288 * tree-flow.h (okay_component_ref_for_subvars): Remove.
289 (get_ref_base_and_extent): Declare.
290 * tree-dfa.c (okay_component_ref_for_subvars): Remove.
291 (get_ref_base_and_extent): New function.
292 * tree-ssa-alias.c (find_used_portions): Use it.
293 * tree-ssa-structalias.c (get_constraint_for_component_ref):
294 Likewise.
295 * tree-ssa-operands.c (get_expr_operands): Likewise.
296
b92e2e43 2972005-12-15 Paolo Bonzini <bonzini@gnu.org>
298
299 * combine.c: Remove force_to_mode's fourth parameter.
300 (force_to_mode): Do not handle REG.
301 (canon_reg_for_combine): New.
302 (make_field_assignment): Use it where the removed argument was non-NULL.
303
c541f3af 3042005-12-15 Alan Modra <amodra@bigpond.net.au>
305
306 PR target/25406
307 * config/rs6000/rs6000.c (rs6000_special_round_type_align): Handle
308 error_mark_node. Make alignment params unsigned.
309 * config/rs6000/rs6000-protos.h
310 (rs6000_special_round_type_align): Update prototype.
311 (rs6000_machopic_legitimize_pic_address): Remove arg names.
312
ca42e34a 3132005-12-14 Ulrich Weigand <uweigand@de.ibm.com>
314
315 PR rtl-optimization/25310
316 * reload1.c (eliminate_regs_in_insn): Handle lowpart SUBREGs
317 of the eliminable register when substituting into a PLUS.
318
34df68ac 3192005-12-14 Jakub Jelinek <jakub@redhat.com>
320
321 PR debug/25023
322 * config/i386/i386.c (ix86_force_to_memory): Always use
323 SImode push for HImode in -m32.
324 (ix86_free_from_memory): Likewise.
325
8a4d25d6 3262005-12-14 Richard Sandiford <richard@codesourcery.com>
327
328 * gcc/config/arm/arm.md: Provide a big-endian version of the
329 (zero_extend:SI (subreg:QI ...)) splitter.
330
0fe314e3 3312005-12-14 J"orn Rennecke <joern.rennecke@st.com>
332
333 * struct-equiv.c (note_local_live): Handle hard regs with different
334 hard_regno_nregs.
335
0d759d9c 3362005-12-14 Jeff Law <law@redhat.com>
337
338 * tree-ssa-ccp.c (fold_stmt_r): DATA argument is now a pointer
339 to a structure containing state rather than a pointer to bool.
340 (case ARRAY_REF): New code to handle folding some array references.
341 (case ADDR_EXPR): Note when we are processing expressions found
342 within an ADDRE_EXPR.
343 (fold_stmt, fold_stmt_inplace): Pass in a structure to fold_stmt_r
344 for state variables rather than just a pointer to a boolean.
345 * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Remove
346 handling of constant string references.
347
2e204c12 3482005-12-14 Adrian Straetling <straetling@de.ibm.com>
349
350 * config/s390/s390.md ("*tstdi_extimm", "*tstsi_extimm"): Merge.
351 ("*tstdi_cconly_extimm", "*tstsi_cconly_extimm"): Merge.
352 ("*tstdi_cconly2", "*tstsi_cconly2"): Merge.
353 Move other tst* patterns to retain partial order.
354
38d26fa6 3552005-12-14 Adrian Straetling <straetling@de.ibm.com>
356
357 * config/s390/s390.md ("d0", "1"): New mode attributes.
358 ("<shift>di3", "<shift>si3"): Merge.
359 ("*<shift>di3_and", "*<shift>si3_and"): Merge.
360 ("ashrdi3", "ashrsi3"): Merge.
361 ("*ashrdi3_cc", "*ashrsi3_cc"): Merge.
362 ("*ashrdi3_cc_and", "*ashrsi3_cc_and"): Merge.
363 ("*ashrdi3_cconly", "*ashrsi3_cconly"): Merge.
364 ("*ashrdi3_cconly_and", "*ashrsi3_cconly_and"): Merge.
365 ("*ashrdi3", "*ashrsi3"): Merge.
366 ("*ashrdi3_and", "*ashrsi3_and"): Merge.
367
14f1ac69 3682005-12-14 Adrian Straetling <straetling@de.ibm.com>
369
370 * config/s390/s390.md ("extend<mode>di2", "extend<mode>si2"): Merge.
371 ("*extendqidi2_extimm", "*extendqisi2_extimm"): Merge.
372 ("*extendqidi2", "*extendqisi2") Merge.
373 ("*extendqidi2_short_displ", "*extendqisi2_short_displ"): Merge.
374 ("zero_extendhidi2", "zero_extendqidi2"): Merge.
375 ("*zero_extend<mode>di2_extimm", "*zero_extend<mode>si2_extimm"): Merge.
376 Move some patterns to retain partial ordering.
377
d666e71f 3782005-12-14 Adrian Straetling <straetling@de.ibm.com>
379
380 * config/s390/s390.md ("atype", "length"): Rewrite.
381 ("*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): Add mode.
382
2bdb5515 3832005-12-14 Sebastian Pop <pop@cri.ensmp.fr>
384
385 * tree-ssa-operands.c (build_ssa_operands): Update leading comment.
386
3c9776d0 3872005-12-14 J"orn Rennecke <joern.rennecke@st.com>
388
389 * struct-equiv.c (rtx_equiv_p): Allow arbitrary RVALUE values for
390 PARALLELs with a mode.
391
d03791e7 3922005-12-14 Sebastian Pop <pop@cri.ensmp.fr>
393
74b9e5a0 394 * cfgloopmanip.c (lv_adjust_loop_entry_edge): Adjust the type of
395 cond_expr parameter.
396
3972005-12-14 Sebastian Pop <pop@cri.ensmp.fr>
398
399 * loop-unswitch.c (unswitch_loop): Free zero_bitmap before returning.
d03791e7 400
ef2b5829 4012005-12-14 J"orn Rennecke <joern.rennecke@st.com>
402
403 PR bootstrap/25397:
404
405 * struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing
406 of STACK_REGS bits.
407
408 * struct-euiv.c (rtx_equiv_p): Remove SUBREG case.
409
3307526c 4102005-12-14 Jakub Jelinek <jakub@redhat.com>
411
412 PR target/25254
413 PR target/24188
414 * config/i386/i386.c (x86_64_elf_select_section): If DECL is not
415 DECL_P, call get_section rather than get_named_section. Supply
416 section flags to it.
417
90fea167 4182005-12-14 Ben Elliston <bje@au.ibm.com>
419
420 * c-common.c (c_common_truthvalue_conversion): Generalise warning
421 for addresses converted to booleans; not just function addresses.
422 * c-typeck.c (build_binary_op): Warn for address comparisons which
423 can never be NULL (eg. func == NULL or &var == NULL).
424 * common.opt (Walways-true): New option.
425 * c-opts.c (c_common_handle_option): Set it with -Wall.
426 * doc/invoke.texi: Document it.
427
cd7a21ef 4282005-12-13 Paul Brook <paul@codesourcery.com>
429
430 * config/m68k/fpgnulib.c (__unordsf2, __unorddf2, __unordxf2,
431 __floatunsidf, __floatunsisf, __floatunsixf): New functions.
432
aa1d552e 4332005-12-13 Nathan Sidwell <nathan@codesourcery.com>
434
476c49c6 435 * sim/common/sim-signal.c (sim_signal_to_target): Add missing ':'.
436 * sim/common/sim-signal.h (sim_signal_to_target): Return an int.
437
aa1d552e 438 * config/mt/t-mt (crti.o, crtn.o): Add multilib options.
439 (EXTRA_MULTILIB_PARTS): Define.
440
cd7f40a2 4412005-12-13 J"orn Rennecke <joern.rennecke@st.com>
442
443 PR rtl-optimization/20070 / part1
444 * flow.c (update_life_info): If PROP_POST_REGSTACK is set, call
445 count_or_remove_death_notes with kill == -1.
446 (mark_set_1): Don't add REG_DEAD / REG_UNUSED notes for stack
447 registers if PROP_POST_REGSTACK is set.
448 (mark_used_reg): Likewise.
449 (count_or_remove_death_notes): If kill is -1, don't remove REG_DEAD /
450 REG_UNUSED notes for stack regs.
451 * cfgcleanup.c (condjump_equiv_p): Change parameters and processing
452 to match rtx_equiv_p machinery. Change caller.
453 (outgoing_edges_match): Likewise.
454 (try_crossjump_to_edge): Use struct_equiv_block_eq
455 instead of flow_find_cross_jump.
456 * basic-block.h (PROP_POST_REGSTACK, STRUCT_EQUIV_START): Define.
457 (STRUCT_EQUIV_RERUN, STRUCT_EQUIV_FINAL): Likewise.
458 (STRUCT_EQUIV_NEED_FULL_BLOCK, STRUCT_EQUIV_MATCH_JUMPS): Likewise.
459 (STRUCT_EQUIV_MAX_LOCAL): Likewise.
460 (struct struct_equiv_checkpoint, struct equiv_info): Likewise.
461 (insns_match_p): Update prototype.
462 (flow_find_cross_jump): Remove prototype.
463 (struct_equiv_block_eq, struct_equiv_init): Declare.
464 (rtx_equiv_p, condjump_equiv_p): Likewise.
465 * struct-equiv.c: Include reload.h.
466 (IMPOSSIBLE_MOVE_FACTOR): Define.
467 (assign_reg_reg_set, struct_equiv_make_checkpoint): New functions.
468 (struct_equiv_improve_checkpoint): Likewise.
469 (struct_equiv_restore_checkpoint, rtx_equiv_p): Likewise.
470 (set_dest_equiv_p, set_dest_addr_equiv_p, struct_equiv_init): Likewise.
471 (struct_equiv_merge, find_dying_input): Likewise.
472 (resolve_input_conflict, note_local_live): Likewise.
473 (death_notes_match_p): Change parameters and processing
474 to match rtx_equiv_p machinery. Change caller.
475 (insns_match_p): Likewise.
476 (flow_find_cross_jump): Replace with:
477 (struct_equiv_block_eq).
478
479 Back out this change:
480 2005-03-07 Kazu Hirata <kazu@cs.umass.edu>
481 * recog.c (verify_changes): Make it static.
482 * recog.h: Remove the corresponding prototype.
483
e392cde3 4842005-12-13 J"orn Rennecke <joern.rennecke@st.com>
485
486 * rtlhooks.c (gen_lowpart_general): Handle SUBREGs of floating point
487 values.
488
f174cace 4892005-12-13 Nathan Sidwell <nathan@codesourcery.com>
490
491 * config/mt/t-mt (MULTILIB_OPTIONS): Add ms2
492 (MULTILIB_DIRNAMES): Add ms2. Prefix ms1 dirs with 'ms1'.
493 * config/mt/mt.c (ms1_final_prescan): Use TARGET_MS2,
494 TARGET_MS1_64_001 appropriately.
495 (ms1_machine_reorg): Use TARGET_MS2.
496
3cb7a129 4972005-12-13 Jakub Jelinek <jakub@redhat.com>
498
499 PR debug/25023
500 PR target/25293
501 * expr.c (emit_move_resolve_push): Handle PRE_MODIFY
502 and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
503 Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
504 * config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
505 Set mode to SI, adjust constraints.
506 (pushhi2_rex64, pushqi2_rex64): Set mode to DI.
507 * config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
508 32-bit code.
509
6e24d2a7 5102005-12-13 Carlos O'Donell <carlos@codesourcery.com>
511
512 * c-cppbuiltin.c (builtin_define_float_constants): Add
513 fp_cast parameter, pass to builtin_define_with_hex_fp_value.
514 Define __FLT_HAS_DENORM__, __DBL_HAS_DENORM__, __LDBL_HAS_DENORM__.
515 (builtin_define_with_hex_fp_value): Use fp_cast when building macro.
516 (c_cpp_builtins): If flag_single_precision_constant then set fp_cast
517 to "((double)%sL)" otherwise "%s".
518
8300f926 5192005-12-13 Paul Brook <paul@codesourcery.com>
520
521 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for
522 apcs/atpcs.
523
f45e9182 524