diff options
author | lizhengxing <unixhaha@gmail.com> | 2018-02-27 10:51:09 -0800 |
---|---|---|
committer | Ben Smith <binjimin@gmail.com> | 2018-02-27 10:51:09 -0800 |
commit | 654a23c3a5edd26a9e2bec177042b49c1fee679d (patch) | |
tree | c4f05ba624dcb2d253fea7efa911d831eae4b698 /test/interp | |
parent | a3f72c9a04f2eb1aca9236fcea87fc80ebf5a7eb (diff) | |
download | wabt-654a23c3a5edd26a9e2bec177042b49c1fee679d.tar.gz wabt-654a23c3a5edd26a9e2bec177042b49c1fee679d.tar.bz2 wabt-654a23c3a5edd26a9e2bec177042b49c1fee679d.zip |
SIMD Comparison Greater than instructions implementation. (#772)
Including:
i8x16.gt_s, i8x16_gt_u
i16x8.gt_s, i16x8_gt_u
i32x4.gt_s, i32x4_gt_u
f32x4.gt
f64x2.gt
Diffstat (limited to 'test/interp')
-rw-r--r-- | test/interp/simd-compare.txt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/test/interp/simd-compare.txt b/test/interp/simd-compare.txt index a5db9177..6780abea 100644 --- a/test/interp/simd-compare.txt +++ b/test/interp/simd-compare.txt @@ -212,6 +212,59 @@ v128.const i32 0x00000000 0x3ff80000 0x00000000 0x3ff80000 v128.const i32 0x00000000 0xfff80000 0x00000000 0x3ff00000 f64x2.le) + + ;; i8x16 gt (sign and unsigned) + (func (export "i8x16_gt_s") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i8x16.gt_s) + (func (export "i8x16_gt_u") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i8x16.gt_u) + + ;; i16x8 gt (sign and unsigned) + (func (export "i16x8_gt_s") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i16x8.gt_s) + (func (export "i16x8_gt_u") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i16x8.gt_u) + + ;; i32x4 gt (sign and unsigned) + (func (export "i32x4_gt_s") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i32x4.gt_s) + (func (export "i32x4_gt_u") (result v128) + v128.const i32 0xff000001 0xe0000002 0x00008003 0x00000004 + v128.const i32 0x02000001 0xe000ff02 0x00000003 0x00008104 + i32x4.gt_u) + + ;; f32x4 gt + ;; For Floating num: + ;; +0.0 = 0x00000000, -0.0 = 0x80000000, 0xffc00000 is a NaN + ;; 1.5 = 0x449a5000, 1.0 = 0x3f800000 + (func (export "f32x4_gt_0") (result v128) + v128.const i32 0x00000000 0xffc00000 0x449a5000 0x449a5000 + v128.const i32 0x80000000 0xffc00000 0xffc00000 0x3f800000 + f32x4.gt) + + ;; f64x2 gt + ;; For Double num: + ;; +0.0 = 0x0000000000000000, -0.0 = 0x8000000000000000 + ;; fff8000000000000 is a NaN + ;; 1.5 = 3ff8000000000000, 1.0 = 0x3ff0000000000000 + (func (export "f64x2_gt_0") (result v128) + v128.const i32 0x00000000 0x00000000 0x00000000 0xfff80000 + v128.const i32 0x00000000 0x80000000 0x00000000 0xfff80000 + f64x2.gt) + (func (export "f64x2_gt_1") (result v128) + v128.const i32 0x00000000 0x3ff80000 0x00000000 0x3ff80000 + v128.const i32 0x00000000 0xfff80000 0x00000000 0x3ff00000 + f64x2.gt) ) (;; STDOUT ;;; i8x16_eq_0() => v128:0x01010101 0x01010101 0x01010101 0x01010101 @@ -250,4 +303,13 @@ i32x4_le_u() => v128:0x00000000 0x00000001 0x00000000 0x00000001 f32x4_le_0() => v128:0x00000001 0x00000000 0x00000000 0x00000000 f64x2_le_0() => v128:0x00000001 0x00000000 0x00000000 0x00000000 f64x2_le_1() => v128:0x00000000 0x00000000 0x00000000 0x00000000 +i8x16_gt_s() => v128:0x00000000 0x00000100 0x00000000 0x00000100 +i8x16_gt_u() => v128:0x01000000 0x00000000 0x00000100 0x00000000 +i16x8_gt_s() => v128:0x00000000 0x00000001 0x00000000 0x00000001 +i16x8_gt_u() => v128:0x00010000 0x00000000 0x00000001 0x00000000 +i32x4_gt_s() => v128:0x00000000 0x00000000 0x00000001 0x00000000 +i32x4_gt_u() => v128:0x00000001 0x00000000 0x00000001 0x00000000 +f32x4_gt_0() => v128:0x00000000 0x00000000 0x00000000 0x00000001 +f64x2_gt_0() => v128:0x00000000 0x00000000 0x00000000 0x00000000 +f64x2_gt_1() => v128:0x00000000 0x00000000 0x00000001 0x00000000 ;;; STDOUT ;;) |