From: Rudolf Polzer Date: Mon, 26 Aug 2013 09:56:33 +0000 (+0200) Subject: ordering X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=b01cd138a81a9fa63357fb86f7194d3f9ab006fe;p=xonotic%2Fgmqcc.git ordering --- diff --git a/gmqcc.h b/gmqcc.h index f7e9502..5ac1935 100644 --- a/gmqcc.h +++ b/gmqcc.h @@ -718,14 +718,15 @@ enum { * No-Return-Call */ VINSTR_NRCALL, + /* Emulated instructions. */ - VINSTR_BITXOR, - VINSTR_BITAND_V, - VINSTR_BITOR_V, - VINSTR_BITXOR_V, + VINSTR_BITAND_V, /* BITAND_V must be the first emulated bitop */ VINSTR_BITAND_VF, + VINSTR_BITOR_V, VINSTR_BITOR_VF, - VINSTR_BITXOR_VF + VINSTR_BITXOR, + VINSTR_BITXOR_V, + VINSTR_BITXOR_VF /* BITXOR_VF must be the last emulated bitop */ }; /* TODO: elide */ diff --git a/ir.c b/ir.c index e60dfbd..d77f011 100644 --- a/ir.c +++ b/ir.c @@ -613,13 +613,7 @@ static bool instr_is_operation(uint16_t op) (op >= INSTR_NOT_F && op <= INSTR_NOT_FNC) || (op >= INSTR_AND && op <= INSTR_BITOR) || (op >= INSTR_CALL0 && op <= INSTR_CALL8) || - (op == VINSTR_BITXOR) || - (op == VINSTR_BITAND_V) || - (op == VINSTR_BITAND_VF) || - (op == VINSTR_BITOR_V) || - (op == VINSTR_BITOR_VF) || - (op == VINSTR_BITXOR_V) || - (op == VINSTR_BITXOR_VF)); + (op >= VINSTR_BITAND_V && op <= VINSTR_BITXOR_VF) ); } static bool ir_function_pass_peephole(ir_function *self)