Skip to content

[C++] Unifying simd header includings #44249

@zanmato1984

Description

@zanmato1984

Describe the enhancement requested

Some of simd-related files are including concrete system headers such as:

#if defined(ARROW_HAVE_RUNTIME_AVX2)
# include <immintrin.h>
#endif

However I see that https://github.com/apache/arrow/blob/6f64af54ea3662b7e1685b84a81429df14beace1/cpp/src/arrow/util/simd.h seems to be a centralized header to sort out all the platform-specific checks. Besides, I think it is a good place to put universal definitions - e.g. working around certain compiler bugs like what #44116 did - to be visible to all simd source files.

Therefore I think we can unify the simd header inclusion by utilizing simd.h.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions