4#include "native/isa_import.h"
5#include "native/x86/lzcnt.h"
6#include "native/targets.h"
11extern "C++" namespace native {
12 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(Arch.has(x86_feature::lzcnt))
13 constexpr std::uint16_t
lzcnt(std::uint16_t value)
noexcept;
15 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(!Arch.has(x86_feature::lzcnt))
16 consteval std::uint16_t
lzcnt(std::uint16_t value)
noexcept;
18 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(Arch.has(x86_feature::lzcnt))
19 constexpr std::uint32_t
lzcnt(std::uint32_t value)
noexcept;
21 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(!Arch.has(x86_feature::lzcnt))
22 consteval std::uint32_t
lzcnt(std::uint32_t value)
noexcept;
24 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(Arch.has(x86_feature::lzcnt))
25 constexpr std::uint64_t
lzcnt(std::uint64_t value)
noexcept;
27 template<isa<x86> Arch = NATIVE_BA
SELINE>
requires(!Arch.has(x86_feature::lzcnt))
28 consteval std::uint64_t
lzcnt(std::uint64_t value)
noexcept;
constexpr std::uint16_t lzcnt(std::uint16_t value) noexcept
Architecture-tagged vectors, register packs and supporting value types. Native arithmetic follows its...