512-bit wide set of sixteen f32 types, x86-specific
This type is the same as the __m512 type defined by Intel,
representing a 512-bit SIMD register which internally is consisted of
eight packed f32 instances. Usage of this type typically corresponds
to the avx512* and up target features for x86/x86_64.
Note that unlike __m512i, the integer version of the 512-bit
registers, this __m512 type has one interpretation. Each instance
of __m512 always corresponds to f32x16, or sixteen f32 types
packed together.
The in-memory representation of this type is the same as the one of an
equivalent array (i.e. the in-memory order of elements is the same, and
there is no padding between two consecutive elements); however, the
alignment is different and equal to the size of the type. Note that the
ABI for function calls may not be the same.
Most intrinsics using __m512 are prefixed with _mm512_ and are
suffixed with “ps” (or otherwise contain “ps”). Not to be confused with
“pd” which is used for __m512d.