sh.md (*negnegt, *movtt): Remove.

gcc/
	* config/sh/sh.md (*negnegt, *movtt): Remove.

From-SVN: r235704
This commit is contained in:
Oleg Endo 2016-05-02 08:21:27 +00:00
parent 552cc5904c
commit 7555e8b225
2 changed files with 4 additions and 19 deletions

View File

@ -1,3 +1,7 @@
2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
* config/sh/sh.md (*negnegt, *movtt): Remove.
2016-05-02 Marek Polacek <polacek@redhat.com>
Tom de Vries <tom@codesourcery.com>

View File

@ -8345,16 +8345,6 @@
gcc_unreachable ();
})
;; The *negnegt pattern helps the combine pass to figure out how to fold
;; an explicit double T bit negation.
(define_insn_and_split "*negnegt"
[(set (reg:SI T_REG)
(eq:SI (match_operand 0 "negt_reg_operand" "") (const_int 0)))]
"TARGET_SH1"
"#"
""
[(const_int 0)])
;; Store (negated) T bit as all zeros or ones in a reg.
;; subc Rn,Rn ! Rn = Rn - Rn - T; T = T
;; not Rn,Rn ! Rn = 0 - Rn
@ -8379,15 +8369,6 @@
}
[(set_attr "type" "arith")])
;; The *movtt pattern eliminates redundant T bit to T bit moves / tests.
(define_insn_and_split "*movtt"
[(set (reg:SI T_REG)
(eq:SI (match_operand 0 "t_reg_operand" "") (const_int 1)))]
"TARGET_SH1"
"#"
""
[(const_int 0)])
;; Invert the T bit.
;; On SH2A we can use the nott insn. On anything else this must be done with
;; multiple insns like: