mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 09:30:11 +01:00
intel/brw: List all instructions that have BranchCtrl bit
Previously this bit was not clearly documented in PRMs, but gfx12 PRMs finally list all the instructions where it is present. Although it's unclear if it's functional for anything other than "if", "else", and "goto", we probably still should acknowledge its existence in other instructions. Signed-off-by: Sviatoslav Peleshko <sviatoslav.peleshko@globallogic.com> Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31747>
This commit is contained in:
parent
ab1479ae6a
commit
aea7366613
1 changed files with 20 additions and 2 deletions
|
|
@ -61,8 +61,26 @@ brw_has_uip(const struct intel_device_info *devinfo, enum opcode opcode)
|
|||
static bool
|
||||
has_branch_ctrl(const struct intel_device_info *devinfo, enum opcode opcode)
|
||||
{
|
||||
return opcode == BRW_OPCODE_IF ||
|
||||
opcode == BRW_OPCODE_ELSE;
|
||||
switch (opcode) {
|
||||
case BRW_OPCODE_IF:
|
||||
case BRW_OPCODE_ELSE:
|
||||
case BRW_OPCODE_GOTO:
|
||||
case BRW_OPCODE_BREAK:
|
||||
case BRW_OPCODE_CALL:
|
||||
case BRW_OPCODE_CALLA:
|
||||
case BRW_OPCODE_CONTINUE:
|
||||
case BRW_OPCODE_ENDIF:
|
||||
case BRW_OPCODE_HALT:
|
||||
case BRW_OPCODE_JMPI:
|
||||
case BRW_OPCODE_RET:
|
||||
case BRW_OPCODE_WHILE:
|
||||
case BRW_OPCODE_BRC:
|
||||
case BRW_OPCODE_BRD:
|
||||
/* TODO: "join" should also be here if added */
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue