github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/simd_i32x4_trunc_sat_f32x4.wast (about) 1 ;; Tests for i32x4 trunc sat conversions from float. 2 3 (module 4 (func (export "i32x4.trunc_sat_f32x4_s") (param v128) (result v128) (i32x4.trunc_sat_f32x4_s (local.get 0))) 5 (func (export "i32x4.trunc_sat_f32x4_u") (param v128) (result v128) (i32x4.trunc_sat_f32x4_u (local.get 0))) 6 ) 7 8 9 ;; i32x4.trunc_sat_f32x4_s 10 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0.0 0.0 0.0 0.0)) 11 (v128.const i32x4 0 0 0 0)) 12 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0.0 -0.0 -0.0 -0.0)) 13 (v128.const i32x4 0 0 0 0)) 14 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 1.5 1.5 1.5 1.5)) 15 (v128.const i32x4 1 1 1 1)) 16 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -1.5 -1.5 -1.5 -1.5)) 17 (v128.const i32x4 -1 -1 -1 -1)) 18 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 1.9 1.9 1.9 1.9)) 19 (v128.const i32x4 1 1 1 1)) 20 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 2.0 2.0 2.0 2.0)) 21 (v128.const i32x4 2 2 2 2)) 22 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -1.9 -1.9 -1.9 -1.9)) 23 (v128.const i32x4 -1 -1 -1 -1)) 24 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -2.0 -2.0 -2.0 -2.0)) 25 (v128.const i32x4 -2 -2 -2 -2)) 26 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 2147483520.0 2147483520.0 2147483520.0 2147483520.0)) 27 (v128.const i32x4 2147483520 2147483520 2147483520 2147483520)) 28 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -2147483520.0 -2147483520.0 -2147483520.0 -2147483520.0)) 29 (v128.const i32x4 -2147483520 -2147483520 -2147483520 -2147483520)) 30 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 2147483648.0 2147483648.0 2147483648.0 2147483648.0)) 31 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 32 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -2147483648.0 -2147483648.0 -2147483648.0 -2147483648.0)) 33 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 34 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 4294967294.0 4294967294.0 4294967294.0 4294967294.0)) 35 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 36 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -4294967294.0 -4294967294.0 -4294967294.0 -4294967294.0)) 37 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 38 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 2147483647.0 2147483647.0 2147483647.0 2147483647.0)) 39 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 40 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -2147483647.0 -2147483647.0 -2147483647.0 -2147483647.0)) 41 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 42 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 4294967294.0 4294967294.0 4294967294.0 4294967294.0)) 43 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 44 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 4294967295.0 4294967295.0 4294967295.0 4294967295.0)) 45 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 46 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 4294967296.0 4294967296.0 4294967296.0 4294967296.0)) 47 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 48 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1p-149 0x1p-149 0x1p-149 0x1p-149)) 49 (v128.const i32x4 0 0 0 0)) 50 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1p-149 -0x1p-149 -0x1p-149 -0x1p-149)) 51 (v128.const i32x4 0 0 0 0)) 52 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1p-126 0x1p-126 0x1p-126 0x1p-126)) 53 (v128.const i32x4 0 0 0 0)) 54 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1p-126 -0x1p-126 -0x1p-126 -0x1p-126)) 55 (v128.const i32x4 0 0 0 0)) 56 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1p-1 0x1p-1 0x1p-1 0x1p-1)) 57 (v128.const i32x4 0 0 0 0)) 58 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1p-1 -0x1p-1 -0x1p-1 -0x1p-1)) 59 (v128.const i32x4 0 0 0 0)) 60 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1p+0 0x1p+0 0x1p+0 0x1p+0)) 61 (v128.const i32x4 1 1 1 1)) 62 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1p+0 -0x1p+0 -0x1p+0 -0x1p+0)) 63 (v128.const i32x4 -1 -1 -1 -1)) 64 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.19999ap+0 0x1.19999ap+0 0x1.19999ap+0 0x1.19999ap+0)) 65 (v128.const i32x4 1 1 1 1)) 66 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.19999ap+0 -0x1.19999ap+0 -0x1.19999ap+0 -0x1.19999ap+0)) 67 (v128.const i32x4 -1 -1 -1 -1)) 68 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2)) 69 (v128.const i32x4 6 6 6 6)) 70 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2)) 71 (v128.const i32x4 -6 -6 -6 -6)) 72 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127)) 73 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 74 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127)) 75 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 76 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.ccccccp-1 0x1.ccccccp-1 0x1.ccccccp-1 0x1.ccccccp-1)) 77 (v128.const i32x4 0 0 0 0)) 78 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.ccccccp-1 -0x1.ccccccp-1 -0x1.ccccccp-1 -0x1.ccccccp-1)) 79 (v128.const i32x4 0 0 0 0)) 80 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.fffffep-1 0x1.fffffep-1 0x1.fffffep-1 0x1.fffffep-1)) 81 (v128.const i32x4 0 0 0 0)) 82 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.fffffep-1 -0x1.fffffep-1 -0x1.fffffep-1 -0x1.fffffep-1)) 83 (v128.const i32x4 0 0 0 0)) 84 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2)) 85 (v128.const i32x4 6 6 6 6)) 86 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2)) 87 (v128.const i32x4 -6 -6 -6 -6)) 88 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127)) 89 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 90 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127)) 91 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 92 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 +inf +inf +inf +inf)) 93 (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)) 94 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -inf -inf -inf -inf)) 95 (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)) 96 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 +nan +nan +nan +nan)) 97 (v128.const i32x4 0 0 0 0)) 98 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -nan -nan -nan -nan)) 99 (v128.const i32x4 0 0 0 0)) 100 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 nan:0x444444 nan:0x444444 nan:0x444444 nan:0x444444)) 101 (v128.const i32x4 0 0 0 0)) 102 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -nan:0x444444 -nan:0x444444 -nan:0x444444 -nan:0x444444)) 103 (v128.const i32x4 0 0 0 0)) 104 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 42 42 42 42)) 105 (v128.const i32x4 42 42 42 42)) 106 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 -42 -42 -42 -42)) 107 (v128.const i32x4 -42 -42 -42 -42)) 108 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 0123456792.0 0123456792.0 0123456792.0 0123456792.0)) 109 (v128.const i32x4 123456792 123456792 123456792 123456792)) 110 (assert_return (invoke "i32x4.trunc_sat_f32x4_s" (v128.const f32x4 01234567890.0 01234567890.0 01234567890.0 01234567890.0)) 111 (v128.const i32x4 1234567936 1234567936 1234567936 1234567936)) 112 113 ;; i32x4.trunc_sat_f32x4_u 114 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0.0 0.0 0.0 0.0)) 115 (v128.const i32x4 0 0 0 0)) 116 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0.0 -0.0 -0.0 -0.0)) 117 (v128.const i32x4 0 0 0 0)) 118 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 1.5 1.5 1.5 1.5)) 119 (v128.const i32x4 1 1 1 1)) 120 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -1.5 -1.5 -1.5 -1.5)) 121 (v128.const i32x4 0 0 0 0)) 122 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 1.9 1.9 1.9 1.9)) 123 (v128.const i32x4 1 1 1 1)) 124 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 2.0 2.0 2.0 2.0)) 125 (v128.const i32x4 2 2 2 2)) 126 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -1.9 -1.9 -1.9 -1.9)) 127 (v128.const i32x4 0 0 0 0)) 128 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -2.0 -2.0 -2.0 -2.0)) 129 (v128.const i32x4 0 0 0 0)) 130 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 2147483520.0 2147483520.0 2147483520.0 2147483520.0)) 131 (v128.const i32x4 2147483520 2147483520 2147483520 2147483520)) 132 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -2147483520.0 -2147483520.0 -2147483520.0 -2147483520.0)) 133 (v128.const i32x4 0 0 0 0)) 134 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 2147483648.0 2147483648.0 2147483648.0 2147483648.0)) 135 (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)) 136 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -2147483648.0 -2147483648.0 -2147483648.0 -2147483648.0)) 137 (v128.const i32x4 0 0 0 0)) 138 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 4294967294.0 4294967294.0 4294967294.0 4294967294.0)) 139 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 140 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -4294967294.0 -4294967294.0 -4294967294.0 -4294967294.0)) 141 (v128.const i32x4 0 0 0 0)) 142 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 2147483647.0 2147483647.0 2147483647.0 2147483647.0)) 143 (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)) 144 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -2147483647.0 -2147483647.0 -2147483647.0 -2147483647.0)) 145 (v128.const i32x4 0 0 0 0)) 146 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 4294967294.0 4294967294.0 4294967294.0 4294967294.0)) 147 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 148 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 4294967295.0 4294967295.0 4294967295.0 4294967295.0)) 149 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 150 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 4294967296.0 4294967296.0 4294967296.0 4294967296.0)) 151 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 152 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1p-149 0x1p-149 0x1p-149 0x1p-149)) 153 (v128.const i32x4 0 0 0 0)) 154 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1p-149 -0x1p-149 -0x1p-149 -0x1p-149)) 155 (v128.const i32x4 0 0 0 0)) 156 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1p-126 0x1p-126 0x1p-126 0x1p-126)) 157 (v128.const i32x4 0 0 0 0)) 158 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1p-126 -0x1p-126 -0x1p-126 -0x1p-126)) 159 (v128.const i32x4 0 0 0 0)) 160 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1p-1 0x1p-1 0x1p-1 0x1p-1)) 161 (v128.const i32x4 0 0 0 0)) 162 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1p-1 -0x1p-1 -0x1p-1 -0x1p-1)) 163 (v128.const i32x4 0 0 0 0)) 164 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1p+0 0x1p+0 0x1p+0 0x1p+0)) 165 (v128.const i32x4 1 1 1 1)) 166 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1p+0 -0x1p+0 -0x1p+0 -0x1p+0)) 167 (v128.const i32x4 0 0 0 0)) 168 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.19999ap+0 0x1.19999ap+0 0x1.19999ap+0 0x1.19999ap+0)) 169 (v128.const i32x4 1 1 1 1)) 170 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.19999ap+0 -0x1.19999ap+0 -0x1.19999ap+0 -0x1.19999ap+0)) 171 (v128.const i32x4 0 0 0 0)) 172 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2)) 173 (v128.const i32x4 6 6 6 6)) 174 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2)) 175 (v128.const i32x4 0 0 0 0)) 176 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127)) 177 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 178 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127)) 179 (v128.const i32x4 0 0 0 0)) 180 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.ccccccp-1 0x1.ccccccp-1 0x1.ccccccp-1 0x1.ccccccp-1)) 181 (v128.const i32x4 0 0 0 0)) 182 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.ccccccp-1 -0x1.ccccccp-1 -0x1.ccccccp-1 -0x1.ccccccp-1)) 183 (v128.const i32x4 0 0 0 0)) 184 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.fffffep-1 0x1.fffffep-1 0x1.fffffep-1 0x1.fffffep-1)) 185 (v128.const i32x4 0 0 0 0)) 186 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.fffffep-1 -0x1.fffffep-1 -0x1.fffffep-1 -0x1.fffffep-1)) 187 (v128.const i32x4 0 0 0 0)) 188 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2 0x1.921fb6p+2)) 189 (v128.const i32x4 6 6 6 6)) 190 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2 -0x1.921fb6p+2)) 191 (v128.const i32x4 0 0 0 0)) 192 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127 0x1.fffffep+127)) 193 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 194 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127 -0x1.fffffep+127)) 195 (v128.const i32x4 0 0 0 0)) 196 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 +inf +inf +inf +inf)) 197 (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)) 198 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -inf -inf -inf -inf)) 199 (v128.const i32x4 0 0 0 0)) 200 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 +nan +nan +nan +nan)) 201 (v128.const i32x4 0 0 0 0)) 202 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -nan -nan -nan -nan)) 203 (v128.const i32x4 0 0 0 0)) 204 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 nan:0x444444 nan:0x444444 nan:0x444444 nan:0x444444)) 205 (v128.const i32x4 0 0 0 0)) 206 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -nan:0x444444 -nan:0x444444 -nan:0x444444 -nan:0x444444)) 207 (v128.const i32x4 0 0 0 0)) 208 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 42 42 42 42)) 209 (v128.const i32x4 42 42 42 42)) 210 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 -42 -42 -42 -42)) 211 (v128.const i32x4 0 0 0 0)) 212 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 0123456792.0 0123456792.0 0123456792.0 0123456792.0)) 213 (v128.const i32x4 123456792 123456792 123456792 123456792)) 214 (assert_return (invoke "i32x4.trunc_sat_f32x4_u" (v128.const f32x4 01234567890.0 01234567890.0 01234567890.0 01234567890.0)) 215 (v128.const i32x4 1234567936 1234567936 1234567936 1234567936)) 216 217 ;; type check 218 (assert_invalid (module (func (result v128) (i32x4.trunc_sat_f32x4_s (i32.const 0)))) "type mismatch") 219 (assert_invalid (module (func (result v128) (i32x4.trunc_sat_f32x4_u (i32.const 0)))) "type mismatch") 220 221 ;; Test operation with empty argument 222 223 (assert_invalid 224 (module 225 (func $i32x4.trunc_sat_f32x4_s-arg-empty (result v128) 226 (i32x4.trunc_sat_f32x4_s) 227 ) 228 ) 229 "type mismatch" 230 ) 231 (assert_invalid 232 (module 233 (func $i32x4.trunc_sat_f32x4_u-arg-empty (result v128) 234 (i32x4.trunc_sat_f32x4_u) 235 ) 236 ) 237 "type mismatch" 238 ) 239