pan/bi: Add pseudo register formats to XML
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213>
This commit is contained in:
parent
cffc1d90da
commit
27e37a7746
|
@ -6314,6 +6314,16 @@
|
||||||
<src start="0"/>
|
<src start="0"/>
|
||||||
<src start="3"/>
|
<src start="3"/>
|
||||||
<src start="6" mask="0xf7"/>
|
<src start="6" mask="0xf7"/>
|
||||||
|
<mod name="register_format" size="4" pseudo="true">
|
||||||
|
<opt>f16</opt>
|
||||||
|
<opt>f32</opt>
|
||||||
|
<opt>s32</opt>
|
||||||
|
<opt>u32</opt>
|
||||||
|
<opt>s16</opt>
|
||||||
|
<opt>u16</opt>
|
||||||
|
<opt>f64</opt>
|
||||||
|
<opt>i64</opt>
|
||||||
|
</mod>
|
||||||
<mod name="vecsize" start="9" size="2">
|
<mod name="vecsize" start="9" size="2">
|
||||||
<opt>none</opt>
|
<opt>none</opt>
|
||||||
<opt>v2</opt>
|
<opt>v2</opt>
|
||||||
|
@ -7618,6 +7628,16 @@
|
||||||
<src start="0"/>
|
<src start="0"/>
|
||||||
<src start="3"/>
|
<src start="3"/>
|
||||||
<src start="6" mask="0xf7"/>
|
<src start="6" mask="0xf7"/>
|
||||||
|
<mod name="register_format" size="4" pseudo="true">
|
||||||
|
<opt>f16</opt>
|
||||||
|
<opt>f32</opt>
|
||||||
|
<opt>s32</opt>
|
||||||
|
<opt>u32</opt>
|
||||||
|
<opt>s16</opt>
|
||||||
|
<opt>u16</opt>
|
||||||
|
<opt>f64</opt>
|
||||||
|
<opt>i64</opt>
|
||||||
|
</mod>
|
||||||
<mod name="vecsize" start="9" size="2">
|
<mod name="vecsize" start="9" size="2">
|
||||||
<opt>none</opt>
|
<opt>none</opt>
|
||||||
<opt>v2</opt>
|
<opt>v2</opt>
|
||||||
|
|
|
@ -55,10 +55,13 @@ def parse_derived(obj):
|
||||||
|
|
||||||
return out
|
return out
|
||||||
|
|
||||||
def parse_modifiers(obj):
|
def parse_modifiers(obj, include_pseudo):
|
||||||
out = []
|
out = []
|
||||||
|
|
||||||
for mod in obj.findall('mod'):
|
for mod in obj.findall('mod'):
|
||||||
|
if mod.attrib.get('pseudo', False) and not include_pseudo:
|
||||||
|
continue
|
||||||
|
|
||||||
name = mod.attrib['name']
|
name = mod.attrib['name']
|
||||||
start = mod.attrib.get('start', None)
|
start = mod.attrib.get('start', None)
|
||||||
size = int(mod.attrib['size'])
|
size = int(mod.attrib['size'])
|
||||||
|
@ -118,7 +121,7 @@ def parse_instruction(ins, include_pseudo):
|
||||||
common['immediates'].append([imm.attrib['name'], start, int(imm.attrib['size'])])
|
common['immediates'].append([imm.attrib['name'], start, int(imm.attrib['size'])])
|
||||||
|
|
||||||
common['derived'] = parse_derived(ins)
|
common['derived'] = parse_derived(ins)
|
||||||
common['modifiers'] = parse_modifiers(ins)
|
common['modifiers'] = parse_modifiers(ins, include_pseudo)
|
||||||
|
|
||||||
for swap in ins.findall('swap'):
|
for swap in ins.findall('swap'):
|
||||||
lr = [int(swap.get('left')), int(swap.get('right'))]
|
lr = [int(swap.get('left')), int(swap.get('right'))]
|
||||||
|
|
Loading…
Reference in New Issue