Commit Graph

  • db6354b787 do not include the Supervector impl.cpp files in fat runtime Konstantinos Margaritis 2021-10-09 00:28:22 +03:00
  • ba9d11c1b9 atm, do not built benchmark tool for fat runtime, as the function names are modified, need to rethink this Konstantinos Margaritis 2021-10-09 00:25:29 +03:00
  • a78f3789a9 atm, do not built benchmark tool for fat runtime, as the function names are modified, need to rethink this Konstantinos Margaritis 2021-10-09 00:25:29 +03:00
  • b8bf6063b6 Improve benchmarks Konstantinos Margaritis 2021-10-03 10:51:31 +00:00
  • 96af3e8613 Improve benchmarks Konstantinos Margaritis 2021-10-03 10:51:31 +00:00
  • f6f7d7a039 optimize and simplify Shufti and Truffle to work with a single block method instead Konstantinos Margaritis 2021-10-03 10:51:03 +00:00
  • fad39b6058 optimize and simplify Shufti and Truffle to work with a single block method instead Konstantinos Margaritis 2021-10-03 10:51:03 +00:00
  • ef7da97aa1 no need to convert to size_t Konstantinos Margaritis 2021-10-03 10:49:38 +00:00
  • 456b1c6182 no need to convert to size_t Konstantinos Margaritis 2021-10-03 10:49:38 +00:00
  • 1503d9a946 remove asserts, as they are not needed Konstantinos Margaritis 2021-10-03 10:49:09 +00:00
  • 9e6c1c30cf remove asserts, as they are not needed Konstantinos Margaritis 2021-10-03 10:49:09 +00:00
  • 5563f0c3b6 firstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very costly, the alternative is almost twice as fast on Arm Konstantinos Margaritis 2021-10-03 10:47:53 +00:00
  • fa3d509fad firstMatch/lastMatch are now arch-dependent, emulating movemask on non-Intel is very costly, the alternative is almost twice as fast on Arm Konstantinos Margaritis 2021-10-03 10:47:53 +00:00
  • 690e3c24e6 fix for new pshufb Konstantinos Margaritis 2021-10-03 10:46:47 +00:00
  • 9ab18cf419 fix for new pshufb Konstantinos Margaritis 2021-10-03 10:46:47 +00:00
  • 1af82e395f Changes/Additions to SuperVector class * added ==,!=,>=,>,<=,< operators * reworked shift operators to be more uniform and orthogonal, like Arm ISA * Added Unroller class to allow handling of multiple cases but avoid code duplication * pshufb method can now emulate Intel or not (avoids one instruction). Konstantinos Margaritis 2021-10-03 10:43:13 +00:00
  • 67e0674df8 Changes/Additions to SuperVector class * added ==,!=,>=,>,<=,< operators * reworked shift operators to be more uniform and orthogonal, like Arm ISA * Added Unroller class to allow handling of multiple cases but avoid code duplication * pshufb method can now emulate Intel or not (avoids one instruction). Konstantinos Margaritis 2021-10-03 10:43:13 +00:00
  • a3f083a9ff initial SSE/AVX2 implementation Konstantinos Margaritis 2021-09-20 23:52:31 +03:00
  • e7161fdfec initial SSE/AVX2 implementation Konstantinos Margaritis 2021-09-20 23:52:31 +03:00
  • 314116cbb5 remove adding CMAKE_CXX_IMPLICIT_LINK_LIBRARIES to PRIVATE_LIBS as on alpine linux this add gcc_s which is a shared library Duncan Bellamy 2021-09-27 09:37:00 +01:00
  • e5e2057ca9 remove adding CMAKE_CXX_IMPLICIT_LINK_LIBRARIES to PRIVATE_LIBS as on alpine linux this add gcc_s which is a shared library Duncan Bellamy 2021-09-27 09:37:00 +01:00
  • 70092c48b6 Unify benchmarks, more accurate measurements apostolos 2021-09-22 12:05:28 +03:00
  • bc57891aa0 Unify benchmarks, more accurate measurements apostolos 2021-09-22 12:05:28 +03:00
  • 6a72d7b5ca Unify benchmarks, more accurate measurements Konstantinos Margaritis 2021-09-22 11:21:37 +03:00
  • b40899966f Unify benchmarks, more accurate measurements Konstantinos Margaritis 2021-09-22 11:21:37 +03:00
  • ed4b280a7f benchmarks functions replaced with lambdas apostolos 2021-09-16 17:23:10 +03:00
  • d7e9d2d915 benchmarks functions replaced with lambdas apostolos 2021-09-16 17:23:10 +03:00
  • 390573a07a raw pointers replaced with smart pointers apostolos 2021-09-15 13:03:25 +03:00
  • cf1d72745c raw pointers replaced with smart pointers apostolos 2021-09-15 13:03:25 +03:00
  • d9b8e9e224 nit apostolos 2021-09-14 16:35:33 +03:00
  • c774a76f24 nit apostolos 2021-09-14 16:35:33 +03:00
  • 388dc457de nit apostolos 2021-09-14 16:01:32 +03:00
  • a86d6c290d nit apostolos 2021-09-14 16:01:32 +03:00
  • 8ae4fab6c6 fix benchmarks outputs apostolos 2021-09-14 15:32:26 +03:00
  • ee8fa17351 fix benchmarks outputs apostolos 2021-09-14 15:32:26 +03:00
  • d39e132fdf bandwidth output fixes apostolos 2021-09-13 20:25:46 +03:00
  • 53b9034546 bandwidth output fixes apostolos 2021-09-13 20:25:46 +03:00
  • b03428e584 size outup for case with match fixed apostolos 2021-09-13 10:09:13 +03:00
  • 0e141ce700 size outup for case with match fixed apostolos 2021-09-13 10:09:13 +03:00
  • da4805bdc5 nits apostolos 2021-09-09 12:06:02 +03:00
  • 5d4adf267d nits apostolos 2021-09-09 12:06:02 +03:00
  • 488517c45a size output fixed apostolos 2021-09-09 12:02:33 +03:00
  • 2e6c75c895 size output fixed apostolos 2021-09-09 12:02:33 +03:00
  • 87f605b87c nits apostolos 2021-09-07 11:41:19 +03:00
  • 9901477bcf nits apostolos 2021-09-07 11:41:19 +03:00
  • d1cf8989c7 benchmarks output fixes apostolos 2021-09-07 11:01:10 +03:00
  • 2b9636ccc0 benchmarks output fixes apostolos 2021-09-07 11:01:10 +03:00
  • 98a950f405 add missing header Konstantinos Margaritis 2021-09-02 15:35:23 +03:00
  • 91f58fb1ca add missing header Konstantinos Margaritis 2021-09-02 15:35:23 +03:00
  • e2fc2c3dfe remove confusing OPTIMISE flag Konstantinos Margaritis 2021-09-02 15:34:55 +03:00
  • be1551aa94 remove confusing OPTIMISE flag Konstantinos Margaritis 2021-09-02 15:34:55 +03:00
  • ee2ed6a8c8 nits apostolos 2021-08-25 11:43:33 +03:00
  • 4027319d6c nits apostolos 2021-08-25 11:43:33 +03:00
  • e0fefb3489 code size reduction by using function arrays and add bandwidth to output apostolos 2021-08-25 11:09:45 +03:00
  • 1009391d9f code size reduction by using function arrays and add bandwidth to output apostolos 2021-08-25 11:09:45 +03:00
  • bb9bcb3760 micro-benchmarks for shufti, trufle and noodle added apostolos 2021-08-24 14:05:12 +03:00
  • 904a94fbe5 micro-benchmarks for shufti, trufle and noodle added apostolos 2021-08-24 14:05:12 +03:00
  • cf4b95fff2 remove Windows/ICC support Konstantinos Margaritis 2021-07-30 12:49:38 +03:00
  • 08357a096c remove Windows/ICC support Konstantinos Margaritis 2021-07-30 12:49:38 +03:00
  • 752d6cf997 fix lshift128 test Konstantinos Margaritis 2021-07-30 12:37:41 +03:00
  • 8cff876962 fix lshift128 test Konstantinos Margaritis 2021-07-30 12:37:41 +03:00
  • b26a88efe5 alignr methods for avx2 and avx512 added apostolos 2021-07-28 12:55:32 +03:00
  • 67fa6d2738 alignr methods for avx2 and avx512 added apostolos 2021-07-28 12:55:32 +03:00
  • 150ae10ea4 limex_shuffle added and it's unit tests apostolos 2021-07-27 11:44:35 +03:00
  • b3a20afbbc limex_shuffle added and it's unit tests apostolos 2021-07-27 11:44:35 +03:00
  • b9fbfb1204 remove duplicate functions from previous merge Konstantinos Margaritis 2021-07-26 21:11:30 +03:00
  • de30471edd remove duplicate functions from previous merge Konstantinos Margaritis 2021-07-26 21:11:30 +03:00
  • acacafe1af add missing compile flags Konstantinos Margaritis 2021-07-26 21:09:12 +03:00
  • e5050c9373 add missing compile flags Konstantinos Margaritis 2021-07-26 21:09:12 +03:00
  • 44496d7508 add accidentally removed lines Konstantinos Margaritis 2021-07-26 19:50:34 +03:00
  • 7f5e859019 add accidentally removed lines Konstantinos Margaritis 2021-07-26 19:50:34 +03:00
  • cd5c251f67 * add -fno-new-ttp-matching to fix build-failures on newer gcc compilers with C++17 * add explicit -mssse3, -mavx2 in compiler flags in respective build profiles Konstantinos Margaritis 2021-07-26 19:13:33 +03:00
  • deae90f947 * add -fno-new-ttp-matching to fix build-failures on newer gcc compilers with C++17 * add explicit -mssse3, -mavx2 in compiler flags in respective build profiles Konstantinos Margaritis 2021-07-26 19:13:33 +03:00
  • 3bdd48fd61 Move SVE functions into their own files. George Wort 2021-07-20 18:13:02 +01:00
  • a879715953 Move SVE functions into their own files. George Wort 2021-07-20 18:13:02 +01:00
  • e1f0f6baf7 Implement new DoubleVermicelli16 acceleration functions using SVE2 George Wort 2021-06-28 16:29:43 +01:00
  • 6c6aee9682 Implement new DoubleVermicelli16 acceleration functions using SVE2 George Wort 2021-06-28 16:29:43 +01:00
  • 91f5f10831 Use SVE shufti for counting miracles. George Wort 2021-07-02 15:54:42 +01:00
  • 25183089fd Use SVE shufti for counting miracles. George Wort 2021-07-02 15:54:42 +01:00
  • 60b2112505 Use SVE for double shufti. George Wort 2021-07-13 20:39:53 +01:00
  • 00fff3f53c Use SVE for double shufti. George Wort 2021-07-13 20:39:53 +01:00
  • 87ee8d4d7f Use SVE for single shufti. George Wort 2021-07-13 15:09:38 +01:00
  • c95a4c3dd1 Use SVE for single shufti. George Wort 2021-07-13 15:09:38 +01:00
  • d1e763c13b Use SVE2 for counting miracles. George Wort 2021-07-02 15:53:43 +01:00
  • 56ef2d5f72 Use SVE2 for counting miracles. George Wort 2021-07-02 15:53:43 +01:00
  • ceb230c7db Replace USE_ARM_SVE with HAVE_SVE. George Wort 2021-07-16 13:21:14 +01:00
  • ab5d4d9279 Replace USE_ARM_SVE with HAVE_SVE. George Wort 2021-07-16 13:21:14 +01:00
  • 7ba060bbf8 Add Licence to state_compress and bitutils. George Wort 2021-07-16 11:56:48 +01:00
  • 8242f46ed7 Add Licence to state_compress and bitutils. George Wort 2021-07-16 11:56:48 +01:00
  • b54710d208 Implement new Vermicelli16 acceleration functions using SVE2. George Wort 2021-06-28 16:29:43 +01:00
  • df926ef62f Implement new Vermicelli16 acceleration functions using SVE2. George Wort 2021-06-28 16:29:43 +01:00
  • b6a7ee7e84 Add SVE2 support for dvermicelli George Wort 2021-06-23 14:14:28 +01:00
  • c7086cb7f1 Add SVE2 support for dvermicelli George Wort 2021-06-23 14:14:28 +01:00
  • 3296d538ea add arm rshift128/rshift128 Konstantinos Margaritis 2021-07-20 14:33:03 +03:00
  • a38324a5a3 add arm rshift128/rshift128 Konstantinos Margaritis 2021-07-20 14:33:03 +03:00
  • 0033cec725 fix failing corner case, add pshufb_maskz() Konstantinos Margaritis 2021-07-23 18:55:56 +03:00
  • 603bc14cdd fix failing corner case, add pshufb_maskz() Konstantinos Margaritis 2021-07-23 18:55:56 +03:00
  • 5adbfc94b8 use STL make_unique, remove wrapper header, breaks C++17 compilation Konstantinos Margaritis 2021-07-23 11:54:53 +03:00
  • e35b88f2c8 use STL make_unique, remove wrapper header, breaks C++17 compilation Konstantinos Margaritis 2021-07-23 11:54:53 +03:00
  • a9413d1397 change C/C++ standard used to C17/C++17 Konstantinos Margaritis 2021-07-23 11:47:45 +03:00