From 705351768c1becd685be1037ec1103051e58830a Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Mon, 30 Aug 2021 20:06:26 -0700 Subject: [PATCH] cpu: Add a [] operator to the RegClass type. This will create a RegId with the given index. Change-Id: I2c3e6859fce80ede5cdb70f85d881b514b6babb2 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49782 Reviewed-by: Giacomo Travaglini Maintainer: Giacomo Travaglini Tested-by: kokoro --- src/cpu/reg_class.hh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/cpu/reg_class.hh b/src/cpu/reg_class.hh index 2fdc72d153..28f5cea20d 100644 --- a/src/cpu/reg_class.hh +++ b/src/cpu/reg_class.hh @@ -128,6 +128,8 @@ class RegClass inline iterator begin() const; inline iterator end() const; + + inline constexpr RegId operator[](RegIndex idx) const; }; /** Register ID: describe an architectural register with its class and index. @@ -280,6 +282,12 @@ RegClass::end() const return RegClassIterator(*this, numRegs()); } +constexpr RegId +RegClass::operator[](RegIndex idx) const +{ + return RegId(type(), idx); +} + template class TypedRegClassOps : public RegClassOps {