timshen added a comment.

A note on test cases: I only used simds ints to test split() and concat(), as 
both functions don't specialize on the element type, unlike the constructors.



================
Comment at: libcxx/include/experimental/simd:1491
 
-  template <class _Generator, size_t... __indicies>
+  template <class _Generator, size_t... __indices>
   static constexpr decltype(
----------------
mclow.lists wrote:
> I see no change here other than fixing a typo - correct?
That is 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>
----------------
mclow.lists wrote:
> 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.
GCC already got religion and had it, but in a radically different interface. 
There is little chance that they will merge the interface in the future.

The GCC one is called __builtin_shuffle 
(https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html). I haven't added it 
only because I don't care about the performance on GCC.

It's rather non-trivial to eliminate the difference between them, certainly 
more than a macro like _LIBCPP_HAS_BUILTIN_SHUFFLEVECTOR.

Do you have any other way to improve the readability?


https://reviews.llvm.org/D41412



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to