mem-ruby: add andMask to WriteMask
Change-Id: Ieeb68b405a68226077a2ffee231408f554e758a5 Signed-off-by: Tiago Mück <tiago.muck@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41154 Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com> Maintainer: Matt Sinclair <mattdsinclair@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2020 ARM Limited
|
||||
* Copyright (c) 2020,2021 ARM Limited
|
||||
* All rights reserved.
|
||||
*
|
||||
* The license below extends only to copyright in the software and shall
|
||||
@@ -159,6 +159,20 @@ class WriteMask
|
||||
return true;
|
||||
}
|
||||
|
||||
void
|
||||
andMask(const WriteMask & writeMask)
|
||||
{
|
||||
assert(mSize == writeMask.mSize);
|
||||
for (int i = 0; i < mSize; i++) {
|
||||
mMask[i] = (mMask.at(i)) & (writeMask.mMask.at(i));
|
||||
}
|
||||
|
||||
if (writeMask.mAtomic) {
|
||||
mAtomic = true;
|
||||
mAtomicOp = writeMask.mAtomicOp;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
orMask(const WriteMask & writeMask)
|
||||
{
|
||||
|
||||
@@ -57,6 +57,7 @@ structure(WriteMask, external="yes", desc="...") {
|
||||
bool isEmpty();
|
||||
bool isFull();
|
||||
bool isOverlap(WriteMask);
|
||||
void andMask(WriteMask);
|
||||
void orMask(WriteMask);
|
||||
void setInvertedMask(WriteMask);
|
||||
void fillMask();
|
||||
|
||||
Reference in New Issue
Block a user