I am using the FFTW3 library on Beagleboard xM in a C application to perform r2c FFTs of floats. I read on this page that FFTW3 includes support for Neon, which is part of the xM architecture.
Is there a way to tell if the Neon coprocessor is actually being used?
For example, can I lists symbols from the object files and parse for some special Neon symbols? Alternatively, can I look through gcc -S assembler output for any Neon instructions? What instruction(s) would I look for? (I'm not familiar with what Neon assembly looks like).
Look at the disassembly. NEON instructions that operate on float data have a .f32
suffix and the NEON registers have names of the form dN
or qN
(where N
is an integer). So if you see instructions that look like:
vadd.f32 q0, q1, q2
then NEON is being used.