mem-ruby: Remove bitRemove
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Sat, 7 Sep 2019 08:23:21 +0000 (10:23 +0200)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Mon, 30 Sep 2019 20:58:46 +0000 (20:58 +0000)
bitRemove is not being used anywhere. If needed, can be used
as src/base/bitfield.hh's bits:

bitRemove(addr, small, big) ==
    ((bits<Addr>(addr, 63, big + 1) << small) |
    bits<Addr>(addr, small, 0))

Change-Id: I45fd3bc0271ccb659d6a94e3dd00ca095dfd6aa7
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21081
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/common/Address.cc
src/mem/ruby/common/Address.hh

index f0aa71ac6aba47fd708bea25b25a0f7901374d9a..edb41773870343566c4b4b8f93e3d1ce080437d8 100644 (file)
@@ -45,31 +45,6 @@ bitSelect(Addr addr, unsigned int small, unsigned int big)
     }
 }
 
-Addr
-bitRemove(Addr addr, unsigned int small, unsigned int big)
-{
-    assert(big >= small);
-
-    if (small >= ADDRESS_WIDTH - 1) {
-        return addr;
-    } else if (big >= ADDRESS_WIDTH - 1) {
-        Addr mask = (Addr)~0 >> small;
-        return (addr & mask);
-    } else if (small == 0) {
-        Addr mask = (Addr)~0 << big;
-        return (addr & mask);
-    } else {
-        Addr mask = ~((Addr)~0 << small);
-        Addr lower_bits = addr & mask;
-        mask = (Addr)~0 << (big + 1);
-        Addr higher_bits = addr & mask;
-
-        // Shift the valid high bits over the removed section
-        higher_bits = higher_bits >> (big - small + 1);
-        return (higher_bits | lower_bits);
-    }
-}
-
 Addr
 maskLowOrderBits(Addr addr, unsigned int number)
 {
index ded6f6f12a6926c4957604aa3026fea4cc348cc5..17490c4489a160ace88d55fa18133a09752212ad 100644 (file)
@@ -39,7 +39,6 @@ const uint32_t ADDRESS_WIDTH = 64; // address width in bytes
 
 // selects bits inclusive
 Addr bitSelect(Addr addr, unsigned int small, unsigned int big);
-Addr bitRemove(Addr addr, unsigned int small, unsigned int big);
 Addr maskLowOrderBits(Addr addr, unsigned int number);
 Addr maskHighOrderBits(Addr addr, unsigned int number);
 Addr shiftLowOrderBits(Addr addr, unsigned int number);