quality of code produced for arm cortex-A8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux