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'))]