webassemblyjs
webassemblyjs copied to clipboard
Implement integer operations
- [x] i32.add
- [x] i32.sub
- [x] i32.mul
- [x] i32.div_u
- [x] i32.div_s - needs to throw 'integer overflow' exception
- [x] i32.or
- [x] i32.xor
- [x] i32.and
- [x] i32.rem_u
- [x] i32.rem_s
- [x] i32.shl
- [x] i32.shr_u
- [x] i32.shr_s
- [x] i32.rotl
- [x] i32.rotr
- [x] i32.clz
- [x] i32.ctz
- [x] i32.popcnt
- [x] i32.eq
- [x] i32.eqz
- [x] i32.ine
- [x] i32.ilt_u
- [x] i32.ilt_s
- [x] i32.igt_u
- [x] i32.igt_s
- [x] i32.ile_u
- [x] i32.ile_s
- [x] i32.ige_u
- [x] i32.ige_s
- [ ] i64.add
- [ ] i64.sub
- [ ] i64.mul
- [ ] i64.div_u
- [ ] i64.div_s
- [ ] i64.rem_u
- [ ] i64.rem_s
- [ ] i64.and
- [ ] i64.or
- [ ] i64.xor
- [ ] i64.shl
- [ ] i64.shr_u
- [ ] i64.shr_s
- [ ] i64.rotl
- [ ] i64.rotr
- [ ] i64.iclz
- [ ] i64.ictz
- [ ] i64.ipopcnt
- [ ] i64.ieqz
- [ ] i64.ieq
- [ ] i64.ine
- [ ] i64.ilt_u
- [ ] i64.ilt_s
- [ ] i64.igt_u
- [ ] i64.igt_s
- [ ] i64.ile_u
- [ ] i64.ile_s
- [ ] i64.ige_u
- [ ] i64.ige_s
https://webassembly.github.io/spec/core/exec/numerics.html#integer-operations