Skip to content

Instantly share code, notes, and snippets.

@mattkretz
Last active October 27, 2016 13:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattkretz/450e1805142439002abe27719665837a to your computer and use it in GitHub Desktop.
Save mattkretz/450e1805142439002abe27719665837a to your computer and use it in GitHub Desktop.
  • dbeb19a Update README for 1.3 - Matthias Kretz
  • 362e5c9 Tests: fix corner case on simd_for_each - Matthias Kretz
  • a3dbc3f Remove stale ROOT release script - Matthias Kretz
  • 5b50cd9 Test simd_for_each_n and fix it - Matthias Kretz
  • c4c342e Adding simd_for_each_n - Hartmut Kaiser
  • 6357205 MSVC: work around isnan miscompilation - Matthias Kretz
  • 826aa8f SimdArray: use inline instead of Vc_INTRINSIC - Matthias Kretz
  • 444ad27 MSVC: work around miscompilation - Matthias Kretz
  • 3bd5bfc SimdArray: fix linkage & use inline/Vc_INTRINSIC - Matthias Kretz
  • 74897b8 MSVC: work around miscompilation - Matthias Kretz
  • 2a105cd Generate reference data independent from test data - Matthias Kretz
  • bdf4f11 GCC: work around converting load miscompilation - Matthias Kretz
  • 0c13091 Traits: support old C++11 w/o SFINAE iterator_traits - Matthias Kretz
  • bba17d8 cmake: hide CAT variable in advanced section - Matthias Kretz
  • 8c85189 MSVC: fix for 4MB stack alloc is a stack overflow - Matthias Kretz
  • 113ed9e Simdize: Fix forward iterator operator== - Matthias Kretz
  • 89c21fb Simdize: Fix iterator compares, was UB before - Matthias Kretz
  • 599b599 MSVC: std::fma on Windows is broken, expect it - Matthias Kretz
  • 0da1352 Traits: assume contiguous storage for RandomAccessIterator - Matthias Kretz
  • 59aec9c MSVC: undef min/max, define NOMINMAX - Matthias Kretz
  • 4e9231a Unittest: include windows.h to break min/max - Matthias Kretz
  • 110d1bd MSVC: call checkLibraryAbi with Vc_CDECL - Matthias Kretz
  • 7e314ca AppVeyor: Use environment matrix to split build - Matthias Kretz
  • f8a0763 cmake: fix cmake macros installation - Matthias Kretz
  • 6c46d14 cmake: New target cached_help to speed up 'make help' - Matthias Kretz
  • 5c55e99 MSVC: implement Vc_UNREACHABLE with assume(0) and use it in 3 switches - Matthias Kretz
  • 1b3834a Delete *.orig files from git merges - Matthias Kretz
  • 175ed0d CpuId: call init whenever a user includes Vc/cpuid.h - Matthias Kretz
  • c31207c MSVC: resolve a warning about use of uninitialized ptr - Matthias Kretz
  • f469928 MSVC: fix implicit conversion failure testing - Matthias Kretz
  • a962636 ICC: un-confuse ICC about this trait - Matthias Kretz
  • c6b980f MIC: adjust to new load_concept SFINAE - Matthias Kretz
  • c32e20d Appveyor: don't test on 32-bit - Matthias Kretz
  • abffdfb simdize: use make_tuple instead of tie - Matthias Kretz
  • ee46cdc MSVC: Resolve function overload resolution confusion - Matthias Kretz
  • d0f1f52 Move GCC specific pragma into #ifdef - Matthias Kretz
  • 3ec2656 MSVC: resolve warning about mixed signed-unsigned - Matthias Kretz
  • 46c0028 MSVC: more ICE workarounds - Matthias Kretz
  • 43864a7 MSVC: more simd_cast workarounds - Matthias Kretz
  • 9cb6730 MSVC: more ICE workarounds on loads - Matthias Kretz
  • 54ac95c MSVC: fix expected alignment value - Matthias Kretz
  • 5853531 MSVC: silence irrelevant warning about conversion to bool - Matthias Kretz
  • b80caab SimdArray: less enable_if magic on Vector conversion - Matthias Kretz
  • 06d3089 MSVC: work around decltype not working - Matthias Kretz
  • 00829e9 MSVC: work around ICE - Matthias Kretz
  • 459cded MSVC: Include intrin.h instead of x86intrin.h - Matthias Kretz
  • ebd927d MSVC: Silence warning about bool->int conversion - Matthias Kretz
  • c720f5f MSVC: Resolve warnings about down-conversion - Matthias Kretz
  • f8a6ef1 MSVC: Fix compile and different approach for ignore dead store - Matthias Kretz
  • f780e02 MSVC: Use &* to force conversion to bool* - Matthias Kretz
  • f982238 MSVC: Replace inline asm and GCC attributes - Matthias Kretz
  • 03c1b19 MSVC: Fix int/size_t mismatches - Matthias Kretz
  • ee3b22d MSVC: main requires Vc_CDECL - Matthias Kretz
  • da8a3c1 Make another size_t->int conversion explicit - Matthias Kretz
  • a45a904 MSVC: Reimplement rotated and reversed as workaround - Matthias Kretz
  • 120435d MSVC: workaround invalid std::ratio<N, 0> instantiation - Matthias Kretz
  • c89de94 MSVC: Replace Vc::enable_if with std::enable_if - Matthias Kretz
  • be5a214 MSVC: Remove SFINAE through alias templates - Matthias Kretz
  • 4065e89 Generate a 64 bit bit-shift - Matthias Kretz
  • e649d4d MSVC: Suppress bogus warning - Matthias Kretz
  • 726d49f MSVC: Don't use member types. Confuses the compiler. - Matthias Kretz
  • 25205c1 MSVC: Unconfuse MSVC about the only Vector type there is - Matthias Kretz
  • 5bbf88d MSVC: Size is considered constexpr, size() not - Matthias Kretz
  • 079e948 MSVC: Rename template parameters to fix compilation - Matthias Kretz
  • baed7a3 Resolve warning about size_t -> int conversion - Matthias Kretz
  • 77dc909 MSVC: Rely on noexcept for SFINAE - Matthias Kretz
  • 5204a2f MSVC: Move reinterpret_components_cast below Vector<T, Abi> - Matthias Kretz
  • bdf21e4 MSVC: Avoid MMX intrinsics: doesn't compile - Matthias Kretz
  • 03b6059 MSVC: Drop old workaround, the bug seems to be fixed - Matthias Kretz
  • 4dc7c64 MSVC fails in allocator_traits with deque - Matthias Kretz
  • 784e449 Work around MSVC seeing an ambiguity - Matthias Kretz
  • 862c867 MSVC: Work around ICE & std::forward indexes properly - Matthias Kretz
  • 5a4e2e3 MSVC: Work around is_functor_argument_immutable breakage - Matthias Kretz
  • 18326f0 MSVC: Ignore warnings about function name truncation - Matthias Kretz
  • 5942ec9 MSVC: different name resolution rules than GCC/clang/ICC - Matthias Kretz
  • 05eb438 MSVC: add non-GNU-asm variant of BSF masked gather - Matthias Kretz
  • 9c53181 MSVC: constexpr size() confuses MSVC - Matthias Kretz
  • 9f64a64 MSVC: work around noisy warning - Matthias Kretz
  • 4fb1654 MSVC: fix Vc_VDECL placement - Matthias Kretz
  • b1f0e3d MSVC: delay int_v instantiation - Matthias Kretz
  • 8382c7c AppVeyor: try to fix line endings - Matthias Kretz
  • 9d0b831 AppVeyor: try building x64 and x86 - Matthias Kretz
  • fe0c05a ctest: get build type from AppVeyor & set CTEST_SITE - Matthias Kretz
  • 861bc86 AppVeyor: add configuration file - Matthias Kretz
  • ede9f4f MSVC: add some __vectorcall where required - Matthias Kretz
  • edbc443 cmake: detect MSVC warning with german locale - Matthias Kretz
  • 152fa55 MSVC: Fix SFINAE workaround - Matthias Kretz
  • e593d4f MSVC: fix __cdecl usage on Linux - Matthias Kretz
  • 21bb33f MSVC: work around another enable_if issue - Matthias Kretz
  • d27b154 MSVC: work around SFINAE error in MSVC - Matthias Kretz
  • 4b6e732 MSVC: skip value pack expansion tests - Matthias Kretz
  • 42d0edc MSVC: use __cdecl on main via a new macro - Matthias Kretz
  • 505b900 ctest: detect msys as MSVC platform - Matthias Kretz
  • 5131fce MSVC: add error message - Matthias Kretz
  • 1de52c1 MSVC: work around SFINAE confusions - Matthias Kretz
  • 0278337 MSVC: this should require the template keyword ... - Matthias Kretz
  • bee2149 MSVC: un-confuse the compiler with verbose code - Matthias Kretz
  • 1fe7018 MSVC: work around broken SFINAE in the compiler - Matthias Kretz
  • 62aab56 MSVC: like ICC, drop the value packs in simdize - Matthias Kretz
  • 5fffd33 MSVC: work around constexpr function in enable_if - Matthias Kretz
  • 1de23e9 MSVC: compiler refuses over-alignment > 32 - Matthias Kretz
  • 94fa07d MSVC: the main function requires __cdecl - Matthias Kretz
  • 6fc411b MSVC: the m...i_i8 member is char not signed char - Matthias Kretz
  • 71ced95 MSVC: resolve warning about irrelevant 64bit->32bit conversion - Matthias Kretz
  • 15927a4 MSVC: workaround confusion about empty parameter packs - Matthias Kretz
  • e9c36f5 MSVC: spurious hate of inline here - Matthias Kretz
  • bd63c36 MSVC: apparently creates a defaulted ctor by itself - Matthias Kretz
  • 5be8863 MSVC: use different type names to un-confuse the compiler - Matthias Kretz
  • 811aa92 MSVC: help MSVC to get overload resolution right - Matthias Kretz
  • ce312a6 MSVC: ifdef a GCC workaround - Matthias Kretz
  • 1110fbe MSVC: Manually expand type aliases, they confuse the compiler - Matthias Kretz
  • f74282e MSVC: __declspec(deprecated) does not work for typedefs - Matthias Kretz
  • c7c75c5 MSVC: de-confuse the compiler about the type I meant - Matthias Kretz
  • a953590 MSVC: use FUNCSIG instead of PRETTY_FUNCTION - Matthias Kretz
  • de938f0 MSVC: drop Vc_ALIGNED_PARAMETER / Vc_PASSING_VECTOR_BY_VALUE_IS_BROKEN - Matthias Kretz
  • d418cc5 MSVC: resolve confusion about Mask type - Matthias Kretz
  • 89bb12c MSVC: use Size instead of size() - Matthias Kretz
  • 0e35929 MSVC: MS defined std::array as a class - Matthias Kretz
  • 2e07842 MSVC: Ifdef on _WIN32 instead of Vc_MSVC - Matthias Kretz
  • e4cd69f MSVC: drop intrin.h hack - Matthias Kretz
  • 7a32fcc MSVC: Remove constexpr hack - Matthias Kretz
  • 9d5a888 MSVC: Assume MSVC 2015 supports C++11 - Matthias Kretz
  • 65b58e7 cmake: at least MSVC 2015 & default to __vectorcall - Matthias Kretz
  • 2273a2e cmake: Support for new /arch:AVX2 flag - Matthias Kretz
  • 366988f cmake: no run targets inside Visual Studio - Matthias Kretz
  • 32fa973 Mandelbrot: replace deprecated cast with simd_cast - Matthias Kretz
  • 165042d Enable ADL for simd_cast - Matthias Kretz
  • f12e2a9 ctest: fix launcher usage in MIC macros - Matthias Kretz
  • 2ae45ed ctest: Shorten 'KDE neon' build name on dashboard submission - Matthias Kretz
  • 71f7207 Tests: Clang bug workaround: print index on failure - Matthias Kretz
  • df4247c Clang miscompiles what ICC requires for proper code-gen - Matthias Kretz
  • 2b1ad38 Unittest: Resolve unused argument warning - Matthias Kretz
  • 512fab4 Clang: support vanilla clang on MacOS - Matthias Kretz
  • 92850da Travis: use a newer clang - Matthias Kretz
  • c4d6b41 cmake: drop ROOT_RELEASE functionality - Matthias Kretz
  • e0fe7bf GCC4.8: work around alignas argument confusion - Matthias Kretz
  • ba99594 Typelist: slight change to reduce necessary recursion - Matthias Kretz
  • f478adf Clang: work around Clang extra-smartness - Matthias Kretz
  • 8a40309 ICC17: Turn into full specializations - Matthias Kretz
  • 95d68a9 MIC: move InterleaveImpl after the definition of MIC::Vector - Matthias Kretz
  • 39ff0de MIC: gatherImplementation requires a non-Segment type - Matthias Kretz
  • 15aa101 ICC17: Work around alignas and constexpr bugs - Matthias Kretz
  • 1ab1612 Fix WriteMaskedVector changes for MIC - Matthias Kretz
  • db64115 IndexSequence: New divide&conquer implementation - Matthias Kretz
  • 57ad5b8 ctest: Ensure errno.h can be included - Matthias Kretz
  • d517316 ICC: Use a reference instead of a pointer - Matthias Kretz
  • 43f61ae Storage: Call zero<...> intrinsic instead of T() - Matthias Kretz
  • 446b4b5 AVX: don't use __m256[id] as tag types - Matthias Kretz
  • 9a21a3c SimdArray: Optimize frexp for <double, 8> working around a GCC bug - Matthias Kretz
  • bddb8f5 Unittest: support empty Typelists - Matthias Kretz
  • 1807ff2 Replace deprecated alias - Matthias Kretz
  • 6fb9855 Simdize: work around clang SFINAE issues for brace/paren traits - Matthias Kretz
  • c67083b Storage: Rewrite Union strategy to store VectorType - Matthias Kretz
  • 7b2d154 Storage: remove ref() member function - Matthias Kretz
  • a55c3b9 Simdize: rewrite brace/paren traits for ICC support - Matthias Kretz
  • 1f3b5af Tests: drop TypelistSentinel usage - Matthias Kretz
  • 294bb0b Unittest: fix GCC complaint about unused variable - Matthias Kretz
  • 35817f6 Macros: ICC complains about [[gnu::noinline]] - Matthias Kretz
  • c4c374b Typelist: restore C++11 compat and use Vc::index_sequence - Matthias Kretz
  • 73c628d Unittest: iterate TypeList via index_sequence - Matthias Kretz
  • ccf8e7b Typelist: inheritance based type indexing - Matthias Kretz
  • 1e35ba3 Storage: use EntryType[Size] in Union - Matthias Kretz
  • da02ebf ctest: submit build results before testing - Matthias Kretz
  • b51904d Storage: Add missing VectorType conversion operator - Matthias Kretz
  • f52a48a AVX: replace SSE's Vc_DEBUG with the AVX one - Matthias Kretz
  • 4f336b2 SSE: clean up intrinsics.h and add 8/64-bit compares - Matthias Kretz
  • 4d46b63 Add new Vc_UNREACHABLE macro - Matthias Kretz
  • bc0bb83 SSE: Implement 16-element and 2-element mask load/store - Matthias Kretz
  • 971fec4 Make the Storage abstraction easier to use - Matthias Kretz
  • c995320 Remove unnamed namespace which disables ADL - Matthias Kretz
  • 5126bd1 Unittest: Make disasm slightly easier - Matthias Kretz
  • 5fed4cb Add Vc_NEVER_INLINE macro - Matthias Kretz
  • 2609e62 Typelist: Make list split flatter & more efficient - Matthias Kretz
  • f4ffdcb Typelist: Add expand_one/-list operations - Matthias Kretz
  • 4e5a46e Unittest: prefix printMem output with "0x" - Matthias Kretz
  • d8c2b7b Unittest: split based implementation - Matthias Kretz
  • 5e5a162 Typelist: add split meta-function - Matthias Kretz
  • 2b66e22 Typelist: make concat fully O(log(N)) - Matthias Kretz
  • 64583ba docs: Explain "scalar" execution - Matthias Kretz
  • 080116d SimdArray: add unit test for scatter - Matthias Kretz
  • 81bc774 SimdArray: implement missing scatter functions - Matthias Kretz
  • 5728198 Memory: use recursive data structure starting with GCC6/Vc2 - Matthias Kretz
  • 70e8c28 tests: convert memory to new unit test API - Matthias Kretz
  • bca6476 SimdArray: fix SimdMaskArray::vector_type member - Matthias Kretz
  • 1f3b303 Silence -Waddress warning for unused parameter hack - Matthias Kretz
  • ed37605 Adjust for GCC 6 discarding attributes from template arguments - Matthias Kretz
  • 7b27d13 Drop AliasStrategy::Union specialization for GCC6 - Matthias Kretz
  • fd12fae cmake: match i686 for x86 support - Matthias Kretz
  • 8186b3f Use CheckIncludeFileCXX instead of CheckIncludeFile - James Cowgill
  • 2313152 cmake: Fix logic, only warn for GCC 5 - Matthias Kretz
  • e6e4c40 cmake: ensure includes, cmake, and lib are really found - Matthias Kretz
  • fba9321 Install CMake config files in a multiarch path if asked - James Cowgill
  • 449af81 Move InterleavedMemoryWrapper implementation to Detail - Matthias Kretz
  • 33d3f65 Fix sh compatibility - Matthias Kretz
  • 9f9eda6 Make narrowing conversions explicit - Matthias Kretz
  • fbe9ebe tests: Use Vc typedefs - Matthias Kretz
  • 568cd90 tests: use correct int type for ptr type-punning - Matthias Kretz
  • c0034b3 use alignof instead of attribute((aligned())) - Matthias Kretz
  • 5c924b4 OFA: Convert hex to decimal as it confuses cmake on Windows - Matthias Kretz
  • a2dcfb9 ctest: Print arch if no C++ compiler is found - Matthias Kretz
  • 74cb352 simd_cast: seems these functions were already covered by simdarray.h - Matthias Kretz
  • 3da43df Simdize: add missing Size member (same as size()) - Matthias Kretz
  • 74e08ed Use _(mingw)aligned_free on _WIN32 - Matthias Kretz
  • b11e617 Deprecate explicit Vector & Mask conversion ctors - Matthias Kretz
  • ae7e5a8 Use standard attribute for deprecation with C++14 - Matthias Kretz
  • e8d54e9 Move Vc_DEPRECATED first for [[deprecated]] compat - Matthias Kretz
  • 5bc47e1 Add macros to simplify check for Vc 1.x vs 2.x - Matthias Kretz
  • 5ea612d Drop 'all rights reserved' - Matthias Kretz
  • a64895a Skip Test_vc script and allow non-Experimental builds - Matthias Kretz
  • 0da37f3 Deduplicate test invocations for the same compiler - Matthias Kretz
  • 000907d Test all compilers found via environment-modules - Matthias Kretz
  • 0ea2cf3 Refactor starting test runs - Matthias Kretz
  • 6eb44f9 Move generate implementation before first use - Matthias Kretz
  • c3d9d15 Add design guidelines and be clearer on naming - Matthias Kretz
  • 9ee50f0 Spell out the naming rules - Matthias Kretz
  • b2ead82 Add/update GitHub files - Matthias Kretz
  • d48fb92 OFA: rename skylake-xeon to skylake-avx512 - Matthias Kretz
  • 5099a59 cmake: use a different variable name - Matthias Kretz
  • 5bd13a1 MIC: Fix ElementReference changes - Matthias Kretz
  • bbcb36c Work around non-SFINAE iterator_traits on ICC/MIC - Matthias Kretz
  • a1db38d Drop ICC macro hack in favor of ugly code - Matthias Kretz
  • f589339 Skip applyAndCall for clang 3.[56] with -m32 - Matthias Kretz
  • 22a092a UnitTest: add Skip method (class) - Matthias Kretz
  • ad192ab Remove unnecessary grep - Matthias Kretz
  • 670f047 Clean up vector shift implementations - Matthias Kretz
  • 37d3e6f Skip code that ICEs with clang 3.4 - Matthias Kretz
  • bc59972 Test for clang bug with -mx32 to skip the compiler - Matthias Kretz
  • 8fbff20 Add vim foldmarkers - Matthias Kretz
  • 766f4de Work around GCC 4.8 alignas bug - Matthias Kretz
  • e252d73 Compile with -mx32 if possible - Matthias Kretz
  • ffd94b0 ctest: Shorten branch names to gh issue tag - Matthias Kretz
  • f3a3d7c Skip cross compilers and duplicates in Test_all_compilers - Matthias Kretz
  • 8e08f8a Resolve sincos breakage on Apple after Vc_CLANG change - Matthias Kretz
  • a4f4570 Rewrite shift reference to avoid thrashing clang 3.7 - Matthias Kretz
  • eb77010 Clean up includes & add vim foldmarkers - Matthias Kretz
  • 744d3f1 Rewrite SimdMaskArray::shifted to work around clang ICE - Matthias Kretz
  • 0ba7cd8 Simplify template on inc-/decrement operators - Matthias Kretz
  • b46e0af ctest: build in extra subdirectory - Matthias Kretz
  • b262959 Support finding clang and gcc in Test_all_compilers - Matthias Kretz
  • f098724 Remove no-break spaces from build path for Qt moc - Matthias Kretz
  • d80466a Add Vc_APPLECLANG macro use it for fix_clang_emmintrin.h - Matthias Kretz
  • 6de8b53 Remove obsolete compiler workarounds - Matthias Kretz
  • b78a33e Work around clang warning - Matthias Kretz
  • 1a64135 Rely on implicit copy ctor/assign - Matthias Kretz
  • af82174 Port Iterator to ElementReference - Matthias Kretz
  • 267b5cb Mask: Use ElementReference for operator[] - Matthias Kretz
  • c1d0716 Test unary ! on Mask::operator[] - Matthias Kretz
  • d4398de Test noexcept of Mask::operator[] - Matthias Kretz
  • feb1be7 Test unary operators on ElementReference - Matthias Kretz
  • 8a2d830 Modified range-for test to expect InputIterator - Matthias Kretz
  • 5b75da6 New iterators unit test - Matthias Kretz
  • bd9e338 Segment only needs to support const operator[] - Matthias Kretz
  • e863a26 Disambiguate call to set - Matthias Kretz
  • ffcad5f Use const operator[] where possible - Matthias Kretz
  • a3baffe Don't rely on lvalue ref in gather test - Matthias Kretz
  • bc05b97 Simplify SFINAE: the noexcept expression suffices - Matthias Kretz
  • d1c5a6d Don't warn about may_alias type arguments to MayAlias - Matthias Kretz
  • 9b70b53 Static assert sensible size with for_all_masks - Matthias Kretz
  • ff67825 Return smart ref/rvalues from operator[] - Matthias Kretz
  • 25ae212 Add test to ensure subscripting is noexcept - Matthias Kretz
  • 494a255 Add test for operators not usable on lvalues - Matthias Kretz
  • 9cc6a9d Add ElementReference - a generic smart reference - Matthias Kretz
  • 8a4f7af Subscript Test: check copy, move, compound assign - Matthias Kretz
  • 9ff0c8a Port to new unittest.h - Matthias Kretz
  • 13f99b6 Allow assignment to Mask::operator[] only on the temporary - Matthias Kretz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment