;;; TOOL: run-roundtrip ;;; ARGS: --stdout --fold-exprs (module (func $fold-binary (result i32) i32.const 1 i32.const 2 i32.add) (func $fold-binary-chain (result i32) i32.const 1 i32.const 1 i32.const 1 i32.add i32.sub) (func $fold-compare (result i32) f32.const 1 f32.const 2 f32.le) (func $fold-unary (result f32) f32.const 1 f32.neg f32.neg) (func $fold-convert (result i64) f64.const 0 f32.demote/f64 i32.trunc_s/f32 i64.extend_s/i32) (func $fold-select (result f32) f32.const 1 f32.const 2 i32.const 3 select)) (;; STDOUT ;;; (module (type (;0;) (func (result i32))) (type (;1;) (func (result f32))) (type (;2;) (func (result i64))) (func (;0;) (type 0) (result i32) (i32.add (i32.const 1) (i32.const 2))) (func (;1;) (type 0) (result i32) (i32.sub (i32.const 1) (i32.add (i32.const 1) (i32.const 1)))) (func (;2;) (type 0) (result i32) (f32.le (f32.const 0x1p+0 (;=1;)) (f32.const 0x1p+1 (;=2;)))) (func (;3;) (type 1) (result f32) (f32.neg (f32.neg (f32.const 0x1p+0 (;=1;))))) (func (;4;) (type 2) (result i64) (i64.extend_i32_s (i32.trunc_f32_s (f32.demote_f64 (f64.const 0x0p+0 (;=0;)))))) (func (;5;) (type 1) (result f32) (select (f32.const 0x1p+0 (;=1;)) (f32.const 0x1p+1 (;=2;)) (i32.const 3)))) ;;; STDOUT ;;)