static bool
-try_constant_propagate(fs_inst *inst, acp_entry *entry)
+try_constant_propagate(struct brw_context *brw, fs_inst *inst,
+ acp_entry *entry)
{
bool progress = false;
progress = true;
break;
+ case SHADER_OPCODE_POW:
+ case SHADER_OPCODE_INT_QUOTIENT:
+ case SHADER_OPCODE_INT_REMAINDER:
+ if (brw->gen < 8)
+ break;
+ /* fallthrough */
case BRW_OPCODE_BFI1:
case BRW_OPCODE_ASR:
case BRW_OPCODE_SHL:
foreach_list(entry_node, &acp[inst->src[i].reg % ACP_HASH_SIZE]) {
acp_entry *entry = (acp_entry *)entry_node;
- if (try_constant_propagate(inst, entry))
+ if (try_constant_propagate(brw, inst, entry))
progress = true;
if (try_copy_propagate(inst, i, entry))