Commit 54175a44 by Kazu Hirata Committed by Kazu Hirata

h8300.md (one_cmpl patterns): Tighten the predicates of operands[1].

	* config/h8300/h8300.md (one_cmpl patterns): Tighten the
	predicates of operands[1].  Split the patterns for each
	processor variant.

From-SVN: r49446
parent eceb1755
2002-02-02 Kazu Hirata <kazu@hxi.com> 2002-02-02 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md (one_cmpl patterns): Tighten the
predicates of operands[1]. Split the patterns for each
processor variant.
2002-02-02 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md (xor patterns): Tighten the predicates * config/h8300/h8300.md (xor patterns): Tighten the predicates
of operands[1] to register_operand. of operands[1] to register_operand.
......
...@@ -1348,47 +1348,55 @@ ...@@ -1348,47 +1348,55 @@
(define_insn "one_cmplqi2" (define_insn "one_cmplqi2"
[(set (match_operand:QI 0 "register_operand" "=r") [(set (match_operand:QI 0 "register_operand" "=r")
(not:QI (match_operand:QI 1 "general_operand" "0")))] (not:QI (match_operand:QI 1 "register_operand" "0")))]
"" ""
"not %X0" "not %X0"
[(set_attr "length" "2") [(set_attr "length" "2")
(set_attr "cc" "set_znv")]) (set_attr "cc" "set_znv")])
(define_insn "one_cmplhi2" (define_expand "one_cmplhi2"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
(not:HI (match_operand:HI 1 "general_operand" "0")))] (not:HI (match_operand:HI 1 "register_operand" "0")))]
"" ""
"* "")
{
if (TARGET_H8300) (define_insn ""
return \"not %s0\;not %t0\"; [(set (match_operand:HI 0 "register_operand" "=r")
else (not:HI (match_operand:HI 1 "register_operand" "0")))]
return \"not %T0\"; "TARGET_H8300"
}" "not %s0\;not %t0"
[(set_attr "cc" "clobber") [(set_attr "cc" "clobber")
(set (attr "length") (set_attr "length" "4")])
(if_then_else (eq (symbol_ref "TARGET_H8300H || TARGET_H8300S")
(const_int 0)) (define_insn ""
(const_int 4) [(set (match_operand:HI 0 "register_operand" "=r")
(const_int 2)))]) (not:HI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
"not %T0"
[(set_attr "cc" "set_znv")
(set_attr "length" "2")])
(define_insn "one_cmplsi2" (define_expand "one_cmplsi2"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
(not:SI (match_operand:SI 1 "general_operand" "0")))] (not:SI (match_operand:SI 1 "register_operand" "0")))]
"" ""
"* "")
{
if (TARGET_H8300) (define_insn ""
return \"not %w0\;not %x0\;not %y0\;not %z0\"; [(set (match_operand:SI 0 "register_operand" "=r")
else (not:SI (match_operand:SI 1 "register_operand" "0")))]
return \"not %S0\"; "TARGET_H8300"
}" "not %w0\;not %x0\;not %y0\;not %z0"
[(set_attr "cc" "clobber") [(set_attr "cc" "clobber")
(set (attr "length") (set_attr "length" "8")])
(if_then_else (eq (symbol_ref "TARGET_H8300H || TARGET_H8300S")
(const_int 0)) (define_insn ""
(const_int 8) [(set (match_operand:SI 0 "register_operand" "=r")
(const_int 2)))]) (not:SI (match_operand:SI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
"not %S0"
[(set_attr "cc" "set_znv")
(set_attr "length" "2")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; JUMP INSTRUCTIONS ;; JUMP INSTRUCTIONS
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment