std::experimental::simd_cast, std::experimental::static_simd_cast
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) | |
| template < class T, class Abi > fixed_size_simd_mask<T, simd_size_v<T, Abi>> | (2) | |
| template < class T, std::size_t N > native_simd<T> | (3) | |
| template < class T, std::size_t N > native_simd_mask<T> | (4) | |
| template < class T, std::size_t N > simd<T> | (5) | |
| template < class T, std::size_t N > simd_mask<T> | (6) | |
Returns an 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.