mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-22 20:19:51 +08:00
h8300.md (*tst_extzv_bitqi_1_n): Accept the test of bit 7.
* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the test of bit 7. (*tst_extzv_memqi_1_n): Likewise. (a peephole2): New. From-SVN: r63558
This commit is contained in:
parent
4480b3dcf6
commit
3c0423169e
@ -1,3 +1,10 @@
|
||||
2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
|
||||
|
||||
* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
|
||||
test of bit 7.
|
||||
(*tst_extzv_memqi_1_n): Likewise.
|
||||
(a peephole2): New.
|
||||
|
||||
2002-02-28 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
|
||||
|
@ -592,8 +592,7 @@
|
||||
[(set (cc0) (zero_extract:SI (match_operand:QI 0 "bit_operand" "r,U")
|
||||
(const_int 1)
|
||||
(match_operand 1 "const_int_operand" "n,n")))]
|
||||
"(TARGET_H8300H || TARGET_H8300S)
|
||||
&& INTVAL (operands[1]) != 7"
|
||||
"(TARGET_H8300H || TARGET_H8300S)"
|
||||
"btst %Z1,%Y0"
|
||||
[(set_attr "length" "2,8")
|
||||
(set_attr "cc" "set_zn,set_zn")])
|
||||
@ -604,8 +603,7 @@
|
||||
(match_operand 1 "const_int_operand" "n")))
|
||||
(clobber (match_scratch:QI 2 "=&r"))]
|
||||
"(TARGET_H8300H || TARGET_H8300S)
|
||||
&& !EXTRA_CONSTRAINT (operands[0], 'U')
|
||||
&& INTVAL (operands[1]) != 7"
|
||||
&& !EXTRA_CONSTRAINT (operands[0], 'U')"
|
||||
"#"
|
||||
"&& reload_completed"
|
||||
[(set (match_dup 2)
|
||||
@ -3514,6 +3512,27 @@
|
||||
(pc)))]
|
||||
"")
|
||||
|
||||
(define_peephole2
|
||||
[(set (cc0)
|
||||
(zero_extract:SI (match_operand:QI 0 "register_operand" "")
|
||||
(const_int 1)
|
||||
(const_int 7)))
|
||||
(set (pc)
|
||||
(if_then_else (match_operator 1 "eqne_operator"
|
||||
[(cc0) (const_int 0)])
|
||||
(label_ref (match_operand 2 "" ""))
|
||||
(pc)))]
|
||||
"(TARGET_H8300H || TARGET_H8300S)"
|
||||
[(set (cc0)
|
||||
(match_dup 0))
|
||||
(set (pc)
|
||||
(if_then_else (match_op_dup 3 [(cc0) (const_int 0)])
|
||||
(label_ref (match_dup 2))
|
||||
(pc)))]
|
||||
"operands[3] = ((GET_CODE (operands[1]) == EQ)
|
||||
? gen_rtx_GE (VOIDmode, cc0_rtx, const0_rtx)
|
||||
: gen_rtx_LT (VOIDmode, cc0_rtx, const0_rtx));")
|
||||
|
||||
;; (compare (reg:SI) (const_int)) takes 6 bytes, so we try to achieve
|
||||
;; the equivalent with shorter sequences. Here is the summary. Cases
|
||||
;; are grouped for each define_peephole2.
|
||||
|
Loading…
Reference in New Issue
Block a user