summaryrefslogtreecommitdiff
path: root/gcc/config/ia64/ia64-protos.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-09-18 12:03:37 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-09-18 12:03:37 -0700
commitf2f90c63c8832dcf581120672567453b8e062d7a (patch)
tree1d6ad6d0a8c7e923e27386f559f09296fda57b8a /gcc/config/ia64/ia64-protos.h
parent0d9f234d9317f291eb49dab50277efeee85e5b91 (diff)
downloadgcc-f2f90c63c8832dcf581120672567453b8e062d7a.tar.gz
ia64-protos.h: Update.
* config/ia64/ia64-protos.h: Update. * config/ia64/ia64.c (signed_inequality_operator): New. (ia64_expand_compare): New. (ia64_register_move_cost): Handle PR_REGS moves. (ia64_secondary_reload_class): Require a GR when moving to a PR. (struct reg_write_state): Add written_by_and/or. (struct reg_flags): Add is_and/or. (rws_update): Set them. (rws_access_regno): Test them to allow parallel comparisons. (rtx_needs_barrier): Recognize parallel comparisons. (emit_insn_group_barriers): Set prev_insn after a call stop bit. Call recog_memoized; ignore pred_rel_mutex. (emit_predicate_relation_info): Don't call find_basic_blocks here. (ia64_reorg): Do it here instead. * config/ia64/ia64.h: s/CCmode/BImode/g (MODES_TIEABLE_P): Don't tie BImode. (PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs. (CONST_COSTS): Pick sensible values for CONST_INT based on context. (RTX_COSTS): Make multiply 4 insns. (MEMORY_MOVE_COST): New. (PREDICATE_CODES): Update. * config/ia64/ia64.md: s/CCmode/BImode/g (movcci, movbi): New. (andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New. (cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New. (cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New. (tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New. (cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New. (cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New. (tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New. (mulsi, muldi): Use xmpy not xma. (cmpbi): New. (movcc, movcc_internal): Remove. (branch expanders): Use ia64_expand_compare. (setcc expanders): Likewise. (cmov insns): Use move_operand and ia64_move_ok. (pred_rel_mutex): Use unspec not unspec_volatile. Prevent the scheduler from moving it past a use. * config/ia64/build.hacks: Remove. From-SVN: r36510
Diffstat (limited to 'gcc/config/ia64/ia64-protos.h')
-rw-r--r--gcc/config/ia64/ia64-protos.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h
index d213b4180f8..7cde4ea8ca2 100644
--- a/gcc/config/ia64/ia64-protos.h
+++ b/gcc/config/ia64/ia64-protos.h
@@ -56,6 +56,7 @@ extern int fetchadd_operand PARAMS((rtx, enum machine_mode));
extern int fr_reg_or_fp01_operand PARAMS((rtx, enum machine_mode));
extern int normal_comparison_operator PARAMS((rtx, enum machine_mode));
extern int adjusted_comparison_operator PARAMS((rtx, enum machine_mode));
+extern int signed_inequality_operator PARAMS((rtx, enum machine_mode));
extern int call_multiple_values_operation PARAMS((rtx, enum machine_mode));
extern int destination_operand PARAMS((rtx, enum machine_mode));
extern int not_postinc_memory_operand PARAMS((rtx, enum machine_mode));
@@ -71,6 +72,7 @@ extern int ia64_depz_field_mask PARAMS((rtx, rtx));
extern rtx ia64_gp_save_reg PARAMS((int));
extern rtx ia64_split_timode PARAMS((rtx[], rtx, rtx));
extern rtx spill_tfmode_operand PARAMS((rtx, int));
+extern rtx ia64_expand_compare PARAMS((enum rtx_code, enum machine_mode));
extern HOST_WIDE_INT ia64_initial_elimination_offset PARAMS((int, int));
extern void ia64_expand_prologue PARAMS((void));