OSDN Git Service

* config/i386/i386.md (*indirect_jump): Macroize using P
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jun 2008 11:57:16 +0000 (11:57 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 6 Jun 2008 11:57:16 +0000 (11:57 +0000)
mode iterator.  Remove !TARGET_64BIT from insn constraints.
(*tablejump_1): Ditto.
(*indirect_jump_rex64): Remove insn pattern.
(*tablejump_1_rex64): Ditto.
(eh_return_<mode>): 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
gcc/config/i386/i386.md

index 8ba854e..e4cc387 100644 (file)
@@ -1,3 +1,13 @@
+2008-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * 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_<mode>): Macroize using P mode iterator from eh_return_di
+       and eh_return_si insn patterns.
+
 2008-06-06  Richard Guenther  <rguenther@suse.de>
 
        * tree-ssa-structalias.c (merge_smts_into): Remove.
index 00a16d9..6debb18 100644 (file)
   "")
 
 (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")])
 })
 
 (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")])
   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_<mode>"
   [(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)]