------- Comment #12 from ramana at gcc dot gnu dot org  2010-04-01 15:55 -------
I see this on arm-eabi cross with gcc version 4.5.0 20100401 (experimental)
[trunk revision 157899] (GCC) 

With the following command line options -

./xgcc -B`pwd` -S -O2 -mthumb -mcpu=cortex-a9 -mfpu=vfpv3-d16 ~/expr.i -da -g


In 203r.sched2 I see the following insn sequence which appears to be wrong to
my naked eye. 


(insn 5045 1929 5046 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set (reg:SI 1
r1)
        (plus:SI (reg/f:SI 13 sp)
            (const_int 272 [0x110]))) 4 {*arm_addsi3} (nil))

(insn:TI 5046 5045 6004 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set
(reg:DI 0 r0)
        (mem/c:DI (reg:SI 1 r1) [87 %sfp S8 A64])) 587 {*thumb2_movdi_vfp}
(nil))

(insn 6004 5046 5042 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [
            (set (reg:SI 3 r3 [+4 ])
                (const_int 0 [0x0]))
            (clobber (reg:CC 24 cc))
        ]) 704 {*thumb2_movsi_shortim} (expr_list:REG_UNUSED (reg:CC 24 cc)
        (nil)))

(insn:TI 5042 6004 6002 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (set
(mem/c:SI (plus:SI (reg/f:SI 13 sp)
                (const_int 272 [0x110])) [87 %sfp+-544 S4 A64])
        (reg:SI 14 lr)) 585 {*thumb2_movsi_vfp} (expr_list:REG_DEAD (reg:SI 14
lr)
        (nil)))

(insn:TI 6002 5042 6003 167 /home/ramrad01/trunk/libcpp/expr.c:1281 (parallel [
            (set (reg:SI 3 r3 [+4 ])
                (and:SI (reg:SI 3 r3 [+4 ])
                    (reg:SI 1 r1 [+4 ])))
            (clobber (reg:CC 24 cc))
        ]) 700 {*thumb2_alusi3_short} (expr_list:REG_DEAD (reg:SI 1 r1 [+4 ])
        (expr_list:REG_UNUSED (reg:CC 24 cc)
            (nil))))


-- 


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

Reply via email to