| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 (function(global, utils) { | 5 (function(global, utils) { |
| 6 | 6 |
| 7 "use strict"; | 7 "use strict"; |
| 8 | 8 |
| 9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
| 10 | 10 |
| 11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
| 12 // Imports | 12 // Imports |
| 13 | 13 |
| 14 var GlobalSIMD = global.SIMD; | 14 var GlobalSIMD = global.SIMD; |
| 15 | 15 |
| 16 macro SIMD_FLOAT_TYPES(FUNCTION) | 16 macro SIMD_FLOAT_TYPES(FUNCTION) |
| 17 FUNCTION(Float32x4, float32x4, 4) | 17 FUNCTION(Float32x4, float32x4, 4) |
| 18 endmacro | 18 endmacro |
| 19 | 19 |
| 20 macro SIMD_INT_TYPES(FUNCTION) | 20 macro SIMD_INT_TYPES(FUNCTION) |
| 21 FUNCTION(Int32x4, int32x4, 4) | 21 FUNCTION(Int32x4, int32x4, 4) |
| 22 FUNCTION(Int16x8, int16x8, 8) | 22 FUNCTION(Int16x8, int16x8, 8) |
| 23 FUNCTION(Int8x16, int8x16, 16) | 23 FUNCTION(Int8x16, int8x16, 16) |
| 24 endmacro | 24 endmacro |
| 25 | 25 |
| 26 macro SIMD_UINT_TYPES(FUNCTION) | |
| 27 FUNCTION(Uint32x4, uint32x4, 4) | |
| 28 FUNCTION(Uint16x8, uint16x8, 8) | |
| 29 FUNCTION(Uint8x16, uint8x16, 16) | |
| 30 endmacro | |
| 31 | |
| 32 macro SIMD_BOOL_TYPES(FUNCTION) | 26 macro SIMD_BOOL_TYPES(FUNCTION) |
| 33 FUNCTION(Bool32x4, bool32x4, 4) | 27 FUNCTION(Bool32x4, bool32x4, 4) |
| 34 FUNCTION(Bool16x8, bool16x8, 8) | 28 FUNCTION(Bool16x8, bool16x8, 8) |
| 35 FUNCTION(Bool8x16, bool8x16, 16) | 29 FUNCTION(Bool8x16, bool8x16, 16) |
| 36 endmacro | 30 endmacro |
| 37 | 31 |
| 38 macro SIMD_ALL_TYPES(FUNCTION) | 32 macro SIMD_ALL_TYPES(FUNCTION) |
| 39 SIMD_FLOAT_TYPES(FUNCTION) | 33 SIMD_FLOAT_TYPES(FUNCTION) |
| 40 SIMD_INT_TYPES(FUNCTION) | 34 SIMD_INT_TYPES(FUNCTION) |
| 41 SIMD_UINT_TYPES(FUNCTION) | |
| 42 SIMD_BOOL_TYPES(FUNCTION) | 35 SIMD_BOOL_TYPES(FUNCTION) |
| 43 endmacro | 36 endmacro |
| 44 | 37 |
| 45 macro DECLARE_GLOBALS(NAME, TYPE, LANES) | 38 macro DECLARE_GLOBALS(NAME, TYPE, LANES) |
| 46 var GlobalNAME = GlobalSIMD.NAME; | 39 var GlobalNAME = GlobalSIMD.NAME; |
| 47 endmacro | 40 endmacro |
| 48 | 41 |
| 49 SIMD_ALL_TYPES(DECLARE_GLOBALS) | 42 SIMD_ALL_TYPES(DECLARE_GLOBALS) |
| 50 | 43 |
| 51 macro DECLARE_COMMON_FUNCTIONS(NAME, TYPE, LANES) | 44 macro DECLARE_COMMON_FUNCTIONS(NAME, TYPE, LANES) |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 if (typeof(this) !== 'TYPE' && %_ClassOf(this) !== 'NAME') { | 78 if (typeof(this) !== 'TYPE' && %_ClassOf(this) !== 'NAME') { |
| 86 throw MakeTypeError(kIncompatibleMethodReceiver, | 79 throw MakeTypeError(kIncompatibleMethodReceiver, |
| 87 "NAME.prototype.valueOf", this); | 80 "NAME.prototype.valueOf", this); |
| 88 } | 81 } |
| 89 return %_ValueOf(this); | 82 return %_ValueOf(this); |
| 90 } | 83 } |
| 91 | 84 |
| 92 function NAMEExtractLaneJS(instance, lane) { | 85 function NAMEExtractLaneJS(instance, lane) { |
| 93 return %NAMEExtractLane(instance, lane); | 86 return %NAMEExtractLane(instance, lane); |
| 94 } | 87 } |
| 88 |
| 89 function NAMEEqualJS(a, b) { |
| 90 return %NAMEEqual(a, b); |
| 91 } |
| 92 |
| 93 function NAMENotEqualJS(a, b) { |
| 94 return %NAMENotEqual(a, b); |
| 95 } |
| 95 endmacro | 96 endmacro |
| 96 | 97 |
| 97 SIMD_ALL_TYPES(DECLARE_COMMON_FUNCTIONS) | 98 SIMD_ALL_TYPES(DECLARE_COMMON_FUNCTIONS) |
| 98 | 99 |
| 99 macro DECLARE_INT_FUNCTIONS(NAME, TYPE, LANES) | 100 macro DECLARE_INT_FUNCTIONS(NAME, TYPE, LANES) |
| 100 function NAMEShiftLeftByScalarJS(instance, shift) { | 101 function NAMEShiftLeftByScalarJS(instance, shift) { |
| 101 return %NAMEShiftLeftByScalar(instance, shift); | 102 return %NAMEShiftLeftByScalar(instance, shift); |
| 102 } | 103 } |
| 103 | 104 |
| 105 function NAMEShiftRightLogicalByScalarJS(instance, shift) { |
| 106 return %NAMEShiftRightLogicalByScalar(instance, shift); |
| 107 } |
| 108 |
| 104 function NAMEShiftRightArithmeticByScalarJS(instance, shift) { | 109 function NAMEShiftRightArithmeticByScalarJS(instance, shift) { |
| 105 return %NAMEShiftRightArithmeticByScalar(instance, shift); | 110 return %NAMEShiftRightArithmeticByScalar(instance, shift); |
| 106 } | 111 } |
| 107 endmacro | 112 endmacro |
| 108 | 113 |
| 109 SIMD_INT_TYPES(DECLARE_INT_FUNCTIONS) | 114 SIMD_INT_TYPES(DECLARE_INT_FUNCTIONS) |
| 110 | 115 |
| 111 macro DECLARE_UINT_FUNCTIONS(NAME, TYPE, LANES) | |
| 112 function NAMEShiftLeftByScalarJS(instance, shift) { | |
| 113 return %NAMEShiftLeftByScalar(instance, shift); | |
| 114 } | |
| 115 | |
| 116 function NAMEShiftRightLogicalByScalarJS(instance, shift) { | |
| 117 return %NAMEShiftRightLogicalByScalar(instance, shift); | |
| 118 } | |
| 119 | |
| 120 function NAMEHorizontalSumJS(instance) { | |
| 121 return %NAMEHorizontalSum(instance); | |
| 122 } | |
| 123 endmacro | |
| 124 | |
| 125 SIMD_UINT_TYPES(DECLARE_UINT_FUNCTIONS) | |
| 126 | |
| 127 macro SIMD_SMALL_INT_TYPES(FUNCTION) | |
| 128 FUNCTION(Int16x8) | |
| 129 FUNCTION(Int8x16) | |
| 130 FUNCTION(Uint8x16) | |
| 131 FUNCTION(Uint16x8) | |
| 132 endmacro | |
| 133 | |
| 134 macro DECLARE_SMALL_INT_FUNCTIONS(NAME) | |
| 135 function NAMEAddSaturateJS(a, b) { | |
| 136 return %NAMEAddSaturate(a, b); | |
| 137 } | |
| 138 | |
| 139 function NAMESubSaturateJS(a, b) { | |
| 140 return %NAMESubSaturate(a, b); | |
| 141 } | |
| 142 endmacro | |
| 143 | |
| 144 SIMD_SMALL_INT_TYPES(DECLARE_SMALL_INT_FUNCTIONS) | |
| 145 | |
| 146 macro SIMD_SMALL_UINT_TYPES(FUNCTION) | |
| 147 FUNCTION(Uint8x16) | |
| 148 FUNCTION(Uint16x8) | |
| 149 endmacro | |
| 150 | |
| 151 macro DECLARE_SMALL_UINT_FUNCTIONS(NAME) | |
| 152 function NAMEAbsoluteDifferenceJS(a, b) { | |
| 153 return %NAMEAbsoluteDifference(a, b); | |
| 154 } | |
| 155 | |
| 156 function NAMEWidenedAbsoluteDifferenceJS(a, b) { | |
| 157 return %NAMEWidenedAbsoluteDifference(a, b); | |
| 158 } | |
| 159 endmacro | |
| 160 | |
| 161 SIMD_SMALL_UINT_TYPES(DECLARE_SMALL_UINT_FUNCTIONS) | |
| 162 | |
| 163 macro DECLARE_SIGNED_FUNCTIONS(NAME, TYPE, LANES) | |
| 164 function NAMENegJS(a) { | |
| 165 return %NAMENeg(a); | |
| 166 } | |
| 167 endmacro | |
| 168 | |
| 169 SIMD_FLOAT_TYPES(DECLARE_SIGNED_FUNCTIONS) | |
| 170 SIMD_INT_TYPES(DECLARE_SIGNED_FUNCTIONS) | |
| 171 | |
| 172 macro DECLARE_BOOL_FUNCTIONS(NAME, TYPE, LANES) | 116 macro DECLARE_BOOL_FUNCTIONS(NAME, TYPE, LANES) |
| 173 function NAMEReplaceLaneJS(instance, lane, value) { | 117 function NAMEReplaceLaneJS(instance, lane, value) { |
| 174 return %NAMEReplaceLane(instance, lane, value); | 118 return %NAMEReplaceLane(instance, lane, value); |
| 175 } | 119 } |
| 176 | 120 |
| 177 function NAMEAnyTrueJS(s) { | 121 function NAMEAnyTrueJS(s) { |
| 178 return %NAMEAnyTrue(s); | 122 return %NAMEAnyTrue(s); |
| 179 } | 123 } |
| 180 | 124 |
| 181 function NAMEAllTrueJS(s) { | 125 function NAMEAllTrueJS(s) { |
| 182 return %NAMEAllTrue(s); | 126 return %NAMEAllTrue(s); |
| 183 } | 127 } |
| 184 endmacro | 128 endmacro |
| 185 | 129 |
| 186 SIMD_BOOL_TYPES(DECLARE_BOOL_FUNCTIONS) | 130 SIMD_BOOL_TYPES(DECLARE_BOOL_FUNCTIONS) |
| 187 | 131 |
| 132 macro SIMD_UNSIGNED_INT_TYPES(FUNCTION) |
| 133 FUNCTION(Int16x8) |
| 134 FUNCTION(Int8x16) |
| 135 endmacro |
| 136 |
| 137 macro DECLARE_UNSIGNED_INT_FUNCTIONS(NAME) |
| 138 function NAMEUnsignedExtractLaneJS(instance, lane) { |
| 139 return %NAMEUnsignedExtractLane(instance, lane); |
| 140 } |
| 141 endmacro |
| 142 |
| 143 SIMD_UNSIGNED_INT_TYPES(DECLARE_UNSIGNED_INT_FUNCTIONS) |
| 144 |
| 188 macro SIMD_NUMERIC_TYPES(FUNCTION) | 145 macro SIMD_NUMERIC_TYPES(FUNCTION) |
| 189 SIMD_FLOAT_TYPES(FUNCTION) | 146 SIMD_FLOAT_TYPES(FUNCTION) |
| 190 SIMD_INT_TYPES(FUNCTION) | 147 SIMD_INT_TYPES(FUNCTION) |
| 191 SIMD_UINT_TYPES(FUNCTION) | |
| 192 endmacro | 148 endmacro |
| 193 | 149 |
| 194 macro DECLARE_NUMERIC_FUNCTIONS(NAME, TYPE, LANES) | 150 macro DECLARE_NUMERIC_FUNCTIONS(NAME, TYPE, LANES) |
| 195 function NAMEReplaceLaneJS(instance, lane, value) { | 151 function NAMEReplaceLaneJS(instance, lane, value) { |
| 196 return %NAMEReplaceLane(instance, lane, TO_NUMBER_INLINE(value)); | 152 return %NAMEReplaceLane(instance, lane, TO_NUMBER_INLINE(value)); |
| 197 } | 153 } |
| 198 | 154 |
| 199 function NAMESelectJS(selector, a, b) { | 155 function NAMESelectJS(selector, a, b) { |
| 200 return %NAMESelect(selector, a, b); | 156 return %NAMESelect(selector, a, b); |
| 201 } | 157 } |
| 202 | 158 |
| 159 function NAMENegJS(a) { |
| 160 return %NAMENeg(a); |
| 161 } |
| 162 |
| 203 function NAMEAddJS(a, b) { | 163 function NAMEAddJS(a, b) { |
| 204 return %NAMEAdd(a, b); | 164 return %NAMEAdd(a, b); |
| 205 } | 165 } |
| 206 | 166 |
| 207 function NAMESubJS(a, b) { | 167 function NAMESubJS(a, b) { |
| 208 return %NAMESub(a, b); | 168 return %NAMESub(a, b); |
| 209 } | 169 } |
| 210 | 170 |
| 211 function NAMEMulJS(a, b) { | 171 function NAMEMulJS(a, b) { |
| 212 return %NAMEMul(a, b); | 172 return %NAMEMul(a, b); |
| 213 } | 173 } |
| 214 | 174 |
| 215 function NAMEMinJS(a, b) { | 175 function NAMEMinJS(a, b) { |
| 216 return %NAMEMin(a, b); | 176 return %NAMEMin(a, b); |
| 217 } | 177 } |
| 218 | 178 |
| 219 function NAMEMaxJS(a, b) { | 179 function NAMEMaxJS(a, b) { |
| 220 return %NAMEMax(a, b); | 180 return %NAMEMax(a, b); |
| 221 } | 181 } |
| 222 | 182 |
| 223 function NAMEEqualJS(a, b) { | |
| 224 return %NAMEEqual(a, b); | |
| 225 } | |
| 226 | |
| 227 function NAMENotEqualJS(a, b) { | |
| 228 return %NAMENotEqual(a, b); | |
| 229 } | |
| 230 | |
| 231 function NAMELessThanJS(a, b) { | 183 function NAMELessThanJS(a, b) { |
| 232 return %NAMELessThan(a, b); | 184 return %NAMELessThan(a, b); |
| 233 } | 185 } |
| 234 | 186 |
| 235 function NAMELessThanOrEqualJS(a, b) { | 187 function NAMELessThanOrEqualJS(a, b) { |
| 236 return %NAMELessThanOrEqual(a, b); | 188 return %NAMELessThanOrEqual(a, b); |
| 237 } | 189 } |
| 238 | 190 |
| 239 function NAMEGreaterThanJS(a, b) { | 191 function NAMEGreaterThanJS(a, b) { |
| 240 return %NAMEGreaterThan(a, b); | 192 return %NAMEGreaterThan(a, b); |
| 241 } | 193 } |
| 242 | 194 |
| 243 function NAMEGreaterThanOrEqualJS(a, b) { | 195 function NAMEGreaterThanOrEqualJS(a, b) { |
| 244 return %NAMEGreaterThanOrEqual(a, b); | 196 return %NAMEGreaterThanOrEqual(a, b); |
| 245 } | 197 } |
| 246 endmacro | 198 endmacro |
| 247 | 199 |
| 248 SIMD_NUMERIC_TYPES(DECLARE_NUMERIC_FUNCTIONS) | 200 SIMD_NUMERIC_TYPES(DECLARE_NUMERIC_FUNCTIONS) |
| 249 | 201 |
| 250 macro SIMD_LOGICAL_TYPES(FUNCTION) | 202 macro SIMD_LOGICAL_TYPES(FUNCTION) |
| 251 SIMD_INT_TYPES(FUNCTION) | 203 SIMD_INT_TYPES(FUNCTION) |
| 252 SIMD_UINT_TYPES(FUNCTION) | |
| 253 SIMD_BOOL_TYPES(FUNCTION) | 204 SIMD_BOOL_TYPES(FUNCTION) |
| 254 endmacro | 205 endmacro |
| 255 | 206 |
| 256 macro DECLARE_LOGICAL_FUNCTIONS(NAME, TYPE, LANES) | 207 macro DECLARE_LOGICAL_FUNCTIONS(NAME, TYPE, LANES) |
| 257 function NAMEAndJS(a, b) { | 208 function NAMEAndJS(a, b) { |
| 258 return %NAMEAnd(a, b); | 209 return %NAMEAnd(a, b); |
| 259 } | 210 } |
| 260 | 211 |
| 261 function NAMEOrJS(a, b) { | 212 function NAMEOrJS(a, b) { |
| 262 return %NAMEOr(a, b); | 213 return %NAMEOr(a, b); |
| 263 } | 214 } |
| 264 | 215 |
| 265 function NAMEXorJS(a, b) { | 216 function NAMEXorJS(a, b) { |
| 266 return %NAMEXor(a, b); | 217 return %NAMEXor(a, b); |
| 267 } | 218 } |
| 268 | 219 |
| 269 function NAMENotJS(a) { | 220 function NAMENotJS(a) { |
| 270 return %NAMENot(a); | 221 return %NAMENot(a); |
| 271 } | 222 } |
| 272 endmacro | 223 endmacro |
| 273 | 224 |
| 274 SIMD_LOGICAL_TYPES(DECLARE_LOGICAL_FUNCTIONS) | 225 SIMD_LOGICAL_TYPES(DECLARE_LOGICAL_FUNCTIONS) |
| 275 | 226 |
| 276 macro SIMD_FROM_TYPES(FUNCTION) | 227 macro SIMD_FROM_TYPES(FUNCTION) |
| 277 FUNCTION(Float32x4, Int32x4) | 228 FUNCTION(Float32x4, Int32x4) |
| 278 FUNCTION(Float32x4, Uint32x4) | |
| 279 FUNCTION(Int32x4, Float32x4) | 229 FUNCTION(Int32x4, Float32x4) |
| 280 FUNCTION(Int32x4, Uint32x4) | |
| 281 FUNCTION(Uint32x4, Float32x4) | |
| 282 FUNCTION(Uint32x4, Int32x4) | |
| 283 FUNCTION(Int16x8, Uint16x8) | |
| 284 FUNCTION(Uint16x8, Int16x8) | |
| 285 FUNCTION(Int8x16, Uint8x16) | |
| 286 FUNCTION(Uint8x16, Int8x16) | |
| 287 endmacro | 230 endmacro |
| 288 | 231 |
| 289 macro DECLARE_FROM_FUNCTIONS(TO, FROM) | 232 macro DECLARE_FROM_FUNCTIONS(TO, FROM) |
| 290 function TOFromFROMJS(a) { | 233 function TOFromFROMJS(a) { |
| 291 return %TOFromFROM(a); | 234 return %TOFromFROM(a); |
| 292 } | 235 } |
| 293 endmacro | 236 endmacro |
| 294 | 237 |
| 295 SIMD_FROM_TYPES(DECLARE_FROM_FUNCTIONS) | 238 SIMD_FROM_TYPES(DECLARE_FROM_FUNCTIONS) |
| 296 | 239 |
| 297 macro SIMD_FROM_BITS_TYPES(FUNCTION) | 240 macro SIMD_FROM_BITS_TYPES(FUNCTION) |
| 298 FUNCTION(Float32x4, Int32x4) | 241 FUNCTION(Float32x4, Int32x4) |
| 299 FUNCTION(Float32x4, Uint32x4) | |
| 300 FUNCTION(Float32x4, Int16x8) | 242 FUNCTION(Float32x4, Int16x8) |
| 301 FUNCTION(Float32x4, Uint16x8) | |
| 302 FUNCTION(Float32x4, Int8x16) | 243 FUNCTION(Float32x4, Int8x16) |
| 303 FUNCTION(Float32x4, Uint8x16) | |
| 304 FUNCTION(Int32x4, Float32x4) | 244 FUNCTION(Int32x4, Float32x4) |
| 305 FUNCTION(Int32x4, Uint32x4) | |
| 306 FUNCTION(Int32x4, Int16x8) | 245 FUNCTION(Int32x4, Int16x8) |
| 307 FUNCTION(Int32x4, Uint16x8) | |
| 308 FUNCTION(Int32x4, Int8x16) | 246 FUNCTION(Int32x4, Int8x16) |
| 309 FUNCTION(Int32x4, Uint8x16) | |
| 310 FUNCTION(Uint32x4, Float32x4) | |
| 311 FUNCTION(Uint32x4, Int32x4) | |
| 312 FUNCTION(Uint32x4, Int16x8) | |
| 313 FUNCTION(Uint32x4, Uint16x8) | |
| 314 FUNCTION(Uint32x4, Int8x16) | |
| 315 FUNCTION(Uint32x4, Uint8x16) | |
| 316 FUNCTION(Int16x8, Float32x4) | 247 FUNCTION(Int16x8, Float32x4) |
| 317 FUNCTION(Int16x8, Int32x4) | 248 FUNCTION(Int16x8, Int32x4) |
| 318 FUNCTION(Int16x8, Uint32x4) | |
| 319 FUNCTION(Int16x8, Uint16x8) | |
| 320 FUNCTION(Int16x8, Int8x16) | 249 FUNCTION(Int16x8, Int8x16) |
| 321 FUNCTION(Int16x8, Uint8x16) | |
| 322 FUNCTION(Uint16x8, Float32x4) | |
| 323 FUNCTION(Uint16x8, Int32x4) | |
| 324 FUNCTION(Uint16x8, Uint32x4) | |
| 325 FUNCTION(Uint16x8, Int16x8) | |
| 326 FUNCTION(Uint16x8, Int8x16) | |
| 327 FUNCTION(Uint16x8, Uint8x16) | |
| 328 FUNCTION(Int8x16, Float32x4) | 250 FUNCTION(Int8x16, Float32x4) |
| 329 FUNCTION(Int8x16, Int32x4) | 251 FUNCTION(Int8x16, Int32x4) |
| 330 FUNCTION(Int8x16, Uint32x4) | |
| 331 FUNCTION(Int8x16, Int16x8) | 252 FUNCTION(Int8x16, Int16x8) |
| 332 FUNCTION(Int8x16, Uint16x8) | |
| 333 FUNCTION(Int8x16, Uint8x16) | |
| 334 FUNCTION(Uint8x16, Float32x4) | |
| 335 FUNCTION(Uint8x16, Int32x4) | |
| 336 FUNCTION(Uint8x16, Uint32x4) | |
| 337 FUNCTION(Uint8x16, Int16x8) | |
| 338 FUNCTION(Uint8x16, Uint16x8) | |
| 339 FUNCTION(Uint8x16, Int8x16) | |
| 340 endmacro | 253 endmacro |
| 341 | 254 |
| 342 macro DECLARE_FROM_BITS_FUNCTIONS(TO, FROM) | 255 macro DECLARE_FROM_BITS_FUNCTIONS(TO, FROM) |
| 343 function TOFromFROMBitsJS(a) { | 256 function TOFromFROMBitsJS(a) { |
| 344 return %TOFromFROMBits(a); | 257 return %TOFromFROMBits(a); |
| 345 } | 258 } |
| 346 endmacro | 259 endmacro |
| 347 | 260 |
| 348 SIMD_FROM_BITS_TYPES(DECLARE_FROM_BITS_FUNCTIONS) | 261 SIMD_FROM_BITS_TYPES(DECLARE_FROM_BITS_FUNCTIONS) |
| 349 | 262 |
| 350 //------------------------------------------------------------------- | 263 //------------------------------------------------------------------- |
| 351 | 264 |
| 352 macro SIMD_X4_TYPES(FUNCTION) | |
| 353 FUNCTION(Float32x4) | |
| 354 FUNCTION(Int32x4) | |
| 355 FUNCTION(Uint32x4) | |
| 356 FUNCTION(Bool32x4) | |
| 357 endmacro | |
| 358 | |
| 359 macro DECLARE_X4_FUNCTIONS(NAME) | |
| 360 function NAMESplat(s) { | |
| 361 return %CreateNAME(s, s, s, s); | |
| 362 } | |
| 363 | |
| 364 function NAMESwizzleJS(a, c0, c1, c2, c3) { | |
| 365 return %NAMESwizzle(a, c0, c1, c2, c3); | |
| 366 } | |
| 367 | |
| 368 function NAMEShuffleJS(a, b, c0, c1, c2, c3) { | |
| 369 return %NAMEShuffle(a, b, c0, c1, c2, c3); | |
| 370 } | |
| 371 endmacro | |
| 372 | |
| 373 SIMD_X4_TYPES(DECLARE_X4_FUNCTIONS) | |
| 374 | |
| 375 macro SIMD_X8_TYPES(FUNCTION) | |
| 376 FUNCTION(Int16x8) | |
| 377 FUNCTION(Uint16x8) | |
| 378 FUNCTION(Bool16x8) | |
| 379 endmacro | |
| 380 | |
| 381 macro DECLARE_X8_FUNCTIONS(NAME) | |
| 382 function NAMESplat(s) { | |
| 383 return %CreateNAME(s, s, s, s, s, s, s, s); | |
| 384 } | |
| 385 | |
| 386 function NAMESwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7) { | |
| 387 return %NAMESwizzle(a, c0, c1, c2, c3, c4, c5, c6, c7); | |
| 388 } | |
| 389 | |
| 390 function NAMEShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7) { | |
| 391 return %NAMEShuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7); | |
| 392 } | |
| 393 endmacro | |
| 394 | |
| 395 SIMD_X8_TYPES(DECLARE_X8_FUNCTIONS) | |
| 396 | |
| 397 macro SIMD_X16_TYPES(FUNCTION) | |
| 398 FUNCTION(Int8x16) | |
| 399 FUNCTION(Uint8x16) | |
| 400 FUNCTION(Bool8x16) | |
| 401 endmacro | |
| 402 | |
| 403 macro DECLARE_X16_FUNCTIONS(NAME) | |
| 404 function NAMESplat(s) { | |
| 405 return %CreateNAME(s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s); | |
| 406 } | |
| 407 | |
| 408 function NAMESwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | |
| 409 c12, c13, c14, c15) { | |
| 410 return %NAMESwizzle(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | |
| 411 c12, c13, c14, c15); | |
| 412 } | |
| 413 | |
| 414 function NAMEShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, | |
| 415 c11, c12, c13, c14, c15) { | |
| 416 return %NAMEShuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, | |
| 417 c11, c12, c13, c14, c15); | |
| 418 } | |
| 419 endmacro | |
| 420 | |
| 421 SIMD_X16_TYPES(DECLARE_X16_FUNCTIONS) | |
| 422 | |
| 423 //------------------------------------------------------------------- | |
| 424 | |
| 425 function Float32x4Constructor(c0, c1, c2, c3) { | 265 function Float32x4Constructor(c0, c1, c2, c3) { |
| 426 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Float32x4"); | 266 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Float32x4"); |
| 427 return %CreateFloat32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 267 return %CreateFloat32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |
| 428 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); | 268 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); |
| 429 } | 269 } |
| 430 | 270 |
| 431 | 271 |
| 272 function Float32x4Splat(s) { |
| 273 return %CreateFloat32x4(s, s, s, s); |
| 274 } |
| 275 |
| 276 |
| 277 function Float32x4AbsJS(a) { |
| 278 return %Float32x4Abs(a); |
| 279 } |
| 280 |
| 281 |
| 282 function Float32x4SqrtJS(a) { |
| 283 return %Float32x4Sqrt(a); |
| 284 } |
| 285 |
| 286 |
| 287 function Float32x4RecipApproxJS(a) { |
| 288 return %Float32x4RecipApprox(a); |
| 289 } |
| 290 |
| 291 |
| 292 function Float32x4RecipSqrtApproxJS(a) { |
| 293 return %Float32x4RecipSqrtApprox(a); |
| 294 } |
| 295 |
| 296 |
| 297 function Float32x4DivJS(a, b) { |
| 298 return %Float32x4Div(a, b); |
| 299 } |
| 300 |
| 301 |
| 302 function Float32x4MinNumJS(a, b) { |
| 303 return %Float32x4MinNum(a, b); |
| 304 } |
| 305 |
| 306 |
| 307 function Float32x4MaxNumJS(a, b) { |
| 308 return %Float32x4MaxNum(a, b); |
| 309 } |
| 310 |
| 311 |
| 312 function Float32x4SwizzleJS(a, c0, c1, c2, c3) { |
| 313 return %Float32x4Swizzle(a, c0, c1, c2, c3); |
| 314 } |
| 315 |
| 316 |
| 317 function Float32x4ShuffleJS(a, b, c0, c1, c2, c3) { |
| 318 return %Float32x4Shuffle(a, b, c0, c1, c2, c3); |
| 319 } |
| 320 |
| 321 |
| 432 function Int32x4Constructor(c0, c1, c2, c3) { | 322 function Int32x4Constructor(c0, c1, c2, c3) { |
| 433 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int32x4"); | 323 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int32x4"); |
| 434 return %CreateInt32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 324 return %CreateInt32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |
| 435 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); | 325 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); |
| 436 } | 326 } |
| 437 | 327 |
| 438 | 328 |
| 439 function Uint32x4Constructor(c0, c1, c2, c3) { | 329 function Int32x4Splat(s) { |
| 440 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint32x4"); | 330 return %CreateInt32x4(s, s, s, s); |
| 441 return %CreateUint32x4(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 331 } |
| 442 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3)); | 332 |
| 333 |
| 334 function Int32x4SwizzleJS(a, c0, c1, c2, c3) { |
| 335 return %Int32x4Swizzle(a, c0, c1, c2, c3); |
| 336 } |
| 337 |
| 338 |
| 339 function Int32x4ShuffleJS(a, b, c0, c1, c2, c3) { |
| 340 return %Int32x4Shuffle(a, b, c0, c1, c2, c3); |
| 443 } | 341 } |
| 444 | 342 |
| 445 | 343 |
| 446 function Bool32x4Constructor(c0, c1, c2, c3) { | 344 function Bool32x4Constructor(c0, c1, c2, c3) { |
| 447 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool32x4"); | 345 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool32x4"); |
| 448 return %CreateBool32x4(c0, c1, c2, c3); | 346 return %CreateBool32x4(c0, c1, c2, c3); |
| 449 } | 347 } |
| 450 | 348 |
| 451 | 349 |
| 350 function Bool32x4Splat(s) { |
| 351 return %CreateBool32x4(s, s, s, s); |
| 352 } |
| 353 |
| 354 function Bool32x4SwizzleJS(a, c0, c1, c2, c3) { |
| 355 return %Bool32x4Swizzle(a, c0, c1, c2, c3); |
| 356 } |
| 357 |
| 358 |
| 359 function Bool32x4ShuffleJS(a, b, c0, c1, c2, c3) { |
| 360 return %Bool32x4Shuffle(a, b, c0, c1, c2, c3); |
| 361 } |
| 362 |
| 363 |
| 452 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 364 function Int16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |
| 453 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int16x8"); | 365 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int16x8"); |
| 454 return %CreateInt16x8(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 366 return %CreateInt16x8(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |
| 455 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), | 367 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |
| 456 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), | 368 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |
| 457 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7)); | 369 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7)); |
| 458 } | 370 } |
| 459 | 371 |
| 460 | 372 |
| 461 function Uint16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 373 function Int16x8Splat(s) { |
| 462 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint16x8"); | 374 return %CreateInt16x8(s, s, s, s, s, s, s, s); |
| 463 return %CreateUint16x8(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 375 } |
| 464 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), | 376 |
| 465 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), | 377 |
| 466 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7)); | 378 function Int16x8SwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7) { |
| 379 return %Int16x8Swizzle(a, c0, c1, c2, c3, c4, c5, c6, c7); |
| 380 } |
| 381 |
| 382 |
| 383 function Int16x8ShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7) { |
| 384 return %Int16x8Shuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7); |
| 467 } | 385 } |
| 468 | 386 |
| 469 | 387 |
| 470 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { | 388 function Bool16x8Constructor(c0, c1, c2, c3, c4, c5, c6, c7) { |
| 471 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool16x8"); | 389 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool16x8"); |
| 472 return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); | 390 return %CreateBool16x8(c0, c1, c2, c3, c4, c5, c6, c7); |
| 473 } | 391 } |
| 474 | 392 |
| 475 | 393 |
| 394 function Bool16x8Splat(s) { |
| 395 return %CreateBool16x8(s, s, s, s, s, s, s, s); |
| 396 } |
| 397 |
| 398 |
| 399 function Bool16x8SwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7) { |
| 400 return %Bool16x8Swizzle(a, c0, c1, c2, c3, c4, c5, c6, c7); |
| 401 } |
| 402 |
| 403 |
| 404 function Bool16x8ShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7) { |
| 405 return %Bool16x8Shuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7); |
| 406 } |
| 407 |
| 408 |
| 476 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 409 function Int8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 477 c12, c13, c14, c15) { | 410 c12, c13, c14, c15) { |
| 478 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int8x16"); | 411 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Int8x16"); |
| 479 return %CreateInt8x16(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | 412 return %CreateInt8x16(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), |
| 480 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), | 413 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), |
| 481 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), | 414 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), |
| 482 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7), | 415 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7), |
| 483 TO_NUMBER_INLINE(c8), TO_NUMBER_INLINE(c9), | 416 TO_NUMBER_INLINE(c8), TO_NUMBER_INLINE(c9), |
| 484 TO_NUMBER_INLINE(c10), TO_NUMBER_INLINE(c11), | 417 TO_NUMBER_INLINE(c10), TO_NUMBER_INLINE(c11), |
| 485 TO_NUMBER_INLINE(c12), TO_NUMBER_INLINE(c13), | 418 TO_NUMBER_INLINE(c12), TO_NUMBER_INLINE(c13), |
| 486 TO_NUMBER_INLINE(c14), TO_NUMBER_INLINE(c15)); | 419 TO_NUMBER_INLINE(c14), TO_NUMBER_INLINE(c15)); |
| 487 } | 420 } |
| 488 | 421 |
| 489 | 422 |
| 490 function Uint8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 423 function Int8x16Splat(s) { |
| 491 c12, c13, c14, c15) { | 424 return %CreateInt8x16(s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s); |
| 492 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Uint8x16"); | |
| 493 return %CreateUint8x16(TO_NUMBER_INLINE(c0), TO_NUMBER_INLINE(c1), | |
| 494 TO_NUMBER_INLINE(c2), TO_NUMBER_INLINE(c3), | |
| 495 TO_NUMBER_INLINE(c4), TO_NUMBER_INLINE(c5), | |
| 496 TO_NUMBER_INLINE(c6), TO_NUMBER_INLINE(c7), | |
| 497 TO_NUMBER_INLINE(c8), TO_NUMBER_INLINE(c9), | |
| 498 TO_NUMBER_INLINE(c10), TO_NUMBER_INLINE(c11), | |
| 499 TO_NUMBER_INLINE(c12), TO_NUMBER_INLINE(c13), | |
| 500 TO_NUMBER_INLINE(c14), TO_NUMBER_INLINE(c15)); | |
| 501 } | 425 } |
| 502 | 426 |
| 503 | 427 |
| 428 function Int8x16SwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 429 c12, c13, c14, c15) { |
| 430 return %Int8x16Swizzle(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 431 c12, c13, c14, c15); |
| 432 } |
| 433 |
| 434 |
| 435 function Int8x16ShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, |
| 436 c11, c12, c13, c14, c15) { |
| 437 return %Int8x16Shuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, |
| 438 c11, c12, c13, c14, c15); |
| 439 } |
| 440 |
| 441 |
| 504 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, | 442 function Bool8x16Constructor(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 505 c12, c13, c14, c15) { | 443 c12, c13, c14, c15) { |
| 506 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool8x16"); | 444 if (%_IsConstructCall()) throw MakeTypeError(kNotConstructor, "Bool8x16"); |
| 507 return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, | 445 return %CreateBool8x16(c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, |
| 508 c13, c14, c15); | 446 c13, c14, c15); |
| 509 } | 447 } |
| 510 | 448 |
| 511 | 449 |
| 512 function Float32x4AbsJS(a) { | 450 function Bool8x16Splat(s) { |
| 513 return %Float32x4Abs(a); | 451 return %CreateBool8x16(s, s, s, s, s, s, s, s, s, s, s, s, s, s, s, s); |
| 514 } | 452 } |
| 515 | 453 |
| 516 | 454 |
| 517 function Float32x4SqrtJS(a) { | 455 function Bool8x16SwizzleJS(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 518 return %Float32x4Sqrt(a); | 456 c12, c13, c14, c15) { |
| 457 return %Bool8x16Swizzle(a, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, |
| 458 c12, c13, c14, c15); |
| 519 } | 459 } |
| 520 | 460 |
| 521 | 461 |
| 522 function Float32x4RecipApproxJS(a) { | 462 function Bool8x16ShuffleJS(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, |
| 523 return %Float32x4RecipApprox(a); | 463 c11, c12, c13, c14, c15) { |
| 464 return %Bool8x16Shuffle(a, b, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, |
| 465 c11, c12, c13, c14, c15); |
| 524 } | 466 } |
| 525 | 467 |
| 526 | 468 |
| 527 function Float32x4RecipSqrtApproxJS(a) { | |
| 528 return %Float32x4RecipSqrtApprox(a); | |
| 529 } | |
| 530 | |
| 531 | |
| 532 function Float32x4DivJS(a, b) { | |
| 533 return %Float32x4Div(a, b); | |
| 534 } | |
| 535 | |
| 536 | |
| 537 function Float32x4MinNumJS(a, b) { | |
| 538 return %Float32x4MinNum(a, b); | |
| 539 } | |
| 540 | |
| 541 | |
| 542 function Float32x4MaxNumJS(a, b) { | |
| 543 return %Float32x4MaxNum(a, b); | |
| 544 } | |
| 545 | |
| 546 | |
| 547 %AddNamedProperty(GlobalSIMD, symbolToStringTag, 'SIMD', READ_ONLY | DONT_ENUM); | 469 %AddNamedProperty(GlobalSIMD, symbolToStringTag, 'SIMD', READ_ONLY | DONT_ENUM); |
| 548 | 470 |
| 549 macro SETUP_SIMD_TYPE(NAME, TYPE, LANES) | 471 macro SETUP_SIMD_TYPE(NAME, TYPE, LANES) |
| 550 %SetCode(GlobalNAME, NAMEConstructor); | 472 %SetCode(GlobalNAME, NAMEConstructor); |
| 551 %FunctionSetPrototype(GlobalNAME, {}); | 473 %FunctionSetPrototype(GlobalNAME, {}); |
| 552 %AddNamedProperty(GlobalNAME.prototype, 'constructor', GlobalNAME, | 474 %AddNamedProperty(GlobalNAME.prototype, 'constructor', GlobalNAME, |
| 553 DONT_ENUM); | 475 DONT_ENUM); |
| 554 %AddNamedProperty(GlobalNAME.prototype, symbolToStringTag, 'NAME', | 476 %AddNamedProperty(GlobalNAME.prototype, symbolToStringTag, 'NAME', |
| 555 DONT_ENUM | READ_ONLY); | 477 DONT_ENUM | READ_ONLY); |
| 556 utils.InstallFunctions(GlobalNAME.prototype, DONT_ENUM, [ | 478 utils.InstallFunctions(GlobalNAME.prototype, DONT_ENUM, [ |
| (...skipping 28 matching lines...) Expand all Loading... |
| 585 'lessThan', Float32x4LessThanJS, | 507 'lessThan', Float32x4LessThanJS, |
| 586 'lessThanOrEqual', Float32x4LessThanOrEqualJS, | 508 'lessThanOrEqual', Float32x4LessThanOrEqualJS, |
| 587 'greaterThan', Float32x4GreaterThanJS, | 509 'greaterThan', Float32x4GreaterThanJS, |
| 588 'greaterThanOrEqual', Float32x4GreaterThanOrEqualJS, | 510 'greaterThanOrEqual', Float32x4GreaterThanOrEqualJS, |
| 589 'equal', Float32x4EqualJS, | 511 'equal', Float32x4EqualJS, |
| 590 'notEqual', Float32x4NotEqualJS, | 512 'notEqual', Float32x4NotEqualJS, |
| 591 'select', Float32x4SelectJS, | 513 'select', Float32x4SelectJS, |
| 592 'swizzle', Float32x4SwizzleJS, | 514 'swizzle', Float32x4SwizzleJS, |
| 593 'shuffle', Float32x4ShuffleJS, | 515 'shuffle', Float32x4ShuffleJS, |
| 594 'fromInt32x4', Float32x4FromInt32x4JS, | 516 'fromInt32x4', Float32x4FromInt32x4JS, |
| 595 'fromUint32x4', Float32x4FromUint32x4JS, | |
| 596 'fromInt32x4Bits', Float32x4FromInt32x4BitsJS, | 517 'fromInt32x4Bits', Float32x4FromInt32x4BitsJS, |
| 597 'fromUint32x4Bits', Float32x4FromUint32x4BitsJS, | |
| 598 'fromInt16x8Bits', Float32x4FromInt16x8BitsJS, | 518 'fromInt16x8Bits', Float32x4FromInt16x8BitsJS, |
| 599 'fromUint16x8Bits', Float32x4FromUint16x8BitsJS, | |
| 600 'fromInt8x16Bits', Float32x4FromInt8x16BitsJS, | 519 'fromInt8x16Bits', Float32x4FromInt8x16BitsJS, |
| 601 'fromUint8x16Bits', Float32x4FromUint8x16BitsJS, | |
| 602 ]); | 520 ]); |
| 603 | 521 |
| 604 utils.InstallFunctions(GlobalInt32x4, DONT_ENUM, [ | 522 utils.InstallFunctions(GlobalInt32x4, DONT_ENUM, [ |
| 605 'splat', Int32x4Splat, | 523 'splat', Int32x4Splat, |
| 606 'check', Int32x4CheckJS, | 524 'check', Int32x4CheckJS, |
| 607 'extractLane', Int32x4ExtractLaneJS, | 525 'extractLane', Int32x4ExtractLaneJS, |
| 608 'replaceLane', Int32x4ReplaceLaneJS, | 526 'replaceLane', Int32x4ReplaceLaneJS, |
| 609 'neg', Int32x4NegJS, | 527 'neg', Int32x4NegJS, |
| 610 'add', Int32x4AddJS, | 528 'add', Int32x4AddJS, |
| 611 'sub', Int32x4SubJS, | 529 'sub', Int32x4SubJS, |
| 612 'mul', Int32x4MulJS, | 530 'mul', Int32x4MulJS, |
| 613 'min', Int32x4MinJS, | 531 'min', Int32x4MinJS, |
| 614 'max', Int32x4MaxJS, | 532 'max', Int32x4MaxJS, |
| 615 'and', Int32x4AndJS, | 533 'and', Int32x4AndJS, |
| 616 'or', Int32x4OrJS, | 534 'or', Int32x4OrJS, |
| 617 'xor', Int32x4XorJS, | 535 'xor', Int32x4XorJS, |
| 618 'not', Int32x4NotJS, | 536 'not', Int32x4NotJS, |
| 619 'shiftLeftByScalar', Int32x4ShiftLeftByScalarJS, | 537 'shiftLeftByScalar', Int32x4ShiftLeftByScalarJS, |
| 538 'shiftRightLogicalByScalar', Int32x4ShiftRightLogicalByScalarJS, |
| 620 'shiftRightArithmeticByScalar', Int32x4ShiftRightArithmeticByScalarJS, | 539 'shiftRightArithmeticByScalar', Int32x4ShiftRightArithmeticByScalarJS, |
| 621 'lessThan', Int32x4LessThanJS, | 540 'lessThan', Int32x4LessThanJS, |
| 622 'lessThanOrEqual', Int32x4LessThanOrEqualJS, | 541 'lessThanOrEqual', Int32x4LessThanOrEqualJS, |
| 623 'greaterThan', Int32x4GreaterThanJS, | 542 'greaterThan', Int32x4GreaterThanJS, |
| 624 'greaterThanOrEqual', Int32x4GreaterThanOrEqualJS, | 543 'greaterThanOrEqual', Int32x4GreaterThanOrEqualJS, |
| 625 'equal', Int32x4EqualJS, | 544 'equal', Int32x4EqualJS, |
| 626 'notEqual', Int32x4NotEqualJS, | 545 'notEqual', Int32x4NotEqualJS, |
| 627 'select', Int32x4SelectJS, | 546 'select', Int32x4SelectJS, |
| 628 'swizzle', Int32x4SwizzleJS, | 547 'swizzle', Int32x4SwizzleJS, |
| 629 'shuffle', Int32x4ShuffleJS, | 548 'shuffle', Int32x4ShuffleJS, |
| 630 'fromFloat32x4', Int32x4FromFloat32x4JS, | 549 'fromFloat32x4', Int32x4FromFloat32x4JS, |
| 631 'fromUint32x4', Int32x4FromUint32x4JS, | |
| 632 'fromFloat32x4Bits', Int32x4FromFloat32x4BitsJS, | 550 'fromFloat32x4Bits', Int32x4FromFloat32x4BitsJS, |
| 633 'fromUint32x4Bits', Int32x4FromUint32x4BitsJS, | |
| 634 'fromInt16x8Bits', Int32x4FromInt16x8BitsJS, | 551 'fromInt16x8Bits', Int32x4FromInt16x8BitsJS, |
| 635 'fromUint16x8Bits', Int32x4FromUint16x8BitsJS, | |
| 636 'fromInt8x16Bits', Int32x4FromInt8x16BitsJS, | 552 'fromInt8x16Bits', Int32x4FromInt8x16BitsJS, |
| 637 'fromUint8x16Bits', Int32x4FromUint8x16BitsJS, | |
| 638 ]); | |
| 639 | |
| 640 utils.InstallFunctions(GlobalUint32x4, DONT_ENUM, [ | |
| 641 'splat', Uint32x4Splat, | |
| 642 'check', Uint32x4CheckJS, | |
| 643 'extractLane', Uint32x4ExtractLaneJS, | |
| 644 'replaceLane', Uint32x4ReplaceLaneJS, | |
| 645 'add', Uint32x4AddJS, | |
| 646 'sub', Uint32x4SubJS, | |
| 647 'mul', Uint32x4MulJS, | |
| 648 'min', Uint32x4MinJS, | |
| 649 'max', Uint32x4MaxJS, | |
| 650 'and', Uint32x4AndJS, | |
| 651 'or', Uint32x4OrJS, | |
| 652 'xor', Uint32x4XorJS, | |
| 653 'not', Uint32x4NotJS, | |
| 654 'shiftLeftByScalar', Uint32x4ShiftLeftByScalarJS, | |
| 655 'shiftRightLogicalByScalar', Uint32x4ShiftRightLogicalByScalarJS, | |
| 656 'horizontalSum', Uint32x4HorizontalSumJS, | |
| 657 'lessThan', Uint32x4LessThanJS, | |
| 658 'lessThanOrEqual', Uint32x4LessThanOrEqualJS, | |
| 659 'greaterThan', Uint32x4GreaterThanJS, | |
| 660 'greaterThanOrEqual', Uint32x4GreaterThanOrEqualJS, | |
| 661 'equal', Uint32x4EqualJS, | |
| 662 'notEqual', Uint32x4NotEqualJS, | |
| 663 'select', Uint32x4SelectJS, | |
| 664 'swizzle', Uint32x4SwizzleJS, | |
| 665 'shuffle', Uint32x4ShuffleJS, | |
| 666 'fromFloat32x4', Uint32x4FromFloat32x4JS, | |
| 667 'fromInt32x4', Uint32x4FromInt32x4JS, | |
| 668 'fromFloat32x4Bits', Uint32x4FromFloat32x4BitsJS, | |
| 669 'fromInt32x4Bits', Uint32x4FromInt32x4BitsJS, | |
| 670 'fromInt16x8Bits', Uint32x4FromInt16x8BitsJS, | |
| 671 'fromUint16x8Bits', Uint32x4FromUint16x8BitsJS, | |
| 672 'fromInt8x16Bits', Uint32x4FromInt8x16BitsJS, | |
| 673 'fromUint8x16Bits', Uint32x4FromUint8x16BitsJS, | |
| 674 ]); | 553 ]); |
| 675 | 554 |
| 676 utils.InstallFunctions(GlobalBool32x4, DONT_ENUM, [ | 555 utils.InstallFunctions(GlobalBool32x4, DONT_ENUM, [ |
| 677 'splat', Bool32x4Splat, | 556 'splat', Bool32x4Splat, |
| 678 'check', Bool32x4CheckJS, | 557 'check', Bool32x4CheckJS, |
| 679 'extractLane', Bool32x4ExtractLaneJS, | 558 'extractLane', Bool32x4ExtractLaneJS, |
| 680 'replaceLane', Bool32x4ReplaceLaneJS, | 559 'replaceLane', Bool32x4ReplaceLaneJS, |
| 681 'and', Bool32x4AndJS, | 560 'and', Bool32x4AndJS, |
| 682 'or', Bool32x4OrJS, | 561 'or', Bool32x4OrJS, |
| 683 'xor', Bool32x4XorJS, | 562 'xor', Bool32x4XorJS, |
| 684 'not', Bool32x4NotJS, | 563 'not', Bool32x4NotJS, |
| 685 'anyTrue', Bool32x4AnyTrueJS, | 564 'anyTrue', Bool32x4AnyTrueJS, |
| 686 'allTrue', Bool32x4AllTrueJS, | 565 'allTrue', Bool32x4AllTrueJS, |
| 566 'equal', Bool32x4EqualJS, |
| 567 'notEqual', Bool32x4NotEqualJS, |
| 687 'swizzle', Bool32x4SwizzleJS, | 568 'swizzle', Bool32x4SwizzleJS, |
| 688 'shuffle', Bool32x4ShuffleJS, | 569 'shuffle', Bool32x4ShuffleJS, |
| 689 ]); | 570 ]); |
| 690 | 571 |
| 691 utils.InstallFunctions(GlobalInt16x8, DONT_ENUM, [ | 572 utils.InstallFunctions(GlobalInt16x8, DONT_ENUM, [ |
| 692 'splat', Int16x8Splat, | 573 'splat', Int16x8Splat, |
| 693 'check', Int16x8CheckJS, | 574 'check', Int16x8CheckJS, |
| 694 'extractLane', Int16x8ExtractLaneJS, | 575 'extractLane', Int16x8ExtractLaneJS, |
| 576 'unsignedExtractLane', Int16x8UnsignedExtractLaneJS, |
| 695 'replaceLane', Int16x8ReplaceLaneJS, | 577 'replaceLane', Int16x8ReplaceLaneJS, |
| 696 'neg', Int16x8NegJS, | 578 'neg', Int16x8NegJS, |
| 697 'add', Int16x8AddJS, | 579 'add', Int16x8AddJS, |
| 698 'sub', Int16x8SubJS, | 580 'sub', Int16x8SubJS, |
| 699 'addSaturate', Int16x8AddSaturateJS, | |
| 700 'subSaturate', Int16x8SubSaturateJS, | |
| 701 'mul', Int16x8MulJS, | 581 'mul', Int16x8MulJS, |
| 702 'min', Int16x8MinJS, | 582 'min', Int16x8MinJS, |
| 703 'max', Int16x8MaxJS, | 583 'max', Int16x8MaxJS, |
| 704 'and', Int16x8AndJS, | 584 'and', Int16x8AndJS, |
| 705 'or', Int16x8OrJS, | 585 'or', Int16x8OrJS, |
| 706 'xor', Int16x8XorJS, | 586 'xor', Int16x8XorJS, |
| 707 'not', Int16x8NotJS, | 587 'not', Int16x8NotJS, |
| 708 'shiftLeftByScalar', Int16x8ShiftLeftByScalarJS, | 588 'shiftLeftByScalar', Int16x8ShiftLeftByScalarJS, |
| 589 'shiftRightLogicalByScalar', Int16x8ShiftRightLogicalByScalarJS, |
| 709 'shiftRightArithmeticByScalar', Int16x8ShiftRightArithmeticByScalarJS, | 590 'shiftRightArithmeticByScalar', Int16x8ShiftRightArithmeticByScalarJS, |
| 710 'lessThan', Int16x8LessThanJS, | 591 'lessThan', Int16x8LessThanJS, |
| 711 'lessThanOrEqual', Int16x8LessThanOrEqualJS, | 592 'lessThanOrEqual', Int16x8LessThanOrEqualJS, |
| 712 'greaterThan', Int16x8GreaterThanJS, | 593 'greaterThan', Int16x8GreaterThanJS, |
| 713 'greaterThanOrEqual', Int16x8GreaterThanOrEqualJS, | 594 'greaterThanOrEqual', Int16x8GreaterThanOrEqualJS, |
| 714 'equal', Int16x8EqualJS, | 595 'equal', Int16x8EqualJS, |
| 715 'notEqual', Int16x8NotEqualJS, | 596 'notEqual', Int16x8NotEqualJS, |
| 716 'select', Int16x8SelectJS, | 597 'select', Int16x8SelectJS, |
| 717 'swizzle', Int16x8SwizzleJS, | 598 'swizzle', Int16x8SwizzleJS, |
| 718 'shuffle', Int16x8ShuffleJS, | 599 'shuffle', Int16x8ShuffleJS, |
| 719 'fromUint16x8', Int16x8FromUint16x8JS, | |
| 720 'fromFloat32x4Bits', Int16x8FromFloat32x4BitsJS, | 600 'fromFloat32x4Bits', Int16x8FromFloat32x4BitsJS, |
| 721 'fromInt32x4Bits', Int16x8FromInt32x4BitsJS, | 601 'fromInt32x4Bits', Int16x8FromInt32x4BitsJS, |
| 722 'fromUint32x4Bits', Int16x8FromUint32x4BitsJS, | |
| 723 'fromUint16x8Bits', Int16x8FromUint16x8BitsJS, | |
| 724 'fromInt8x16Bits', Int16x8FromInt8x16BitsJS, | 602 'fromInt8x16Bits', Int16x8FromInt8x16BitsJS, |
| 725 'fromUint8x16Bits', Int16x8FromUint8x16BitsJS, | |
| 726 ]); | |
| 727 | |
| 728 utils.InstallFunctions(GlobalUint16x8, DONT_ENUM, [ | |
| 729 'splat', Uint16x8Splat, | |
| 730 'check', Uint16x8CheckJS, | |
| 731 'extractLane', Uint16x8ExtractLaneJS, | |
| 732 'replaceLane', Uint16x8ReplaceLaneJS, | |
| 733 'add', Uint16x8AddJS, | |
| 734 'sub', Uint16x8SubJS, | |
| 735 'addSaturate', Uint16x8AddSaturateJS, | |
| 736 'subSaturate', Uint16x8SubSaturateJS, | |
| 737 'mul', Uint16x8MulJS, | |
| 738 'min', Uint16x8MinJS, | |
| 739 'max', Uint16x8MaxJS, | |
| 740 'and', Uint16x8AndJS, | |
| 741 'or', Uint16x8OrJS, | |
| 742 'xor', Uint16x8XorJS, | |
| 743 'not', Uint16x8NotJS, | |
| 744 'shiftLeftByScalar', Uint16x8ShiftLeftByScalarJS, | |
| 745 'shiftRightLogicalByScalar', Uint16x8ShiftRightLogicalByScalarJS, | |
| 746 'horizontalSum', Uint16x8HorizontalSumJS, | |
| 747 'absoluteDifference', Uint16x8AbsoluteDifferenceJS, | |
| 748 'widenedAbsoluteDifference', Uint16x8WidenedAbsoluteDifferenceJS, | |
| 749 'lessThan', Uint16x8LessThanJS, | |
| 750 'lessThanOrEqual', Uint16x8LessThanOrEqualJS, | |
| 751 'greaterThan', Uint16x8GreaterThanJS, | |
| 752 'greaterThanOrEqual', Uint16x8GreaterThanOrEqualJS, | |
| 753 'equal', Uint16x8EqualJS, | |
| 754 'notEqual', Uint16x8NotEqualJS, | |
| 755 'select', Uint16x8SelectJS, | |
| 756 'swizzle', Uint16x8SwizzleJS, | |
| 757 'shuffle', Uint16x8ShuffleJS, | |
| 758 'fromInt16x8', Uint16x8FromInt16x8JS, | |
| 759 'fromFloat32x4Bits', Uint16x8FromFloat32x4BitsJS, | |
| 760 'fromInt32x4Bits', Uint16x8FromInt32x4BitsJS, | |
| 761 'fromUint32x4Bits', Uint16x8FromUint32x4BitsJS, | |
| 762 'fromInt16x8Bits', Uint16x8FromInt16x8BitsJS, | |
| 763 'fromInt8x16Bits', Uint16x8FromInt8x16BitsJS, | |
| 764 'fromUint8x16Bits', Uint16x8FromUint8x16BitsJS, | |
| 765 ]); | 603 ]); |
| 766 | 604 |
| 767 utils.InstallFunctions(GlobalBool16x8, DONT_ENUM, [ | 605 utils.InstallFunctions(GlobalBool16x8, DONT_ENUM, [ |
| 768 'splat', Bool16x8Splat, | 606 'splat', Bool16x8Splat, |
| 769 'check', Bool16x8CheckJS, | 607 'check', Bool16x8CheckJS, |
| 770 'extractLane', Bool16x8ExtractLaneJS, | 608 'extractLane', Bool16x8ExtractLaneJS, |
| 771 'replaceLane', Bool16x8ReplaceLaneJS, | 609 'replaceLane', Bool16x8ReplaceLaneJS, |
| 772 'and', Bool16x8AndJS, | 610 'and', Bool16x8AndJS, |
| 773 'or', Bool16x8OrJS, | 611 'or', Bool16x8OrJS, |
| 774 'xor', Bool16x8XorJS, | 612 'xor', Bool16x8XorJS, |
| 775 'not', Bool16x8NotJS, | 613 'not', Bool16x8NotJS, |
| 776 'anyTrue', Bool16x8AnyTrueJS, | 614 'anyTrue', Bool16x8AnyTrueJS, |
| 777 'allTrue', Bool16x8AllTrueJS, | 615 'allTrue', Bool16x8AllTrueJS, |
| 616 'equal', Bool16x8EqualJS, |
| 617 'notEqual', Bool16x8NotEqualJS, |
| 778 'swizzle', Bool16x8SwizzleJS, | 618 'swizzle', Bool16x8SwizzleJS, |
| 779 'shuffle', Bool16x8ShuffleJS, | 619 'shuffle', Bool16x8ShuffleJS, |
| 780 ]); | 620 ]); |
| 781 | 621 |
| 782 utils.InstallFunctions(GlobalInt8x16, DONT_ENUM, [ | 622 utils.InstallFunctions(GlobalInt8x16, DONT_ENUM, [ |
| 783 'splat', Int8x16Splat, | 623 'splat', Int8x16Splat, |
| 784 'check', Int8x16CheckJS, | 624 'check', Int8x16CheckJS, |
| 785 'extractLane', Int8x16ExtractLaneJS, | 625 'extractLane', Int8x16ExtractLaneJS, |
| 626 'unsignedExtractLane', Int8x16UnsignedExtractLaneJS, |
| 786 'replaceLane', Int8x16ReplaceLaneJS, | 627 'replaceLane', Int8x16ReplaceLaneJS, |
| 787 'neg', Int8x16NegJS, | 628 'neg', Int8x16NegJS, |
| 788 'add', Int8x16AddJS, | 629 'add', Int8x16AddJS, |
| 789 'sub', Int8x16SubJS, | 630 'sub', Int8x16SubJS, |
| 790 'addSaturate', Int8x16AddSaturateJS, | |
| 791 'subSaturate', Int8x16SubSaturateJS, | |
| 792 'mul', Int8x16MulJS, | 631 'mul', Int8x16MulJS, |
| 793 'min', Int8x16MinJS, | 632 'min', Int8x16MinJS, |
| 794 'max', Int8x16MaxJS, | 633 'max', Int8x16MaxJS, |
| 795 'and', Int8x16AndJS, | 634 'and', Int8x16AndJS, |
| 796 'or', Int8x16OrJS, | 635 'or', Int8x16OrJS, |
| 797 'xor', Int8x16XorJS, | 636 'xor', Int8x16XorJS, |
| 798 'not', Int8x16NotJS, | 637 'not', Int8x16NotJS, |
| 799 'shiftLeftByScalar', Int8x16ShiftLeftByScalarJS, | 638 'shiftLeftByScalar', Int8x16ShiftLeftByScalarJS, |
| 639 'shiftRightLogicalByScalar', Int8x16ShiftRightLogicalByScalarJS, |
| 800 'shiftRightArithmeticByScalar', Int8x16ShiftRightArithmeticByScalarJS, | 640 'shiftRightArithmeticByScalar', Int8x16ShiftRightArithmeticByScalarJS, |
| 801 'lessThan', Int8x16LessThanJS, | 641 'lessThan', Int8x16LessThanJS, |
| 802 'lessThanOrEqual', Int8x16LessThanOrEqualJS, | 642 'lessThanOrEqual', Int8x16LessThanOrEqualJS, |
| 803 'greaterThan', Int8x16GreaterThanJS, | 643 'greaterThan', Int8x16GreaterThanJS, |
| 804 'greaterThanOrEqual', Int8x16GreaterThanOrEqualJS, | 644 'greaterThanOrEqual', Int8x16GreaterThanOrEqualJS, |
| 805 'equal', Int8x16EqualJS, | 645 'equal', Int8x16EqualJS, |
| 806 'notEqual', Int8x16NotEqualJS, | 646 'notEqual', Int8x16NotEqualJS, |
| 807 'select', Int8x16SelectJS, | 647 'select', Int8x16SelectJS, |
| 808 'swizzle', Int8x16SwizzleJS, | 648 'swizzle', Int8x16SwizzleJS, |
| 809 'shuffle', Int8x16ShuffleJS, | 649 'shuffle', Int8x16ShuffleJS, |
| 810 'fromUint8x16', Int8x16FromUint8x16JS, | |
| 811 'fromFloat32x4Bits', Int8x16FromFloat32x4BitsJS, | 650 'fromFloat32x4Bits', Int8x16FromFloat32x4BitsJS, |
| 812 'fromInt32x4Bits', Int8x16FromInt32x4BitsJS, | 651 'fromInt32x4Bits', Int8x16FromInt32x4BitsJS, |
| 813 'fromUint32x4Bits', Int8x16FromUint32x4BitsJS, | |
| 814 'fromInt16x8Bits', Int8x16FromInt16x8BitsJS, | 652 'fromInt16x8Bits', Int8x16FromInt16x8BitsJS, |
| 815 'fromUint16x8Bits', Int8x16FromUint16x8BitsJS, | |
| 816 'fromUint8x16Bits', Int8x16FromUint8x16BitsJS, | |
| 817 ]); | |
| 818 | |
| 819 utils.InstallFunctions(GlobalUint8x16, DONT_ENUM, [ | |
| 820 'splat', Uint8x16Splat, | |
| 821 'check', Uint8x16CheckJS, | |
| 822 'extractLane', Uint8x16ExtractLaneJS, | |
| 823 'replaceLane', Uint8x16ReplaceLaneJS, | |
| 824 'add', Uint8x16AddJS, | |
| 825 'sub', Uint8x16SubJS, | |
| 826 'addSaturate', Uint8x16AddSaturateJS, | |
| 827 'subSaturate', Uint8x16SubSaturateJS, | |
| 828 'mul', Uint8x16MulJS, | |
| 829 'min', Uint8x16MinJS, | |
| 830 'max', Uint8x16MaxJS, | |
| 831 'and', Uint8x16AndJS, | |
| 832 'or', Uint8x16OrJS, | |
| 833 'xor', Uint8x16XorJS, | |
| 834 'not', Uint8x16NotJS, | |
| 835 'shiftLeftByScalar', Uint8x16ShiftLeftByScalarJS, | |
| 836 'shiftRightLogicalByScalar', Uint8x16ShiftRightLogicalByScalarJS, | |
| 837 'horizontalSum', Uint8x16HorizontalSumJS, | |
| 838 'absoluteDifference', Uint8x16AbsoluteDifferenceJS, | |
| 839 'widenedAbsoluteDifference', Uint8x16WidenedAbsoluteDifferenceJS, | |
| 840 'lessThan', Uint8x16LessThanJS, | |
| 841 'lessThanOrEqual', Uint8x16LessThanOrEqualJS, | |
| 842 'greaterThan', Uint8x16GreaterThanJS, | |
| 843 'greaterThanOrEqual', Uint8x16GreaterThanOrEqualJS, | |
| 844 'equal', Uint8x16EqualJS, | |
| 845 'notEqual', Uint8x16NotEqualJS, | |
| 846 'select', Uint8x16SelectJS, | |
| 847 'swizzle', Uint8x16SwizzleJS, | |
| 848 'shuffle', Uint8x16ShuffleJS, | |
| 849 'fromInt8x16', Uint8x16FromInt8x16JS, | |
| 850 'fromFloat32x4Bits', Uint8x16FromFloat32x4BitsJS, | |
| 851 'fromInt32x4Bits', Uint8x16FromInt32x4BitsJS, | |
| 852 'fromUint32x4Bits', Uint8x16FromUint32x4BitsJS, | |
| 853 'fromInt16x8Bits', Uint8x16FromInt16x8BitsJS, | |
| 854 'fromUint16x8Bits', Uint8x16FromUint16x8BitsJS, | |
| 855 'fromInt8x16Bits', Uint8x16FromInt8x16BitsJS, | |
| 856 ]); | 653 ]); |
| 857 | 654 |
| 858 utils.InstallFunctions(GlobalBool8x16, DONT_ENUM, [ | 655 utils.InstallFunctions(GlobalBool8x16, DONT_ENUM, [ |
| 859 'splat', Bool8x16Splat, | 656 'splat', Bool8x16Splat, |
| 860 'check', Bool8x16CheckJS, | 657 'check', Bool8x16CheckJS, |
| 861 'extractLane', Bool8x16ExtractLaneJS, | 658 'extractLane', Bool8x16ExtractLaneJS, |
| 862 'replaceLane', Bool8x16ReplaceLaneJS, | 659 'replaceLane', Bool8x16ReplaceLaneJS, |
| 863 'and', Bool8x16AndJS, | 660 'and', Bool8x16AndJS, |
| 864 'or', Bool8x16OrJS, | 661 'or', Bool8x16OrJS, |
| 865 'xor', Bool8x16XorJS, | 662 'xor', Bool8x16XorJS, |
| 866 'not', Bool8x16NotJS, | 663 'not', Bool8x16NotJS, |
| 867 'anyTrue', Bool8x16AnyTrueJS, | 664 'anyTrue', Bool8x16AnyTrueJS, |
| 868 'allTrue', Bool8x16AllTrueJS, | 665 'allTrue', Bool8x16AllTrueJS, |
| 666 'equal', Bool8x16EqualJS, |
| 667 'notEqual', Bool8x16NotEqualJS, |
| 869 'swizzle', Bool8x16SwizzleJS, | 668 'swizzle', Bool8x16SwizzleJS, |
| 870 'shuffle', Bool8x16ShuffleJS, | 669 'shuffle', Bool8x16ShuffleJS, |
| 871 ]); | 670 ]); |
| 872 | 671 |
| 873 utils.Export(function(to) { | 672 utils.Export(function(to) { |
| 874 to.Float32x4ToString = Float32x4ToString; | 673 to.Float32x4ToString = Float32x4ToString; |
| 875 to.Int32x4ToString = Int32x4ToString; | 674 to.Int32x4ToString = Int32x4ToString; |
| 876 to.Uint32x4ToString = Uint32x4ToString; | |
| 877 to.Bool32x4ToString = Bool32x4ToString; | 675 to.Bool32x4ToString = Bool32x4ToString; |
| 878 to.Int16x8ToString = Int16x8ToString; | 676 to.Int16x8ToString = Int16x8ToString; |
| 879 to.Uint16x8ToString = Uint16x8ToString; | |
| 880 to.Bool16x8ToString = Bool16x8ToString; | 677 to.Bool16x8ToString = Bool16x8ToString; |
| 881 to.Int8x16ToString = Int8x16ToString; | 678 to.Int8x16ToString = Int8x16ToString; |
| 882 to.Uint8x16ToString = Uint8x16ToString; | |
| 883 to.Bool8x16ToString = Bool8x16ToString; | 679 to.Bool8x16ToString = Bool8x16ToString; |
| 884 }); | 680 }); |
| 885 | 681 |
| 886 }) | 682 }) |
| OLD | NEW |