test.wast 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. (module
  2. (type $0 (func))
  3. (type $1 (func (param f32 f32) (result f32)))
  4. (type $2 (func (param i64 i64) (result i64)))
  5. (memory $4 1)
  6. (table $3 16 funcref)
  7. (export "main" (func $5))
  8. (func $5 (type $0)
  9. (local $0 f32)
  10. (local $1 i32)
  11. (local $2 i64)
  12. i32.const 1
  13. if $if
  14. local.get $0
  15. drop
  16. block $block (result i64)
  17. loop $loop (result i64)
  18. block $block_0 (result i64)
  19. i64.const 9223372036854775807
  20. i64.const 4304854250827437017
  21. call $7
  22. local.get $0
  23. i64.trunc_sat_f32_s
  24. i64.const 9223372036854775807
  25. i64.const 4304854250827437017
  26. call $7
  27. local.get $0
  28. unreachable
  29. nop
  30. unreachable
  31. local.get $1
  32. local.tee $1
  33. select
  34. local.get $1
  35. br_table
  36. $block_0
  37. $block_0 ;; default
  38. end ;; $block_0
  39. end ;; $loop
  40. end ;; $block
  41. local.set $2
  42. else
  43. i32.const 1
  44. local.set $1
  45. end ;; $if
  46. )
  47. (func $6 (type $1)
  48. (param $0 f32)
  49. (param $1 f32)
  50. (result f32)
  51. local.get $0
  52. local.get $1
  53. f32.max
  54. )
  55. (func $7 (type $2)
  56. (param $0 i64)
  57. (param $1 i64)
  58. (result i64)
  59. local.get $1
  60. f64.convert_i64_u
  61. i64.trunc_sat_f64_u
  62. i64.const 9223372036854775807
  63. i64.and
  64. ))