From 0a06cf752316e929083aa1eae1c763de5eb210d0 Mon Sep 17 00:00:00 2001 From: Rohan Garg Date: Fri, 2 Dec 2022 22:30:15 +0530 Subject: [PATCH] util: migrate alignment functions and macros to use ALIGN_POT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rohan Garg Reviewed-by: Erik Faye-Lund Reviewed-by: Marek Olšák Part-of: --- src/util/u_math.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/util/u_math.h b/src/util/u_math.h index 4c5dac1e251..374d32bd338 100644 --- a/src/util/u_math.h +++ b/src/util/u_math.h @@ -49,6 +49,7 @@ #include "u_endian.h" /* for UTIL_ARCH_BIG_ENDIAN */ #include "util/detect_cc.h" #include "util/detect_arch.h" +#include "util/macros.h" #ifdef __HAIKU__ #include @@ -656,7 +657,7 @@ static inline uintptr_t ALIGN(uintptr_t value, int32_t alignment) { assert(util_is_power_of_two_nonzero(alignment)); - return (((value) + (alignment) - 1) & ~((alignment) - 1)); + return ALIGN_POT(value, alignment); } /** @@ -693,13 +694,15 @@ ROUND_DOWN_TO(uint64_t value, uint32_t alignment) static inline int align(int value, int alignment) { - return (value + alignment - 1) & ~(alignment - 1); + assert(IS_POT(alignment)); + return ALIGN_POT(value, alignment); } static inline uint64_t align64(uint64_t value, uint64_t alignment) { - return (value + alignment - 1) & ~(alignment - 1); + assert(IS_POT(alignment)); + return ALIGN_POT(value, (uint64_t)alignment); } /**