This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Post-increment constraint in inline assembly (SuperH)


On 29.01.2018 10:12, Andrew Haley wrote:
On 29/01/18 09:05, Georg-Johann Lay wrote:
A different approach is to explicitly use post-increment if that's the
favourable addressing mode:

__asm__ ("movua.l %1, @%0+"
           : "=z" (longword), "+r" (src)
           : "m" (*src)

I'm not familiar with SuperH, but isn't src %1 in this asm, when it
should be %0 ?

Yes, at least according to Segher's asm dump:

#APP
        movua.l @r4+, r0
#NO_APP

Hence the source should read something like

__asm__ ("movua.l @%1+, %0"
         : "=z" (longword), "+r" (src)
         : "m" (*src));

instead.  Thanks for spotting this.

Johann


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]