freedreno/isa: store max size for needed bitset
authorChristian Gmeiner <christian.gmeiner@gmail.com>
Tue, 11 May 2021 06:10:00 +0000 (08:10 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 21 Sep 2021 20:25:31 +0000 (20:25 +0000)
We will use this information later to create a correctly
sized BITSET.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11321>

src/freedreno/isa/isa.py

index 6323812..87e0c6b 100644 (file)
@@ -400,6 +400,9 @@ class ISA(object):
         # Table of all bitsets:
         self.bitsets = {}
 
+        # Max needed bitsize for one instruction
+        self.bitsize = 0
+
         root = ElementTree.parse(xmlpath).getroot()
         self.parse_file(root)
         self.validate_isa()
@@ -435,6 +438,7 @@ class ISA(object):
             if b.size is not None:
                 dbg("toplevel: " + b.name)
                 self.roots[b.name] = b
+                self.bitsize = max(self.bitsize, b.size)
             else:
                 dbg("derived: " + b.name)
             self.bitsets[b.name] = b
@@ -487,4 +491,4 @@ class ISA(object):
 
         # TODO we should probably be able to look at the contexts where
         # an expression is evaluated and verify that it doesn't have any
-        # {VARNAME} references that would be unresolved at evaluation time
\ No newline at end of file
+        # {VARNAME} references that would be unresolved at evaluation time