[Bug optimization/11181] [3.3 only][avr-gcc] Optimization of "uchar/xor/and/single_bit" produced wrong code.
pinskia at physics dot uc dot edu
gcc-bugzilla@gcc.gnu.org
Mon Jul 28 16:27:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11181
pinskia at physics dot uc dot edu changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[avr-gcc] Optimization of |[3.3 only][avr-gcc]
|"uchar/xor/and/single_bit" |Optimization of
|produced wrong code. |"uchar/xor/and/single_bit"
| |produced wrong code.
------- Additional Comments From pinskia at physics dot uc dot edu 2003-07-28 16:27 -------
It works on the mainline, I looked at the RTL at the last stage and it had:
(jump_insn 19 18 24 (set (pc)
(if_then_else (eq (zero_extract:HI (reg:QI 25 r25 [42])
(const_int 1 [0x1])
(const_int 0 [0x0]))
(const_int 0 [0x0]))
(label_ref 9)
(pc))) 97 {*sbrx_branch} (insn_list 13 (nil))
(expr_list:REG_DEAD (reg:QI 25 r25 [42])
(expr_list:REG_BR_PROB (const_int 8900 [0x22c4])
(nil))))
So it worked.
I will test the patch to find out if it fixes the problem on 3.3.1.
More information about the Gcc-bugs
mailing list