X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=ir.c;h=c935214cb14cd05fd17d66396b107a059d384732;hb=0b6637cc67dad84b3e0f357c994ef625528b3e1f;hp=fbb79f2e6cd0e03005cb7c5167fe229279e485bc;hpb=97217b55d11cd81d23c6691cb5e06059ae6ae927;p=xonotic%2Fgmqcc.git diff --git a/ir.c b/ir.c index fbb79f2..c935214 100644 --- a/ir.c +++ b/ir.c @@ -1586,10 +1586,6 @@ bool ir_block_create_return(ir_block *self, lex_ctx_t ctx, ir_value *v) self->final = true; - /* can eliminate the return instructions for accumulation */ - if (self->owner->flags & IR_FLAG_ACCUMULATE) - return true; - self->is_return = true; in = ir_instr_new(ctx, self, INSTR_RETURN); if (!in) @@ -1896,7 +1892,7 @@ ir_value* ir_block_create_unary(ir_block *self, lex_ctx_t ctx, case VINSTR_NEG_F: return ir_block_create_general_instr(self, ctx, label, INSTR_SUB_F, NULL, operand, ot); case VINSTR_NEG_V: - return ir_block_create_general_instr(self, ctx, label, INSTR_SUB_V, NULL, operand, ot); + return ir_block_create_general_instr(self, ctx, label, INSTR_SUB_V, NULL, operand, TYPE_VECTOR); default: ot = operand->vtype;