summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_sse2.c
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2008-08-12 12:00:57 -0600
committerBrian Paul <brian.paul@tungstengraphics.com>2008-08-12 12:00:57 -0600
commitfaad6655946968dd16ab30cc8d5fbd5a09321976 (patch)
tree672725d314b623c5f0ad5327453303c7b8cf8084 /src/gallium/auxiliary/tgsi/tgsi_sse2.c
parent8f243d659397bf625379daad220be199d933b0ec (diff)
gallium: distinguish between KIL and KILP
Note: KIL (unconditional) not done yet.
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_sse2.c')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_sse2.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
index 0cb1f11ef2..f3a202ae89 100644
--- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c
+++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c
@@ -1002,7 +1002,7 @@ emit_store(
*/
static void
-emit_kil(
+emit_kilp(
struct x86_function *func,
const struct tgsi_full_src_register *reg )
{
@@ -1096,6 +1096,15 @@ emit_kil(
x86_make_reg( file_REG32, reg_AX ) );
}
+
+static void
+emit_kil(
+ struct x86_function *func )
+{
+ /* XXX todo / fix me */
+}
+
+
static void
emit_setcc(
struct x86_function *func,
@@ -1609,8 +1618,15 @@ emit_instruction(
return 0;
break;
+ case TGSI_OPCODE_KILP:
+ /* predicated kill */
+ emit_kilp( func, &inst->FullSrcRegisters[0] );
+ break;
+
case TGSI_OPCODE_KIL:
- emit_kil( func, &inst->FullSrcRegisters[0] );
+ /* unconditional kill */
+ emit_kil( func );
+ return 0; /* XXX fix me */
break;
case TGSI_OPCODE_PK2H: