]>
Commit | Line | Data |
---|---|---|
c4503c0a | 1 | 2005-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 | 79 | 2005-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 | 84 | 2005-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 | 92 | 2005-12-16 Ben Elliston <bje@au.ibm.com> |
93 | ||
94 | * real.c (decimal_quad_format): Correct values for emin, emax. | |
95 | ||
c47b8642 | 96 | 2005-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 | 102 | 2005-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 | 108 | 2005-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 | 118 | 2005-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 | 123 | 2005-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 | 128 | 2005-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 | 147 | 2005-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 | 153 | 2005-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 | 157 | 2005-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 | 162 | 2005-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 | 168 | 2005-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 | 179 | 2005-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 | 185 | 2005-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 | 191 | 2005-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 | 213 | 2005-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 | 286 | 2005-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 | 297 | 2005-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 | 304 | 2005-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 | 313 | 2005-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 | 319 | 2005-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 | 326 | 2005-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 | 331 | 2005-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 | 336 | 2005-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 | 348 | 2005-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 | 355 | 2005-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 | 368 | 2005-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 | 378 | 2005-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 | 383 | 2005-12-14 Sebastian Pop <pop@cri.ensmp.fr> |
384 | ||
385 | * tree-ssa-operands.c (build_ssa_operands): Update leading comment. | |
386 | ||
3c9776d0 | 387 | 2005-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 | 392 | 2005-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 | ||
397 | 2005-12-14 Sebastian Pop <pop@cri.ensmp.fr> | |
398 | ||
399 | * loop-unswitch.c (unswitch_loop): Free zero_bitmap before returning. | |
d03791e7 | 400 | |
ef2b5829 | 401 | 2005-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 | 410 | 2005-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 | 418 | 2005-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 | 428 | 2005-12-13 Paul Brook <paul@codesourcery.com> |
429 | ||
430 | * config/m68k/fpgnulib.c (__unordsf2, __unorddf2, __unordxf2, | |
431 | __floatunsidf, __floatunsisf, __floatunsixf): New functions. | |
432 | ||
aa1d552e | 433 | 2005-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 | 441 | 2005-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 | 484 | 2005-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 | 489 | 2005-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 | 497 | 2005-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 | 510 | 2005-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 | 519 | 2005-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 |