summaryrefslogtreecommitdiff
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_ppc.c91
1 files changed, 7 insertions, 84 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_ppc.c b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
index 638fe09861..1a4db47501 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_ppc.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_ppc.c
@@ -578,18 +578,6 @@ emit_scalar_unaryop(struct gen_context *gen, struct tgsi_full_instruction *inst)
int v0, v1;
uint chan_index;
- switch (inst->Instruction.Opcode) {
- case TGSI_OPCODE_RSQ:
- ppc_comment(gen->f, -4, "RSQ:");
- break;
- case TGSI_OPCODE_RCP:
- ppc_comment(gen->f, -4, "LCP:");
- break;
- default:
- assert(0);
- }
-
-
v0 = get_src_vec(gen, inst, 0, CHAN_X);
v1 = ppc_allocate_vec_register(gen->f);
@@ -620,32 +608,6 @@ emit_unaryop(struct gen_context *gen, struct tgsi_full_instruction *inst)
{
uint chan_index;
- switch (inst->Instruction.Opcode) {
- case TGSI_OPCODE_ABS:
- ppc_comment(gen->f, -4, "ABS:");
- break;
- case TGSI_OPCODE_FLOOR:
- ppc_comment(gen->f, -4, "FLOOR:");
- break;
- case TGSI_OPCODE_FRAC:
- ppc_comment(gen->f, -4, "FRAC:");
- break;
- case TGSI_OPCODE_EXPBASE2:
- ppc_comment(gen->f, -4, "EXPBASE2:");
- break;
- case TGSI_OPCODE_LOGBASE2:
- ppc_comment(gen->f, -4, "LOGBASE2:");
- break;
- case TGSI_OPCODE_MOV:
- ppc_comment(gen->f, -4, "MOV:");
- break;
- case TGSI_OPCODE_SWZ:
- ppc_comment(gen->f, -4, "SWZ:");
- break;
- default:
- assert(0);
- }
-
FOR_EACH_DST0_ENABLED_CHANNEL(*inst, chan_index) {
int v0 = get_src_vec(gen, inst, 0, chan_index); /* v0 = srcreg[0] */
int v1 = get_dst_vec(gen, inst, chan_index);
@@ -692,26 +654,6 @@ emit_binop(struct gen_context *gen, struct tgsi_full_instruction *inst)
int zero_vec = -1;
uint chan;
- switch (inst->Instruction.Opcode) {
- case TGSI_OPCODE_ADD:
- ppc_comment(gen->f, -4, "ADD:");
- break;
- case TGSI_OPCODE_SUB:
- ppc_comment(gen->f, -4, "SUB:");
- break;
- case TGSI_OPCODE_MUL:
- ppc_comment(gen->f, -4, "MUL:");
- break;
- case TGSI_OPCODE_MIN:
- ppc_comment(gen->f, -4, "MIN:");
- break;
- case TGSI_OPCODE_MAX:
- ppc_comment(gen->f, -4, "MAX:");
- break;
- default:
- assert(0);
- }
-
if (inst->Instruction.Opcode == TGSI_OPCODE_MUL) {
zero_vec = ppc_allocate_vec_register(gen->f);
ppc_vzero(gen->f, zero_vec);
@@ -760,17 +702,6 @@ emit_triop(struct gen_context *gen, struct tgsi_full_instruction *inst)
{
uint chan;
- switch (inst->Instruction.Opcode) {
- case TGSI_OPCODE_MAD:
- ppc_comment(gen->f, -4, "MAD:");
- break;
- case TGSI_OPCODE_LRP:
- ppc_comment(gen->f, -4, "LRP:");
- break;
- default:
- assert(0);
- }
-
FOR_EACH_DST0_ENABLED_CHANNEL(*inst, chan) {
/* fetch src operands */
int v0 = get_src_vec(gen, inst, 0, chan);
@@ -861,20 +792,6 @@ emit_dotprod(struct gen_context *gen, struct tgsi_full_instruction *inst)
int v0, v1, v2;
uint chan_index;
- switch (inst->Instruction.Opcode) {
- case TGSI_OPCODE_DP3:
- ppc_comment(gen->f, -4, "DP3:");
- break;
- case TGSI_OPCODE_DP4:
- ppc_comment(gen->f, -4, "DP4:");
- break;
- case TGSI_OPCODE_DPH:
- ppc_comment(gen->f, -4, "DPH:");
- break;
- default:
- assert(0);
- }
-
v2 = ppc_allocate_vec_register(gen->f);
ppc_vzero(gen->f, v2); /* v2 = {0, 0, 0, 0} */
@@ -919,7 +836,6 @@ ppc_vec_pow(struct ppc_function *f, int vr, int va, int vb)
int t_vec = ppc_allocate_vec_register(f);
int zero_vec = ppc_allocate_vec_register(f);
- ppc_comment(f, -4, "POW:");
ppc_vzero(f, zero_vec);
ppc_vlogefp(f, t_vec, va); /* t = log2(va) */
@@ -1359,6 +1275,7 @@ tgsi_emit_ppc(const struct tgsi_token *tokens,
unsigned ok = 1;
uint num_immediates = 0;
struct gen_context gen;
+ uint ic = 0;
if (use_ppc_asm < 0) {
/* If GALLIUM_NOPPC is set, don't use PPC codegen */
@@ -1391,6 +1308,12 @@ tgsi_emit_ppc(const struct tgsi_token *tokens,
break;
case TGSI_TOKEN_TYPE_INSTRUCTION:
+ if (func->print) {
+ _debug_printf("# ");
+ ic++;
+ tgsi_dump_instruction(&parse.FullToken.FullInstruction, ic);
+ }
+
ok = emit_instruction(&gen, &parse.FullToken.FullInstruction);
if (!ok) {