]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/53911 ([SH] Improve displacement addressing)
authorOleg Endo <olegendo@gcc.gnu.org>
Tue, 10 Jul 2012 22:01:44 +0000 (22:01 +0000)
committerOleg Endo <olegendo@gcc.gnu.org>
Tue, 10 Jul 2012 22:01:44 +0000 (22:01 +0000)
PR target/53911
* config/sh/sh.md: Remove displacement addresssing related splits.

From-SVN: r189416

gcc/ChangeLog
gcc/config/sh/sh.md

index f49066cbc05a488b88e50df230d860a17b9094f4..937eaa4ec7a646916639c6795a652888e4d05ca0 100644 (file)
@@ -1,3 +1,8 @@
+2012-07-10  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/53911
+       * config/sh/sh.md: Remove displacement addresssing related splits.
+
 2012-07-10  Xinliang David Li  <davidxl@google.com>
 
        * doc/invoke.texi: New option documented.
index bc2b7aeafc6e32da843b63ae85b97e3073fa07b8..b5add4be0f3ac8b23ea83207556c56b7474ee730 100644 (file)
@@ -6683,63 +6683,6 @@ label:
     FAIL;
 })
 
-;; If a base address generated by LEGITIMIZE_ADDRESS for SImode is
-;; used only once, let combine add in the index again.
-
-(define_split
-  [(set (match_operand:SI 0 "register_operand" "")
-       (match_operand:SI 1 "" ""))
-   (clobber (match_operand 2 "register_operand" ""))]
-  "TARGET_SH1 && ! reload_in_progress && ! reload_completed
-   && ALLOW_INDEXED_ADDRESS"
-  [(use (reg:SI R0_REG))]
-{
-  rtx addr, reg, const_int;
-
-  if (!MEM_P (operands[1]))
-    FAIL;
-  addr = XEXP (operands[1], 0);
-  if (GET_CODE (addr) != PLUS)
-    FAIL;
-  reg = XEXP (addr, 0);
-  const_int = XEXP (addr, 1);
-  if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2])
-        && CONST_INT_P (const_int)))
-    FAIL;
-  emit_move_insn (operands[2], const_int);
-  emit_move_insn (operands[0],
-                 change_address (operands[1], VOIDmode,
-                                 gen_rtx_PLUS (SImode, reg, operands[2])));
-  DONE;
-})
-
-(define_split
-  [(set (match_operand:SI 1 "" "")
-       (match_operand:SI 0 "register_operand" ""))
-   (clobber (match_operand 2 "register_operand" ""))]
-  "TARGET_SH1 && ! reload_in_progress && ! reload_completed
-   && ALLOW_INDEXED_ADDRESS"
-  [(use (reg:SI R0_REG))]
-{
-  rtx addr, reg, const_int;
-
-  if (!MEM_P (operands[1]))
-    FAIL;
-  addr = XEXP (operands[1], 0);
-  if (GET_CODE (addr) != PLUS)
-    FAIL;
-  reg = XEXP (addr, 0);
-  const_int = XEXP (addr, 1);
-  if (! (BASE_REGISTER_RTX_P (reg) && INDEX_REGISTER_RTX_P (operands[2])
-        && CONST_INT_P (const_int)))
-    FAIL;
-  emit_move_insn (operands[2], const_int);
-  emit_move_insn (change_address (operands[1], VOIDmode,
-                                 gen_rtx_PLUS (SImode, reg, operands[2])),
-                 operands[0]);
-  DONE;
-})
-
 (define_expand "movdf"
   [(set (match_operand:DF 0 "general_movdst_operand" "")
        (match_operand:DF 1 "general_movsrc_operand" ""))]