Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
[gem5.git] / base / intmath.hh
index cb5a34107c1e8ba0e21f2502fd9b8e819f04f3b9..5ffe2710393c78cd5d746f4e3a60f42f6d19caf0 100644 (file)
@@ -119,6 +119,22 @@ FloorLog2(int64_t x)
     return FloorLog2((uint64_t)x);
 }
 
+#if defined(__APPLE__)
+inline int
+FloorLog2(size_t x)
+{
+    assert(x > 0);
+    assert(sizeof(size_t) == 4 || sizeof(size_t) == 8);
+
+    // It's my hope that this is optimized away?
+    if (sizeof(size_t) == 4)
+        return FloorLog2((uint32_t)x);
+     else if (sizeof(size_t) == 8)
+        return FloorLog2((uint64_t)x);
+
+}
+#endif
+
 template <class T>
 inline int
 CeilLog2(T n)