This patchset dynamically selects functions at run-time based on CPU flags that current machine supports. This patchset modifies mempcy, memcpy perf test and x86 EFD, using function pointers and bind them at constructor time. Then in the cloud environment, users can compiler once for the minimum target such as 'haswell'(not 'native') and run on different platforms (equal or above haswell) and can get ISA optimization based on running CPU.
Xiaoyun Li (3): eal/x86: run-time dispatch over memcpy app/test: run-time dispatch over memcpy perf test efd: run-time dispatch over x86 EFD functions .../common/include/arch/x86/rte_memcpy.h | 343 +++++++++++++-------- lib/librte_efd/rte_efd_x86.h | 41 ++- mk/rte.cpuflags.mk | 14 + test/test/test_memcpy_perf.c | 40 ++- 4 files changed, 296 insertions(+), 142 deletions(-) -- 2.7.4