This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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.