From 430dc087550a847427b7752eab1b11e98df3a371 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Fri, 28 May 2021 10:15:24 +0200 Subject: [PATCH] freedreno/isa: add split_bits(..) methods Will be used to split a value into needed number of 32 bit words. Signed-off-by: Christian Gmeiner Reviewed-by: Rob Clark Part-of: --- src/freedreno/isa/isa.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/freedreno/isa/isa.py b/src/freedreno/isa/isa.py index 8f5dfe07dcf..d3264f25895 100644 --- a/src/freedreno/isa/isa.py +++ b/src/freedreno/isa/isa.py @@ -514,3 +514,18 @@ class ISA(object): parts.append('v[' + str(i) + ']') return ', '.join(parts) + + def split_bits(self, value): + ''' Split `value` into a list of 32-bit integers ''' + mask, parts = (1 << 32) - 1, [] + words = self.bitsize / 32 + + while value: + parts.append(hex(value & mask)) + value >>= 32 + + # Add 'missing' words + while len(parts) < words: + parts.append('0x0') + + return parts