summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2020-12-21 16:22:43 -0500
committerMarge Bot <eric+marge@anholt.net>2021-01-29 16:55:44 +0000
commit674ec5dc3f3290c8952120cebeb53cdccd45b559 (patch)
treece4b3b17128591c1cbc4e36063a2ab864780f3aa
parent56e35a4022ac023e0b90a33ce107ddcb7d52392a (diff)
pan/bi: Label table instructions
Table instructions are a subset of those scheduled to the ADD unit. They typically involve lookup tables. Table (TBL) instructions have additional restrictions on their sources which the scheduler must respect. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8723>
-rw-r--r--src/panfrost/bifrost/ISA.xml50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/panfrost/bifrost/ISA.xml b/src/panfrost/bifrost/ISA.xml
index 919e8f36e72..c4d1c18c653 100644
--- a/src/panfrost/bifrost/ISA.xml
+++ b/src/panfrost/bifrost/ISA.xml
@@ -2478,7 +2478,7 @@
<mod name="seg" start="9" size="1" opt="wls"/>
</ins>
- <ins name="+ATEST" staging="w=1" mask="0xfff00" exact="0xc8f00" message="atest">
+ <ins name="+ATEST" staging="w=1" mask="0xfff00" exact="0xc8f00" message="atest" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="widen1" start="6" size="2">
@@ -4117,7 +4117,7 @@
</derived>
</ins>
- <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true">
+ <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="lane1" start="6" size="1" default="h0">
@@ -4130,12 +4130,12 @@
</mod>
</ins>
- <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true">
+ <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
</ins>
- <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true">
+ <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="lane1" start="6" size="1" default="h0">
@@ -4148,7 +4148,7 @@
</mod>
</ins>
- <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true">
+ <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
</ins>
@@ -4293,17 +4293,17 @@
</swap>
</ins>
- <ins name="+FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88">
+ <ins name="+FCOS_TABLE.u6" mask="0xfffe8" exact="0x67a88" table="true">
<src start="0" mask="0xf7"/>
<mod name="offset" start="4" size="1" opt="offset"/>
</ins>
- <ins name="+FEXP.f32" mask="0xfffc0" exact="0x66ac0">
+ <ins name="+FEXP.f32" mask="0xfffc0" exact="0x66ac0" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
</ins>
- <ins name="+FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0">
+ <ins name="+FEXP_TABLE.u4" mask="0xfffe0" exact="0x67ac0" table="true">
<src start="0" mask="0xf7"/>
<mod name="adj" start="3" size="2">
<opt>none</opt>
@@ -4312,11 +4312,11 @@
</mod>
</ins>
- <ins name="+FLOGD.f32" mask="0xffff8" exact="0x66340">
+ <ins name="+FLOGD.f32" mask="0xffff8" exact="0x66340" table="true">
<src start="0" mask="0xf7"/>
</ins>
- <ins name="+FLOG_TABLE.f32">
+ <ins name="+FLOG_TABLE.f32" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4592,7 +4592,7 @@
</swap>
</ins>
- <ins name="+FPCLASS.f16" mask="0xffff0" exact="0x67c40">
+ <ins name="+FPCLASS.f16" mask="0xffff0" exact="0x67c40" table="true">
<src start="0" mask="0xf7"/>
<mod name="lane0" start="3" size="1" default="h0">
<opt>h0</opt>
@@ -4600,7 +4600,7 @@
</mod>
</ins>
- <ins name="+FPCLASS.f32" mask="0xffff8" exact="0x67c50">
+ <ins name="+FPCLASS.f32" mask="0xffff8" exact="0x67c50" table="true">
<src start="0" mask="0xf7"/>
</ins>
@@ -4609,7 +4609,7 @@
<src start="3"/>
</ins>
- <ins name="+FPOW_SC_DET.f16">
+ <ins name="+FPOW_SC_DET.f16" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="func" size="2">
@@ -4659,7 +4659,7 @@
</encoding>
</ins>
- <ins name="+FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640">
+ <ins name="+FPOW_SC_DET.f32" mask="0xffe40" exact="0x67640" table="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="func" start="7" size="2">
@@ -4670,7 +4670,7 @@
</mod>
</ins>
- <ins name="+FRCBRT_APPROX_A.f32" unused="true">
+ <ins name="+FRCBRT_APPROX_A.f32" unused="true" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4692,15 +4692,15 @@
</encoding>
</ins>
- <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true">
+ <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true" table="true">
<src start="0" mask="0xf7"/>
</ins>
- <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true">
+ <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true" table="true">
<src start="0" mask="0xf7"/>
</ins>
- <ins name="+FRCP.f16" mask="0xffec0" exact="0x67080">
+ <ins name="+FRCP.f16" mask="0xffec0" exact="0x67080" table="true">
<src start="0" mask="0xf7"/>
<mod name="neg0" start="3" size="1" opt="neg"/>
<mod name="abs0" start="4" size="1" opt="abs"/>
@@ -4711,7 +4711,7 @@
</mod>
</ins>
- <ins name="+FRCP.f32" mask="0xfffa0" exact="0x66000">
+ <ins name="+FRCP.f32" mask="0xfffa0" exact="0x66000" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4724,7 +4724,7 @@
</derived>
</ins>
- <ins name="+FRCP_APPROX.f32">
+ <ins name="+FRCP_APPROX.f32" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4888,7 +4888,7 @@
</mod>
</ins>
- <ins name="+FRSQ.f16" mask="0xffec0" exact="0x67280">
+ <ins name="+FRSQ.f16" mask="0xffec0" exact="0x67280" table="true">
<src start="0" mask="0xf7"/>
<mod name="neg0" start="3" size="1" opt="neg"/>
<mod name="abs0" start="4" size="1" opt="abs"/>
@@ -4899,7 +4899,7 @@
</mod>
</ins>
- <ins name="+FRSQ.f32" mask="0xfffa0" exact="0x66100">
+ <ins name="+FRSQ.f32" mask="0xfffa0" exact="0x66100" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4912,7 +4912,7 @@
</derived>
</ins>
- <ins name="+FRSQ_APPROX.f32">
+ <ins name="+FRSQ_APPROX.f32" table="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4934,12 +4934,12 @@
</encoding>
</ins>
- <ins name="+FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0">
+ <ins name="+FSINCOS_OFFSET.u6" mask="0xffff0" exact="0x67aa0" table="true">
<src start="0" mask="0xf7"/>
<mod name="scale" start="3" size="1" opt="scale"/>
</ins>
- <ins name="+FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80">
+ <ins name="+FSIN_TABLE.u6" mask="0xfffe8" exact="0x67a80" table="true">
<src start="0" mask="0xf7"/>
<mod name="offset" start="4" size="1" opt="offset"/>
</ins>