summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>2020-12-06 22:44:06 -0500
committerMarge Bot <eric+marge@anholt.net>2020-12-23 17:06:56 +0000
commit6d81df6e0c781a1080ede0cbcd45c19d256b0f62 (patch)
treeab94f9f079c92cd1f3c773afe83f6548176cd417
parentb45978c8e1c0af55f31f18c51444b5f670aa1f74 (diff)
pan/bi: Mark some instructions as unused
Certain transcendental instructions are not even possible to generate since these bits are lowered away before the Bifrost backend is touched, as far as I know. Job management instructions (most interestingly DOORBELL) do not correspond to OpenGL/OpenCL/Vulkan. Segment arithmetic seems mostly useless for real code, any actual use case I can think of is already covered by indirect loads/stores which does the segment arithmetic implicitly. I've never seen this in blob code, probably just a future proofing thing. Dropping these instructions corresponds to a 3% reduction in generated lines of code for the printer, builder, and packer for the new IR. Not a terrible yield for functionality we'll likely never need. Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8213>
-rw-r--r--src/panfrost/bifrost/ISA.xml28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/panfrost/bifrost/ISA.xml b/src/panfrost/bifrost/ISA.xml
index 9723a7e7a09..9a5df1b2df5 100644
--- a/src/panfrost/bifrost/ISA.xml
+++ b/src/panfrost/bifrost/ISA.xml
@@ -2319,7 +2319,7 @@
</mod>
</ins>
- <ins name="*SEG_ADD" mask="0x7fff40" exact="0x701500">
+ <ins name="*SEG_ADD" mask="0x7fff40" exact="0x701500" unused="true">
<src start="0" mask="0xfb"/>
<mod name="seg" start="3" size="3">
<reserved/>
@@ -2334,7 +2334,7 @@
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
</ins>
- <ins name="*SEG_SUB" mask="0x7fff40" exact="0x701540">
+ <ins name="*SEG_SUB" mask="0x7fff40" exact="0x701540" unused="true">
<src start="0" mask="0xfb"/>
<mod name="seg" start="3" size="3">
<reserved/>
@@ -3823,11 +3823,11 @@
</swap>
</ins>
- <ins name="+DOORBELL" mask="0xffff8" exact="0xd7860">
+ <ins name="+DOORBELL" mask="0xffff8" exact="0xd7860" unused="true">
<src start="0"/>
</ins>
- <ins name="+EUREKA" mask="0xffff8" exact="0xd7850">
+ <ins name="+EUREKA" mask="0xffff8" exact="0xd7850" unused="true">
<src start="0"/>
</ins>
@@ -4115,7 +4115,7 @@
</derived>
</ins>
- <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800">
+ <ins name="+FATAN_ASSIST.f16" mask="0xfff00" exact="0x67800" unused="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="lane1" start="6" size="1" default="h0">
@@ -4128,12 +4128,12 @@
</mod>
</ins>
- <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00">
+ <ins name="+FATAN_ASSIST.f32" mask="0xfffc0" exact="0x67a00" unused="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
</ins>
- <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900">
+ <ins name="+FATAN_TABLE.f16" mask="0xfff00" exact="0x67900" unused="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
<mod name="lane1" start="6" size="1" default="h0">
@@ -4146,7 +4146,7 @@
</mod>
</ins>
- <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40">
+ <ins name="+FATAN_TABLE.f32" mask="0xfffc0" exact="0x67a40" unused="true">
<src start="0" mask="0xf7"/>
<src start="3" mask="0xf7"/>
</ins>
@@ -4668,7 +4668,7 @@
</mod>
</ins>
- <ins name="+FRCBRT_APPROX_A.f32">
+ <ins name="+FRCBRT_APPROX_A.f32" unused="true">
<src start="0" mask="0xf7"/>
<mod name="widen0" size="2">
<opt>none</opt>
@@ -4690,11 +4690,11 @@
</encoding>
</ins>
- <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0">
+ <ins name="+FRCBRT_APPROX_B.f32" mask="0xffff8" exact="0x67ab0" unused="true">
<src start="0" mask="0xf7"/>
</ins>
- <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8">
+ <ins name="+FRCBRT_APPROX_C.f32" mask="0xffff8" exact="0x67ab8" unused="true">
<src start="0" mask="0xf7"/>
</ins>
@@ -6157,7 +6157,7 @@
<src start="6" mask="0xf7"/>
</ins>
- <ins name="+KABOOM" mask="0xffff8" exact="0xd7858">
+ <ins name="+KABOOM" mask="0xffff8" exact="0xd7858" unused="true">
<src start="0"/>
</ins>
@@ -7451,7 +7451,7 @@
</mod>
</ins>
- <ins name="+SEG_ADD" mask="0xfff40" exact="0x3d500">
+ <ins name="+SEG_ADD" mask="0xfff40" exact="0x3d500" unused="true">
<src start="0"/>
<mod name="seg" start="3" size="3">
<reserved/>
@@ -7466,7 +7466,7 @@
<mod name="preserve_null" start="7" size="1" opt="preserve_null"/>
</ins>
- <ins name="+SEG_SUB" mask="0xfff40" exact="0x3d540">
+ <ins name="+SEG_SUB" mask="0xfff40" exact="0x3d540" unused="true">
<src start="0"/>
<mod name="seg" start="3" size="3">
<reserved/>