diff options
| author | 2025-11-21 16:52:46 +0100 | |
|---|---|---|
| committer | 2025-11-21 16:52:46 +0100 | |
| commit | 821adf9e5c962c97e46f3a215c876bc10916e302 (patch) | |
| tree | afbde7e0cb5f073b6bdbec1d25e086f5e094b31d /ir | |
| parent | ec4cfe9db9afc1d1c633a922174f5bb0685b0c32 (diff) | |
remove umul
Diffstat (limited to 'ir')
| -rw-r--r-- | ir/builder.c | 2 | ||||
| -rw-r--r-- | ir/fold.c | 1 | ||||
| -rw-r--r-- | ir/op.def | 1 |
3 files changed, 1 insertions, 3 deletions
diff --git a/ir/builder.c b/ir/builder.c index 9c6a0ef..b177a39 100644 --- a/ir/builder.c +++ b/ir/builder.c @@ -18,7 +18,7 @@ irbinop(struct function *fn, enum op op, enum irclass k, union ref l, union ref case Osub: if (r.bits == ZEROREF.bits) return l; /* x +/- 0 ==> x */ break; - case Omul: case Oumul: + case Omul: if (isnumcon(l)) rswap(l, r); /* put const in rhs */ if (r.bits == ZEROREF.bits) /* x * 0 ==> 0 */ return ZEROREF; @@ -27,7 +27,6 @@ foldint(enum op op, enum irclass k, union ref lr, union ref rr) case Oadd: x = l.u + r.u; break; case Osub: x = l.u - r.u; break; case Omul: x = l.u * r.u; break; - case Oumul: x = l.u * r.u; break; case Odiv: x = w ? l.s / r.s : (int)l.s / (int)r.s; break; case Oudiv: x = w ? l.u / r.u : (uint)l.u / (uint)r.u; break; case Orem: x = w ? l.s % r.s : (int)l.s % (int)r.s; break; @@ -23,7 +23,6 @@ _(extu32, 1) _(add, 2) _(sub, 2) _(mul, 2) -_(umul, 2) _(div, 2) _(udiv, 2) _(rem, 2) |