bonus fact: if you explore e.g. clang's immintrin headers, you will quickly discover that every single SIMD function and type is just a one-line wrapper around this API, making them mutually compatible.
also, unlike some template-based solutions, clang can easily perform optimizations on these types: https://godbolt.org/z/EvMcxoGeG