[patch] Fix insn length of bit insns in h8300 port.
Kazu Hirata
kazu@hxi.com
Tue Nov 13 15:03:00 GMT 2001
Hi,
Attached is a patch to fix insn length of bit insns in h8300 port.
The bit insns on H8/S can be as long as 8 bytes. The patch addresses
the issue.
Tested on h8300 port. Committed.
Kazu Hirata
2001-11-15 Kazu Hirata <kazu@hxi.com>
* config/h8300/h8300.md: Fix insn length of bit insns.
Index: h8300.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/h8300/h8300.md,v
retrieving revision 1.42
diff -c -r1.42 h8300.md
*** h8300.md 2001/10/31 16:33:03 1.42
--- h8300.md 2001/11/15 20:32:59
***************
*** 557,587 ****
;; ----------------------------------------------------------------------
(define_insn ""
! [(set (cc0) (zero_extract:QI (match_operand:QI 0 "bit_memory_operand" "rU")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n")))]
""
"btst %Z1,%R0"
! [(set_attr "length" "2")
! (set_attr "cc" "set_zn")])
(define_insn ""
! [(set (cc0) (zero_extract:HI (match_operand:QI 0 "bit_memory_operand" "rU")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n")))]
""
"btst %Z1,%Y0"
! [(set_attr "length" "2")
! (set_attr "cc" "set_zn")])
(define_insn ""
! [(set (cc0) (zero_extract:SI (match_operand:QI 0 "bit_memory_operand" "rU")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n")))]
""
"btst %Z1,%Y0"
! [(set_attr "length" "2")
! (set_attr "cc" "set_zn")])
(define_insn ""
[(set (cc0) (zero_extract:QI (match_operand:HI 0 "register_operand" "r")
--- 557,587 ----
;; ----------------------------------------------------------------------
(define_insn ""
! [(set (cc0) (zero_extract:QI (match_operand:QI 0 "bit_memory_operand" "r,U")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n,n")))]
""
"btst %Z1,%R0"
! [(set_attr "length" "2,8")
! (set_attr "cc" "set_zn,set_zn")])
(define_insn ""
! [(set (cc0) (zero_extract:HI (match_operand:QI 0 "bit_memory_operand" "r,U")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n,n")))]
""
"btst %Z1,%Y0"
! [(set_attr "length" "2,8")
! (set_attr "cc" "set_zn,set_zn")])
(define_insn ""
! [(set (cc0) (zero_extract:SI (match_operand:QI 0 "bit_memory_operand" "r,U")
(const_int 1)
! (match_operand:QI 1 "const_int_operand" "n,n")))]
""
"btst %Z1,%Y0"
! [(set_attr "length" "2,8")
! (set_attr "cc" "set_zn,set_zn")])
(define_insn ""
[(set (cc0) (zero_extract:QI (match_operand:HI 0 "register_operand" "r")
***************
*** 1030,1036 ****
"@
and %X2,%X0
bclr %W2,%R0"
! [(set_attr "length" "2,4")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
--- 1030,1036 ----
"@
and %X2,%X0
bclr %W2,%R0"
! [(set_attr "length" "2,8")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
***************
*** 1125,1131 ****
"@
or %X2,%X0
bset %V2,%R0"
! [(set_attr "length" "2,4")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
--- 1125,1131 ----
"@
or %X2,%X0
bset %V2,%R0"
! [(set_attr "length" "2,8")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
***************
*** 1202,1208 ****
"@
xor %X2,%X0
bnot %V2,%R0"
! [(set_attr "length" "2,4")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
--- 1202,1208 ----
"@
xor %X2,%X0
bnot %V2,%R0"
! [(set_attr "length" "2,8")
(set_attr "adjust_length" "no")
(set_attr "cc" "set_znv,none_0hit")])
More information about the Gcc-patches
mailing list