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 <giacomo.travagl...@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
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 <gabe.bl...@gmail.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Gabe Black <gabe.bl...@gmail.com>
Gerrit-Reviewer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to