std::experimental::to_fixed_size, std::experimental::to_native, std::experimental::to_compatible
From cppreference.com
                    
                                        
                    < cpp | experimental | simd
                    
                                                            
                    |   Defined in header  <experimental/simd>
  | 
||
|   template< class T, class Abi > fixed_size_simd<T, simd_size_v<T, Abi>>  | 
(1) | (parallelism TS v2) | 
|   template< class T, class Abi > fixed_size_simd_mask<T, simd_size_v<T, Abi>>  | 
(2) | (parallelism TS v2) | 
|   template< class T, std::size_t N > native_simd<T>  | 
(3) | (parallelism TS v2) | 
|   template< class T, std::size_t N > native_simd_mask<T>  | 
(4) | (parallelism TS v2) | 
|   template< class T, std::size_t N > simd<T>  | 
(5) | (parallelism TS v2) | 
|   template< class T, std::size_t N > simd_mask<T>  | 
(6) | (parallelism TS v2) | 
Returns a simd or simd_mask object with the same elements, but a different ABI.
3-6) These functions do not participate in overloading resolution unless N is the same as the size of the return type.
Parameters
| v | - | the input simd or simd_mask object | 
Return value
The simd or simd_mask object with the specified ABI.
Example
| This section is incomplete Reason: no example  |