glsl/lower_int64: only set progress when something is lowered.
Otherwise we'd get progress continually set if we had non 64-bit versions of these ops. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -341,6 +341,7 @@ lower_64bit_visitor::handle_op(ir_expression *ir,
|
|||||||
add_function(f);
|
add_function(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this->progress = true;
|
||||||
return lower_op_to_function_call(this->base_ir, ir, callee);
|
return lower_op_to_function_call(this->base_ir, ir, callee);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -357,7 +358,6 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
|
|||||||
case ir_unop_sign:
|
case ir_unop_sign:
|
||||||
if (lowering(SIGN64)) {
|
if (lowering(SIGN64)) {
|
||||||
*rvalue = handle_op(ir, "__builtin_sign64", generate_ir::sign64);
|
*rvalue = handle_op(ir, "__builtin_sign64", generate_ir::sign64);
|
||||||
this->progress = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -368,7 +368,6 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
|
|||||||
} else {
|
} else {
|
||||||
*rvalue = handle_op(ir, "__builtin_idiv64", generate_ir::idiv64);
|
*rvalue = handle_op(ir, "__builtin_idiv64", generate_ir::idiv64);
|
||||||
}
|
}
|
||||||
this->progress = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -379,14 +378,12 @@ lower_64bit_visitor::handle_rvalue(ir_rvalue **rvalue)
|
|||||||
} else {
|
} else {
|
||||||
*rvalue = handle_op(ir, "__builtin_imod64", generate_ir::imod64);
|
*rvalue = handle_op(ir, "__builtin_imod64", generate_ir::imod64);
|
||||||
}
|
}
|
||||||
this->progress = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ir_binop_mul:
|
case ir_binop_mul:
|
||||||
if (lowering(MUL64)) {
|
if (lowering(MUL64)) {
|
||||||
*rvalue = handle_op(ir, "__builtin_umul64", generate_ir::umul64);
|
*rvalue = handle_op(ir, "__builtin_umul64", generate_ir::umul64);
|
||||||
this->progress = true;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user