| ;;; TOOL: run-interp |
| (module |
| ;; i32 |
| (func (export "i32_wrap_i64") (result i32) |
| i64.const -1 |
| i32.wrap/i64) |
| ;; TODO(binji): how best to distinguish _s from _u? |
| (func (export "i32_trunc_s_f32") (result i32) |
| f32.const -100.12345 |
| i32.trunc_s/f32) |
| (func (export "i32_trunc_u_f32") (result i32) |
| f32.const 3e9 |
| i32.trunc_u/f32) |
| (func (export "i32_trunc_s_f64") (result i32) |
| f64.const -100.12345 |
| i32.trunc_s/f64) |
| (func (export "i32_trunc_u_f64") (result i32) |
| f64.const 3e9 |
| i32.trunc_u/f64) |
| |
| ;; i64 |
| (func (export "i64_extend_u_i32") (result i64) |
| i32.const -1 |
| i64.extend_u/i32) |
| (func (export "i64_extend_s_i32") (result i64) |
| i32.const -1 |
| i64.extend_s/i32) |
| |
| (func (export "i64_trunc_s_f32") (result i32) |
| f32.const -100.12345 |
| i64.trunc_s/f32 |
| i64.const -100 |
| i64.eq) |
| (func (export "i64_trunc_u_f32") (result i32) |
| f32.const 3e9 |
| i64.trunc_u/f32 |
| i64.const 3000000000 |
| i64.eq) |
| (func (export "i64_trunc_s_f64") (result i32) |
| f64.const -100.12345 |
| i64.trunc_s/f64 |
| i64.const -100 |
| i64.eq) |
| (func (export "i64_trunc_u_f64") (result i32) |
| f64.const 3e9 |
| i64.trunc_u/f64 |
| i64.const 3000000000 |
| i64.eq) |
| |
| ;; f32 |
| (func (export "f32_convert_s_i32") (result f32) |
| i32.const -1 |
| f32.convert_s/i32) |
| (func (export "f32_convert_u_i32") (result f32) |
| i32.const -1 |
| f32.convert_u/i32) |
| (func (export "f32_demote_f64") (result f32) |
| f64.const 12345678.9 |
| f32.demote/f64) |
| (func (export "f32_convert_s_i64") (result f32) |
| i64.const 0 |
| f32.convert_s/i64) |
| (func (export "f32_convert_u_i64") (result f32) |
| i64.const 0 |
| f32.convert_u/i64) |
| |
| ;; f64 |
| (func (export "f64_convert_s_i32") (result f64) |
| i32.const -1 |
| f64.convert_s/i32) |
| (func (export "f64_convert_u_i32") (result f64) |
| i32.const -1 |
| f64.convert_u/i32) |
| (func (export "f64_demote_f32") (result f64) |
| f32.const 12345678.9 |
| f64.promote/f32) |
| (func (export "f64_convert_s_i64") (result f64) |
| i64.const 0 |
| f64.convert_s/i64) |
| (func (export "f64_convert_u_i64") (result f64) |
| i64.const 0 |
| f64.convert_u/i64) |
| ) |
| (;; STDOUT ;;; |
| i32_wrap_i64() => i32:4294967295 |
| i32_trunc_s_f32() => i32:4294967196 |
| i32_trunc_u_f32() => i32:3000000000 |
| i32_trunc_s_f64() => i32:4294967196 |
| i32_trunc_u_f64() => i32:3000000000 |
| i64_extend_u_i32() => i64:4294967295 |
| i64_extend_s_i32() => i64:18446744073709551615 |
| i64_trunc_s_f32() => i32:1 |
| i64_trunc_u_f32() => i32:1 |
| i64_trunc_s_f64() => i32:1 |
| i64_trunc_u_f64() => i32:1 |
| f32_convert_s_i32() => f32:-1.000000 |
| f32_convert_u_i32() => f32:4294967296.000000 |
| f32_demote_f64() => f32:12345679.000000 |
| f32_convert_s_i64() => f32:0.000000 |
| f32_convert_u_i64() => f32:0.000000 |
| f64_convert_s_i32() => f64:-1.000000 |
| f64_convert_u_i32() => f64:4294967295.000000 |
| f64_demote_f32() => f64:12345679.000000 |
| f64_convert_s_i64() => f64:0.000000 |
| f64_convert_u_i64() => f64:0.000000 |
| ;;; STDOUT ;;) |