blob: 363157a20e77dc6f928d5323f65ba5e403428d27 [file] [log] [blame] [edit]
(module
(func $dummy)
(func (export "f32.add") (param $0 f32) (param $1 f32) (result f32)
(f32.add (local.get $0) (local.get $1)))
(func (export "f32.sub") (param $0 f32) (param $1 f32) (result f32)
(f32.sub (local.get $0) (local.get $1)))
(func (export "f32.mul") (param $0 f32) (param $1 f32) (result f32)
(f32.mul (local.get $0) (local.get $1)))
(func (export "f32.div") (param $0 f32) (param $1 f32) (result f32)
(f32.div (local.get $0) (local.get $1)))
(func (export "f64.add") (param $0 f64) (param $1 f64) (result f64)
(f64.add (local.get $0) (local.get $1)))
(func (export "f64.sub") (param $0 f64) (param $1 f64) (result f64)
(f64.sub (local.get $0) (local.get $1)))
(func (export "f64.mul") (param $0 f64) (param $1 f64) (result f64)
(f64.mul (local.get $0) (local.get $1)))
(func (export "f64.div") (param $0 f64) (param $1 f64) (result f64)
(f64.div (local.get $0) (local.get $1)))
;; comparisons
(func (export "f32.eq") (param $0 f32) (param $1 f32) (result i32)
(f32.eq (local.get $0) (local.get $1)))
(func (export "f32.ne") (param $0 f32) (param $1 f32) (result i32)
(f32.ne (local.get $0) (local.get $1)))
(func (export "f32.ge") (param $0 f32) (param $1 f32) (result i32)
(f32.ge (local.get $0) (local.get $1)))
(func (export "f32.gt") (param $0 f32) (param $1 f32) (result i32)
(f32.gt (local.get $0) (local.get $1)))
(func (export "f32.le") (param $0 f32) (param $1 f32) (result i32)
(f32.le (local.get $0) (local.get $1)))
(func (export "f32.lt") (param $0 f32) (param $1 f32) (result i32)
(f32.lt (local.get $0) (local.get $1)))
(func (export "f64.eq") (param $0 f64) (param $1 f64) (result i32)
(f64.eq (local.get $0) (local.get $1)))
(func (export "f64.ne") (param $0 f64) (param $1 f64) (result i32)
(f64.ne (local.get $0) (local.get $1)))
(func (export "f64.ge") (param $0 f64) (param $1 f64) (result i32)
(f64.ge (local.get $0) (local.get $1)))
(func (export "f64.gt") (param $0 f64) (param $1 f64) (result i32)
(f64.gt (local.get $0) (local.get $1)))
(func (export "f64.le") (param $0 f64) (param $1 f64) (result i32)
(f64.le (local.get $0) (local.get $1)))
(func (export "f64.lt") (param $0 f64) (param $1 f64) (result i32)
(f64.lt (local.get $0) (local.get $1)))
;; min/max
(func (export "f32.min") (param $0 f32) (param $1 f32) (result f32)
(f32.min (local.get $0) (local.get $1)))
(func (export "f32.max") (param $0 f32) (param $1 f32) (result f32)
(f32.max (local.get $0) (local.get $1)))
(func (export "f64.min") (param $0 f64) (param $1 f64) (result f64)
(f64.min (local.get $0) (local.get $1)))
(func (export "f64.max") (param $0 f64) (param $1 f64) (result f64)
(f64.max (local.get $0) (local.get $1)))
;; promotion/demotion
(func (export "f64.promote") (param $0 f32) (result f64)
(f64.promote_f32 (local.get $0)))
(func (export "f32.demote") (param $0 f64) (result f32)
(f32.demote_f64 (local.get $0)))
;; floor/ceil
(func (export "f32.floor") (param $0 f32) (result f32)
(f32.floor (local.get $0)))
(func (export "f32.ceil") (param $0 f32) (result f32)
(f32.ceil (local.get $0)))
(func (export "f64.floor") (param $0 f64) (result f64)
(f64.floor (local.get $0)))
(func (export "f64.ceil") (param $0 f64) (result f64)
(f64.ceil (local.get $0)))
;; sqrt
(func (export "f32.sqrt") (param $0 f32) (result f32)
(f32.sqrt (local.get $0)))
(func (export "f64.sqrt") (param $0 f64) (result f64)
(f64.sqrt (local.get $0)))
;; copysign
(func $copysign64 (param $0 f64) (param $1 f64) (result f64)
(f64.copysign (local.get $0) (local.get $1)))
(func $copysign32 (param $0 f32) (param $1 f32) (result f32)
(f32.copysign (local.get $0) (local.get $1)))
;; float<->int
(func (export "i32_to_f32") (param $0 i32) (result f32)
(f32.convert_i32_s (local.get $0)))
(func (export "i32_to_f64") (param $0 i32) (result f64)
(f64.convert_i32_s (local.get $0)))
(func (export "u32_to_f32") (param $0 i32) (result f32)
(f32.convert_i32_u (local.get $0)))
(func (export "u32_to_f64") (param $0 i32) (result f64)
(f64.convert_i32_u (local.get $0)))
(func (export "f32_to_i32") (param $0 f32) (result i32)
(i32.trunc_f32_s (local.get $0)))
(func (export "f64_to_i32") (param $0 f64) (result i32)
(i32.trunc_f64_s (local.get $0)))
(func (export "f32_to_u32") (param $0 f32) (result i32)
(i32.trunc_f32_u (local.get $0)))
(func (export "f64_to_u32") (param $0 f64) (result i32)
(i32.trunc_f64_u (local.get $0)))
(func (export "i64_to_f32") (param $0 i64) (result f32)
(f32.convert_i64_s (local.get $0)))
(func (export "i64_to_f64") (param $0 i64) (result f64)
(f64.convert_i64_s (local.get $0)))
(func (export "u64_to_f32") (param $0 i64) (result f32)
(f32.convert_i64_u (local.get $0)))
(func (export "u64_to_f64") (param $0 i64) (result f64)
(f64.convert_i64_u (local.get $0)))
(func (export "f32_to_i64") (param $0 f32) (result i32)
(i64.eq (i64.trunc_f32_s (local.get $0)) (i64.const 0)))
(func (export "f64_to_i64") (param $0 f64) (result i32)
(i64.eq (i64.trunc_f64_s (local.get $0)) (i64.const 0)))
(func (export "f32_to_u64") (param $0 f32) (result i32)
(i64.eq (i64.trunc_f32_u (local.get $0)) (i64.const 0)))
(func (export "f64_to_u64") (param $0 f64) (result i32)
(i64.eq (i64.trunc_f64_u (local.get $0)) (i64.const 0)))
)