[0 ... nir_num_opcodes - 1] = {-1, -1},
[nir_op_mov] = {MAXs, MAXv},
+ [nir_op_fneg] = {MAXs, MAXv},
+ [nir_op_fabs] = {MAXs, MAXv},
+ [nir_op_fsat] = {MAXs, MAXv},
[nir_op_fsign] = {-1, CNDGTEv},
[nir_op_fadd] = {ADDs, ADDv},
[nir_op_fsub] = {ADDs, ADDv},
/* workarounds for NIR ops that don't map directly to a2xx ops */
switch (alu->op) {
+ case nir_op_fneg:
+ instr->src[0].negate = 1;
+ break;
+ case nir_op_fabs:
+ instr->src[0].abs = 1;
+ break;
+ case nir_op_fsat:
+ instr->alu.saturate = 1;
+ break;
case nir_op_slt:
tmp = instr->src[0];
instr->src[0] = instr->src[1];