* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
Change multi-instruction sequences to new attribute.
* config/rs6000/{40x.md,440.md,603.md,6xx.md,
7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
From-SVN: r90456
2004-11-10 Daniel Berlin <dberlin@dberlin.org>
* tree-data-ref.c (build_classic_dist_vector): If either loop
is outside of the nest we asked about, the dependence can't
matter.
(build_classic_dir_vector): Ditto.
From-SVN: r90454
* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
right order.
(force_var_cost): Determine cost of addition and multiplication more
precisely.
(get_computation_cost_at): Add cost for computing address elements to
the final cost.
* fold-const.c (fold): Attempt to use ptr_difference_const whenever
one of the arguments of MINUS_EXPR is an address.
(split_address_to_core_and_offset): New function.
(ptr_difference_const): Handle case when one of the operands is a
pointer.
* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
(ptr_difference_cost): Pass addresses instead of objects to
ptr_difference_const.
From-SVN: r90451
* config/sparc/sparc.c (function_arg_union_value): New 'slotno'
argument. When the union is passed in the 6th slot, build a
PARALLEL with only one element.
(function_arg): Adjust call to function_arg_union_value.
(function_value): Likewise.
From-SVN: r90396
* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
(struct basic_block_def): Remove local_set and cond_local_set
fields. Update comment for global_live_at_start.
* flow.c (calculate_global_regs_live): Allocate local_sets and
cond_local_sets here as arrays of bitmaps previously stored in
bb->local_set and bb->cond_local_set. Use xmalloc instead of
obstack allocated bitmaps.
From-SVN: r90390
* cfganal.c (flow_dfs_compute_reverse_execute): Accept new
argument holding last unvisited block. Start search for
unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
(connect_infinite_loops_to_exit): Supply last unvisited block
to flow_dfs_compute_reverse_execute.
From-SVN: r90386
* Makefile.in ($(PACKAGE).pot): New rule. Depend on
po/$(PACKAGE).pot.
(po/$(PACKAGE).pot): Use ":" instead of "," in --keyword
arguments. Add keywords _, N_, SYNTAX_ERROR and SYNTAX_ERROR2.
Remove local srcdir path from generated file.
From-SVN: r90368
PR c/18322
* c-common.c (fname_decl): Don't use line number of decl in
diagnostic.
testsuite:
* gcc.dg/func-outside-1.c, gcc.dg/func-outside-2.c: Correct
expected diagnostic location.
From-SVN: r90365
2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/18406
* obj-act.c (encode_type): 96bits doubles are encoded the
same way as 64bit and 128bit doubles are.
2004-11-09 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/18406
* objc/compile/pr18406.m: New test.
From-SVN: r90361
* tree-if-conv.c (add_to_dst_predicate_list): Change the
second argument to basic_block.
(tree_if_convert_cond_expr): Update call sites.
From-SVN: r90353
* reload.c (refers_to_mem_for_reload_p,
refers_to_regno_for_reload_p): Make them static.
* reload.h: Remove the corresponding prototypes.
From-SVN: r90349
PR target/18230
* doc/md.texi (SPARC constraints): Document 'Y' constraint.
* config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
* config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
(TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
(fp_zero_operand): Accept MODE_VECTOR_INT modes.
(input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
(sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
(sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
MODE_VECTOR_INT modes.
(sparc_extra_constraint_check): Add new constraint 'Y'.
* config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
* config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
(V64): New mode macro for 64-bit modes.
(movsf): Use V32 for mode instead of SF.
(movsf_insn_vis): Use V32 for mode instead of SF. Add 'Y' constraint
alongside 'G' constraint.
(movdf): Use V64 for mode instead of DF.
(movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
of DF. Add 'Y' constraint alongside 'G' constraint.
(multi-isn and misaligned mems DFmode splitters): Use V64 for mode
instead of DF.
Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>
From-SVN: r90348
* config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
when eliminating an UNSPEC_CMPINT.
(s390_secondary_input_reload_class): Fix test for CC register reload.
(s390_secondary_output_reload_class): Likewise.
(s390_expand_cmpmem): Swap operands. Use gen_cmpint.
* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
insn patterns with splitters.
From-SVN: r90346