quality of code produced for arm cortex-A8

Richard Earnshaw rearnsha@arm.com
Fri Jul 16 14:57:00 GMT 2010


On Fri, 2010-07-09 at 16:59 +0530, Ajmal Ahammed wrote:
> Sir,
> 
>               My name is Ajmal A. I was compiling a program with neon
> intrinsics for arm cortex A-8. When I examined the output code, I
> observed that, among the available 32 d-registers of neon, the program
> uses only those from d16 (either if it's used as double word registers
> or quad word registers). And another problem is with the vld
> instructions. For vld instruction, it always uses the registers  d16,
> d17, .... Even if there are free registers like d26,d27, etc it pushes
> the contents of the registers d16, d17,... to the stack.
> 
> 

Without a testcase it is impossible to tell for sure what is happening.
Please post an example.


> I am using gcc 4.4.0, compiled using android-ndk-r4.
> 
> For compiling I used the following command:
> /home/master/ajmal/ndk/build/
> prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-gcc
> -I/home/master/ajmal/ndk/build/platforms/android-3/arch-arm/usr/include
> -fpic -mthumb-interwork -ffunction-sections -funwind-tables
> -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__
> -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__  -Wno-psabi -march=armv7-a
> -mfloat-abi=softfp -mthumb -Os -fomit-frame-pointer
> -fno-strict-aliasing -finline-limit=64 -mfpu=neon
> -I/home/master/ajmal/ndk/sources/cpufeatures
> -I/home/master/ajmal/ndk/samples/hello-neon/jni -DANDROID
> -DHAVE_NEON=1 -Wa,--noexecstack -O3 -DNDEBUG -g  -c -MMD -MP -MF
> /home/master/ajmal/ndk/samples/hello-neon/bin/ndk/local/armeabi-v7a/objs/helloneon/$1.o.d
> /home/master/ajmal/ndk/samples/hello-neon/jni/$1.c -o
> /home/master/ajmal/ndk/samples/hello-neon/bin/ndk/local/armeabi-v7a/objs/helloneon/$1.o
> 
> where $1 is the filename without the extension.
> 
> I have tried the latest version of gcc (4.5.0) also, with no better results.
> 
> Can you please tell me if there is a special reason for not using the
> other d registers, or for the stack operations. I have gone through
> the gcc manuals and some files gcc sources, but I couldn't clarify the
> doubt.
> 
> (My language proficiency is not so good, and this is the first time I
> am writing an e-mail for such an authority. I am sorry for any
> mistakes due to them).
> 
> Thank you in advance.
> Ajmal. A



More information about the Gcc-help mailing list