Commit Graph

8 Commits (master)

Author SHA1 Message Date
Bassam Tabbara 4339569f14 Support for runtime SIMD detection
This commits adds support for runtime detection of SIMD instructions. The idea is that you would build once with all supported SIMD functions and the same binaries could run on different machines with varying support for SIMD. At runtime gf-complete will select the right functions based on the processor.

gf_cpu.c has the logic to detect SIMD instructions. On Intel processors this is done through cpuid. For ARM on linux we use getauxv.

The logic in gf_w*.c has been changed to check for runtime SIMD support and fallback to generic code.

Also a new test has been added. It compares the functions selected by gf_init when we enable/disable SIMD support through build flags, with runtime enabling/disabling. The test checks if the results are identical.
2016-09-13 12:24:25 -07:00
Bassam Tabbara 7761438c63 Add SIMD test helpers
This commit adds a couple of scripts that help test SIMD functionality
on different machines through QEMU.

tools/test_simd_qemu.sh will automatically start qemu, run tests
and stop it. it uses the Ubuntu cloud images which are built for
x86_64, arm and arm64.

tools/test_simd.sh run a number of tests including compiling
with different flags, unit tests, and gathering the functions
selected in gf_init (and when compiling with DEBUG_FUNCTIONS)
2016-09-13 12:24:25 -07:00
Bassam Tabbara 22352ca094 Remove generated autotools files from the build. Also update
.gitignore to ignore some autotools files and tests.
2016-09-13 12:24:25 -07:00
Loic Dachary 284a97a0d9 ignore test-driver file
Ignore it because it is rebuild by autogen.sh

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-09-02 19:02:40 +02:00
Greg Farnum 79f34a1b46 gitignore: add src/.dirstamp
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2014-12-25 00:56:32 +01:00
Jens Rosenboom d631535472 ignore more library files and eecutables 2014-03-18 22:37:31 +01:00
Jens Rosenboom 756cd5c331 add more autogenerated files to be ignored 2014-03-18 21:55:20 +01:00
Jens Rosenboom 9b5f56ed18 add .gitignore 2014-03-18 21:53:01 +01:00