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
This commit is contained in:
parent
eceb175550
commit
54175a449d
@ -1,3 +1,9 @@
|
||||
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
|
||||
|
@ -1348,47 +1348,55 @@
|
||||
|
||||
(define_insn "one_cmplqi2"
|
||||
[(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"
|
||||
[(set_attr "length" "2")
|
||||
(set_attr "cc" "set_znv")])
|
||||
|
||||
(define_insn "one_cmplhi2"
|
||||
(define_expand "one_cmplhi2"
|
||||
[(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)
|
||||
return \"not %s0\;not %t0\";
|
||||
else
|
||||
return \"not %T0\";
|
||||
}"
|
||||
[(set_attr "cc" "clobber")
|
||||
(set (attr "length")
|
||||
(if_then_else (eq (symbol_ref "TARGET_H8300H || TARGET_H8300S")
|
||||
(const_int 0))
|
||||
(const_int 4)
|
||||
(const_int 2)))])
|
||||
"")
|
||||
|
||||
(define_insn "one_cmplsi2"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(not:SI (match_operand:SI 1 "general_operand" "0")))]
|
||||
""
|
||||
"*
|
||||
{
|
||||
if (TARGET_H8300)
|
||||
return \"not %w0\;not %x0\;not %y0\;not %z0\";
|
||||
else
|
||||
return \"not %S0\";
|
||||
}"
|
||||
(define_insn ""
|
||||
[(set (match_operand:HI 0 "register_operand" "=r")
|
||||
(not:HI (match_operand:HI 1 "register_operand" "0")))]
|
||||
"TARGET_H8300"
|
||||
"not %s0\;not %t0"
|
||||
[(set_attr "cc" "clobber")
|
||||
(set (attr "length")
|
||||
(if_then_else (eq (symbol_ref "TARGET_H8300H || TARGET_H8300S")
|
||||
(const_int 0))
|
||||
(const_int 8)
|
||||
(const_int 2)))])
|
||||
(set_attr "length" "4")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:HI 0 "register_operand" "=r")
|
||||
(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_expand "one_cmplsi2"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(not:SI (match_operand:SI 1 "register_operand" "0")))]
|
||||
""
|
||||
"")
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(not:SI (match_operand:SI 1 "register_operand" "0")))]
|
||||
"TARGET_H8300"
|
||||
"not %w0\;not %x0\;not %y0\;not %z0"
|
||||
[(set_attr "cc" "clobber")
|
||||
(set_attr "length" "8")])
|
||||
|
||||
(define_insn ""
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
(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
|
||||
|
Loading…
Reference in New Issue
Block a user