gallium: Drop the unused RCC opcode.
authorEric Anholt <eric@anholt.net>
Wed, 12 Nov 2014 21:27:49 +0000 (13:27 -0800)
committerEric Anholt <eric@anholt.net>
Mon, 24 Nov 2014 22:56:22 +0000 (14:56 -0800)
Nothing in the tree generated it.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/auxiliary/gallivm/lp_bld_tgsi.c
src/gallium/auxiliary/gallivm/lp_bld_tgsi_aos.c
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/tgsi/tgsi_info.c
src/gallium/auxiliary/tgsi/tgsi_opcode_tmp.h
src/gallium/auxiliary/tgsi/tgsi_util.c
src/gallium/docs/source/tgsi.rst
src/gallium/drivers/ilo/shader/toy_tgsi.c
src/gallium/drivers/r300/r300_tgsi_to_rc.c
src/gallium/drivers/r600/r600_shader.c
src/gallium/include/pipe/p_shader_tokens.h

index 51cb54ccee36fa0471415eafd1e6655ce83e79b3..4a9ce37b9e466709be4d74975b4aa04393d3690e 100644 (file)
@@ -207,7 +207,6 @@ lp_build_tgsi_inst_llvm(
    /* Ignore deprecated instructions */
    switch (inst->Instruction.Opcode) {
 
-   case TGSI_OPCODE_RCC:
    case TGSI_OPCODE_UP2H:
    case TGSI_OPCODE_UP2US:
    case TGSI_OPCODE_UP4B:
index 7829a7e9c54e9afba2f42be529b9982ba7d1d6d8..3b9833a1033b4534bcc98c16e8d35b3e93e6d58f 100644 (file)
@@ -679,11 +679,6 @@ lp_emit_instruction_aos(
    case TGSI_OPCODE_XPD:
       return FALSE;
 
-   case TGSI_OPCODE_RCC:
-      /* deprecated? */
-      assert(0);
-      return FALSE;
-
    case TGSI_OPCODE_DPH:
       return FALSE;
 
index b9a4c7bf88ce5c55c3b4bb36aefeaa0b7f159da2..b3ea82f6b766456497f683c79d6cdcb3715806cb 100644 (file)
@@ -910,22 +910,6 @@ micro_div(
    }
 }
 
-static void
-micro_rcc(union tgsi_exec_channel *dst,
-          const union tgsi_exec_channel *src)
-{
-   uint i;
-
-   for (i = 0; i < 4; i++) {
-      float recip = 1.0f / src->f[i];
-
-      if (recip > 0.0f)
-         dst->f[i] = CLAMP(recip, 5.42101e-020f, 1.84467e+019f);
-      else
-         dst->f[i] = CLAMP(recip, -1.84467e+019f, -5.42101e-020f);
-   }
-}
-
 static void
 micro_lt(
    union tgsi_exec_channel *dst,
@@ -3799,10 +3783,6 @@ exec_instruction(
       exec_vector_unary(mach, inst, micro_abs, TGSI_EXEC_DATA_FLOAT, TGSI_EXEC_DATA_FLOAT);
       break;
 
-   case TGSI_OPCODE_RCC:
-      exec_scalar_unary(mach, inst, micro_rcc, TGSI_EXEC_DATA_FLOAT, TGSI_EXEC_DATA_FLOAT);
-      break;
-
    case TGSI_OPCODE_DPH:
       exec_dph(mach, inst);
       break;
index 6336304d594c1c0938cd89d7c1d7693c650c850e..d17426f7222e425c3cfe2e052376018720f76a1c 100644 (file)
@@ -71,7 +71,7 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] =
    { 1, 2, 0, 0, 0, 0, COMP, "XPD", TGSI_OPCODE_XPD },
    { 0, 0, 0, 0, 0, 0, NONE, "", 32 },      /* removed */
    { 1, 1, 0, 0, 0, 0, COMP, "ABS", TGSI_OPCODE_ABS },
-   { 1, 1, 0, 0, 0, 0, REPL, "RCC", TGSI_OPCODE_RCC },
+   { 0, 0, 0, 0, 0, 0, NONE, "", 34 },      /* removed */
    { 1, 2, 0, 0, 0, 0, REPL, "DPH", TGSI_OPCODE_DPH },
    { 1, 1, 0, 0, 0, 0, REPL, "COS", TGSI_OPCODE_COS },
    { 1, 1, 0, 0, 0, 0, COMP, "DDX", TGSI_OPCODE_DDX },
index 56a7a972c9207a846229657893343f95f9535e77..33cf38b61e8e11076768f4b1a90c8ca529b61531 100644 (file)
@@ -87,7 +87,6 @@ OP11(LG2)
 OP12(POW)
 OP12(XPD)
 OP11(ABS)
-OP11(RCC)
 OP12(DPH)
 OP11(COS)
 OP11(DDX)
index e1cba95c264880bacb3c3d3a04bc46fa32e95db3..66cb167484068af3687d99008c2c3bcf39265019 100644 (file)
@@ -253,7 +253,6 @@ tgsi_util_get_inst_usage_mask(const struct tgsi_full_instruction *inst,
 
    case TGSI_OPCODE_EX2:
    case TGSI_OPCODE_LG2:
-   case TGSI_OPCODE_RCC:
       read_mask = TGSI_WRITEMASK_X;
       break;
 
index 49de4ca9172e76baf6b63ce7038447a8c5cde7f8..c912ec544d7108939414d472eb6ecb7590251fa8 100644 (file)
@@ -404,17 +404,6 @@ This instruction replicates its result.
   dst.w = |src.w|
 
 
-.. opcode:: RCC - Reciprocal Clamped
-
-This instruction replicates its result.
-
-XXX cleanup on aisle three
-
-.. math::
-
-  dst = (1 / src.x) > 0 ? clamp(1 / src.x, 5.42101e-020, 1.84467e+019) : clamp(1 / src.x, -1.84467e+019, -5.42101e-020)
-
-
 .. opcode:: DPH - Homogeneous Dot Product
 
 This instruction replicates its result.
index 8cbb47ec2642e99e070424ae361884facf9bc865..1bf9f21f9155fdb8363fbac8c624592f2afd3f54 100644 (file)
@@ -829,7 +829,6 @@ static const toy_tgsi_translate aos_translate_table[TGSI_OPCODE_LAST] = {
    [TGSI_OPCODE_POW]          = aos_simple,
    [TGSI_OPCODE_XPD]          = aos_XPD,
    [TGSI_OPCODE_ABS]          = aos_simple,
-   [TGSI_OPCODE_RCC]          = aos_unsupported,
    [TGSI_OPCODE_DPH]          = aos_simple,
    [TGSI_OPCODE_COS]          = aos_simple,
    [TGSI_OPCODE_DDX]          = aos_unsupported,
@@ -1380,7 +1379,6 @@ static const toy_tgsi_translate soa_translate_table[TGSI_OPCODE_LAST] = {
    [TGSI_OPCODE_POW]          = soa_scalar_replicate,
    [TGSI_OPCODE_XPD]          = soa_XPD,
    [TGSI_OPCODE_ABS]          = soa_per_channel,
-   [TGSI_OPCODE_RCC]          = soa_unsupported,
    [TGSI_OPCODE_DPH]          = soa_dot_product,
    [TGSI_OPCODE_COS]          = soa_scalar_replicate,
    [TGSI_OPCODE_DDX]          = soa_partial_derivative,
index c08818eb19b5d3979d1d146f43030a9a9b269e0d..f371713b3fc849f727a5a596243a7b01f7726275 100644 (file)
@@ -62,7 +62,6 @@ static unsigned translate_opcode(unsigned opcode)
         case TGSI_OPCODE_POW: return RC_OPCODE_POW;
         case TGSI_OPCODE_XPD: return RC_OPCODE_XPD;
         case TGSI_OPCODE_ABS: return RC_OPCODE_ABS;
-     /* case TGSI_OPCODE_RCC: return RC_OPCODE_RCC; */
         case TGSI_OPCODE_DPH: return RC_OPCODE_DPH;
         case TGSI_OPCODE_COS: return RC_OPCODE_COS;
         case TGSI_OPCODE_DDX: return RC_OPCODE_DDX;
index 10a5ca0b1ae1367bbac88f476b38d3f81fd9aaa1..ac7095f4de44f6e36f23237ee5e3fd5ca7305fe0 100644 (file)
@@ -7222,7 +7222,7 @@ static struct r600_shader_tgsi_instruction r600_shader_tgsi_instruction[] = {
        {TGSI_OPCODE_XPD,       0, ALU_OP0_NOP, tgsi_xpd},
        {32,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_ABS,       0, ALU_OP1_MOV, tgsi_op2},
-       {TGSI_OPCODE_RCC,       0, ALU_OP0_NOP, tgsi_unsupported},
+       {34,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_DPH,       0, ALU_OP2_DOT4, tgsi_dp},
        {TGSI_OPCODE_COS,       0, ALU_OP1_COS, tgsi_trig},
        {TGSI_OPCODE_DDX,       0, FETCH_OP_GET_GRADIENTS_H, tgsi_tex},
@@ -7421,7 +7421,7 @@ static struct r600_shader_tgsi_instruction eg_shader_tgsi_instruction[] = {
        {TGSI_OPCODE_XPD,       0, ALU_OP0_NOP, tgsi_xpd},
        {32,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_ABS,       0, ALU_OP1_MOV, tgsi_op2},
-       {TGSI_OPCODE_RCC,       0, ALU_OP0_NOP, tgsi_unsupported},
+       {34,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_DPH,       0, ALU_OP2_DOT4, tgsi_dp},
        {TGSI_OPCODE_COS,       0, ALU_OP1_COS, tgsi_trig},
        {TGSI_OPCODE_DDX,       0, FETCH_OP_GET_GRADIENTS_H, tgsi_tex},
@@ -7620,7 +7620,7 @@ static struct r600_shader_tgsi_instruction cm_shader_tgsi_instruction[] = {
        {TGSI_OPCODE_XPD,       0, ALU_OP0_NOP, tgsi_xpd},
        {32,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_ABS,       0, ALU_OP1_MOV, tgsi_op2},
-       {TGSI_OPCODE_RCC,       0, ALU_OP0_NOP, tgsi_unsupported},
+       {34,                    0, ALU_OP0_NOP, tgsi_unsupported},
        {TGSI_OPCODE_DPH,       0, ALU_OP2_DOT4, tgsi_dp},
        {TGSI_OPCODE_COS,       0, ALU_OP1_COS, cayman_trig},
        {TGSI_OPCODE_DDX,       0, FETCH_OP_GET_GRADIENTS_H, tgsi_tex},
index ba10576d77d440761479eb9bbacca4f0a5b1f0da..b1e7b10435ae85db05f67bbd7a1c03b2723c027c 100644 (file)
@@ -317,7 +317,7 @@ struct tgsi_property_data {
 #define TGSI_OPCODE_XPD                 31
                                 /* gap */
 #define TGSI_OPCODE_ABS                 33
-#define TGSI_OPCODE_RCC                 34
+                                /* gap */
 #define TGSI_OPCODE_DPH                 35
 #define TGSI_OPCODE_COS                 36
 #define TGSI_OPCODE_DDX                 37