Rename TGSI LOOP instruction to better match theri usage.
authorMichal Krol <michal@vmware.com>
Fri, 31 Jul 2009 16:12:53 +0000 (18:12 +0200)
committerMichal Krol <michal@vmware.com>
Fri, 31 Jul 2009 16:14:40 +0000 (18:14 +0200)
The LOOP/ENDLOOP pair is renamed to BGNFOR/ENDFOR as its behaviour
is similar to a C language for-loop.

The BGNLOOP2/ENDLOOP2 pair is renamed to BGNLOOP/ENDLOOP as now
there is no name collision.

14 files changed:
src/gallium/auxiliary/gallivm/tgsitollvm.cpp
src/gallium/auxiliary/tgsi/tgsi-instruction-set.txt
src/gallium/auxiliary/tgsi/tgsi_dump.c
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/tgsi/tgsi_info.c
src/gallium/auxiliary/tgsi/tgsi_sanity.c
src/gallium/auxiliary/tgsi/tgsi_sse2.c
src/gallium/drivers/cell/ppu/cell_gen_fp.c
src/gallium/drivers/cell/spu/spu_exec.c
src/gallium/drivers/i965simple/brw_wm_glsl.c
src/gallium/include/pipe/p_shader_tokens.h
src/gallium/state_trackers/vega/asm_filters.h
src/mesa/drivers/dri/i965/brw_wm_glsl.c
src/mesa/state_tracker/st_mesa_to_tgsi.c

index 8d885e48be6f81add4afb92960bf88b9771fbad1..bf84401e11213425c77fe40724a4120b9cee3799 100644 (file)
@@ -516,7 +516,7 @@ translate_instruction(llvm::Module *module,
       return;  //just update the state
    }
       break;
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       break;
    case TGSI_OPCODE_REP:
       break;
@@ -532,7 +532,7 @@ translate_instruction(llvm::Module *module,
       return; //just update the state
    }
       break;
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       break;
    case TGSI_OPCODE_ENDREP:
       break;
@@ -574,7 +574,7 @@ translate_instruction(llvm::Module *module,
       break;
    case TGSI_OPCODE_ENDPRIM:
       break;
-   case TGSI_OPCODE_BGNLOOP2: {
+   case TGSI_OPCODE_BGNLOOP: {
       instr->beginLoop();
       storage->setCurrentBlock(instr->currentBlock());
       return;
@@ -587,7 +587,7 @@ translate_instruction(llvm::Module *module,
       return;
    }
       break;
-   case TGSI_OPCODE_ENDLOOP2: {
+   case TGSI_OPCODE_ENDLOOP: {
       instr->endLoop();
       storage->setCurrentBlock(instr->currentBlock());
       return;
@@ -890,7 +890,7 @@ translate_instructionir(llvm::Module *module,
    case TGSI_OPCODE_IF: {
    }
       break;
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       break;
    case TGSI_OPCODE_REP:
       break;
@@ -900,7 +900,7 @@ translate_instructionir(llvm::Module *module,
    case TGSI_OPCODE_ENDIF: {
    }
       break;
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       break;
    case TGSI_OPCODE_ENDREP:
       break;
@@ -941,13 +941,13 @@ translate_instructionir(llvm::Module *module,
       break;
    case TGSI_OPCODE_ENDPRIM:
       break;
-   case TGSI_OPCODE_BGNLOOP2: {
+   case TGSI_OPCODE_BGNLOOP: {
    }
       break;
    case TGSI_OPCODE_BGNSUB: {
    }
       break;
-   case TGSI_OPCODE_ENDLOOP2: {
+   case TGSI_OPCODE_ENDLOOP: {
    }
       break;
    case TGSI_OPCODE_ENDSUB: {
index 5f88cc2acaca371caf34a4023ff255203e74a2ce..802ec3711896b557ed9b2cc5c523bd38134ff213 100644 (file)
@@ -665,14 +665,14 @@ TGSI Instruction Specification
   TBD
 
 
-1.9.8  LOOP - Loop
+1.9.8  BGNFOR - Begin a For-Loop
 
   dst.x = floor(src.x)
   dst.y = floor(src.y)
   dst.z = floor(src.z)
 
   if (dst.y <= 0)
-    pc = [matching ENDLOOP] + 1
+    pc = [matching ENDFOR] + 1
   endif
 
   Note: The destination must be a loop register.
@@ -694,13 +694,13 @@ TGSI Instruction Specification
   TBD
 
 
-1.9.12  ENDLOOP - End Loop
+1.9.12  ENDFOR - End a For-Loop
 
   dst.x = dst.x + dst.z
   dst.y = dst.y - 1.0
 
   if (dst.y > 0)
-    pc = [matching LOOP instruction] + 1
+    pc = [matching BGNFOR instruction] + 1
   endif
 
   Note: The destination must be a loop register.
@@ -856,7 +856,7 @@ TGSI Instruction Specification
 ----------
 
 
-1.13.1  BGNLOOP2 - Begin Loop
+1.13.1  BGNLOOP - Begin a Loop
 
   TBD
 
@@ -866,7 +866,7 @@ TGSI Instruction Specification
   TBD
 
 
-1.13.3  ENDLOOP2 - End Loop
+1.13.3  ENDLOOP - End a Loop
 
   TBD
 
index 4ca3a16b8ae46ee3f08f0a1d8c5c8b9e906b186e..f36b1114a9559229bf4e9da8bbaaa7b213586ddf 100644 (file)
@@ -473,8 +473,8 @@ iter_instruction(
    switch (inst->Instruction.Opcode) {
    case TGSI_OPCODE_IF:
    case TGSI_OPCODE_ELSE:
-   case TGSI_OPCODE_BGNLOOP2:
-   case TGSI_OPCODE_ENDLOOP2:
+   case TGSI_OPCODE_BGNLOOP:
+   case TGSI_OPCODE_ENDLOOP:
    case TGSI_OPCODE_CAL:
       TXT( " :" );
       UID( inst->InstructionExtLabel.Label );
index 0179bba5a2151e2fb429a536fc136182f36b6208..5af0a947947fed528ed5553bd76c2230c22c7ade 100644 (file)
@@ -3087,9 +3087,9 @@ exec_instruction(
       mach->Primitives[mach->Temps[TEMP_PRIMITIVE_I].xyzw[TEMP_PRIMITIVE_C].u[0]] = 0;
       break;
 
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       /* fall-through (for now) */
-   case TGSI_OPCODE_BGNLOOP2:
+   case TGSI_OPCODE_BGNLOOP:
       /* push LoopMask and ContMasks */
       assert(mach->LoopStackTop < TGSI_EXEC_MAX_LOOP_NESTING);
       mach->LoopStack[mach->LoopStackTop++] = mach->LoopMask;
@@ -3097,9 +3097,9 @@ exec_instruction(
       mach->ContStack[mach->ContStackTop++] = mach->ContMask;
       break;
 
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       /* fall-through (for now at least) */
-   case TGSI_OPCODE_ENDLOOP2:
+   case TGSI_OPCODE_ENDLOOP:
       /* Restore ContMask, but don't pop */
       assert(mach->ContStackTop > 0);
       mach->ContMask = mach->ContStack[mach->ContStackTop - 1];
index 3a47e9b84df7e2eab2816c84077c49b176bcf279..cd8871e32dde33734606f1c8d14dd659ce3b654c 100644 (file)
@@ -106,11 +106,11 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] =
    { 1, 2, 1, 0, "TXL", TGSI_OPCODE_TXL },
    { 0, 0, 0, 0, "BRK", TGSI_OPCODE_BRK },
    { 0, 1, 0, 1, "IF", TGSI_OPCODE_IF },
-   { 1, 1, 0, 0, "LOOP", TGSI_OPCODE_LOOP },
+   { 1, 1, 0, 0, "BGNFOR", TGSI_OPCODE_BGNFOR },
    { 0, 1, 0, 0, "REP", TGSI_OPCODE_REP },
    { 0, 0, 0, 1, "ELSE", TGSI_OPCODE_ELSE },
    { 0, 0, 0, 0, "ENDIF", TGSI_OPCODE_ENDIF },
-   { 1, 0, 0, 0, "ENDLOOP", TGSI_OPCODE_ENDLOOP },
+   { 1, 0, 0, 0, "ENDFOR", TGSI_OPCODE_ENDFOR },
    { 0, 0, 0, 0, "ENDREP", TGSI_OPCODE_ENDREP },
    { 0, 1, 0, 0, "PUSHA", TGSI_OPCODE_PUSHA },
    { 1, 0, 0, 0, "POPA", TGSI_OPCODE_POPA },
@@ -130,9 +130,9 @@ static const struct tgsi_opcode_info opcode_info[TGSI_OPCODE_LAST] =
    { 0, 0, 0, 0, "CONT", TGSI_OPCODE_CONT },
    { 0, 0, 0, 0, "EMIT", TGSI_OPCODE_EMIT },
    { 0, 0, 0, 0, "ENDPRIM", TGSI_OPCODE_ENDPRIM },
-   { 0, 0, 0, 1, "BGNLOOP2", TGSI_OPCODE_BGNLOOP2 },
+   { 0, 0, 0, 1, "BGNLOOP", TGSI_OPCODE_BGNLOOP },
    { 0, 0, 0, 0, "BGNSUB", TGSI_OPCODE_BGNSUB },
-   { 0, 0, 0, 1, "ENDLOOP2", TGSI_OPCODE_ENDLOOP2 },
+   { 0, 0, 0, 1, "ENDLOOP", TGSI_OPCODE_ENDLOOP },
    { 0, 0, 0, 0, "ENDSUB", TGSI_OPCODE_ENDSUB },
    { 1, 1, 0, 0, "NOISE1", TGSI_OPCODE_NOISE1 },
    { 1, 1, 0, 0, "NOISE2", TGSI_OPCODE_NOISE2 },
index cb62a95fc0ac23cf70dd2b92af99d366a5a73166..4fe8553c4236fc50bdad4342f6060f8dda069438 100644 (file)
@@ -242,8 +242,8 @@ iter_instruction(
    }
 
    switch (inst->Instruction.Opcode) {
-   case TGSI_OPCODE_LOOP:
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_BGNFOR:
+   case TGSI_OPCODE_ENDFOR:
       if (inst->FullDstRegisters[0].DstRegister.File != TGSI_FILE_LOOP ||
           inst->FullDstRegisters[0].DstRegister.Index != 0) {
          report_error(ctx, "Destination register must be LOOP[0]");
@@ -252,7 +252,7 @@ iter_instruction(
    }
 
    switch (inst->Instruction.Opcode) {
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       if (inst->FullSrcRegisters[0].SrcRegister.File != TGSI_FILE_CONSTANT &&
           inst->FullSrcRegisters[0].SrcRegister.File != TGSI_FILE_IMMEDIATE) {
          report_error(ctx, "Source register file must be either CONST or IMM");
index 16848f7cc5e0e60966ce0787211553530cc66d44..52186770e6aad7c18a20310f2deef9d39d7c6af7 100644 (file)
@@ -2531,7 +2531,7 @@ emit_instruction(
       return 0;
       break;
 
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       return 0;
       break;
 
@@ -2547,7 +2547,7 @@ emit_instruction(
       return 0;
       break;
 
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       return 0;
       break;
 
index 7cd5656a7e6ac2097abd1fd73fd8900dd8be1e00..58a8b5d0b0f6bea44dbd667f80c3fde6e8342ec2 100644 (file)
@@ -1834,9 +1834,9 @@ emit_instruction(struct codegen *gen,
    case TGSI_OPCODE_ENDIF:
       return emit_ENDIF(gen, inst);
 
-   case TGSI_OPCODE_BGNLOOP2:
+   case TGSI_OPCODE_BGNLOOP:
       return emit_BGNLOOP(gen, inst);
-   case TGSI_OPCODE_ENDLOOP2:
+   case TGSI_OPCODE_ENDLOOP:
       return emit_ENDLOOP(gen, inst);
    case TGSI_OPCODE_BRK:
       return emit_BRK(gen, inst);
index 570553e1d681861ac6de6eef22d701a01b047476..6db9501128c2fa5e7a4810a7bc302408f666d903 100644 (file)
@@ -1758,9 +1758,9 @@ exec_instruction(
       mach->Primitives[mach->Temps[TEMP_PRIMITIVE_I].xyzw[TEMP_PRIMITIVE_C].u[0]] = 0;
       break;
 
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       /* fall-through (for now) */
-   case TGSI_OPCODE_BGNLOOP2:
+   case TGSI_OPCODE_BGNLOOP:
       /* push LoopMask and ContMasks */
       ASSERT(mach->LoopStackTop < TGSI_EXEC_MAX_LOOP_NESTING);
       mach->LoopStack[mach->LoopStackTop++] = mach->LoopMask;
@@ -1768,9 +1768,9 @@ exec_instruction(
       mach->ContStack[mach->ContStackTop++] = mach->ContMask;
       break;
 
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       /* fall-through (for now at least) */
-   case TGSI_OPCODE_ENDLOOP2:
+   case TGSI_OPCODE_ENDLOOP:
       /* Restore ContMask, but don't pop */
       ASSERT(mach->ContStackTop > 0);
       mach->ContMask = mach->ContStack[mach->ContStackTop - 1];
index ab6410aa607655a2735119333bf4010d843a390e..db759639328a508910f48a3d9d6fb522a797e5f8 100644 (file)
@@ -947,7 +947,7 @@ static void brw_wm_emit_instruction( struct brw_wm_compile *c,
 #endif
 
       break;
-   case TGSI_OPCODE_LOOP:
+   case TGSI_OPCODE_BGNFOR:
       c->loop_inst[c->loop_insn++] = brw_DO(p, BRW_EXECUTE_8);
       break;
    case TGSI_OPCODE_BRK:
@@ -958,11 +958,11 @@ static void brw_wm_emit_instruction( struct brw_wm_compile *c,
       brw_CONT(p);
       brw_set_predicate_control(p, BRW_PREDICATE_NONE);
       break;
-   case TGSI_OPCODE_ENDLOOP:
+   case TGSI_OPCODE_ENDFOR:
       c->loop_insn--;
       c->inst0 = c->inst1 = brw_WHILE(p, c->loop_inst[c->loop_insn]);
       /* patch all the BREAK instructions from
-        last BEGINLOOP */
+         last BGNFOR */
       while (c->inst0 > c->loop_inst[c->loop_insn]) {
         c->inst0--;
         if (c->inst0->header.opcode == BRW_OPCODE_BREAK) {
index c4be604e5a0aa44b36e2c6d2b96a2d3d321f052b..f0ba4fb308ce22d3cefb11053eeb2544fe23f5f3 100644 (file)
@@ -238,11 +238,11 @@ union tgsi_immediate_data
 #define TGSI_OPCODE_TXL                 72
 #define TGSI_OPCODE_BRK                 73
 #define TGSI_OPCODE_IF                  74
-#define TGSI_OPCODE_LOOP                75
+#define TGSI_OPCODE_BGNFOR              75
 #define TGSI_OPCODE_REP                 76
 #define TGSI_OPCODE_ELSE                77
 #define TGSI_OPCODE_ENDIF               78
-#define TGSI_OPCODE_ENDLOOP             79
+#define TGSI_OPCODE_ENDFOR              79
 #define TGSI_OPCODE_ENDREP              80
 #define TGSI_OPCODE_PUSHA               81
 #define TGSI_OPCODE_POPA                82
@@ -262,9 +262,9 @@ union tgsi_immediate_data
 #define TGSI_OPCODE_CONT                96
 #define TGSI_OPCODE_EMIT                97
 #define TGSI_OPCODE_ENDPRIM             98
-#define TGSI_OPCODE_BGNLOOP2            99
+#define TGSI_OPCODE_BGNLOOP             99
 #define TGSI_OPCODE_BGNSUB              100
-#define TGSI_OPCODE_ENDLOOP2            101
+#define TGSI_OPCODE_ENDLOOP             101
 #define TGSI_OPCODE_ENDSUB              102
 #define TGSI_OPCODE_NOISE1              103
 #define TGSI_OPCODE_NOISE2              104
index 49807b9ab41816a10c632009ff29b9ce2b22636b..9a49f2e12d0139bf3eb0167fc7b521b8e0ec30b7 100644 (file)
@@ -60,7 +60,7 @@ static const char convolution_asm[] =
    "DCL SAMP[0], CONSTANT\n"
    "0: MOV TEMP[0], CONST[0].xxxx\n"
    "1: MOV TEMP[1], CONST[0].xxxx\n"
-   "2: BGNLOOP2 :14\n"
+   "2: BGNLOOP :14\n"
    "3: SGE TEMP[0].z, TEMP[0].yyyy, CONST[1].xxxx\n"
    "4: IF TEMP[0].zzzz :7\n"
    "5: BRK\n"
@@ -72,7 +72,7 @@ static const char convolution_asm[] =
    "11: MOV TEMP[3], CONST[ADDR[0]+%d]\n"
    "12: MAD TEMP[1], TEMP[2], TEMP[3], TEMP[1]\n"
    "13: ADD TEMP[0].y, TEMP[0].yyyy, CONST[0].yyyy\n"
-   "14: ENDLOOP2 :2\n"
+   "14: ENDLOOP :2\n"
    "15: MAD OUT[0], TEMP[1], CONST[1].yyyy, CONST[1].zzzz\n"
    "16: END\n";
 
index 19f777fe32e55d26cff99f9316ac4cc8f2ead3b5..85a4237d5a7c52ec12d767894ec71630f7bcd686 100644 (file)
@@ -3007,7 +3007,7 @@ static void brw_wm_emit_glsl(struct brw_context *brw, struct brw_wm_compile *c)
  
                   loop_depth--;
                   inst0 = inst1 = brw_WHILE(p, loop_inst[loop_depth]);
-                  /* patch all the BREAK/CONT instructions from last BEGINLOOP */
+                  /* patch all the BREAK/CONT instructions from last BGNLOOP */
                   while (inst0 > loop_inst[loop_depth]) {
                      inst0--;
                      if (inst0->header.opcode == BRW_OPCODE_BREAK) {
index c8fb39d558fe2878afb4b83767f900c1c82dd466..dd7e40be0881060849a000ac16a8692381fde7e8 100644 (file)
@@ -368,7 +368,7 @@ compile_instruction(
       fullinst->Instruction.Opcode = TGSI_OPCODE_ADD;
       break;
    case OPCODE_BGNLOOP:
-      fullinst->Instruction.Opcode = TGSI_OPCODE_BGNLOOP2;
+      fullinst->Instruction.Opcode = TGSI_OPCODE_BGNLOOP;
       fullinst->InstructionExtLabel.Label = inst->BranchTarget + preamble_size;
       break;
    case OPCODE_BGNSUB:
@@ -426,7 +426,7 @@ compile_instruction(
       fullinst->Instruction.Opcode = TGSI_OPCODE_ENDIF;
       break;
    case OPCODE_ENDLOOP:
-      fullinst->Instruction.Opcode = TGSI_OPCODE_ENDLOOP2;
+      fullinst->Instruction.Opcode = TGSI_OPCODE_ENDLOOP;
       fullinst->InstructionExtLabel.Label = inst->BranchTarget + preamble_size;
       break;
    case OPCODE_ENDSUB: