* config/h8300/h8300.md (6 new peephole2 patterns): New.

From-SVN: r59611
This commit is contained in:
Kazu Hirata 2002-11-28 18:02:46 +00:00 committed by Kazu Hirata
parent e7c79ef9c9
commit 7957fde4e8
2 changed files with 128 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2002-11-28 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md (6 new peephole2 patterns): New.
2002-11-28 Jakub Jelinek <jakub@redhat.com>
* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.

View File

@ -2330,3 +2330,127 @@
(label_ref (match_dup 1))
(pc)))]
"")
;; -----------------------------------------------------------------
;; PEEPHOLE PATTERNS
;; -----------------------------------------------------------------
(define_peephole2
[(parallel
[(set (match_operand:HI 0 "register_operand" "")
(lshiftrt:HI (match_dup 0)
(match_operand:HI 1 "const_int_operand" "")))
(clobber (match_operand:HI 2 "" ""))])
(set (match_dup 0)
(and:HI (match_dup 0)
(match_operand:HI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (255 >> INTVAL (operands[1]))"
[(set (match_dup 0)
(and:HI (match_dup 0)
(const_int 255)))
(parallel
[(set (match_dup 0)
(lshiftrt:HI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")
(define_peephole2
[(parallel
[(set (match_operand:HI 0 "register_operand" "")
(ashift:HI (match_dup 0)
(match_operand:HI 1 "const_int_operand" "")))
(clobber (match_operand:HI 2 "" ""))])
(set (match_dup 0)
(and:HI (match_dup 0)
(match_operand:HI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (255 << INTVAL (operands[1]))"
[(set (match_dup 0)
(and:HI (match_dup 0)
(const_int 255)))
(parallel
[(set (match_dup 0)
(ashift:HI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")
(define_peephole2
[(parallel
[(set (match_operand:SI 0 "register_operand" "")
(lshiftrt:SI (match_dup 0)
(match_operand:SI 1 "const_int_operand" "")))
(clobber (match_operand:SI 2 "" ""))])
(set (match_dup 0)
(and:SI (match_dup 0)
(match_operand:SI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (255 >> INTVAL (operands[1]))"
[(set (match_dup 0)
(and:SI (match_dup 0)
(const_int 255)))
(parallel
[(set (match_dup 0)
(lshiftrt:SI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")
(define_peephole2
[(parallel
[(set (match_operand:SI 0 "register_operand" "")
(ashift:SI (match_dup 0)
(match_operand:SI 1 "const_int_operand" "")))
(clobber (match_operand:SI 2 "" ""))])
(set (match_dup 0)
(and:SI (match_dup 0)
(match_operand:SI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (255 << INTVAL (operands[1]))"
[(set (match_dup 0)
(and:SI (match_dup 0)
(const_int 255)))
(parallel
[(set (match_dup 0)
(ashift:SI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")
(define_peephole2
[(parallel
[(set (match_operand:SI 0 "register_operand" "")
(lshiftrt:SI (match_dup 0)
(match_operand:SI 1 "const_int_operand" "")))
(clobber (match_operand:SI 2 "" ""))])
(set (match_dup 0)
(and:SI (match_dup 0)
(match_operand:SI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (65535 >> INTVAL (operands[1]))"
[(set (match_dup 0)
(and:SI (match_dup 0)
(const_int 65535)))
(parallel
[(set (match_dup 0)
(lshiftrt:SI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")
(define_peephole2
[(parallel
[(set (match_operand:SI 0 "register_operand" "")
(ashift:SI (match_dup 0)
(match_operand:SI 1 "const_int_operand" "")))
(clobber (match_operand:SI 2 "" ""))])
(set (match_dup 0)
(and:SI (match_dup 0)
(match_operand:SI 3 "const_int_operand" "")))]
"INTVAL (operands[3]) == (65535 << INTVAL (operands[1]))"
[(set (match_dup 0)
(and:SI (match_dup 0)
(const_int 65535)))
(parallel
[(set (match_dup 0)
(ashift:SI (match_dup 0)
(match_dup 1)))
(clobber (match_dup 2))])]
"")