base: Add function to count trailing zeros in a 64-bit integer
Change-Id: Iaad0679b403bc5015ffeacbf7284313e41a36cd0 Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19128 Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017 ARM Limited
|
||||
* Copyright (c) 2017, 2019 ARM Limited
|
||||
* All rights reserved
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
@@ -293,4 +293,15 @@ inline int ctz32(uint32_t value)
|
||||
return value ? __builtin_ctz(value) : 32;
|
||||
}
|
||||
|
||||
/**
|
||||
* Count trailing zeros in a 64-bit value.
|
||||
*
|
||||
* @param An input value
|
||||
* @return The number of trailing zeros or 64 if the value is zero.
|
||||
*/
|
||||
inline int ctz64(uint64_t value)
|
||||
{
|
||||
return value ? __builtin_ctzll(value) : 64;
|
||||
}
|
||||
|
||||
#endif // __BASE_BITFIELD_HH__
|
||||
|
||||
Reference in New Issue
Block a user