[Bug target/39223] volatile bug on AVR

2010-03-07 Thread abnikant at gmail dot com


--- Comment #7 from abnikant at gmail dot com  2010-03-08 05:22 ---
(In reply to comment #6)
> An observation - the same file when compiled with -O1 for i386 target also
> appears to load g_54 using movl instruction.
> 
> _func_45:
> ...
> L11:
> testw   %bx, %bx
> je  L7
> movl_g_54, %eax
> L7:
> movl$1, 4(%esp)
> 
> 

It loads g_54 conditionally with gcc-4.4.0 and higher version in -O1


-- 


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




[Bug target/39223] volatile bug on AVR

2010-03-07 Thread abnikant at gmail dot com


--- Comment #8 from abnikant at gmail dot com  2010-03-08 05:26 ---
avr-gcc-4.4.0 -S -O1 small.c

code snippet version avr-gcc-4.4.0
.L__stack_usage = 0
rcall func_15
sbiw r24,0
breq .L4
lds r24,g_54
lds r25,g_54+1
lds r26,g_54+2
lds r27,g_54+3
.L4:
sts g_8,__zero_reg__
sts g_8+1,__zero_reg__
sts g_8+2,__zero_reg__
sts g_8+3,__zero_reg__


-- 


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