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:
Dave Airlie
2017-06-01 08:34:09 +10:00
parent af2844116f
commit 55d1550d35

View File

@@ -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;