From 7dcc803eca5812c14a5c1b446ecbdffe5174b1c9 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Wed, 8 Aug 2001 10:05:40 +0000 Subject: [PATCH] Turn patterns/splits into define_insn_and_split From-SVN: r44714 --- gcc/ChangeLog | 5 ++++- gcc/config/ia64/ia64.md | 39 +++++++++------------------------------ 2 files changed, 13 insertions(+), 31 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fdc4d58430c..4b6f7098039 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -2,7 +2,10 @@ * cselib.c (cselib_record_sets): If insn is predicated, turn sources into IF_THEN_ELSEs. - + + * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b): + Turn into define_insn_and_split. + 2001-08-08 Graham Stott * final.c (shorten_branches): Update the INSN_ADDRESSES of insns diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index 3590630f192..efa37058fb2 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -4495,7 +4495,7 @@ VOIDmode, operands[1], const0_rtx); }") -(define_insn "*cond_opsi2_internal" +(define_insn_and_split "*cond_opsi2_internal" [(set (match_operand:SI 0 "gr_register_operand" "=r") (match_operator:SI 5 "condop_operator" [(if_then_else:SI @@ -4507,19 +4507,6 @@ (match_operand:SI 4 "gr_register_operand" "r")]))] "" "#" - [(set_attr "itanium_class" "ialu") - (set_attr "predicable" "no")]) - -(define_split - [(set (match_operand:SI 0 "gr_register_operand" "") - (match_operator:SI 5 "condop_operator" - [(if_then_else:SI - (match_operator 6 "predicate_operator" - [(match_operand:BI 1 "register_operand" "") - (const_int 0)]) - (match_operand:SI 2 "gr_register_operand" "") - (match_operand:SI 3 "gr_register_operand" "")) - (match_operand:SI 4 "gr_register_operand" "")]))] "reload_completed" [(cond_exec (match_dup 6) @@ -4531,9 +4518,12 @@ { operands[7] = gen_rtx_fmt_ee (GET_CODE (operands[6]) == NE ? EQ : NE, VOIDmode, operands[1], const0_rtx); -}") +}" + [(set_attr "itanium_class" "ialu") + (set_attr "predicable" "no")]) + -(define_insn "*cond_opsi2_internal_b" +(define_insn_and_split "*cond_opsi2_internal_b" [(set (match_operand:SI 0 "gr_register_operand" "=r") (match_operator:SI 5 "condop_operator" [(match_operand:SI 4 "gr_register_operand" "r") @@ -4545,19 +4535,6 @@ (match_operand:SI 3 "gr_register_operand" "r"))]))] "" "#" - [(set_attr "itanium_class" "ialu") - (set_attr "predicable" "no")]) - -(define_split - [(set (match_operand:SI 0 "gr_register_operand" "") - (match_operator:SI 5 "condop_operator" - [(match_operand:SI 4 "gr_register_operand" "") - (if_then_else:SI - (match_operator 6 "predicate_operator" - [(match_operand:BI 1 "register_operand" "") - (const_int 0)]) - (match_operand:SI 2 "gr_register_operand" "") - (match_operand:SI 3 "gr_register_operand" ""))]))] "reload_completed" [(cond_exec (match_dup 6) @@ -4569,7 +4546,9 @@ { operands[7] = gen_rtx_fmt_ee (GET_CODE (operands[6]) == NE ? EQ : NE, VOIDmode, operands[1], const0_rtx); -}") +}" + [(set_attr "itanium_class" "ialu") + (set_attr "predicable" "no")]) ;; :::::::::::::::::::: -- 2.30.2