Nikos Nikoleris has submitted this change and it was merged. ( https://gem5-review.googlesource.com/c/public/gem5/+/19129 )

Change subject: base: Fix ctz32 for systems where unsigned int is not 32bit
......................................................................

base: Fix ctz32 for systems where unsigned int is not 32bit

The implementation of ctz32 uses __builtin_ctz to count the number of
trailing zeros and therefore makes the assumption that an unsigned int
is 32bit. This change checks whether that's the case and if not it
uses __builtin_ctzl instead.

Change-Id: Ic3ed3ada25fd0a93c7eb91d75b954e9924bdbb77
Signed-off-by: Nikos Nikoleris <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19129
Reviewed-by: Jason Lowe-Power <[email protected]>
Reviewed-by: Daniel Carvalho <[email protected]>
Maintainer: Jason Lowe-Power <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/base/bitfield.hh
1 file changed, 3 insertions(+), 3 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  Daniel Carvalho: Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/base/bitfield.hh b/src/base/bitfield.hh
index 59b239a..f289396 100644
--- a/src/base/bitfield.hh
+++ b/src/base/bitfield.hh
@@ -285,12 +285,12 @@
 /**
  * Count trailing zeros in a 32-bit value.
  *
- * Returns 32 if the value is zero. Note that the GCC builtin is
- * undefined if the value is zero.
+ * @param An input value
+ * @return The number of trailing zeros or 32 if the value is zero.
  */
 inline int ctz32(uint32_t value)
 {
-    return value ? __builtin_ctz(value) : 32;
+    return value ? __builtin_ctzl(value) : 32;
 }

 /**

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/19129
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ic3ed3ada25fd0a93c7eb91d75b954e9924bdbb77
Gerrit-Change-Number: 19129
Gerrit-PatchSet: 4
Gerrit-Owner: Nikos Nikoleris <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to