Displaying 2 results from an estimated 2 matches for "tgsi_opcode_sg".
Did you mean:
tgsi_opcode_sgt
2009 Sep 10
0
[PATCH 06/13] nv50: handle SEQ, SGT, SLE, SNE opcodes
...didn't only write the predicate */
+ if (rdst)
+ emit_cvt(pc, rdst, dst, -1, CVTOP_ABS | CVTOP_RN, CVT_F32_S32);
+ if (rdst && rdst != dst)
free_temp(pc, dst);
}
+static INLINE unsigned
+map_tgsi_setop_cc(unsigned op)
+{
+ switch (op) {
+ case TGSI_OPCODE_SLT: return 0x1;
+ case TGSI_OPCODE_SGE: return 0x6;
+ case TGSI_OPCODE_SEQ: return 0x2;
+ case TGSI_OPCODE_SGT: return 0x4;
+ case TGSI_OPCODE_SLE: return 0x3;
+ case TGSI_OPCODE_SNE: return 0xd;
+ default:
+ assert(0);
+ return 0;
+ }
+}
+
static INLINE void
emit_flr(struct nv50_pc *pc, struct nv50_reg *dst, struct nv50_reg *src)...
2009 Jun 21
0
[PATCH] nv50: support for SLE, SNE, SEQ, SGT
...>inst[1] |= (fmt << 24);
set_src_0(pc, src, e);
@@ -846,55 +850,94 @@ emit_cvt(struct nv50_pc *pc, struct nv50_reg *dst, struct nv50_reg *src,
emit(pc, e);
}
+static inline unsigned
+map_opcode_ccode(unsigned op)
+{
+ switch (op) {
+ case TGSI_OPCODE_SLT: return TGSI_CC_LT;
+ case TGSI_OPCODE_SGE: return TGSI_CC_GE;
+ case TGSI_OPCODE_SEQ: return TGSI_CC_EQ;
+ case TGSI_OPCODE_SGT: return TGSI_CC_GT;
+ case TGSI_OPCODE_SLE: return TGSI_CC_LE;
+ case TGSI_OPCODE_SNE: return TGSI_CC_NE;
+ default:
+ assert(0);
+ return 0;
+ }
+}
+
+static inline unsigned
+map_ccode_nv50(unsigned cc)
+{
+ a...