quality of code produced for arm cortex-A8

Ajmal Ahammed ajmalahd@gmail.com
Fri Jul 9 11:52:00 GMT 2010


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.


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