diff options
| -rw-r--r-- | simplify.c | 5 | ||||
| -rw-r--r-- | validation/optim/ext-trunc-greater.c | 1 | ||||
| -rw-r--r-- | validation/optim/ext-trunc-smaller.c | 1 |
3 files changed, 4 insertions, 3 deletions
@@ -1015,7 +1015,10 @@ static int simplify_cast(struct instruction *insn) osize = def->orig_type->bit_size; if (size == osize) return replace_with_pseudo(insn, def->src); - break; + if (size > osize) + insn->opcode = def->opcode; + insn->orig_type = def->orig_type; + return replace_pseudo(insn, &insn->src, def->src); } break; } diff --git a/validation/optim/ext-trunc-greater.c b/validation/optim/ext-trunc-greater.c index bb19e17b..b682fc5d 100644 --- a/validation/optim/ext-trunc-greater.c +++ b/validation/optim/ext-trunc-greater.c @@ -11,7 +11,6 @@ short ugt(unsigned char x) /* * check-name: ext-trunc-greater * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-excludes: trunc\\. diff --git a/validation/optim/ext-trunc-smaller.c b/validation/optim/ext-trunc-smaller.c index a757a3ad..194c98d7 100644 --- a/validation/optim/ext-trunc-smaller.c +++ b/validation/optim/ext-trunc-smaller.c @@ -11,7 +11,6 @@ char ult(unsigned short x) /* * check-name: ext-trunc-smaller * check-command: test-linearize -Wno-decl $file - * check-known-to-fail * * check-output-ignore * check-output-excludes: sext\\. |
