blob: f724149cb69b7ef5957c73f2582f60972fb31736 [file] [log] [blame] [edit]
(module
(func $dummy)
(func (export "f32.add") (param $0 f32) (param $1 f32) (result f32)
(f32.add (get_local $0) (get_local $1)))
(func (export "f32.sub") (param $0 f32) (param $1 f32) (result f32)
(f32.sub (get_local $0) (get_local $1)))
(func (export "f32.mul") (param $0 f32) (param $1 f32) (result f32)
(f32.mul (get_local $0) (get_local $1)))
(func (export "f32.div") (param $0 f32) (param $1 f32) (result f32)
(f32.div (get_local $0) (get_local $1)))
(func (export "f64.add") (param $0 f64) (param $1 f64) (result f64)
(f64.add (get_local $0) (get_local $1)))
(func (export "f64.sub") (param $0 f64) (param $1 f64) (result f64)
(f64.sub (get_local $0) (get_local $1)))
(func (export "f64.mul") (param $0 f64) (param $1 f64) (result f64)
(f64.mul (get_local $0) (get_local $1)))
(func (export "f64.div") (param $0 f64) (param $1 f64) (result f64)
(f64.div (get_local $0) (get_local $1)))
;; comparisons
(func (export "f32.eq") (param $0 f32) (param $1 f32) (result i32)
(f32.eq (get_local $0) (get_local $1)))
(func (export "f32.ne") (param $0 f32) (param $1 f32) (result i32)
(f32.ne (get_local $0) (get_local $1)))
(func (export "f32.ge") (param $0 f32) (param $1 f32) (result i32)
(f32.ge (get_local $0) (get_local $1)))
(func (export "f32.gt") (param $0 f32) (param $1 f32) (result i32)
(f32.gt (get_local $0) (get_local $1)))
(func (export "f32.le") (param $0 f32) (param $1 f32) (result i32)
(f32.le (get_local $0) (get_local $1)))
(func (export "f32.lt") (param $0 f32) (param $1 f32) (result i32)
(f32.lt (get_local $0) (get_local $1)))
(func (export "f64.eq") (param $0 f64) (param $1 f64) (result i32)
(f64.eq (get_local $0) (get_local $1)))
(func (export "f64.ne") (param $0 f64) (param $1 f64) (result i32)
(f64.ne (get_local $0) (get_local $1)))
(func (export "f64.ge") (param $0 f64) (param $1 f64) (result i32)
(f64.ge (get_local $0) (get_local $1)))
(func (export "f64.gt") (param $0 f64) (param $1 f64) (result i32)
(f64.gt (get_local $0) (get_local $1)))
(func (export "f64.le") (param $0 f64) (param $1 f64) (result i32)
(f64.le (get_local $0) (get_local $1)))
(func (export "f64.lt") (param $0 f64) (param $1 f64) (result i32)
(f64.lt (get_local $0) (get_local $1)))
;; min/max
(func (export "f32.min") (param $0 f32) (param $1 f32) (result f32)
(f32.min (get_local $0) (get_local $1)))
(func (export "f32.max") (param $0 f32) (param $1 f32) (result f32)
(f32.max (get_local $0) (get_local $1)))
(func (export "f64.min") (param $0 f64) (param $1 f64) (result f64)
(f64.min (get_local $0) (get_local $1)))
(func (export "f64.max") (param $0 f64) (param $1 f64) (result f64)
(f64.max (get_local $0) (get_local $1)))
;; promotion/demotion
(func (export "f64.promote") (param $0 f32) (result f64)
(f64.promote/f32 (get_local $0)))
(func (export "f32.demote") (param $0 f64) (result f32)
(f32.demote/f64 (get_local $0)))
;; floor/ceil
(func (export "f32.floor") (param $0 f32) (result f32)
(f32.floor (get_local $0)))
(func (export "f32.ceil") (param $0 f32) (result f32)
(f32.ceil (get_local $0)))
(func (export "f64.floor") (param $0 f64) (result f64)
(f64.floor (get_local $0)))
(func (export "f64.ceil") (param $0 f64) (result f64)
(f64.ceil (get_local $0)))
;; sqrt
(func (export "f32.sqrt") (param $0 f32) (result f32)
(f32.sqrt (get_local $0)))
(func (export "f64.sqrt") (param $0 f64) (result f64)
(f64.sqrt (get_local $0)))
;; copysign
(func $copysign64 (param $0 f64) (param $1 f64) (result f64)
(f64.copysign (get_local $0) (get_local $1)))
(func $copysign32 (param $0 f32) (param $1 f32) (result f32)
(f32.copysign (get_local $0) (get_local $1)))
;; float<->int
(func (export "i32_to_f32") (param $0 i32) (result f32)
(f32.convert_s/i32 (get_local $0)))
(func (export "i32_to_f64") (param $0 i32) (result f64)
(f64.convert_s/i32 (get_local $0)))
(func (export "u32_to_f32") (param $0 i32) (result f32)
(f32.convert_u/i32 (get_local $0)))
(func (export "u32_to_f64") (param $0 i32) (result f64)
(f64.convert_u/i32 (get_local $0)))
(func (export "f32_to_i32") (param $0 f32) (result i32)
(i32.trunc_s/f32 (get_local $0)))
(func (export "f64_to_i32") (param $0 f64) (result i32)
(i32.trunc_s/f64 (get_local $0)))
(func (export "f32_to_u32") (param $0 f32) (result i32)
(i32.trunc_u/f32 (get_local $0)))
(func (export "f64_to_u32") (param $0 f64) (result i32)
(i32.trunc_u/f64 (get_local $0)))
(func (export "i64_to_f32") (param $0 i64) (result f32)
(f32.convert_s/i64 (get_local $0)))
(func (export "i64_to_f64") (param $0 i64) (result f64)
(f64.convert_s/i64 (get_local $0)))
(func (export "u64_to_f32") (param $0 i64) (result f32)
(f32.convert_u/i64 (get_local $0)))
(func (export "u64_to_f64") (param $0 i64) (result f64)
(f64.convert_u/i64 (get_local $0)))
(func (export "f32_to_i64") (param $0 f32) (result i32)
(i64.eq (i64.trunc_s/f32 (get_local $0)) (i64.const 0)))
(func (export "f64_to_i64") (param $0 f64) (result i32)
(i64.eq (i64.trunc_s/f64 (get_local $0)) (i64.const 0)))
(func (export "f32_to_u64") (param $0 f32) (result i32)
(i64.eq (i64.trunc_u/f32 (get_local $0)) (i64.const 0)))
(func (export "f64_to_u64") (param $0 f64) (result i32)
(i64.eq (i64.trunc_u/f64 (get_local $0)) (i64.const 0)))
)