Gabe Black has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/42000 )

Change subject: arch: Collapse unused size parameter from "as" VecPredReg method.
......................................................................

arch: Collapse unused size parameter from "as" VecPredReg method.

Change-Id: Ibdaf38b2e2d8f37ef76d6b8874ac3620982e78a2
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/42000
Reviewed-by: Giacomo Travaglini <[email protected]>
Maintainer: Giacomo Travaglini <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/arch/generic/vec_pred_reg.hh
1 file changed, 14 insertions(+), 21 deletions(-)

Approvals:
  Giacomo Travaglini: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/generic/vec_pred_reg.hh b/src/arch/generic/vec_pred_reg.hh
index 3e248b4..54228a1 100644
--- a/src/arch/generic/vec_pred_reg.hh
+++ b/src/arch/generic/vec_pred_reg.hh
@@ -336,33 +336,26 @@

     /// Create a view of this container.
     ///
- /// If NumElems is provided, the size of the container is bounds-checked,
-    /// otherwise the size is inferred from the container size.
     /// @tparam VecElem Type of the vector elements.
-    /// @tparam NumElems Number of vector elements making up the view.
     /// @{
-    template <typename VecElem,
- size_t NumElems = (Packed ? NumBits : NumBits / sizeof(VecElem))>
-    VecPredRegT<VecElem, NumElems, Packed, true> as() const
+    template <typename VecElem>
+    VecPredRegT<VecElem, NumBits / sizeof(VecElem), Packed, true>
+    as() const
     {
-        static_assert((Packed && NumElems <= NumBits) ||
-                      (!Packed &&
-                       NumBits % sizeof(VecElem) == 0 &&
-                       sizeof(VecElem) * NumElems <= NumBits),
-                      "Container size incompatible with view size");
-        return VecPredRegT<VecElem, NumElems, Packed, true>(*this);
+        static_assert(NumBits % sizeof(VecElem) == 0,
+                "Container size incompatible with view size.");
+ return VecPredRegT<VecElem, NumBits / sizeof(VecElem), Packed, true>(
+                *this);
     }

-    template <typename VecElem,
- size_t NumElems = (Packed ? NumBits : NumBits / sizeof(VecElem))>
-    VecPredRegT<VecElem, NumElems, Packed, false> as()
+    template <typename VecElem>
+    VecPredRegT<VecElem, NumBits / sizeof(VecElem), Packed, false>
+    as()
     {
-        static_assert((Packed && NumElems <= NumBits) ||
-                      (!Packed &&
-                       NumBits % sizeof(VecElem) == 0 &&
-                       sizeof(VecElem) * NumElems <= NumBits),
-                      "Container size incompatible with view size");
-        return VecPredRegT<VecElem, NumElems, Packed, false>(*this);
+        static_assert(NumBits % sizeof(VecElem) == 0,
+                "Container size incompatible with view size.");
+ return VecPredRegT<VecElem, NumBits / sizeof(VecElem), Packed, false>(
+                *this);
     }
     /// @}
 };

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

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: Ibdaf38b2e2d8f37ef76d6b8874ac3620982e78a2
Gerrit-Change-Number: 42000
Gerrit-PatchSet: 10
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-Reviewer: Andreas Sandberg <[email protected]>
Gerrit-Reviewer: Gabe Black <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to