2

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).

bjornruffians
  • 671
  • 5
  • 16
  • [`gcc -S`](http://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options) is what you want for GCC's assembly output (which you could have Googled very easily). – Kninnug Dec 05 '13 at 20:17
  • I'm asking "Is that a valid way to determine that Neon is being used?" and also "What instruction should I even search for in asm?" – bjornruffians Dec 05 '13 at 20:20
  • You should include that in the question. From here it looks as if you know what Neon instructions to look for, but not how to get the assembly output. – Kninnug Dec 05 '13 at 20:22

1 Answers1

3

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.

Stephen Canon
  • 103,815
  • 19
  • 183
  • 269