Home | History | Annotate | Download | only in a2xx

Lines Matching defs:alu

168 	/* third pass, emit ALU/FETCH: */
359 * ALU instructions:
366 instr_alu_t *alu = (instr_alu_t *)dwords;
372 memset(alu, 0, sizeof(*alu));
375 switch (instr->alu.vector_opc) {
406 if (instr->alu.vector_opc == (instr_vector_opc_t)~0) {
407 alu->vector_opc = MAXv;
408 alu->vector_write_mask = 0;
410 alu->vector_opc = instr->alu.vector_opc;
411 alu->vector_write_mask = reg_alu_dst_swiz(dst_reg);
414 alu->vector_dest = dst_reg->num;
415 alu->export_data = !!(dst_reg->flags & IR2_REG_EXPORT);
419 alu->src2_reg = src2_reg->num;
420 alu->src2_swiz = reg_alu_src_swiz(src2_reg);
421 alu->src2_reg_negate = !!(src2_reg->flags & IR2_REG_NEGATE);
422 alu->src2_reg_abs = !!(src2_reg->flags & IR2_REG_ABS);
423 alu->src2_sel = !(src2_reg->flags & IR2_REG_CONST);
425 alu->src1_reg = src1_reg->num;
426 alu->src1_swiz = reg_alu_src_swiz(src1_reg);
427 alu->src1_reg_negate = !!(src1_reg->flags & IR2_REG_NEGATE);
428 alu->src1_reg_abs = !!(src1_reg->flags & IR2_REG_ABS);
429 alu->src1_sel = !(src1_reg->flags & IR2_REG_CONST);
431 alu->vector_clamp = instr->alu.vector_clamp;
432 alu->scalar_clamp = instr->alu.scalar_clamp;
434 if (instr->alu.scalar_opc != (instr_scalar_opc_t)~0) {
448 alu->scalar_dest = sdst_reg->num;
449 alu->scalar_write_mask = reg_alu_dst_swiz(sdst_reg);
450 alu->scalar_opc = instr->alu.scalar_opc;
455 alu->scalar_opc = MAXs;
461 alu->src3_reg = src3_reg->num;
462 alu->src3_swiz = reg_alu_src_swiz(src3_reg);
463 alu->src3_reg_negate = !!(src3_reg->flags & IR2_REG_NEGATE);
464 alu->src3_reg_abs = !!(src3_reg->flags & IR2_REG_ABS);
465 alu->src3_sel = !(src3_reg->flags & IR2_REG_CONST);
470 alu->src3_sel = 1;
474 alu->pred_select = (instr->pred == IR2_PRED_EQ) ? 3 : 2;
590 DEBUG_MSG("alu dst R%d.%s", reg->num, reg->swizzle);