I have a set of static libraries, say lib1.a, lib2.a and lib3.a which have been compiled using ICC (Intel C/C++ Compiler). I used ICC with -ipo -c for compilation to create .o files and then XIAR (Intel Archiver) for creating .a libraries.
I want to give these three libraries to a client who does not have ICC and hence will be using GCC to compile and link her application with these libraries. Will the speed-gain (expected from cross-file optimizations due to libs built with -ipo option) not be achieved at all if she links these libraries using GCC?
This page from Intel Website on "GCC Compatibility and Interoperability" states:
Link-time optimization using the -ffat-lto-objects compiler option is provided for gcc compatibility. This implies that ld and ar can be used to link and archive object files, but by doing so you will lose cross-file optimizations.
I am using icc version 13.1.0 (gcc version 4.6.0 compatibility) with gcc version 4.6.3 on Ubuntu 12.04.2.
Any help will be appreciated.