This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/11181] [3.3 only][avr-gcc] Optimization of "uchar/xor/and/single_bit" produced wrong code.


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]