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/13313] Wrong code generated


------- Additional Comments From pinskia at gcc dot gnu dot org  2003-12-06 04:35 -------
Confirmed, combine is the pass which is making this bad code.
From:
(insn 10 9 12 0 (set (reg:SI 17)
        (reg:SI r0)) 11 {*movsi_h8300} (insn_list 9 (nil))
    (expr_list:REG_DEAD (reg:SI r0)
        (insn_list:REG_RETVAL 9 (expr_list:REG_EQUAL (expr_list (symbol_ref:HI ("ReadNumber") [flags 
0x3] <function_decl 0x40d9e4a4 ReadNumber>)
                    (nil))
                (nil)))))

(insn 12 10 16 0 (set (reg/v:SI 16 [ tmp ])
        (and:SI (reg:SI 17)
            (const_int 16711680 [0xff0000]))) 61 {*logicalsi3} (insn_list 10 (nil))
    (expr_list:REG_DEAD (reg:SI 17)
        (nil)))

(insn 16 12 19 0 (parallel [
            (set (reg:SI 18 [ tmp ])
                (lshiftrt:SI (reg/v:SI 16 [ tmp ])
                    (const_int 16 [0x10])))
            (clobber (scratch:QI))
        ]) 114 {*shiftsi} (insn_list 12 (nil))
    (expr_list:REG_DEAD (reg/v:SI 16 [ tmp ])
        (expr_list:REG_UNUSED (scratch:QI)
            (expr_list:REG_EQUAL (lshiftrt:SI (reg/v:SI 16 [ tmp ])
                    (const_int 16 [0x10]))
                (nil)))))

(insn 19 16 20 0 (set (reg:SI r0 [ tmp ])
        (reg:SI 18 [ tmp ])) 11 {*movsi_h8300} (insn_list 16 (nil))
    (expr_list:REG_DEAD (reg:SI 18 [ tmp ])
        (nil)))
To:

(insn 19 16 20 0 (set (reg:SI r0 [ tmp ])
        (zero_extend:SI (reg:QI r1 [orig:0+3 ] [0]))) 102 {*zero_extendqisi2_h8300} (insn_list 9 (nil))
    (nil))

Is this a regression?

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|critical                    |normal
             Status|WAITING                     |NEW
          Component|c                           |optimization
     Ever Confirmed|                            |1
           Keywords|                            |wrong-code
   Last reconfirmed|0000-00-00 00:00:00         |2003-12-06 04:35:46
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13313


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