mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 04:20:08 +01:00
etnaviv: isa: Rework modeling of left shift for store/load
This makes is easier for the parser to process. Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28929>
This commit is contained in:
parent
f8c38ec648
commit
cb69595037
1 changed files with 22 additions and 22 deletions
|
|
@ -19,11 +19,7 @@ SPDX-License-Identifier: MIT
|
|||
</template>
|
||||
|
||||
<template name="INSTR_LOAD_STORE">
|
||||
{NAME}{COND}{SKPHP}{DENORM}{LOCAL}{TYPE}{PMODE}
|
||||
</template>
|
||||
|
||||
<template name="INSTR_LOAD_STORE_WITH_LEFT_SHIFT">
|
||||
{NAME}{COND}{SKPHP}{DENORM}{LOCAL}.ls{LEFT_SHIFT}{TYPE}{PMODE}
|
||||
{NAME}{COND}{SKPHP}{DENORM}{LOCAL}{TYPE}{LEFT_SHIFT}{PMODE}
|
||||
</template>
|
||||
|
||||
<enum name="#cond">
|
||||
|
|
@ -841,9 +837,25 @@ SPDX-License-Identifier: MIT
|
|||
<field name="SRC1_RGROUP" low="96" high="98" type="#reg_group"/>
|
||||
</bitset>
|
||||
|
||||
<expr name="#instruction-has-left-shift">
|
||||
({LEFT_SHIFT} != 0)
|
||||
</expr>
|
||||
<bitset name="#left-shift" size="2">
|
||||
<field name="LEFT_SHIFT" low="0" high="1" type="uint"/>
|
||||
|
||||
<override>
|
||||
<expr>
|
||||
{LEFT_SHIFT} != 0
|
||||
</expr>
|
||||
<display>
|
||||
.ls{LEFT_SHIFT}
|
||||
</display>
|
||||
</override>
|
||||
|
||||
<display>
|
||||
</display>
|
||||
|
||||
<encode type="unsigned int">
|
||||
<map name="LEFT_SHIFT">src</map>
|
||||
</encode>
|
||||
</bitset>
|
||||
|
||||
<bitset name="#instruction-load" extends="#instruction">
|
||||
<field name="DST_USE" pos="12" type="bool"/>
|
||||
|
|
@ -855,7 +867,7 @@ SPDX-License-Identifier: MIT
|
|||
<pattern low="27" high="31">00000</pattern> <!-- TEX_ID -->
|
||||
<pattern low="32" high="33">00</pattern> <!-- RMODE -->
|
||||
<field name="PMODE" pos="34" type="bool_inv" display=".pack"/>
|
||||
<field name="LEFT_SHIFT" low="35" high="36" type="uint"/>
|
||||
<field name="LEFT_SHIFT" low="35" high="36" type="#left-shift"/>
|
||||
<pattern low="37" high="38">00</pattern>
|
||||
<field name="SKPHP" pos="39" type="bool" display=".skpHp"/>
|
||||
<field name="LOCAL" pos="40" type="bool" display=".local"/>
|
||||
|
|
@ -875,12 +887,6 @@ SPDX-License-Identifier: MIT
|
|||
{INSTR_LOAD_STORE} {DST:align=18}, {SRC0}, {SRC1}, void
|
||||
</display>
|
||||
|
||||
<override expr="#instruction-has-left-shift">
|
||||
<display>
|
||||
{INSTR_LOAD_STORE_WITH_LEFT_SHIFT} {DST:align=18}, {SRC0}, {SRC1}, void
|
||||
</display>
|
||||
</override>
|
||||
|
||||
<!-- SRC0 -->
|
||||
<pattern pos="43">1</pattern> <!-- SRC0_USE -->
|
||||
<field name="SRC0_REG" low="44" high="52" type="uint"/>
|
||||
|
|
@ -921,7 +927,7 @@ SPDX-License-Identifier: MIT
|
|||
<pattern low="27" high="31">xxxxx</pattern>
|
||||
<pattern low="32" high="33">xx</pattern>
|
||||
<field name="PMODE" pos="34" type="bool_inv" display=".pack"/>
|
||||
<field name="LEFT_SHIFT" low="35" high="36" type="uint"/>
|
||||
<field name="LEFT_SHIFT" low="35" high="36" type="#left-shift"/>
|
||||
<pattern low="37" high="38">00</pattern>
|
||||
<field name="SKPHP" pos="39" type="bool" display=".skpHp"/>
|
||||
<field name="LOCAL" pos="40" type="bool" display=".local"/>
|
||||
|
|
@ -941,12 +947,6 @@ SPDX-License-Identifier: MIT
|
|||
{INSTR_LOAD_STORE} {:align=18}mem{COMPS}, {SRC0}, {SRC1}, {SRC2}
|
||||
</display>
|
||||
|
||||
<override expr="#instruction-has-left-shift">
|
||||
<display>
|
||||
{INSTR_LOAD_STORE_WITH_LEFT_SHIFT} {:align=18}mem{COMPS}, {SRC0}, {SRC1}, {SRC2}
|
||||
</display>
|
||||
</override>
|
||||
|
||||
<!-- SRC0 -->
|
||||
<pattern pos="43">1</pattern> <!-- SRC0_USE -->
|
||||
<field name="SRC0_REG" low="44" high="52" type="uint"/>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue