|
@@ -426,7 +426,7 @@ static void asm_gencall(ASMState *as, const CCallInfo *ci, IRRef *args)
|
|
|
static void asm_setupresult(ASMState *as, IRIns *ir, const CCallInfo *ci)
|
|
|
{
|
|
|
RegSet drop = RSET_SCRATCH;
|
|
|
- int hiop = ((ir+1)->o == IR_HIOP);
|
|
|
+ int hiop = ((ir+1)->o == IR_HIOP && !irt_isnil((ir+1)->t));
|
|
|
if (ra_hasreg(ir->r))
|
|
|
rset_clear(drop, ir->r); /* Dest reg handled below. */
|
|
|
if (hiop && ra_hasreg((ir+1)->r))
|