https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91189

Witold Markowski <witold.a.markowski at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |witold.a.markowski at gmail 
dot co
                   |                            |m

--- Comment #5 from Witold Markowski <witold.a.markowski at gmail dot com> ---
I did a small research in this topic and now I know that avr-gcc-9.1.0 compiler
generates some additional, overhead operations, like:


     932:       6e 87           std     Y+14, r22       ; 0x0e
     934:       7f 87           std     Y+15, r23       ; 0x0f
     936:       88 8b           std     Y+16, r24       ; 0x10
     938:       99 8b           std     Y+17, r25       ; 0x11
     93a:       6e 85           ldd     r22, Y+14       ; 0x0e
     93c:       7f 85           ldd     r23, Y+15       ; 0x0f
     93e:       88 89           ldd     r24, Y+16       ; 0x10
     940:       99 89           ldd     r25, Y+17       ; 0x11 

Storing and reading back the same registers.

I just found that exactly the same case is already reported with issue id
90706. Because of this I will not attach any examples here. In my opinion the
current issue depends on 90706 (please somebody update the 'Depends on' field
of the issue).
When 90706 is fixed then we should recheck this again and we will se how much
it improves the situation.

Reply via email to