|
native 0.0.1
Vectors, masks and wide register packs for C++26
|
Exported Modules | |
| module | native.arm.features |
| module | native.simd |
Functions | |
|
template<isa< arm > Arch> requires (Arch.has(arm_feature::sm4)) | |
| constexpr simd< std::uint32_t, 4, Arch > | native::sm4e (simd< std::uint32_t, 4, Arch > a, simd< std::uint32_t, 4, Arch > b) noexcept |
| Perform four SM4 data rounds with state words and successive round keys in ascending lanes. | |
|
template<isa< arm > Arch> requires (!Arch.has(arm_feature::sm4) && requires { sizeof(simd<std::uint32_t, 4, Arch>); }) | |
| consteval simd< std::uint32_t, 4, Arch > | native::sm4e (simd< std::uint32_t, 4, Arch > a, simd< std::uint32_t, 4, Arch > b) noexcept |
| Evaluate constant operands without the SM4 instruction feature. | |
| template<isa< arm > Arch> requires (Arch.has(arm_feature::sm4)) | |
| constexpr simd< std::uint32_t, 4, Arch > | native::sm4ekey (simd< std::uint32_t, 4, Arch > a, simd< std::uint32_t, 4, Arch > b) noexcept |
|
template<isa< arm > Arch> requires (!Arch.has(arm_feature::sm4) && requires { sizeof(simd<std::uint32_t, 4, Arch>); }) | |
| consteval simd< std::uint32_t, 4, Arch > | native::sm4ekey (simd< std::uint32_t, 4, Arch > a, simd< std::uint32_t, 4, Arch > b) noexcept |
| Evaluate constant operands without the SM4 instruction feature. | |
Files | |
| file | src/native.arm.sm4.ccm |