diff options
| -rw-r--r-- | simplify.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1292,8 +1292,10 @@ static int simplify_cast(struct instruction *insn) } break; case OP_TRUNC: - osize = def->orig_type->bit_size; - if (insn->opcode == OP_ZEXT && size == osize) { + switch (insn->opcode) { + case OP_ZEXT: + if (size != def->orig_type->bit_size) + break; insn->opcode = OP_AND; insn->src2 = value_pseudo((1ULL << def->size) - 1); return replace_pseudo(insn, &insn->src1, def->src); |
