microsoft / STL

MSVC's implementation of the C++ Standard Library.
Other
10.11k stars 1.5k forks source link

<intrin0.h>: Copy/move intrinsics needed by <complex> #1424

Open StephanTLavavej opened 3 years ago

StephanTLavavej commented 3 years ago

After merging #935, <complex> will need the following intrinsics mentioned by @statementreply:

x86/x64: _mm_fmsub_sd, _mm_set_sd, _mm_store_sd arm64: vfma_f64, vld1_f64, vst1_f64, vneg_f64

Currently they're declared by <arm64/arm64_neon.h>, <i386/immintrin.h>, and <intrin.h>. We should consider copying the intrinsics in the first 2 headers, and moving the intrinsics in <intrin.h>, to <intrin0.h>, so that the STL can build faster.

Marking this as blocked until vcruntime is open-sourced.

CaseyCarter commented 2 years ago

I've struck vfma_f64 since #2870 removed our only use of that intrinsic.