| load(libdir + 'simd.js'); |
| |
| setJitCompilerOption("ion.warmup.trigger", 50); |
| |
| function maxNum(x, y) { |
| if (x != x) |
| return y; |
| if (y != y) |
| return x; |
| return Math.max(x, y); |
| } |
| |
| function minNum(x, y) { |
| if (x != x) |
| return y; |
| if (y != y) |
| return x; |
| return Math.min(x, y); |
| } |
| |
| function f() { |
| var f1 = SIMD.Float32x4(1, 2, 3, 4); |
| var f2 = SIMD.Float32x4(4, 3, 2, 1); |
| for (var i = 0; i < 150; i++) { |
| assertEqX4(SIMD.Float32x4.div(f1, f2), binaryX4((x, y) => x / y, f1, f2)); |
| assertEqX4(SIMD.Float32x4.min(f1, f2), binaryX4(Math.min, f1, f2)); |
| assertEqX4(SIMD.Float32x4.max(f1, f2), binaryX4(Math.max, f1, f2)); |
| assertEqX4(SIMD.Float32x4.minNum(f1, f2), binaryX4(minNum, f1, f2)); |
| assertEqX4(SIMD.Float32x4.maxNum(f1, f2), binaryX4(maxNum, f1, f2)); |
| } |
| } |
| |
| f(); |