i965/fs: Optimize saturating SEL.G(E) with imm val <= 0.0f.
Only one program's instruction count is changed, but a shader in Tropics is also affected. instructions in affected programs: 326 -> 320 (-1.84%) Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>
This commit is contained in:
@@ -1897,6 +1897,20 @@ fs_visitor::opt_algebraic()
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case BRW_CONDITIONAL_GE:
|
||||
case BRW_CONDITIONAL_G:
|
||||
switch (inst->src[1].type) {
|
||||
case BRW_REGISTER_TYPE_F:
|
||||
if (inst->src[1].imm.f <= 0.0f) {
|
||||
inst->opcode = BRW_OPCODE_MOV;
|
||||
inst->src[1] = reg_undef;
|
||||
inst->conditional_mod = BRW_CONDITIONAL_NONE;
|
||||
progress = true;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user