summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* use assert(0) instead of exit(1)Loic Dachary2014-12-153-8/+11
| | | | | | | | | | | When a fatal error (unaligned memory etc.) is detected, gf-complete should assert(3) instead of exit(3) to give a chance to the calling program to catch the exception and display a stack trace. Although it is possible for gdb to display the stack trace and break on exit, libraries are not usually expected to terminate the calling program in this way. Signed-off-by: Loic Dachary <loic@dachary.org> (cherry picked from commit 29427efac2ce362fce8e4f5f5f1030feba942b73)
* Merged in jannau/gf-complete/neon (pull request #25) Kevin Greenan2014-10-2430-405/+2253
|\ | | | | arm neon optimisations
| * arm: NEON optimisations for gf_w64Janne Grunau2014-10-244-37/+400
| | | | | | | | | | Optimisations for 4,64 split table region multiplications. Only used on ARMv8-A since it is not faster on ARMv7-A.
| * arm: NEON optimisations for gf_w32Janne Grunau2014-10-244-57/+358
| | | | | | | | | | | | | | | | | | | | | | | | | | Optimisations for 4,32 split table multiplications. Selected time_tool.sh results on a 1.7 GHz cortex-a9: Region Best (MB/s): 346.67 W-Method: 32 -m SPLIT 32 4 -r SIMD - Region Best (MB/s): 92.89 W-Method: 32 -m SPLIT 32 4 -r NOSIMD - Region Best (MB/s): 258.17 W-Method: 32 -m SPLIT 32 4 -r SIMD -r ALTMAP - Region Best (MB/s): 162.00 W-Method: 32 -m SPLIT 32 8 - Region Best (MB/s): 160.53 W-Method: 32 -m SPLIT 8 8 - Region Best (MB/s): 32.74 W-Method: 32 -m COMPOSITE 2 - - Region Best (MB/s): 199.79 W-Method: 32 -m COMPOSITE 2 - -r ALTMAP -
| * arm: NEON optimisations for gf_w16Janne Grunau2014-10-244-51/+435
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimisations for the 4,16 split table region multiplications. Selected time_tool.sh 16 -A -B results for a 1.7 GHz cortex-a9: Region Best (MB/s): 532.14 W-Method: 16 -m SPLIT 16 4 -r SIMD - Region Best (MB/s): 212.34 W-Method: 16 -m SPLIT 16 4 -r NOSIMD - Region Best (MB/s): 801.36 W-Method: 16 -m SPLIT 16 4 -r SIMD -r ALTMAP - Region Best (MB/s): 93.20 W-Method: 16 -m SPLIT 16 4 -r NOSIMD -r ALTMAP - Region Best (MB/s): 273.99 W-Method: 16 -m SPLIT 16 8 - Region Best (MB/s): 270.81 W-Method: 16 -m SPLIT 8 8 - Region Best (MB/s): 70.42 W-Method: 16 -m COMPOSITE 2 - - Region Best (MB/s): 393.54 W-Method: 16 -m COMPOSITE 2 - -r ALTMAP -
| * arm: NEON optimisations for gf_w8Janne Grunau2014-10-245-89/+428
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimisations for the 4,4 split table region multiplication and carry less multiplication using NEON's polynomial long multiplication. arm: w8: NEON carry less multiplication Selected time_tool.sh results for a 1.7GHz cortex-a9: Region Best (MB/s): 375.86 W-Method: 8 -m CARRY_FREE - Region Best (MB/s): 142.94 W-Method: 8 -m TABLE - Region Best (MB/s): 225.01 W-Method: 8 -m TABLE -r DOUBLE - Region Best (MB/s): 211.23 W-Method: 8 -m TABLE -r DOUBLE -r LAZY - Region Best (MB/s): 160.09 W-Method: 8 -m LOG - Region Best (MB/s): 123.61 W-Method: 8 -m LOG_ZERO - Region Best (MB/s): 123.85 W-Method: 8 -m LOG_ZERO_EXT - Region Best (MB/s): 1183.79 W-Method: 8 -m SPLIT 8 4 -r SIMD - Region Best (MB/s): 177.68 W-Method: 8 -m SPLIT 8 4 -r NOSIMD - Region Best (MB/s): 87.85 W-Method: 8 -m COMPOSITE 2 - - Region Best (MB/s): 428.59 W-Method: 8 -m COMPOSITE 2 - -r ALTMAP -
| * arm: NEON optimisations for gf_w4Janne Grunau2014-10-244-50/+335
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimisations for the single table region multiplication and carry less multiplication using NEON's polynomial multiplication of 8-bit values. The single polynomial multiplication is not that useful but vector version is for region multiplication. Selected time_tool.sh results for a 1.7GHz cortex-a9: Region Best (MB/s): 672.72 W-Method: 4 -m CARRY_FREE - Region Best (MB/s): 265.84 W-Method: 4 -m BYTWO_p - Region Best (MB/s): 329.41 W-Method: 4 -m TABLE -r DOUBLE - Region Best (MB/s): 278.63 W-Method: 4 -m TABLE -r QUAD - Region Best (MB/s): 329.81 W-Method: 4 -m TABLE -r QUAD -r LAZY - Region Best (MB/s): 1318.03 W-Method: 4 -m TABLE -r SIMD - Region Best (MB/s): 165.15 W-Method: 4 -m TABLE -r NOSIMD - Region Best (MB/s): 99.73 W-Method: 4 -m LOG -
| * arm: NEON optimisations for XOR in gf_multby_oneJanne Grunau2014-10-091-0/+35
| |
| * use posix_memalign to align memory for SIMD region testsJanne Grunau2014-10-093-13/+66
| | | | | | | | Properly emulate aligned allocation if posix_memalign is not available.
| * configure: add ARM/AArch64 NEON supportJanne Grunau2014-10-093-0/+74
| | | | | | | | Checks for arm_neon.h header.
| * simd: rename the region flags from SSE to SIMDJanne Grunau2014-10-0911-90/+99
| | | | | | | | | | SSE is not the only supported SIMD instruction set. Keep the old names for backward compatibility.
| * check: split unit tests and support paralell executionJanne Grunau2014-10-093-12/+17
| |
| * build: fix out of source tree buildJanne Grunau2014-10-094-8/+8
| |
| * build: make CFLAGS user setableJanne Grunau2014-10-091-3/+3
|/ | | | | There is no need to force the non-default CFLAGS on users trying to set them via enviroment variable or on configure command.
* Merged in dachary/gf-complete/wip-static-code-analysis (pull request #24) Kevin Greenan2014-10-032-2/+1
|\ | | | | static code analysis fixes
| * remove dead code in create_gf_from_argvLoic Dachary2014-09-171-1/+0
| | | | | | | | | | | | | | | | Since there can only be one -m, base cannot be set by -m COMPOSITE and then deallocated on the second -m if it is bugous. The second -m will exit on error at _gf_errno = GF_E_TWOMULT;. Signed-off-by: Loic Dachary <loic-201408@dachary.org>
| * disable gf_error_check test that requires >> 64Loic Dachary2014-09-171-1/+1
|/ | | | | | Because >> 64 does not have a defined behavior. Signed-off-by: Loic Dachary <loic-201408@dachary.org>
* Merged in beol/gf-complete (pull request #23) Kevin Greenan2014-08-231-1/+6
|\ | | | | On CPU that doesn't support SSE4.2 instructions set, this will fail
| * On CPU that doesn't support SSE4.2 instructions set, this will failLeo Laksmana2014-08-231-1/+6
|/ | | | | | | because incorrect header is included. smmintrin.h => SSE4.1 nmmintrin.h => SSE4.2
* Removed comments marking CARRY_FREE_GK additions.Adam Disney2014-06-165-12/+2
|
* Merge remote-tracking branch 'dalgaaf/wip-da-sca-20140513'Adam Disney2014-06-169-37/+37
|\
| * gf_w32.c: remove dead assignment with no effectDanny Al-Gaaf2014-05-141-1/+0
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_time.c: remove dead assignment to 'elapsed'Danny Al-Gaaf2014-05-141-2/+0
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w32.c: fix/remove some dead assignmentsDanny Al-Gaaf2014-05-141-8/+4
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w16.c: fix/remove some dead assignmentsDanny Al-Gaaf2014-05-141-2/+2
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w128.c: remove some dead assignmentsDanny Al-Gaaf2014-05-141-3/+0
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w8.c: fix dead assignment report from scan-buildDanny Al-Gaaf2014-05-141-1/+2
| | | | | | | | | | | | Fix dead assignment in case of INTEL_SSSE3 defined. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w64.c: remove dead assignments and unused variable 'm2'Danny Al-Gaaf2014-05-141-3/+1
| | | | | | | | | | | | | | The 'm2' variable in gf_w64_clm_multiply_region_from_single_2() isn't used except for calculations on 'm2' which are not used later in the code. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w64.c: remove dead assigments in gf_w64_shift_multiply()Danny Al-Gaaf2014-05-141-3/+0
| | | | | | | | | | | | | | These assigments are never used and directly overwritten later in the function. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * tools/gf_poly.c: fix undefined allocation of 0 bytesDanny Al-Gaaf2014-05-141-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to man page of malloc the behaviour in case of allocation size of 0 bytes is undefined: "If size was equal to 0, either NULL or a pointer suitable to be passed to free() is returned" Fix for clang scan-build report: Unix API Undefined allocation of 0 bytes (CERT MEM04-C; CWE-131) 210 poly = (gf_general_t *) malloc(sizeof(gf_general_t)*(n+1)); 9 Call to 'malloc' has an allocation size of 0 bytes Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_w32.c: fix dereference of undefined pointer valueDanny Al-Gaaf2014-05-131-1/+1
| | | | | | | | | | | | Check for array boundaries of 't' in while loop header. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * test/gf_unit.c: free memory after usageDanny Al-Gaaf2014-05-131-7/+13
| | | | | | | | Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
| * gf_inline_time.c: fix memory leakDanny Al-Gaaf2014-05-131-4/+6
| | | | | | | | | | | | | | | | Free all with malloc allocated memory before exit. Change if checks against 'w' to be a if-else check to prevent checking after already matched. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* | Fixed a few minor warnings when running autogen.sh.Adam Disney2014-06-165-20/+8
| |
* | Merge remote-tracking branch 'jayrde/wip-autoconf-cleanup'Adam Disney2014-06-1623-42961/+69
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore INSTALL Makefile.in aclocal.m4 config.guess config.sub configure examples/Makefile.in include/config.h.in include/config.h.in~ install-sh ltmain.sh m4/libtool.m4 m4/ltversion.m4 missing src/Makefile.in test/Makefile.in tools/Makefile.in
| * | ignore more library files and eecutablesJens Rosenboom2014-03-181-1/+21
| | |
| * | fixup AM_INIT_AUTOMAKE callJens Rosenboom2014-03-181-1/+1
| | |
| * | add autogen.sh call to READMEJens Rosenboom2014-03-181-0/+1
| | |
| * | cleanup unused flag leftover from commit fb0bbdcfJens Rosenboom2014-03-181-4/+0
| | |
| * | Merge branch 'wip-autoconf-cleanup' of ↵Jens Rosenboom2014-03-180-0/+0
| |\ \ | | | | | | | | | | | | https://bitbucket.org/jayrde/gf-complete into wip-autoconf-cleanup
| | * | Created new branch wip-autoconf-cleanupJens Rosenboom2014-03-180-0/+0
| | | |
| * | | remove obsolete filesJens Rosenboom2014-03-182-148/+0
| | | |
| * | | add more autogenerated files to be ignoredJens Rosenboom2014-03-181-0/+7
| | | |
| * | | remove autogenerated files from repositoryJens Rosenboom2014-03-1817-38854/+0
| | | |
| * | | add .gitignoreJens Rosenboom2014-03-181-0/+41
| |/ /
* | | autoreconf'd to reflect addition of --disable-sseKevin Greenan2014-06-093-2/+18
| | |
* | | Adding option to disable SSE in autoconf scriptKevin Greenan2014-06-091-0/+8
| | |
* | | Removed PDF from the repo and added a note in the README that describes how toKevin Greenan2014-06-092-2/+4
| | | | | | | | | | | | get the manual.
* | | Implemented CARRY_FREE_GK. Sections added are tagged with a comment //ADAMAdam Disney2014-06-065-15/+163
| |/ |/| | | | | for easy navigation.
* | Merged in dalgaaf/gf-complete/wip-da-coverity-rebased (pull request #21) Kevin Greenan2014-04-277-12/+17
|\ \ | | | | | | Fixes for some issues found via Coverity in the Ceph project.