From d5d6a58b0a44b5f08fb3ccfc73719fddbb2509b6 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sun, 8 Jul 2001 01:53:30 -0700 Subject: [PATCH] i386.md: Remove constraints strings from define_split and define_peephole2 patterns. * config/i386/i386.md: Remove constraints strings from define_split and define_peephole2 patterns. (eh_return_si, eh_return_di): Split eh_return_1 for modes. (eh_return): Use them. From-SVN: r43846 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.md | 31 +++++++++++++++++++++---------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1c2bcd353d6..8e500841a66 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2001-07-08 Richard Henderson + + * config/i386/i386.md: Remove constraints strings from define_split + and define_peephole2 patterns. + (eh_return_si, eh_return_di): Split eh_return_1 for modes. + (eh_return): Use them. + 2001-07-08 Richard Henderson * doc/tm.texi (Exception Handling): New subnode of Stack and Calling. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 1743ed3ae43..a07c169d113 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8039,7 +8039,7 @@ (define_split [(set (reg 17) (compare (zero_extract - (match_operand 0 "nonimmediate_operand" "rm") + (match_operand 0 "nonimmediate_operand" "") (match_operand 1 "const_int_operand" "") (match_operand 2 "const_int_operand" "")) (const_int 0)))] @@ -13449,13 +13449,24 @@ tmp = gen_rtx_MEM (Pmode, tmp); emit_move_insn (tmp, ra); - emit_insn (gen_eh_return_1 (sa)); + if (Pmode == SImode) + emit_insn (gen_eh_return_si (sa)); + else + emit_insn (gen_eh_return_di (sa)); emit_barrier (); DONE; }) -(define_insn_and_split "eh_return_1" - [(unspec_volatile [(match_operand 0 "register_operand" "c")] 13)] +(define_insn_and_split "eh_return_si" + [(unspec_volatile [(match_operand:SI 0 "register_operand" "c")] 13)] + "" + "#" + "reload_completed" + [(const_int 1)] + "ix86_expand_epilogue (2); DONE;") + +(define_insn_and_split "eh_return_di" + [(unspec_volatile [(match_operand:DI 0 "register_operand" "c")] 13)] "" "#" "reload_completed" @@ -16608,8 +16619,8 @@ ;; lifetime information then. (define_peephole2 - [(set (match_operand:SI 0 "nonimmediate_operand" "=rm") - (not:SI (match_operand:SI 1 "nonimmediate_operand" "0")))] + [(set (match_operand:SI 0 "nonimmediate_operand" "") + (not:SI (match_operand:SI 1 "nonimmediate_operand" "")))] "!optimize_size && peep2_regno_dead_p (0, FLAGS_REG) && ((TARGET_PENTIUM @@ -16622,8 +16633,8 @@ "") (define_peephole2 - [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") - (not:HI (match_operand:HI 1 "nonimmediate_operand" "0")))] + [(set (match_operand:HI 0 "nonimmediate_operand" "") + (not:HI (match_operand:HI 1 "nonimmediate_operand" "")))] "!optimize_size && peep2_regno_dead_p (0, FLAGS_REG) && ((TARGET_PENTIUM @@ -16636,8 +16647,8 @@ "") (define_peephole2 - [(set (match_operand:QI 0 "nonimmediate_operand" "=rm") - (not:QI (match_operand:QI 1 "nonimmediate_operand" "0")))] + [(set (match_operand:QI 0 "nonimmediate_operand" "") + (not:QI (match_operand:QI 1 "nonimmediate_operand" "")))] "!optimize_size && peep2_regno_dead_p (0, FLAGS_REG) && ((TARGET_PENTIUM -- 2.30.2