This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11181] [3.3 only][avr-gcc] Optimization of "uchar/xor/and/single_bit" produced wrong code.
- From: "pinskia at physics dot uc dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jul 2003 16:27:04 -0000
- Subject: [Bug optimization/11181] [3.3 only][avr-gcc] Optimization of "uchar/xor/and/single_bit" produced wrong code.
- References: <20030613031030.11181.dmixm@marine.febras.ru>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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.