From 4cbef26bb7878187c8bd3a0029e711331e6e4510 Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Fri, 17 Jun 2016 17:26:47 -0400 Subject: [PATCH] [llvm] Fix the allocation of vregs for the OP_MIN/MAX opcodes. Fixes #41947. --- mono/mini/method-to-ir.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mono/mini/method-to-ir.c b/mono/mini/method-to-ir.c index 7df45ee2556..3476585c107 100644 --- a/mono/mini/method-to-ir.c +++ b/mono/mini/method-to-ir.c @@ -5886,7 +5886,7 @@ llvm_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign if (opcode && fsig->param_count == 1) { MONO_INST_NEW (cfg, ins, opcode); ins->type = STACK_R8; - ins->dreg = mono_alloc_freg (cfg); + ins->dreg = mono_alloc_dreg (cfg, ins->type); ins->sreg1 = args [0]->dreg; MONO_ADD_INS (cfg->cbb, ins); } @@ -5917,7 +5917,7 @@ llvm_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign if (opcode && fsig->param_count == 2) { MONO_INST_NEW (cfg, ins, opcode); ins->type = fsig->params [0]->type == MONO_TYPE_I4 ? STACK_I4 : STACK_I8; - ins->dreg = mono_alloc_ireg (cfg); + ins->dreg = mono_alloc_dreg (cfg, ins->type); ins->sreg1 = args [0]->dreg; ins->sreg2 = args [1]->dreg; MONO_ADD_INS (cfg->cbb, ins); -- 2.25.1