From cbdcfa59ffeb7d51f7cbdfe64e1a99e43c82b2ac Mon Sep 17 00:00:00 2001 From: uros Date: Fri, 6 Jun 2008 11:57:16 +0000 Subject: [PATCH] * config/i386/i386.md (*indirect_jump): Macroize using P mode iterator. Remove !TARGET_64BIT from insn constraints. (*tablejump_1): Ditto. (*indirect_jump_rex64): Remove insn pattern. (*tablejump_1_rex64): Ditto. (eh_return_): Macroize using P mode iterator from eh_return_di and eh_return_si insn patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136431 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/i386/i386.md | 39 +++++++-------------------------------- 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ba854e..e4cc387 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2008-06-06 Uros Bizjak + + * config/i386/i386.md (*indirect_jump): Macroize using P + mode iterator. Remove !TARGET_64BIT from insn constraints. + (*tablejump_1): Ditto. + (*indirect_jump_rex64): Remove insn pattern. + (*tablejump_1_rex64): Ditto. + (eh_return_): Macroize using P mode iterator from eh_return_di + and eh_return_si insn patterns. + 2008-06-06 Richard Guenther * tree-ssa-structalias.c (merge_smts_into): Remove. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 00a16d9..6debb18 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -14363,15 +14363,8 @@ "") (define_insn "*indirect_jump" - [(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm"))] - "!TARGET_64BIT" - "jmp\t%A0" - [(set_attr "type" "ibr") - (set_attr "length_immediate" "0")]) - -(define_insn "*indirect_jump_rtx64" - [(set (pc) (match_operand:DI 0 "nonimmediate_operand" "rm"))] - "TARGET_64BIT" + [(set (pc) (match_operand:P 0 "nonimmediate_operand" "rm"))] + "" "jmp\t%A0" [(set_attr "type" "ibr") (set_attr "length_immediate" "0")]) @@ -14415,17 +14408,9 @@ }) (define_insn "*tablejump_1" - [(set (pc) (match_operand:SI 0 "nonimmediate_operand" "rm")) - (use (label_ref (match_operand 1 "" "")))] - "!TARGET_64BIT" - "jmp\t%A0" - [(set_attr "type" "ibr") - (set_attr "length_immediate" "0")]) - -(define_insn "*tablejump_1_rtx64" - [(set (pc) (match_operand:DI 0 "nonimmediate_operand" "rm")) + [(set (pc) (match_operand:P 0 "nonimmediate_operand" "rm")) (use (label_ref (match_operand 1 "" "")))] - "TARGET_64BIT" + "" "jmp\t%A0" [(set_attr "type" "ibr") (set_attr "length_immediate" "0")]) @@ -14876,21 +14861,11 @@ DONE; }) -(define_insn_and_split "eh_return_si" - [(set (pc) - (unspec [(match_operand:SI 0 "register_operand" "c")] - UNSPEC_EH_RETURN))] - "!TARGET_64BIT" - "#" - "reload_completed" - [(const_int 0)] - "ix86_expand_epilogue (2); DONE;") - -(define_insn_and_split "eh_return_di" +(define_insn_and_split "eh_return_" [(set (pc) - (unspec [(match_operand:DI 0 "register_operand" "c")] + (unspec [(match_operand:P 0 "register_operand" "c")] UNSPEC_EH_RETURN))] - "TARGET_64BIT" + "" "#" "reload_completed" [(const_int 0)] -- 2.7.4