[Mesa-dev] [PATCH 11/13] gallium: Drop unused BRA opcode.

Eric Anholt eric at anholt.net
Wed Nov 12 17:18:34 PST 2014


Never generated, and implemented in only nvfx vertprog.
---
 src/gallium/auxiliary/gallivm/lp_bld_tgsi.c      | 1 -
 src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c  | 6 ------
 src/gallium/auxiliary/tgsi/tgsi_exec.c           | 4 ----
 src/gallium/auxiliary/tgsi/tgsi_info.c           | 2 +-
 src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h     | 1 -
 src/gallium/docs/source/tgsi.rst                 | 9 ---------
 src/gallium/drivers/ilo/shader/toy_tgsi.c        | 2 --
 src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c | 7 -------
 src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c | 1 -
 src/gallium/drivers/r300/r300_tgsi_to_rc.c       | 1 -
 src/gallium/drivers/r600/r600_shader.c           | 6 +++---
 src/gallium/include/pipe/p_shader_tokens.h       | 1 -
 12 files changed, 4 insertions(+), 37 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
index c5d3679..e391d8a 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
@@ -211,7 +211,6 @@ lp_build_tgsi_inst_llvm(
    case TGSI_OPCODE_UP2US:
    case TGSI_OPCODE_UP4B:
    case TGSI_OPCODE_UP4UB:
-   case TGSI_OPCODE_BRA:
    case TGSI_OPCODE_PUSHA:
    case TGSI_OPCODE_POPA:
    case TGSI_OPCODE_SAD:
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c
index bb6582b..02462f2 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c
@@ -772,12 +772,6 @@ lp_emit_instruction_aos(
       return FALSE;
       break;
 
-   case TGSI_OPCODE_BRA:
-      /* deprecated */
-      assert(0);
-      return FALSE;
-      break;
-
    case TGSI_OPCODE_CAL:
       return FALSE;
 
diff --git a/src/gallium/auxiliary/tgsi/tgsi_exec.c b/src/gallium/auxiliary/tgsi/tgsi_exec.c
index 65259cd..905e85b 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_exec.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_exec.c
@@ -3738,10 +3738,6 @@ exec_instruction(
       assert (0);
       break;
 
-   case TGSI_OPCODE_BRA:
-      assert (0);
-      break;
-
    case TGSI_OPCODE_CAL:
       /* skip the call if no execution channels are enabled */
       if (mach->ExecMask) {
diff --git a/src/gallium/auxiliary/tgsi/tgsi_info.c b/src/gallium/auxiliary/tgsi/tgsi_info.c
index 88dcc5d..193ecd1 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_info.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_info.c
@@ -99,7 +99,7 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] =
    { 0, 1, 0, 0, 0, 1, NONE, "", 59 },      /* removed */
    { 0, 1, 0, 0, 0, 1, NONE, "", 60 },      /* removed */
    { 0, 1, 0, 0, 0, 1, NONE, "", 61 },      /* removed */
-   { 0, 1, 0, 0, 0, 0, NONE, "BRA", TGSI_OPCODE_BRA },
+   { 0, 1, 0, 0, 0, 1, NONE, "", 62 },      /* removed */
    { 0, 0, 0, 1, 0, 0, NONE, "CAL", TGSI_OPCODE_CAL },
    { 0, 0, 0, 0, 0, 0, NONE, "RET", TGSI_OPCODE_RET },
    { 1, 1, 0, 0, 0, 0, COMP, "SSG", TGSI_OPCODE_SSG },
diff --git a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h
index d5c9ca4..207295a 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h
+++ b/src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h
@@ -107,7 +107,6 @@ OP11(UP2H)
 OP11(UP2US)
 OP11(UP4B)
 OP11(UP4UB)
-OP01(BRA)
 OP00_LBL(CAL)
 OP00(RET)
 OP11(SSG)
diff --git a/src/gallium/docs/source/tgsi.rst b/src/gallium/docs/source/tgsi.rst
index 6978fa5..b96e583 100644
--- a/src/gallium/docs/source/tgsi.rst
+++ b/src/gallium/docs/source/tgsi.rst
@@ -841,15 +841,6 @@ This instruction replicates its result.
    Considered for removal.
 
 
-.. opcode:: BRA - Branch
-
-  pc = target
-
-.. note::
-
-   Considered for removal.
-
-
 .. opcode:: CALLNZ - Subroutine Call If Not Zero
 
    TBD
diff --git a/src/gallium/drivers/ilo/shader/toy_tgsi.c b/src/gallium/drivers/ilo/shader/toy_tgsi.c
index 3be19d9..7048504 100644
--- a/src/gallium/drivers/ilo/shader/toy_tgsi.c
+++ b/src/gallium/drivers/ilo/shader/toy_tgsi.c
@@ -811,7 +811,6 @@ static const toy_tgsi_translate aos_translate_table[TGSI_OPCODE_LAST] = {
    [TGSI_OPCODE_UP2US]        = aos_unsupported,
    [TGSI_OPCODE_UP4B]         = aos_unsupported,
    [TGSI_OPCODE_UP4UB]        = aos_unsupported,
-   [TGSI_OPCODE_BRA]          = aos_unsupported,
    [TGSI_OPCODE_CAL]          = aos_unsupported,
    [TGSI_OPCODE_RET]          = aos_unsupported,
    [TGSI_OPCODE_SSG]          = aos_set_sign,
@@ -1354,7 +1353,6 @@ static const toy_tgsi_translate soa_translate_table[TGSI_OPCODE_LAST] = {
    [TGSI_OPCODE_UP2US]        = soa_unsupported,
    [TGSI_OPCODE_UP4B]         = soa_unsupported,
    [TGSI_OPCODE_UP4UB]        = soa_unsupported,
-   [TGSI_OPCODE_BRA]          = soa_unsupported,
    [TGSI_OPCODE_CAL]          = soa_unsupported,
    [TGSI_OPCODE_RET]          = soa_unsupported,
    [TGSI_OPCODE_SSG]          = soa_per_channel,
diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
index 0fdaa2b..6600997 100644
--- a/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
+++ b/src/gallium/drivers/nouveau/nv30/nvfx_fragprog.c
@@ -821,13 +821,6 @@ nvfx_fragprog_parse_instruction(struct nvfx_fpc *fpc,
       break;
    }
 
-   case TGSI_OPCODE_BRA:
-      /* This can in limited cases be implemented with an IF with the else and endif labels pointing to the target */
-      /* no state tracker uses this, so don't implement this for now */
-      assert(0);
-      nv40_fp_bra(fpc, finst->Label.Label);
-      break;
-
    case TGSI_OPCODE_BGNSUB:
    case TGSI_OPCODE_ENDSUB:
       /* nothing to do here */
diff --git a/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c b/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c
index e880810..51e1fb6 100644
--- a/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c
+++ b/src/gallium/drivers/nouveau/nv30/nvfx_vertprog.c
@@ -712,7 +712,6 @@ nvfx_vertprog_parse_instruction(struct nvfx_vpc *vpc,
       nvfx_vp_emit(vpc, insn);
       break;
    case TGSI_OPCODE_ELSE:
-   case TGSI_OPCODE_BRA:
    case TGSI_OPCODE_CAL:
       reloc.location = vpc->vp->nr_insns;
       reloc.target = finst->Label.Label;
diff --git a/src/gallium/drivers/r300/r300_tgsi_to_rc.c b/src/gallium/drivers/r300/r300_tgsi_to_rc.c
index 76ac5a4..d6ca41b 100644
--- a/src/gallium/drivers/r300/r300_tgsi_to_rc.c
+++ b/src/gallium/drivers/r300/r300_tgsi_to_rc.c
@@ -82,7 +82,6 @@ static unsigned translate_opcode(unsigned opcode)
      /* case TGSI_OPCODE_UP2US: return RC_OPCODE_UP2US; */
      /* case TGSI_OPCODE_UP4B: return RC_OPCODE_UP4B; */
      /* case TGSI_OPCODE_UP4UB: return RC_OPCODE_UP4UB; */
-     /* case TGSI_OPCODE_BRA: return RC_OPCODE_BRA; */
      /* case TGSI_OPCODE_CAL: return RC_OPCODE_CAL; */
      /* case TGSI_OPCODE_RET: return RC_OPCODE_RET; */
         case TGSI_OPCODE_SSG: return RC_OPCODE_SSG;
diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index 25b1ce2..d58a189 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -7177,7 +7177,7 @@ static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[] = {
 	{59,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{60,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{61,			0, ALU_OP0_NOP, tgsi_unsupported},
-	{TGSI_OPCODE_BRA,	0, ALU_OP0_NOP, tgsi_unsupported},
+	{62,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_CAL,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_RET,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_SSG,	0, ALU_OP0_NOP, tgsi_ssg},
@@ -7376,7 +7376,7 @@ static struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] = {
 	{59,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{60,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{61,			0, ALU_OP0_NOP, tgsi_unsupported},
-	{TGSI_OPCODE_BRA,	0, ALU_OP0_NOP, tgsi_unsupported},
+	{62,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_CAL,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_RET,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_SSG,	0, ALU_OP0_NOP, tgsi_ssg},
@@ -7575,7 +7575,7 @@ static struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] = {
 	{59,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{60,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{61,			0, ALU_OP0_NOP, tgsi_unsupported},
-	{TGSI_OPCODE_BRA,	0, ALU_OP0_NOP, tgsi_unsupported},
+	{62,			0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_CAL,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_RET,	0, ALU_OP0_NOP, tgsi_unsupported},
 	{TGSI_OPCODE_SSG,	0, ALU_OP0_NOP, tgsi_ssg},
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index 1fc9db2..22d9c90 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -343,7 +343,6 @@ struct tgsi_property_data {
 #define TGSI_OPCODE_UP4B                57
 #define TGSI_OPCODE_UP4UB               58
                                 /* gap */
-#define TGSI_OPCODE_BRA                 62
 #define TGSI_OPCODE_CAL                 63
 #define TGSI_OPCODE_RET                 64
 #define TGSI_OPCODE_SSG                 65 /* SGN */
-- 
2.1.1



More information about the mesa-dev mailing list