[Bug target/56439] global and local register variables don't work in a useful way -- AVR

jasonwucj at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Feb 25 06:32:00 GMT 2013


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

Chung-Ju Wu <jasonwucj at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jasonwucj at gmail dot com

--- Comment #5 from Chung-Ju Wu <jasonwucj at gmail dot com> 2013-02-25 06:32:05 UTC ---
(In reply to comment #4)
> Wouldn't that be a reason /against/ doing this:
> 
>         mov r24,r4
>         lsl r24
>         mov r4,r24
> 
> instead of just lsl r4?

Just guess...

Is that possibly related to zero_extend RTL transformation?
Either in gcc optimization, or the design of machine description?

Try to use this declaration (use 'int' instead of 'char'):
  register unsigned int foo asm ("r4");

Is there any difference on code generation?



More information about the Gcc-bugs mailing list