This is the mail archive of the gcc@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: ldreqd instruction in xscale


On Fri, 2002-01-25 at 15:22, Arvind Krishnaswamy wrote:
> The following are the first few lines of the strlen function (both
> arm-elf-gcc and xscale-elf-gcc were used with the -march=armv4t)
> Is it because strlen comes from the libraries and that was probably
> compiled without the switch? If so is there some way by which I can avoid
> this?

Yeah, or strlen might even be written in assembler.  In any case this
seems like a library issue: you need to either reconfigure or recompile
your library with the appropriate flags.

> 0000cc20 <strlen>:
>     cc20:   e52de004    str lr, [sp, -#4]!
>     cc24:   e3100003    tst r0, #3  ; 0x3

> 0001062c <strlen>:
>    1062c:   e3100003    tst r0, #3  ; 0x3
>    10630:   e92d40f0    stmdb   sp!, {r4, r5, r6, r7, lr}

Assuming these did actually come from the same source code, it's mildly
interesting that the xscale version has spilled an extra four registers.

p.


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