[libcxx-commits] [PATCH] D144362: [libcxx] <experimental/simd> Add ABI tags, class template simd/simd_mask implementations. Add related simd traits and tests.
Yin Zhang via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jun 1 21:45:24 PDT 2023
Joy12138 added a comment.
I encountered a problem in subsequent development that currently seems to need to be resolved in this patch.
In the previous comment, you suggested that I place all simd traits in a separate header file `traits.h`. During the process of adding the rest traits implementations, I found that most of them require the use of other interfaces placed in the `simd` header, similar to `is_simd` requires the use of `simd` classes. Therefore, I added `declaration.h` as forward declarations. However, there are too many interfaces that need to be referenced in the future, which is not suitable to add forward declarations for all.
I think there are two solutions.
One is to keep all external user interfaces under the `simd` header, just like our previous implementation.
Another is to categorize all external user interfaces into separate header files. No implementations in the `simd` header and only including other header files in order. Then we may need to add `traits.h`, `simd.h`, `simd_mask.h`, `aligned_tag.h`, `abi_tag.h`, `simd_casts.h`, `where_expression.h`, etc.
Which one do you prefer?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144362/new/
https://reviews.llvm.org/D144362
More information about the libcxx-commits
mailing list