Jarrod Smith
|
QCC Compiler error on NEON intrinsic only when using -finstrument-functions option
|
Jarrod Smith
06/15/2012 6:07 AM
post93692
|
QCC Compiler error on NEON intrinsic only when using -finstrument-functions option
Hey guys,
I'm using some NEON intrinsics in C++ code targeting the Blackberry Dev Alpha Device. Below are the QCC calls.
This compiles fine:
qcc -o src/main.o ../src/main.c -V4.6.3,gcc_ntoarmv7le -w1 -I/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/
target/qnx6/usr/include/freetype2 -I/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/target/qnx6/../target-
override/usr/include -D_FORTIFY_SOURCE=2 -DUSING_GL11 -c -O0 -g -fstack-protector-all -mfloat-abi=softfp -mfpu=neon
This produces the error:
qcc -o src/main.o ../src/main.c -V4.6.3,gcc_ntoarmv7le -w1 -I/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/
target/qnx6/usr/include/freetype2 -I/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/target/qnx6/../target-
override/usr/include -D_FORTIFY_SOURCE=2 -DUSING_GL11 -c -O0 -g -fstack-protector-all -finstrument-functions -mfloat-abi
=softfp -mfpu=neon
The only difference between the two is the addition of the -finstrument-functions flag.
The error I get is:
In file included from ../src/main.c:28:0:
/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/host/macosx/x86/usr/lib/gcc/arm-unknown-nto-qnx8.0.0eabi/4.6.3/
include/arm_neon.h: In function 'vget_lane_s64':
/Users/Jarrod/Documents/Dev/Blackberry/bbndk-10.0.4-beta/host/macosx/x86/usr/lib/gcc/arm-unknown-nto-qnx8.0.0eabi/4.6.3/
include/arm_neon.h:4992:3: error: argument must be a constant
Digging around it seems that GCC might have some issues with intrinsics when set to -O0, but I tried with -O1 and got
the same result (see final comment by Dmitry Moskalchuk): https://groups.google.com/forum/?fromgroups#!topic/android-ndk
/nyWARL6zFU0
Thanks for any help guys. I would love to leverage your awesome QNX Application Profiler with my NEON optimised routines
as these are the really performance critical parts of my app.
Cheers,
Jarrod
|
|
|