blob: de592c7fddff74ad7e10fa5cbae5f4d4ab1a907e [file] [edit]
(module
(type $f32_=>_f32 (func (param f32) (result f32)))
(type $f64_=>_f64 (func (param f64) (result f64)))
(type $i32_f32_i64_f64_=>_none (func (param i32 f32 i64 f64)))
(type $f32_f64_=>_none (func (param f32 f64)))
(global $global$1 (mut f32) (f32.const 0))
(global $global$2 (mut f32) (f32.const 12.34000015258789))
(func $foo32 (param $x f32) (result f32)
(local.set $x
(call $deNan32
(local.get $x)
)
)
(call $deNan32
(call $foo32
(local.get $x)
)
)
)
(func $foo64 (param $x f64) (result f64)
(local.set $x
(call $deNan64
(local.get $x)
)
)
(call $deNan64
(call $foo64
(local.get $x)
)
)
)
(func $various (param $x i32) (param $y f32) (param $z i64) (param $w f64)
(local.set $y
(call $deNan32
(local.get $y)
)
)
(local.set $w
(call $deNan64
(local.get $w)
)
)
(nop)
)
(func $ignore-local.get (param $f f32) (param $d f64)
(local.set $f
(call $deNan32
(local.get $f)
)
)
(local.set $d
(call $deNan64
(local.get $d)
)
)
(drop
(local.get $f)
)
(drop
(local.get $d)
)
(local.set $f
(local.get $f)
)
(local.set $d
(local.get $d)
)
(drop
(local.get $f)
)
(drop
(local.get $d)
)
(drop
(call $deNan32
(f32.abs
(local.get $f)
)
)
)
(drop
(call $deNan64
(f64.abs
(local.get $d)
)
)
)
(local.set $f
(call $deNan32
(f32.abs
(local.get $f)
)
)
)
(local.set $d
(call $deNan64
(f64.abs
(local.get $d)
)
)
)
(drop
(local.get $f)
)
(drop
(local.get $d)
)
)
(func $tees (param $x f32) (result f32)
(local.set $x
(call $deNan32
(local.get $x)
)
)
(local.tee $x
(local.tee $x
(local.tee $x
(local.tee $x
(local.get $x)
)
)
)
)
)
(func $select (param $x f32) (result f32)
(local.set $x
(call $deNan32
(local.get $x)
)
)
(select
(local.get $x)
(local.get $x)
(i32.const 1)
)
)
(func $deNan32 (param $0 f32) (result f32)
(if (result f32)
(f32.eq
(local.get $0)
(local.get $0)
)
(local.get $0)
(f32.const 0)
)
)
(func $deNan64 (param $0 f64) (result f64)
(if (result f64)
(f64.eq
(local.get $0)
(local.get $0)
)
(local.get $0)
(f64.const 0)
)
)
)
(module
(type $none_=>_none (func))
(type $f32_=>_f32 (func (param f32) (result f32)))
(type $f64_=>_f64 (func (param f64) (result f64)))
(func $deNan32
(nop)
)
(func $deNan64
(nop)
)
(func $foo32 (param $x f32) (result f32)
(local.set $x
(call $deNan32_0
(local.get $x)
)
)
(call $deNan32_0
(call $foo32
(local.get $x)
)
)
)
(func $foo64 (param $x f64) (result f64)
(local.set $x
(call $deNan64_0
(local.get $x)
)
)
(call $deNan64_0
(call $foo64
(local.get $x)
)
)
)
(func $deNan32_0 (param $0 f32) (result f32)
(if (result f32)
(f32.eq
(local.get $0)
(local.get $0)
)
(local.get $0)
(f32.const 0)
)
)
(func $deNan64_0 (param $0 f64) (result f64)
(if (result f64)
(f64.eq
(local.get $0)
(local.get $0)
)
(local.get $0)
(f64.const 0)
)
)
)