On 9 October 2012 11:58, Jubi Taneja jubitaneja@gmail.com wrote:
Hi Matt,
Thanks for sharing the information.
On Tue, Oct 9, 2012 at 3:51 PM, Matthew Gretton-Dann matthew.gretton-dann@linaro.org wrote:
On 9 October 2012 10:37, Jubi Taneja jubitaneja@gmail.com wrote:
Hi All,
I wanted to see the difference in objdump of an application where I can make the difference between the VFPV3 and VFPV4 support. I tried enabling the flag -mfpu=vfpv3 and -mfpu=vfpv4 for ARM Cortex A15 toolchain in my test code but cannot see the difference in two objdumps.
Try the following (tested against FSF GCC:
/* arm-none-linux-gnueabi-gcc -mcpu=cortex-a15 -mfpu=vfpv4 -S -o- /tmp/fma.c -mfloat-abi=hard -O2 */ float f(float a, float b, float c) { return a * b + c; } /* end of tmp.c */
(Note that -mfloat-abi=softfp will also work in this example. Which one you want to use depends on whether you have configured your system for hard or soft-float ABIs).
I checked both with -mfpu=vfpv3 and -mfpu=vfpv4 and it generates the same assembly code. VMLA insn is emitted for both the cases. I was wondering if I can get any test case so that I may observe the difference in the two objdumps.
Which compiler are you using? VFMA support is only in trunk FSF GCC. Linaro has not yet backported support to 4.7.
Thanks,
Matt