Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6782 Discussions

IPP XScale compile error - "uses VFP instructions"

Intel_C_Intel
Employee
888 Views
When I try to compile one of the example applications (e.g., 'Filtering') with IPP v4.0 for Xscale, I receive errors of the following sort (during linking):

/usr/local/ipp/ippwmmx40b/lib/ippSP_WMMX40BLNX_r.a(ssrand.o) uses VFP instructions, whereas .//Filtering does not

Presumably, the Makefile provided has taken care of the correct C-flag options.

I did a Google search (i.e. "uses VFP instructions" or gcc vfp flag), and there was some discussion of this issue. However, I cannot still decipher what the underlying problem is, nor how to solve it.

It appears to be a difference between object files I compile, and the way the IPP libraries were compiled. One was VFP (vector floating point) and the other way was FPA (floating point accelerate?).

I've tried a bunch of compilation flags that may be related (e.g., -mhard-float vs. -msoft-float, etc.), but nothing seems to change.

Perhaps the IPP v4.0 libraries need to be recompiled with different flags, or the tool-chain I have is not compatible (but it was provided by Intel). I need to know either way what I can do to resolve this. Thanks,

Dean
0 Kudos
5 Replies
Intel_C_Intel
Employee
888 Views

Hi Dean,

Yes, you need to use the right version of toolchain. For example, for IPP v3.0 you need arm-linux-gcc v2.95, but for IPP v4.0beta you need arm-linux-gcc v3.21.

Hope it helps.

What IPP samples you are interested? What do you think about IPP functionality? Does it meet your expectations?

Regards,
Vladimir

0 Kudos
Intel_C_Intel
Employee
888 Views

> Yes, you need to use the right version of toolchain. For example, for IPP v3.0 you need arm-linux-gcc v2.95, but for IPP v4.0beta you need arm-linux-gcc v3.21.

Thanks for replying. However I "do" have arm-linux-gcc v3.21 running, so it's not that.

Dean

0 Kudos
jsmerritt
Beginner
888 Views
I have run into the same problem where IPP 4.1 uses VFP instructions, and contrary to several responses, this CAN NOT be resolved by using an early version of the compiler !

The question seems to be asked frequently with no (valid) answers being returned ...

Thanks, Scott.
0 Kudos
Ying_S_Intel
Employee
888 Views
You may check with the toolchain support in IPP 4.1. You can refer to this URL at:
http://www.intel.com/software/products/ipp/sysreq.htm

If you think this is an issue in Intel IPP, please submit an issue via Intel Premier Support.
Thanks,
Ying S
Intel IPP
0 Kudos
jsmerritt
Beginner
888 Views
For the benefit of other "Linux GCC IPP 4.1 for PCA" users:

- GCC 4.0 (as yet unreleased) is reported to have VFP support

- For additional intellectual stimulation :) you can attempt to build a GCC 3.3.x toolchain with VFP support by including additional patches (search http://sources.redhat.com/ml/crossgcc for details)

- Since the Intel IPP libraries for PCA do not use floating point, you may find it easier to modify the e-flags field in ELF header on each of the object files in the Intel library to report something other than VFP ;) (Intel Premier Support may be able to provide a utility program ...)

Best regards, Scott.
0 Kudos
Reply