diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2022-12-12 13:57:28 +0100 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-12-12 13:57:28 +0100 |
commit | d79b2aecbf58052262871265e42c78df6d0e8f4c (patch) | |
tree | fb5aa5f5729d1e1c89ec4f192b79775bc8732c24 /fold.c | |
parent | 9126afa2da0e1635d78429075cc44ca576f68169 (diff) | |
download | roux-d79b2aecbf58052262871265e42c78df6d0e8f4c.tar.gz |
zero msbs of 32-bit constants
Some noisy assemblers complain when asked to do it themselves.
Diffstat (limited to 'fold.c')
-rw-r--r-- | fold.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fold.c b/fold.c index 4b4a811..f992b3a 100644 --- a/fold.c +++ b/fold.c @@ -525,6 +525,8 @@ opfold(int op, int cls, Con *cl, Con *cr, Fn *fn) return Bot; } else foldflt(&c, op, cls == Kd, cl, cr); + if (!KWIDE(cls)) + c.bits.i &= 0xffffffff; r = newcon(&c, fn); assert(!(cls == Ks || cls == Kd) || c.flt); return r.val; |