diff --git a/src/panfrost/bifrost/ISA.xml b/src/panfrost/bifrost/ISA.xml index bdfff876e36..b774a0f5e4f 100644 --- a/src/panfrost/bifrost/ISA.xml +++ b/src/panfrost/bifrost/ISA.xml @@ -6314,6 +6314,16 @@ + + f16 + f32 + s32 + u32 + s16 + u16 + f64 + i64 + none v2 @@ -7618,6 +7628,16 @@ + + f16 + f32 + s32 + u32 + s16 + u16 + f64 + i64 + none v2 diff --git a/src/panfrost/bifrost/isa_parse.py b/src/panfrost/bifrost/isa_parse.py index c05ce55b5f9..8d61341816d 100644 --- a/src/panfrost/bifrost/isa_parse.py +++ b/src/panfrost/bifrost/isa_parse.py @@ -55,10 +55,13 @@ def parse_derived(obj): return out -def parse_modifiers(obj): +def parse_modifiers(obj, include_pseudo): out = [] for mod in obj.findall('mod'): + if mod.attrib.get('pseudo', False) and not include_pseudo: + continue + name = mod.attrib['name'] start = mod.attrib.get('start', None) 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['derived'] = parse_derived(ins) - common['modifiers'] = parse_modifiers(ins) + common['modifiers'] = parse_modifiers(ins, include_pseudo) for swap in ins.findall('swap'): lr = [int(swap.get('left')), int(swap.get('right'))]