------- Comment #13 from ramana at gcc dot gnu dot org  2010-04-01 17:11 -------
(In reply to comment #12)
> 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

Correction - this should read 

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





> 
> 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))))
> 

(In reply to comment #12)
> 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