From 7ee5d1913c7cfd0261f86b0ff7be6968b8c07d84 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Fri, 28 Aug 2026 23:56:19 +0800 Subject: [Support] Use standard power-of-two checks --- backend/lib/MC/MCStreamer.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'backend/lib/MC/MCStreamer.cpp') diff --git a/backend/lib/MC/MCStreamer.cpp b/backend/lib/MC/MCStreamer.cpp index 56c3f96..709dccc 100644 --- a/backend/lib/MC/MCStreamer.cpp +++ b/backend/lib/MC/MCStreamer.cpp @@ -4,6 +4,7 @@ #include #include +#include #include #include #include @@ -23,10 +24,6 @@ namespace { Text.find('\r') != std::string_view::npos; } -[[nodiscard]] bool isPowerOfTwo(std::uint64_t Value) noexcept { - return Value != 0 && (Value & (Value - 1U)) == 0; -} - [[nodiscard]] unsigned log2Exact(std::uint64_t Value) noexcept { unsigned Result = 0; while (Value > 1) { @@ -282,7 +279,7 @@ Expected AsmTextStreamer::emitAlignment(std::uint64_t Alignment, std::uint auto Active = requireActiveSection(); if (!Active) return std::unexpected(Active.error()); - if (!isPowerOfTwo(Alignment)) { + if (!std::has_single_bit(Alignment)) { return makeUnexpected(ErrorCode::InvalidArgument, "assembly alignment must be a nonzero power of two"); } -- cgit v1.2.3