[PATCH] D41412: [libcxx] implement <experimental/simd> concat() and split()

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 17 09:25:36 PDT 2018


mclow.lists added inline comments.
Herald added subscribers: bixia, jlebar.


================
Comment at: libcxx/include/experimental/simd:994
+
+// NOTE: _Abis... is the extension proposed by P0820, allowing the APIs to
+// propagate _StorageKind during transforming input type(s) to the output type.
----------------
P0820 has been adopted, no need for this comment any more.


================
Comment at: libcxx/include/experimental/simd:1491
 
-  template <class _Generator, size_t... __indicies>
+  template <class _Generator, size_t... __indices>
   static constexpr decltype(
----------------
I see no change here other than fixing a typo - correct?


================
Comment at: libcxx/include/experimental/simd:1630
+
+#if !defined(_LIBCPP_HAS_NO_VECTOR_EXTENSION) && defined(_LIBCPP_COMPILER_CLANG)
+  template <size_t... __indices, class _Up, int __num_element>
----------------
In general, we try to keep all the compiler-specific bits in `<__config>`. They tend to grow/mutate over time, and so it's nice to have them all in one place.

Better to define something like `_LIBCPP_HAS_BUILTIN_SHUFFLEVECTOR` and use that; then if GCC gets religion and adds it, you will only have to update a single place.  Also, it makes the reading easier - no more looking at this and wondering "Why are you requiring clang here?"

Is this the only place you plan on using `__simd_shuffle`? If so, why not a member function.


https://reviews.llvm.org/D41412





More information about the cfe-commits mailing list