diff options
author | Richard Henderson <rth@cygnus.com> | 2000-05-06 17:48:53 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-05-06 17:48:53 -0700 |
commit | 3262c1f5523c538ecdd39d04babbd66f93c7c3bc (patch) | |
tree | 3b0e97f95773667e75f99846a5ed03bc396e5a12 /gcc/rtl.def | |
parent | 9444af72b4d9a9b5cb9289e13a624ff5731b2797 (diff) | |
download | gcc-3262c1f5523c538ecdd39d04babbd66f93c7c3bc.zip gcc-3262c1f5523c538ecdd39d04babbd66f93c7c3bc.tar.gz gcc-3262c1f5523c538ecdd39d04babbd66f93c7c3bc.tar.bz2 |
rtl.def (DEFINE_COND_EXEC): New.
* rtl.def (DEFINE_COND_EXEC): New.
* md.texi: Document it.
* gensupport.c (input_file): Remove.
(struct queue_elem): Add lineno.
(rtx_ready_queue): Remove.
(errors): New.
(predicable_default): New.
(predicable_true, predicable_false): New.
(define_attr_queue, define_attr_tail): New.
(define_insn_queue, define_insn_tail): New.
(define_cond_exec_queue, define_cond_exec_tail): New.
(other_queue, other_tail): New.
(queue_pattern): New.
(process_rtx): Add patterns to the appropriate queues.
(is_predicable, identify_predicable_attribute): New.
(n_alternatives, collect_insn_data): New.
(alter_predicate_for_insn, alter_test_for_insn): New.
(shift_output_template, alter_output_for_insn): New.
(process_one_cond_exec, process_define_cond_exec): New.
(init_md_reader): Read the entire file. Process define_cond_exec.
(read_md_rtx): Return elements from the queues.
From-SVN: r33751
Diffstat (limited to 'gcc/rtl.def')
-rw-r--r-- | gcc/rtl.def | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/rtl.def b/gcc/rtl.def index 29cb5ee..d9a35f5 100644 --- a/gcc/rtl.def +++ b/gcc/rtl.def @@ -310,6 +310,19 @@ DEF_RTL_EXPR(DEFINE_FUNCTION_UNIT, "define_function_unit", "siieiiV", 'x') /* Define attribute computation for `asm' instructions. */ DEF_RTL_EXPR(DEFINE_ASM_ATTRIBUTES, "define_asm_attributes", "V", 'x' ) +/* Definition of a conditional execution meta operation. Automatically + generates new instances of DEFINE_INSN, selected by having attribute + "predicable" true. The new pattern will contain a COND_EXEC and the + predicate at top-level. + + Operand: + 0: The predicate pattern. The top-level form should match a + relational operator. Operands should have only one alternative. + 1: A C expression giving an additional condition for recognizing + the generated pattern. + 2: A template or C code to produce assembler output. */ +DEF_RTL_EXPR(DEFINE_COND_EXEC, "define_cond_exec", "Ess", 'x') + /* SEQUENCE appears in the result of a `gen_...' function for a DEFINE_EXPAND that wants to make several insns. Its elements are the bodies of the insns that should be made. |