github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/simd_i16x8_cmp.wast (about)

     1  
     2  ;; Test all the i16x8 comparison operators on major boundary values and all special values.
     3  
     4  (module
     5    (func (export "eq") (param $x v128) (param $y v128) (result v128) (i16x8.eq (local.get $x) (local.get $y)))
     6    (func (export "ne") (param $x v128) (param $y v128) (result v128) (i16x8.ne (local.get $x) (local.get $y)))
     7    (func (export "lt_s") (param $x v128) (param $y v128) (result v128) (i16x8.lt_s (local.get $x) (local.get $y)))
     8    (func (export "lt_u") (param $x v128) (param $y v128) (result v128) (i16x8.lt_u (local.get $x) (local.get $y)))
     9    (func (export "le_s") (param $x v128) (param $y v128) (result v128) (i16x8.le_s (local.get $x) (local.get $y)))
    10    (func (export "le_u") (param $x v128) (param $y v128) (result v128) (i16x8.le_u (local.get $x) (local.get $y)))
    11    (func (export "gt_s") (param $x v128) (param $y v128) (result v128) (i16x8.gt_s (local.get $x) (local.get $y)))
    12    (func (export "gt_u") (param $x v128) (param $y v128) (result v128) (i16x8.gt_u (local.get $x) (local.get $y)))
    13    (func (export "ge_s") (param $x v128) (param $y v128) (result v128) (i16x8.ge_s (local.get $x) (local.get $y)))
    14    (func (export "ge_u") (param $x v128) (param $y v128) (result v128) (i16x8.ge_u (local.get $x) (local.get $y)))
    15  )
    16  
    17  
    18  ;; eq
    19  
    20  ;; i16x8.eq  (i16x8) (i16x8)
    21  
    22  ;; hex vs hex
    23  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
    24                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
    25                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    26  (assert_return (invoke "eq" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
    27                              (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
    28                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    29  (assert_return (invoke "eq" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
    30                              (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
    31                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    32  (assert_return (invoke "eq" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
    33                              (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
    34                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    35  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
    36                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
    37                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    38  (assert_return (invoke "eq" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
    39                              (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
    40                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    41  (assert_return (invoke "eq" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
    42                              (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
    43                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    44  
    45  ;; hex vs dec
    46  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
    47                              (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
    48                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    49  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
    50                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    51                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    52  (assert_return (invoke "eq" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
    53                              (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
    54                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    55  (assert_return (invoke "eq" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
    56                              (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
    57                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    58  (assert_return (invoke "eq" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
    59                              (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
    60                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    61  
    62  ;; dec vs dec
    63  (assert_return (invoke "eq" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
    64                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    65                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    66  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 0 0 0 0)
    67                              (v128.const i16x8 0 0 0 0 0 0 0 0))
    68                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    69  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
    70                              (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
    71                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    72  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
    73                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    74                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    75  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
    76                              (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
    77                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    78  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
    79                              (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
    80                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    81  (assert_return (invoke "eq" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
    82                              (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
    83                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    84  
    85  ;; hex vs float
    86  (assert_return (invoke "eq" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
    87                              (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
    88                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    89  (assert_return (invoke "eq" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
    90                              (v128.const f32x4 1.0 127.0 128.0 255.0))
    91                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
    92  
    93  ;; not equal
    94  (assert_return (invoke "eq" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
    95                              (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
    96                              (v128.const i16x8 0 0 0 0 0 0 0 0))
    97  (assert_return (invoke "eq" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
    98                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
    99                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   100  (assert_return (invoke "eq" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   101                              (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   102                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   103  (assert_return (invoke "eq" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
   104                              (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
   105                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   106  (assert_return (invoke "eq" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
   107                              (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
   108                              (v128.const i16x8 -1 -1 0 0 0 0 -1 -1))
   109  
   110  ;; i16x8.eq  (i16x8) (i8x16)
   111  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   112                              (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   113                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   114  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   115                              (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   116                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   117  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 0 0 0 0)
   118                              (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   119                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   120  (assert_return (invoke "eq" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   121                              (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   122                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   123  (assert_return (invoke "eq" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   124                              (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   125                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   126  (assert_return (invoke "eq" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   127                              (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   128                              (v128.const i16x8 0 0 -1 -1 0 0 0 0))
   129  (assert_return (invoke "eq" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   130                              (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   131                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   132  
   133  ;; i16x8.eq  (i16x8) (i32x4)
   134  (assert_return (invoke "eq" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   135                              (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   136                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   137  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   138                              (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   139                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   140  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 0 0 0 0)
   141                              (v128.const i32x4 0 0 0 0))
   142                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   143  (assert_return (invoke "eq" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   144                              (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   145                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   146  (assert_return (invoke "eq" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   147                              (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   148                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   149  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 0 0 1 1 32768 32768)
   150                              (v128.const i32x4 65535 0 1 32768))
   151                              (v128.const i16x8 -1 0 -1 -1 -1 0 -1 0))
   152  (assert_return (invoke "eq" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   153                              (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   154                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   155  (assert_return (invoke "eq" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   156                              (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   157                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   158  (assert_return (invoke "eq" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
   159                              (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
   160                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   161  
   162  ;; ne
   163  
   164  ;; i16x8.ne  (i16x8) (i16x8)
   165  
   166  ;; hex vs hex
   167  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   168                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   169                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   170  (assert_return (invoke "ne" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   171                              (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   172                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   173  (assert_return (invoke "ne" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   174                              (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   175                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   176  (assert_return (invoke "ne" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   177                              (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   178                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   179  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   180                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   181                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   182  (assert_return (invoke "ne" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   183                              (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   184                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   185  (assert_return (invoke "ne" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   186                              (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   187                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   188  
   189  ;; hex vs dec
   190  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   191                              (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   192                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   193  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   194                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   195                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   196  (assert_return (invoke "ne" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   197                              (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   198                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   199  (assert_return (invoke "ne" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   200                              (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   201                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   202  (assert_return (invoke "ne" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   203                              (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   204                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   205  
   206  ;; dec vs dec
   207  (assert_return (invoke "ne" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   208                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   209                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   210  (assert_return (invoke "ne" (v128.const i16x8 0 0 0 0 0 0 0 0)
   211                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   212                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   213  (assert_return (invoke "ne" (v128.const i16x8 255 255 255 255 255 255 255 255)
   214                              (v128.const i16x8 255 255 255 255 255 255 255 255))
   215                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   216  (assert_return (invoke "ne" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   217                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   218                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   219  (assert_return (invoke "ne" (v128.const i16x8 255 255 255 255 0 0 0 0)
   220                              (v128.const i16x8 255 255 255 255 0 0 0 0))
   221                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   222  (assert_return (invoke "ne" (v128.const i16x8 0 0 0 0 255 255 255 255)
   223                              (v128.const i16x8 0 0 0 0 255 255 255 255))
   224                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   225  (assert_return (invoke "ne" (v128.const i16x8 255 32767 -0 0 1 2 65534 65535)
   226                              (v128.const i16x8 255 32767 0 0 1 2 -2 -1))
   227                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   228  
   229  ;; hex vs float
   230  (assert_return (invoke "ne" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   231                              (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   232                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   233  (assert_return (invoke "ne" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   234                              (v128.const f32x4 1.0 127.0 128.0 255.0))
   235                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   236  
   237  ;; not equal
   238  (assert_return (invoke "ne" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   239                              (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   240                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   241  (assert_return (invoke "ne" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   242                              (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   243                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   244  (assert_return (invoke "ne" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   245                              (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   246                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   247  (assert_return (invoke "ne" (v128.const i16x8 0x8081 0x8283 0xFDFE 0xFF00 0x0001 0x027F 0x80FD 0xFEFF)
   248                              (v128.const i16x8 65279 33021 639 1 65280 65022 33411 32897))
   249                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   250  (assert_return (invoke "ne" (v128.const i16x8 128 129 130 131 -0 255 32766 32767)
   251                              (v128.const i16x8 32767 32766 255 -0 131 130 129 28))
   252                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   253  
   254  ;; i16x8.ne  (i16x8) (i8x16)
   255  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   256                              (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   257                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   258  (assert_return (invoke "ne" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   259                              (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   260                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   261  (assert_return (invoke "ne" (v128.const i16x8 0 0 0 0 0 0 0 0)
   262                              (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   263                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   264  (assert_return (invoke "ne" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   265                              (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   266                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   267  (assert_return (invoke "ne" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   268                              (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   269                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   270  (assert_return (invoke "ne" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   271                              (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   272                              (v128.const i16x8 -1 -1 0 0 -1 -1 -1 -1))
   273  (assert_return (invoke "ne" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   274                              (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   275                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   276  
   277  ;; i16x8.ne  (i16x8) (i32x4)
   278  (assert_return (invoke "ne" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   279                              (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   280                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   281  (assert_return (invoke "ne" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   282                              (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   283                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   284  (assert_return (invoke "ne" (v128.const i16x8 0 0 0 0 0 0 0 0)
   285                              (v128.const i32x4 0 0 0 0))
   286                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   287  (assert_return (invoke "ne" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   288                              (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   289                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   290  (assert_return (invoke "ne" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   291                              (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   292                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   293  (assert_return (invoke "ne" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   294                              (v128.const i32x4 -128 0 1 255))
   295                              (v128.const i16x8 0 -1 0 0 0 -1 0 -1))
   296  (assert_return (invoke "ne" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   297                              (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   298                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   299  (assert_return (invoke "ne" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   300                              (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   301                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   302  (assert_return (invoke "ne" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
   303                              (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
   304                              (v128.const i16x8 0 0 0 0 0 0 0 0))
   305  
   306  ;; lt_s
   307  
   308  ;; i16x8.lt_s  (i16x8) (i16x8)
   309  
   310  ;; hex vs hex
   311  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   312                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   313                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   314  (assert_return (invoke "lt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   315                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   316                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   317  (assert_return (invoke "lt_s" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   318                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   319                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   320  (assert_return (invoke "lt_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   321                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   322                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   323  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   324                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   325                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   326  (assert_return (invoke "lt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   327                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   328                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   329  (assert_return (invoke "lt_s" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   330                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   331                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   332  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   333                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   334                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   335  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   336                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   337                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   338  (assert_return (invoke "lt_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   339                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   340                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   341  (assert_return (invoke "lt_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   342                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   343                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   344  (assert_return (invoke "lt_s" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   345                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   346                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   347  (assert_return (invoke "lt_s" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   348                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   349                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   350  (assert_return (invoke "lt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   351                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   352                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   353  (assert_return (invoke "lt_s" (v128.const i16x8 255 255 255 255 255 255 255 255)
   354                                (v128.const i16x8 255 255 255 255 255 255 255 255))
   355                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   356  (assert_return (invoke "lt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   357                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   358                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   359  (assert_return (invoke "lt_s" (v128.const i16x8 255 255 255 255 0 0 0 0)
   360                                (v128.const i16x8 255 255 255 255 0 0 0 0))
   361                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   362  (assert_return (invoke "lt_s" (v128.const i16x8 0 0 0 0 255 255 255 255)
   363                                (v128.const i16x8 0 0 0 0 255 255 255 255))
   364                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   365  (assert_return (invoke "lt_s" (v128.const i16x8 255 32767 -0 0 1 2 65534 65535)
   366                                (v128.const i16x8 255 32767 0 0 1 2 -2 -1))
   367                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   368  (assert_return (invoke "lt_s" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   369                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   370                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   371  (assert_return (invoke "lt_s" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   372                                (v128.const f32x4 1.0 127.0 128.0 255.0))
   373                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   374  
   375  ;; not equal
   376  (assert_return (invoke "lt_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   377                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   378                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   379  (assert_return (invoke "lt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   380                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   381                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
   382  (assert_return (invoke "lt_s" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   383                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   384                                (v128.const i16x8 0 0 -1 0 0 0 0 -1))
   385  (assert_return (invoke "lt_s" (v128.const i16x8 0x8081 0x8283 0xFDFE 0xFF00 0x0001 0x027F 0x80FD 0xFEFF)
   386                                (v128.const i16x8 65279 33021 639 1 65280 65022 33411 32897))
   387                                (v128.const i16x8 -1 0 -1 -1 0 0 -1 0))
   388  (assert_return (invoke "lt_s" (v128.const i16x8 128 129 130 131 -0 255 32766 32767)
   389                                (v128.const i16x8 32767 32766 255 -0 131 130 129 28))
   390                                (v128.const i16x8 -1 -1 -1 0 -1 0 0 0))
   391  
   392  ;; i16x8.lt_s  (i16x8) (i8x16)
   393  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   394                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   395                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   396  (assert_return (invoke "lt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   397                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   398                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   399  (assert_return (invoke "lt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   400                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   401                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   402  (assert_return (invoke "lt_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   403                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   404                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   405  (assert_return (invoke "lt_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   406                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   407                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   408  (assert_return (invoke "lt_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   409                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   410                                (v128.const i16x8 0 0 0 0 -1 -1 0 0))
   411  (assert_return (invoke "lt_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   412                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   413                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   414  
   415  ;; i16x8.lt_s  (i16x8) (i32x4)
   416  (assert_return (invoke "lt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   417                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   418                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   419  (assert_return (invoke "lt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   420                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   421                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   422  (assert_return (invoke "lt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   423                                (v128.const i32x4 0 0 0 0))
   424                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   425  (assert_return (invoke "lt_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   426                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   427                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   428  (assert_return (invoke "lt_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   429                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   430                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   431  (assert_return (invoke "lt_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   432                                (v128.const i32x4 -128 0 1 255))
   433                                (v128.const i16x8 0 -1 0 0 0 0 0 0))
   434  (assert_return (invoke "lt_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   435                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   436                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   437  (assert_return (invoke "lt_s" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   438                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   439                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   440  (assert_return (invoke "lt_s" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
   441                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
   442                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   443  
   444  ;; lt_u
   445  
   446  ;; i16x8.lt_u  (i16x8) (i16x8)
   447  
   448  ;; hex vs hex
   449  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   450                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   451                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   452  (assert_return (invoke "lt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   453                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   454                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   455  (assert_return (invoke "lt_u" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   456                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   457                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   458  (assert_return (invoke "lt_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   459                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   460                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   461  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   462                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   463                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   464  (assert_return (invoke "lt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   465                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   466                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   467  (assert_return (invoke "lt_u" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   468                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   469                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   470  
   471  ;; hex vs dec
   472  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   473                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   474                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   475  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   476                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   477                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   478  (assert_return (invoke "lt_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   479                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   480                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   481  (assert_return (invoke "lt_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   482                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   483                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   484  (assert_return (invoke "lt_u" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   485                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   486                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   487  
   488  ;; dec vs dec
   489  (assert_return (invoke "lt_u" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   490                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   491                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   492  (assert_return (invoke "lt_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   493                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   494                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   495  (assert_return (invoke "lt_u" (v128.const i16x8 255 255 255 255 255 255 255 255)
   496                                (v128.const i16x8 255 255 255 255 255 255 255 255))
   497                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   498  (assert_return (invoke "lt_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   499                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   500                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   501  (assert_return (invoke "lt_u" (v128.const i16x8 255 255 255 255 0 0 0 0)
   502                                (v128.const i16x8 255 255 255 255 0 0 0 0))
   503                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   504  (assert_return (invoke "lt_u" (v128.const i16x8 0 0 0 0 255 255 255 255)
   505                                (v128.const i16x8 0 0 0 0 255 255 255 255))
   506                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   507  (assert_return (invoke "lt_u" (v128.const i16x8 255 32767 -0 0 1 2 65534 65535)
   508                                (v128.const i16x8 255 32767 0 0 1 2 -2 -1))
   509                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   510  
   511  ;; hex vs float
   512  (assert_return (invoke "lt_u" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   513                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   514                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   515  (assert_return (invoke "lt_u" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   516                                (v128.const f32x4 1.0 127.0 128.0 255.0))
   517                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   518  
   519  ;; not equal
   520  (assert_return (invoke "lt_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   521                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   522                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   523  (assert_return (invoke "lt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   524                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   525                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
   526  (assert_return (invoke "lt_u" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   527                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   528                                (v128.const i16x8 -1 -1 -1 0 0 0 0 0))
   529  (assert_return (invoke "lt_u" (v128.const i16x8 0x8081 0x8283 0xFDFE 0xFF00 0x0001 0x027F 0x80FD 0xFEFF)
   530                                (v128.const i16x8 65279 33021 639 1 65280 65022 33411 32897))
   531                                (v128.const i16x8 -1 0 0 0 -1 -1 -1 0))
   532  (assert_return (invoke "lt_u" (v128.const i16x8 128 129 130 131 -0 255 32766 32767)
   533                                (v128.const i16x8 32767 32766 255 -0 131 130 129 28))
   534                                (v128.const i16x8 -1 -1 -1 0 -1 0 0 0))
   535  
   536  ;; i16x8.lt_u  (i16x8) (i8x16)
   537  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   538                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   539                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   540  (assert_return (invoke "lt_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   541                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   542                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   543  (assert_return (invoke "lt_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   544                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   545                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   546  (assert_return (invoke "lt_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   547                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   548                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   549  (assert_return (invoke "lt_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   550                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   551                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   552  (assert_return (invoke "lt_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   553                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   554                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
   555  (assert_return (invoke "lt_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   556                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   557                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   558  
   559  ;; i16x8.lt_u  (i16x8) (i32x4)
   560  (assert_return (invoke "lt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   561                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   562                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   563  (assert_return (invoke "lt_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   564                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   565                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   566  (assert_return (invoke "lt_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   567                                (v128.const i32x4 0 0 0 0))
   568                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   569  (assert_return (invoke "lt_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   570                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   571                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   572  (assert_return (invoke "lt_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   573                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   574                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   575  (assert_return (invoke "lt_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   576                                (v128.const i32x4 -128 0 1 255))
   577                                (v128.const i16x8 0 -1 0 0 0 0 0 0))
   578  (assert_return (invoke "lt_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   579                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   580                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   581  (assert_return (invoke "lt_u" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   582                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   583                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   584  (assert_return (invoke "lt_u" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
   585                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
   586                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   587  
   588  ;; le_s
   589  
   590  ;; i16x8.le_s  (i16x8) (i16x8)
   591  
   592  ;; hex vs hex
   593  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   594                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   595                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   596  (assert_return (invoke "le_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   597                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   598                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   599  (assert_return (invoke "le_s" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   600                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   601                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   602  (assert_return (invoke "le_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   603                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   604                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   605  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   606                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   607                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   608  (assert_return (invoke "le_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   609                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   610                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   611  (assert_return (invoke "le_s" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   612                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   613                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   614  
   615  ;; hex vs dec
   616  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   617                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   618                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   619  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   620                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   621                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   622  (assert_return (invoke "le_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   623                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   624                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   625  (assert_return (invoke "le_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   626                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   627                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   628  (assert_return (invoke "le_s" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   629                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   630                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   631  
   632  ;; dec vs dec
   633  (assert_return (invoke "le_s" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   634                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   635                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   636  (assert_return (invoke "le_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   637                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   638                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   639  (assert_return (invoke "le_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   640                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   641                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   642  (assert_return (invoke "le_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   643                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   644                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   645  (assert_return (invoke "le_s" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
   646                                (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
   647                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   648  (assert_return (invoke "le_s" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
   649                                (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
   650                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   651  (assert_return (invoke "le_s" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
   652                                (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
   653                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   654  
   655  ;; hex vs float
   656  (assert_return (invoke "le_s" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   657                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   658                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   659  (assert_return (invoke "le_s" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   660                                (v128.const f32x4 1.0 127.0 128.0 255.0))
   661                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   662  
   663  ;; not equal
   664  (assert_return (invoke "le_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   665                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   666                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   667  (assert_return (invoke "le_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   668                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   669                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
   670  (assert_return (invoke "le_s" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   671                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   672                                (v128.const i16x8 0 0 -1 0 0 0 0 -1))
   673  (assert_return (invoke "le_s" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
   674                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
   675                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
   676  (assert_return (invoke "le_s" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
   677                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
   678                                (v128.const i16x8 -1 -1 -1 -1 0 0 -1 -1))
   679  
   680  ;; i16x8.le_s  (i16x8) (i8x16)
   681  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   682                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   683                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   684  (assert_return (invoke "le_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   685                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   686                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   687  (assert_return (invoke "le_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   688                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   689                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   690  (assert_return (invoke "le_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   691                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   692                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   693  (assert_return (invoke "le_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   694                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   695                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   696  (assert_return (invoke "le_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   697                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   698                                (v128.const i16x8 0 0 -1 -1 -1 -1 0 0))
   699  (assert_return (invoke "le_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   700                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   701                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   702  
   703  ;; i16x8.le_s  (i16x8) (i32x4)
   704  (assert_return (invoke "le_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   705                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   706                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   707  (assert_return (invoke "le_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   708                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   709                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   710  (assert_return (invoke "le_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   711                                (v128.const i32x4 0 0 0 0))
   712                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   713  (assert_return (invoke "le_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   714                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   715                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   716  (assert_return (invoke "le_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   717                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   718                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   719  (assert_return (invoke "le_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   720                                (v128.const i32x4 -128 0 1 255))
   721                                (v128.const i16x8 -1 -1 -1 -1 -1 0 -1 0))
   722  (assert_return (invoke "le_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   723                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   724                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   725  (assert_return (invoke "le_s" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   726                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   727                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   728  (assert_return (invoke "le_s" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
   729                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
   730                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   731  
   732  ;; le_u
   733  
   734  ;; i16x8.le_u  (i16x8) (i16x8)
   735  
   736  ;; hex vs hex
   737  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   738                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   739                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   740  (assert_return (invoke "le_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   741                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   742                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   743  (assert_return (invoke "le_u" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   744                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   745                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   746  (assert_return (invoke "le_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   747                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   748                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   749  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   750                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   751                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   752  (assert_return (invoke "le_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   753                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   754                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   755  (assert_return (invoke "le_u" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   756                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   757                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   758  
   759  ;; hex vs dec
   760  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   761                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   762                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   763  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   764                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   765                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   766  (assert_return (invoke "le_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   767                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   768                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   769  (assert_return (invoke "le_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   770                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   771                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   772  (assert_return (invoke "le_u" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   773                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   774                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   775  
   776  ;; dec vs dec
   777  (assert_return (invoke "le_u" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   778                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   779                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   780  (assert_return (invoke "le_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   781                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   782                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   783  (assert_return (invoke "le_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   784                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   785                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   786  (assert_return (invoke "le_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   787                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   788                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   789  (assert_return (invoke "le_u" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
   790                                (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
   791                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   792  (assert_return (invoke "le_u" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
   793                                (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
   794                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   795  (assert_return (invoke "le_u" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
   796                                (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
   797                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   798  
   799  ;; hex vs float
   800  (assert_return (invoke "le_u" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   801                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   802                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   803  (assert_return (invoke "le_u" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   804                                (v128.const f32x4 1.0 127.0 128.0 255.0))
   805                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   806  
   807  ;; not equal
   808  (assert_return (invoke "le_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   809                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   810                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   811  (assert_return (invoke "le_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   812                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   813                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
   814  (assert_return (invoke "le_u" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   815                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   816                                (v128.const i16x8 -1 -1 -1 0 0 0 0 0))
   817  (assert_return (invoke "le_u" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
   818                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
   819                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
   820  (assert_return (invoke "le_u" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
   821                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
   822                                (v128.const i16x8 -1 -1 -1 0 -1 0 -1 -1))
   823  
   824  ;; i16x8.le_u  (i16x8) (i8x16)
   825  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   826                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   827                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   828  (assert_return (invoke "le_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   829                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   830                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   831  (assert_return (invoke "le_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   832                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   833                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   834  (assert_return (invoke "le_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   835                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   836                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   837  (assert_return (invoke "le_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   838                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   839                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   840  (assert_return (invoke "le_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   841                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   842                                (v128.const i16x8 0 0 -1 -1 -1 -1 -1 -1))
   843  (assert_return (invoke "le_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   844                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   845                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   846  
   847  ;; i16x8.le_u  (i16x8) (i32x4)
   848  (assert_return (invoke "le_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   849                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   850                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   851  (assert_return (invoke "le_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   852                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   853                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   854  (assert_return (invoke "le_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
   855                                (v128.const i32x4 0 0 0 0))
   856                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   857  (assert_return (invoke "le_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   858                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
   859                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   860  (assert_return (invoke "le_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   861                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
   862                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   863  (assert_return (invoke "le_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   864                                (v128.const i32x4 -128 0 1 255))
   865                                (v128.const i16x8 -1 -1 -1 -1 -1 0 -1 0))
   866  (assert_return (invoke "le_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   867                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
   868                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   869  (assert_return (invoke "le_u" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
   870                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
   871                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   872  (assert_return (invoke "le_u" (v128.const i16x8 0x0_edcb 0x0_edcb 0x0_edcb 0x0_edcb 0x0_edcb 0x0_edcb 0x0_edcb 0x0_edcb)
   873                                (v128.const i16x8 -0x1234 -0x1234 -0x1234 -0x1234 -0x1234 -0x1234 -0x1234 -0x1234))
   874                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   875  
   876  ;; gt_s
   877  
   878  ;; i16x8.gt_s  (i16x8) (i16x8)
   879  
   880  ;; hex vs hex
   881  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   882                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   883                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   884  (assert_return (invoke "gt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
   885                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
   886                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   887  (assert_return (invoke "gt_s" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
   888                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   889                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   890  (assert_return (invoke "gt_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   891                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
   892                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   893  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
   894                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   895                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   896  (assert_return (invoke "gt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   897                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
   898                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   899  (assert_return (invoke "gt_s" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
   900                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
   901                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   902  
   903  ;; hex vs dec
   904  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   905                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   906                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   907  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   908                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   909                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   910  (assert_return (invoke "gt_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   911                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
   912                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   913  (assert_return (invoke "gt_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
   914                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
   915                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   916  (assert_return (invoke "gt_s" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
   917                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
   918                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   919  
   920  ;; dec vs dec
   921  (assert_return (invoke "gt_s" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
   922                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   923                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   924  (assert_return (invoke "gt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   925                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   926                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   927  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   928                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
   929                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   930  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   931                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   932                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   933  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
   934                                (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
   935                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   936  (assert_return (invoke "gt_s" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
   937                                (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
   938                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   939  (assert_return (invoke "gt_s" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
   940                                (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
   941                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   942  
   943  ;; hex vs float
   944  (assert_return (invoke "gt_s" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
   945                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
   946                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   947  (assert_return (invoke "gt_s" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
   948                                (v128.const f32x4 1.0 127.0 128.0 255.0))
   949                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   950  
   951  ;; not equal
   952  (assert_return (invoke "gt_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
   953                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
   954                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   955  (assert_return (invoke "gt_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   956                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
   957                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
   958  (assert_return (invoke "gt_s" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
   959                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
   960                                (v128.const i16x8 -1 -1 0 -1 -1 -1 -1 0))
   961  (assert_return (invoke "gt_s" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
   962                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
   963                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
   964  (assert_return (invoke "gt_s" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
   965                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
   966                                (v128.const i16x8 0 0 0 0 -1 -1 0 0))
   967  
   968  ;; i16x8.gt_s  (i16x8) (i8x16)
   969  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   970                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
   971                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   972  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   973                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
   974                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   975  (assert_return (invoke "gt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   976                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
   977                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   978  (assert_return (invoke "gt_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
   979                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
   980                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   981  (assert_return (invoke "gt_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
   982                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
   983                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   984  (assert_return (invoke "gt_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
   985                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
   986                                (v128.const i16x8 -1 -1 0 0 0 0 -1 -1))
   987  (assert_return (invoke "gt_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
   988                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
   989                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
   990  
   991  ;; i16x8.gt_s  (i16x8) (i32x4)
   992  (assert_return (invoke "gt_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
   993                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
   994                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   995  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
   996                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   997                                (v128.const i16x8 0 0 0 0 0 0 0 0))
   998  (assert_return (invoke "gt_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
   999                                (v128.const i32x4 0 0 0 0))
  1000                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1001  (assert_return (invoke "gt_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1002                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
  1003                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1004  (assert_return (invoke "gt_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1005                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
  1006                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1007  (assert_return (invoke "gt_s" (v128.const i16x8 65535 65535 0 0 1 1 32768 32768)
  1008                                (v128.const i32x4 65535 0 1 32768))
  1009                                (v128.const i16x8 0 0 0 0 0 -1 0 0))
  1010  (assert_return (invoke "gt_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
  1011                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
  1012                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1013  (assert_return (invoke "gt_s" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
  1014                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
  1015                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1016  (assert_return (invoke "gt_s" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
  1017                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
  1018                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1019  
  1020  ;; gt_u
  1021  
  1022  ;; i16x8.gt_u  (i16x8) (i16x8)
  1023  
  1024  ;; hex vs hex
  1025  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1026                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1027                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1028  (assert_return (invoke "gt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
  1029                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
  1030                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1031  (assert_return (invoke "gt_u" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
  1032                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1033                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1034  (assert_return (invoke "gt_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1035                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
  1036                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1037  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
  1038                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1039                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1040  (assert_return (invoke "gt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1041                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1042                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1043  (assert_return (invoke "gt_u" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
  1044                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
  1045                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1046  
  1047  ;; hex vs dec
  1048  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1049                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1050                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1051  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1052                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1053                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1054  (assert_return (invoke "gt_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1055                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
  1056                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1057  (assert_return (invoke "gt_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1058                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
  1059                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1060  (assert_return (invoke "gt_u" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
  1061                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
  1062                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1063  
  1064  ;; dec vs dec
  1065  (assert_return (invoke "eq" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
  1066                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1067                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1068  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1069                              (v128.const i16x8 0 0 0 0 0 0 0 0))
  1070                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1071  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1072                              (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1073                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1074  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1075                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1076                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1077  (assert_return (invoke "eq" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
  1078                              (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
  1079                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1080  (assert_return (invoke "eq" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
  1081                              (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
  1082                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1083  (assert_return (invoke "eq" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
  1084                              (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
  1085                              (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1086  
  1087  ;; hex vs float
  1088  (assert_return (invoke "gt_u" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
  1089                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
  1090                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1091  (assert_return (invoke "gt_u" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
  1092                                (v128.const f32x4 1.0 127.0 128.0 255.0))
  1093                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1094  
  1095  ;; not equal
  1096  (assert_return (invoke "gt_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1097                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1098                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1099  (assert_return (invoke "gt_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1100                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1101                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
  1102  (assert_return (invoke "gt_u" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
  1103                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
  1104                                (v128.const i16x8 0 0 0 -1 -1 -1 -1 -1))
  1105  (assert_return (invoke "gt_u" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
  1106                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
  1107                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
  1108  (assert_return (invoke "gt_u" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
  1109                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
  1110                                (v128.const i16x8 0 0 0 -1 0 -1 0 0))
  1111  
  1112  ;; i16x8.gt_u  (i16x8) (i8x16)
  1113  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1114                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
  1115                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1116  (assert_return (invoke "gt_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1117                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
  1118                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1119  (assert_return (invoke "gt_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1120                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
  1121                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1122  (assert_return (invoke "gt_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1123                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
  1124                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1125  (assert_return (invoke "gt_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1126                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
  1127                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1128  (assert_return (invoke "gt_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
  1129                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
  1130                                (v128.const i16x8 -1 -1 0 0 0 0 0 0))
  1131  (assert_return (invoke "gt_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
  1132                                (v128.const i8x16 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA))
  1133                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1134  
  1135  ;; i16x8.gt_u  (i16x8) (i32x4)
  1136  (assert_return (invoke "gt_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1137                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
  1138                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1139  (assert_return (invoke "gt_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1140                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
  1141                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1142  (assert_return (invoke "gt_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1143                                (v128.const i32x4 0 0 0 0))
  1144                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1145  (assert_return (invoke "gt_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1146                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
  1147                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1148  (assert_return (invoke "gt_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1149                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
  1150                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1151  (assert_return (invoke "gt_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
  1152                                (v128.const i32x4 -128 0 1 255))
  1153                                (v128.const i16x8 0 0 0 0 0 -1 0 -1))
  1154  (assert_return (invoke "gt_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
  1155                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
  1156                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1157  (assert_return (invoke "gt_u" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
  1158                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
  1159                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1160  (assert_return (invoke "gt_u" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
  1161                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
  1162                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1163  
  1164  ;; ge_s
  1165  
  1166  ;; i16x8.ge_s  (i16x8) (i16x8)
  1167  
  1168  ;; hex vs hex
  1169  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1170                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1171                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1172  (assert_return (invoke "ge_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
  1173                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
  1174                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1175  (assert_return (invoke "ge_s" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
  1176                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1177                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1178  (assert_return (invoke "ge_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1179                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
  1180                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1181  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
  1182                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1183                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1184  (assert_return (invoke "ge_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1185                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1186                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1187  (assert_return (invoke "ge_s" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
  1188                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
  1189                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1190  
  1191  ;; hex vs dec
  1192  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1193                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1194                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1195  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1196                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1197                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1198  (assert_return (invoke "ge_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1199                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
  1200                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1201  (assert_return (invoke "ge_s" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1202                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
  1203                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1204  (assert_return (invoke "ge_s" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
  1205                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
  1206                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1207  
  1208  ;; dec vs dec
  1209  (assert_return (invoke "ge_s" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
  1210                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1211                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1212  (assert_return (invoke "ge_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1213                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1214                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1215  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1216                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1217                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1218  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1219                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1220                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1221  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
  1222                                (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
  1223                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1224  (assert_return (invoke "ge_s" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
  1225                                (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
  1226                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1227  (assert_return (invoke "ge_s" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
  1228                                (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
  1229                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1230  
  1231  ;; hex vs float
  1232  (assert_return (invoke "ge_s" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
  1233                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
  1234                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1235  (assert_return (invoke "ge_s" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
  1236                                (v128.const f32x4 1.0 127.0 128.0 255.0))
  1237                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1238  
  1239  ;; not equal
  1240  (assert_return (invoke "ge_s" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1241                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1242                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1243  (assert_return (invoke "ge_s" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1244                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1245                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
  1246  (assert_return (invoke "ge_s" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
  1247                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
  1248                                (v128.const i16x8 -1 -1 0 -1 -1 -1 -1 0))
  1249  (assert_return (invoke "ge_s" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
  1250                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
  1251                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
  1252  (assert_return (invoke "ge_s" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
  1253                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
  1254                                (v128.const i16x8 -1 -1 0 0 -1 -1 -1 -1))
  1255  
  1256  ;; i16x8.ge_s  (i16x8) (i8x16)
  1257  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1258                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
  1259                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1260  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1261                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
  1262                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1263  (assert_return (invoke "ge_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1264                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
  1265                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1266  (assert_return (invoke "ge_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1267                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
  1268                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1269  (assert_return (invoke "ge_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1270                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
  1271                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1272  (assert_return (invoke "ge_s" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
  1273                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
  1274                                (v128.const i16x8 -1 -1 -1 -1 0 0 -1 -1))
  1275  (assert_return (invoke "ge_s" (v128.const i16x8 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA)
  1276                                (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55))
  1277                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1278  
  1279  ;; i16x8.ge_s  (i16x8) (i32x4)
  1280  (assert_return (invoke "ge_s" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1281                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
  1282                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1283  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1284                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
  1285                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1286  (assert_return (invoke "ge_s" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1287                                (v128.const i32x4 0 0 0 0))
  1288                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1289  (assert_return (invoke "ge_s" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1290                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
  1291                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1292  (assert_return (invoke "ge_s" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1293                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
  1294                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1295  (assert_return (invoke "ge_s" (v128.const i16x8 65535 65535 0 0 1 1 32768 32768)
  1296                                (v128.const i32x4 65535 0 1 32768))
  1297                                (v128.const i16x8 -1 0 -1 -1 -1 -1 -1 0))
  1298  (assert_return (invoke "ge_s" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
  1299                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
  1300                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1301  (assert_return (invoke "ge_s" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
  1302                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
  1303                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1304  (assert_return (invoke "ge_s" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
  1305                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
  1306                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1307  
  1308  ;; ge_u
  1309  
  1310  ;; i16x8.ge_u  (i16x8) (i16x8)
  1311  
  1312  ;; hex vs hex
  1313  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1314                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1315                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1316  (assert_return (invoke "ge_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000)
  1317                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000 0x0000))
  1318                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1319  (assert_return (invoke "ge_u" (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0)
  1320                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1321                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1322  (assert_return (invoke "ge_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1323                                (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F))
  1324                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1325  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000)
  1326                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1327                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1328  (assert_return (invoke "ge_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1329                                (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF))
  1330                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1331  (assert_return (invoke "ge_u" (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB)
  1332                                (v128.const i16x8 0x0100 0x0302 0x0904 0x1110 0x0A12 0x1A0B 0xAA1B 0xFFAB))
  1333                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1334  
  1335  ;; hex vs dec
  1336  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1337                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1338                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1339  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1340                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1341                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1342  (assert_return (invoke "ge_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1343                                (v128.const i16x8 32896 32896 32896 32896 32896 32896 32896 32896))
  1344                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1345  (assert_return (invoke "ge_u" (v128.const i16x8 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080 0x8080)
  1346                                (v128.const i16x8 -32640 -32640 -32640 -32640 -32640 -32640 -32640 -32640))
  1347                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1348  (assert_return (invoke "ge_u" (v128.const i16x8 0x8180 0x8382 0xFEFD 0x00FF 0x0100 0x7F02 0xFD80 0xFFFE)
  1349                                (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534))
  1350                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1351  
  1352  ;; dec vs dec
  1353  (assert_return (invoke "ge_u" (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1)
  1354                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1355                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1356  (assert_return (invoke "ge_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1357                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1358                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1359  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1360                                (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535))
  1361                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1362  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1363                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1364                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1365  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 65535 65535 0 0 0 0)
  1366                                (v128.const i16x8 65535 65535 65535 65535 0 0 0 0))
  1367                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1368  (assert_return (invoke "ge_u" (v128.const i16x8 0 0 0 0 65535 65535 65535 65535)
  1369                                (v128.const i16x8 0 0 0 0 65535 65535 65535 65535))
  1370                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1371  (assert_return (invoke "ge_u" (v128.const i16x8 -32768 65534 -1 -0 0 1 2 65535)
  1372                                (v128.const i16x8 32768 -2 -1 -0 0 1 2 -1))
  1373                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1374  
  1375  ;; hex vs float
  1376  (assert_return (invoke "ge_u" (v128.const i16x8 0x0000 0xc300 0x0000 0xc2fe 0x0000 0xbf80 0x0000 0x0000)
  1377                                (v128.const f32x4 -128.0 -127.0 -1.0 0.0))
  1378                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1379  (assert_return (invoke "ge_u" (v128.const i16x8 0x0000 0x3f80 0x0000 0x42fe 0x0000 0x4300 0x0000 0x437f)
  1380                                (v128.const f32x4 1.0 127.0 128.0 255.0))
  1381                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1382  
  1383  ;; not equal
  1384  (assert_return (invoke "ge_u" (v128.const i16x8 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F 0x0F0F)
  1385                                (v128.const i16x8 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0 0xF0F0))
  1386                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1387  (assert_return (invoke "ge_u" (v128.const i16x8 0x0000 0x0000 0x0000 0x0000 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1388                                (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0x0000 0x0000 0x0000 0x0000))
  1389                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
  1390  (assert_return (invoke "ge_u" (v128.const i16x8 0x0001 0x0203 0x0409 0x1011 0x120A 0x0B1A 0x1BAA 0xABFF)
  1391                                (v128.const i16x8 0xFFAB 0xAA1B 0x1A0B 0x0A12 0x1110 0x0904 0x0302 0x0100))
  1392                                (v128.const i16x8 0 0 0 -1 -1 -1 -1 -1))
  1393  (assert_return (invoke "ge_u" (v128.const i16x8 0x8000 0x8001 0x8002 0x8003 0x8004 0x8005 0x8006 0x8007)
  1394                                (v128.const i16x8 32775 32774 32773 32772 32771 32770 32769 32768))
  1395                                (v128.const i16x8 0 0 0 0 -1 -1 -1 -1))
  1396  (assert_return (invoke "ge_u" (v128.const i16x8 32768 32769 65534 65535 0 -1 -32767 -32768)
  1397                                (v128.const i16x8 -32768 -32767 -1 0 65535 65534 32769 32768))
  1398                                (v128.const i16x8 -1 -1 0 -1 0 -1 -1 -1))
  1399  
  1400  ;; i16x8.ge_u  (i16x8) (i8x16)
  1401  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1402                                (v128.const i8x16 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF))
  1403                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1404  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1405                                (v128.const i8x16 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255))
  1406                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1407  (assert_return (invoke "ge_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1408                                (v128.const i8x16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))
  1409                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1410  (assert_return (invoke "ge_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1411                                (v128.const i8x16 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F))
  1412                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1413  (assert_return (invoke "ge_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1414                                (v128.const i8x16 -128 -127 -126 -125 -3 -2 -1 0 0 1 2 127 128 253 254 255))
  1415                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1416  (assert_return (invoke "ge_u" (v128.const i16x8 -128 -128 0 0 1 1 255 255)
  1417                                (v128.const i8x16 -128 -128 -128 -128 0 0 0 0 1 1 1 1 255 255 255 255))
  1418                                (v128.const i16x8 -1 -1 -1 -1 0 0 0 0))
  1419  (assert_return (invoke "ge_u" (v128.const i16x8 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA 0xAAAA)
  1420                                (v128.const i8x16 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55))
  1421                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1422  
  1423  ;; i16x8.ge_u  (i16x8) (i32x4)
  1424  (assert_return (invoke "ge_u" (v128.const i16x8 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF 0xFFFF)
  1425                                (v128.const i32x4 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF))
  1426                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1427  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 65535 65535 65535 65535 65535 65535)
  1428                                (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
  1429                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1430  (assert_return (invoke "ge_u" (v128.const i16x8 0 0 0 0 0 0 0 0)
  1431                                (v128.const i32x4 0 0 0 0))
  1432                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1433  (assert_return (invoke "ge_u" (v128.const i16x8 0x0100 0x0302 0x0504 0x0706 0x0908 0x0B0A 0x0D0C 0x0F0E)
  1434                                (v128.const i32x4 0x03020100 0x07060504 0x0B0A0908 0x0F0E0D0C))
  1435                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1436  (assert_return (invoke "ge_u" (v128.const i16x8 33152 33666 65277 255 256 32514 64896 65534)
  1437                                (v128.const i32x4 2206368128 16776957 2130837760 4294901120))
  1438                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1439  (assert_return (invoke "ge_u" (v128.const i16x8 65535 65535 0 0 1 1 32768 32768)
  1440                                (v128.const i32x4 -128 0 1 255))
  1441                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1442  (assert_return (invoke "ge_u" (v128.const i16x8 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555 0x5555)
  1443                                (v128.const i32x4 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA 0xAAAAAAAA))
  1444                                (v128.const i16x8 0 0 0 0 0 0 0 0))
  1445  (assert_return (invoke "ge_u" (v128.const i16x8 012_345 012_345 012_345 012_345 012_345 012_345 012_345 012_345)
  1446                                (v128.const i16x8 12345 12345 12345 12345 12345 12345 12345 12345))
  1447                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1448  (assert_return (invoke "ge_u" (v128.const i16x8 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234 0x0_1234)
  1449                                (v128.const i16x8 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234 0x1234))
  1450                                (v128.const i16x8 -1 -1 -1 -1 -1 -1 -1 -1))
  1451  
  1452  
  1453  ;; Type check
  1454  
  1455  (assert_invalid (module (func (result v128) (i16x8.eq (i32.const 0) (f32.const 0)))) "type mismatch")
  1456  (assert_invalid (module (func (result v128) (i16x8.ge_s (i32.const 0) (f32.const 0)))) "type mismatch")
  1457  (assert_invalid (module (func (result v128) (i16x8.ge_u (i32.const 0) (f32.const 0)))) "type mismatch")
  1458  (assert_invalid (module (func (result v128) (i16x8.gt_s (i32.const 0) (f32.const 0)))) "type mismatch")
  1459  (assert_invalid (module (func (result v128) (i16x8.gt_u (i32.const 0) (f32.const 0)))) "type mismatch")
  1460  (assert_invalid (module (func (result v128) (i16x8.le_s (i32.const 0) (f32.const 0)))) "type mismatch")
  1461  (assert_invalid (module (func (result v128) (i16x8.le_u (i32.const 0) (f32.const 0)))) "type mismatch")
  1462  (assert_invalid (module (func (result v128) (i16x8.lt_s (i32.const 0) (f32.const 0)))) "type mismatch")
  1463  (assert_invalid (module (func (result v128) (i16x8.lt_u (i32.const 0) (f32.const 0)))) "type mismatch")
  1464  (assert_invalid (module (func (result v128) (i16x8.ne (i32.const 0) (f32.const 0)))) "type mismatch")
  1465  
  1466  
  1467  ;; combination
  1468  
  1469  (module (memory 1)
  1470    (func (export "eq-in-block")
  1471      (block
  1472        (drop
  1473          (block (result v128)
  1474            (i16x8.eq
  1475              (block (result v128) (v128.load (i32.const 0)))
  1476              (block (result v128) (v128.load (i32.const 1)))
  1477            )
  1478          )
  1479        )
  1480      )
  1481    )
  1482    (func (export "ne-in-block")
  1483      (block
  1484        (drop
  1485          (block (result v128)
  1486            (i16x8.ne
  1487              (block (result v128) (v128.load (i32.const 0)))
  1488              (block (result v128) (v128.load (i32.const 1)))
  1489            )
  1490          )
  1491        )
  1492      )
  1493    )
  1494    (func (export "lt_s-in-block")
  1495      (block
  1496        (drop
  1497          (block (result v128)
  1498            (i16x8.lt_s
  1499              (block (result v128) (v128.load (i32.const 0)))
  1500              (block (result v128) (v128.load (i32.const 1)))
  1501            )
  1502          )
  1503        )
  1504      )
  1505    )
  1506    (func (export "le_u-in-block")
  1507      (block
  1508        (drop
  1509          (block (result v128)
  1510            (i16x8.le_u
  1511              (block (result v128) (v128.load (i32.const 0)))
  1512              (block (result v128) (v128.load (i32.const 1)))
  1513            )
  1514          )
  1515        )
  1516      )
  1517    )
  1518    (func (export "gt_u-in-block")
  1519      (block
  1520        (drop
  1521          (block (result v128)
  1522            (i16x8.gt_u
  1523              (block (result v128) (v128.load (i32.const 0)))
  1524              (block (result v128) (v128.load (i32.const 1)))
  1525            )
  1526          )
  1527        )
  1528      )
  1529    )
  1530    (func (export "ge_s-in-block")
  1531      (block
  1532        (drop
  1533          (block (result v128)
  1534            (i16x8.ge_s
  1535              (block (result v128) (v128.load (i32.const 0)))
  1536              (block (result v128) (v128.load (i32.const 1)))
  1537            )
  1538          )
  1539        )
  1540      )
  1541    )
  1542    (func (export "nested-eq")
  1543      (drop
  1544        (i16x8.eq
  1545          (i16x8.eq
  1546            (i16x8.eq
  1547              (v128.load (i32.const 0))
  1548              (v128.load (i32.const 1))
  1549            )
  1550            (i16x8.eq
  1551              (v128.load (i32.const 2))
  1552              (v128.load (i32.const 3))
  1553            )
  1554          )
  1555          (i16x8.eq
  1556            (i16x8.eq
  1557              (v128.load (i32.const 0))
  1558              (v128.load (i32.const 1))
  1559            )
  1560            (i16x8.eq
  1561              (v128.load (i32.const 2))
  1562              (v128.load (i32.const 3))
  1563            )
  1564          )
  1565        )
  1566      )
  1567    )
  1568    (func (export "nested-ne")
  1569      (drop
  1570        (i16x8.ne
  1571          (i16x8.ne
  1572            (i16x8.ne
  1573              (v128.load (i32.const 0))
  1574              (v128.load (i32.const 1))
  1575            )
  1576            (i16x8.ne
  1577              (v128.load (i32.const 2))
  1578              (v128.load (i32.const 3))
  1579            )
  1580          )
  1581          (i16x8.ne
  1582            (i16x8.ne
  1583              (v128.load (i32.const 0))
  1584              (v128.load (i32.const 1))
  1585            )
  1586            (i16x8.ne
  1587              (v128.load (i32.const 2))
  1588              (v128.load (i32.const 3))
  1589            )
  1590          )
  1591        )
  1592      )
  1593    )
  1594    (func (export "nested-lt_s")
  1595      (drop
  1596        (i16x8.lt_s
  1597          (i16x8.lt_s
  1598            (i16x8.lt_s
  1599              (v128.load (i32.const 0))
  1600              (v128.load (i32.const 1))
  1601            )
  1602            (i16x8.lt_s
  1603              (v128.load (i32.const 2))
  1604              (v128.load (i32.const 3))
  1605            )
  1606          )
  1607          (i16x8.lt_s
  1608            (i16x8.lt_s
  1609              (v128.load (i32.const 0))
  1610              (v128.load (i32.const 1))
  1611            )
  1612            (i16x8.lt_s
  1613              (v128.load (i32.const 2))
  1614              (v128.load (i32.const 3))
  1615            )
  1616          )
  1617        )
  1618      )
  1619    )
  1620    (func (export "nested-le_u")
  1621      (drop
  1622        (i16x8.le_u
  1623          (i16x8.le_u
  1624            (i16x8.le_u
  1625              (v128.load (i32.const 0))
  1626              (v128.load (i32.const 1))
  1627            )
  1628            (i16x8.le_u
  1629              (v128.load (i32.const 2))
  1630              (v128.load (i32.const 3))
  1631            )
  1632          )
  1633          (i16x8.le_u
  1634            (i16x8.le_u
  1635              (v128.load (i32.const 0))
  1636              (v128.load (i32.const 1))
  1637            )
  1638            (i16x8.le_u
  1639              (v128.load (i32.const 2))
  1640              (v128.load (i32.const 3))
  1641            )
  1642          )
  1643        )
  1644      )
  1645    )
  1646    (func (export "nested-gt_u")
  1647      (drop
  1648        (i16x8.gt_u
  1649          (i16x8.gt_u
  1650            (i16x8.gt_u
  1651              (v128.load (i32.const 0))
  1652              (v128.load (i32.const 1))
  1653            )
  1654            (i16x8.gt_u
  1655              (v128.load (i32.const 2))
  1656              (v128.load (i32.const 3))
  1657            )
  1658          )
  1659          (i16x8.gt_u
  1660            (i16x8.gt_u
  1661              (v128.load (i32.const 0))
  1662              (v128.load (i32.const 1))
  1663            )
  1664            (i16x8.gt_u
  1665              (v128.load (i32.const 2))
  1666              (v128.load (i32.const 3))
  1667            )
  1668          )
  1669        )
  1670      )
  1671    )
  1672    (func (export "nested-ge_s")
  1673      (drop
  1674        (i16x8.ge_s
  1675          (i16x8.ge_s
  1676            (i16x8.ge_s
  1677              (v128.load (i32.const 0))
  1678              (v128.load (i32.const 1))
  1679            )
  1680            (i16x8.ge_s
  1681              (v128.load (i32.const 2))
  1682              (v128.load (i32.const 3))
  1683            )
  1684          )
  1685          (i16x8.ge_s
  1686            (i16x8.ge_s
  1687              (v128.load (i32.const 0))
  1688              (v128.load (i32.const 1))
  1689            )
  1690            (i16x8.ge_s
  1691              (v128.load (i32.const 2))
  1692              (v128.load (i32.const 3))
  1693            )
  1694          )
  1695        )
  1696      )
  1697    )
  1698    (func (export "as-param")
  1699      (drop
  1700        (i16x8.ge_u
  1701          (i16x8.eq
  1702            (i16x8.lt_s
  1703              (v128.load (i32.const 0))
  1704              (v128.load (i32.const 1))
  1705            )
  1706            (i16x8.le_u
  1707              (v128.load (i32.const 2))
  1708              (v128.load (i32.const 3))
  1709            )
  1710          )
  1711          (i16x8.ne
  1712            (i16x8.gt_s
  1713              (v128.load (i32.const 0))
  1714              (v128.load (i32.const 1))
  1715            )
  1716            (i16x8.lt_u
  1717              (v128.load (i32.const 2))
  1718              (v128.load (i32.const 3))
  1719            )
  1720          )
  1721        )
  1722      )
  1723    )
  1724  )
  1725  (assert_return (invoke "eq-in-block"))
  1726  (assert_return (invoke "ne-in-block"))
  1727  (assert_return (invoke "lt_s-in-block"))
  1728  (assert_return (invoke "le_u-in-block"))
  1729  (assert_return (invoke "gt_u-in-block"))
  1730  (assert_return (invoke "ge_s-in-block"))
  1731  (assert_return (invoke "nested-eq"))
  1732  (assert_return (invoke "nested-ne"))
  1733  (assert_return (invoke "nested-lt_s"))
  1734  (assert_return (invoke "nested-le_u"))
  1735  (assert_return (invoke "nested-gt_u"))
  1736  (assert_return (invoke "nested-ge_s"))
  1737  (assert_return (invoke "as-param"))
  1738  
  1739  
  1740  ;; Test operation with empty argument
  1741  
  1742  (assert_invalid
  1743    (module
  1744      (func $i16x8.eq-1st-arg-empty (result v128)
  1745        (i16x8.eq (v128.const i16x8 0 0 0 0 0 0 0 0))
  1746      )
  1747    )
  1748    "type mismatch"
  1749  )
  1750  (assert_invalid
  1751    (module
  1752      (func $i16x8.eq-arg-empty (result v128)
  1753        (i16x8.eq)
  1754      )
  1755    )
  1756    "type mismatch"
  1757  )
  1758  (assert_invalid
  1759    (module
  1760      (func $i16x8.ne-1st-arg-empty (result v128)
  1761        (i16x8.ne (v128.const i16x8 0 0 0 0 0 0 0 0))
  1762      )
  1763    )
  1764    "type mismatch"
  1765  )
  1766  (assert_invalid
  1767    (module
  1768      (func $i16x8.ne-arg-empty (result v128)
  1769        (i16x8.ne)
  1770      )
  1771    )
  1772    "type mismatch"
  1773  )
  1774  (assert_invalid
  1775    (module
  1776      (func $i16x8.lt_s-1st-arg-empty (result v128)
  1777        (i16x8.lt_s (v128.const i16x8 0 0 0 0 0 0 0 0))
  1778      )
  1779    )
  1780    "type mismatch"
  1781  )
  1782  (assert_invalid
  1783    (module
  1784      (func $i16x8.lt_s-arg-empty (result v128)
  1785        (i16x8.lt_s)
  1786      )
  1787    )
  1788    "type mismatch"
  1789  )
  1790  (assert_invalid
  1791    (module
  1792      (func $i16x8.lt_u-1st-arg-empty (result v128)
  1793        (i16x8.lt_u (v128.const i16x8 0 0 0 0 0 0 0 0))
  1794      )
  1795    )
  1796    "type mismatch"
  1797  )
  1798  (assert_invalid
  1799    (module
  1800      (func $i16x8.lt_u-arg-empty (result v128)
  1801        (i16x8.lt_u)
  1802      )
  1803    )
  1804    "type mismatch"
  1805  )
  1806  (assert_invalid
  1807    (module
  1808      (func $i16x8.le_s-1st-arg-empty (result v128)
  1809        (i16x8.le_s (v128.const i16x8 0 0 0 0 0 0 0 0))
  1810      )
  1811    )
  1812    "type mismatch"
  1813  )
  1814  (assert_invalid
  1815    (module
  1816      (func $i16x8.le_s-arg-empty (result v128)
  1817        (i16x8.le_s)
  1818      )
  1819    )
  1820    "type mismatch"
  1821  )
  1822  (assert_invalid
  1823    (module
  1824      (func $i16x8.le_u-1st-arg-empty (result v128)
  1825        (i16x8.le_u (v128.const i16x8 0 0 0 0 0 0 0 0))
  1826      )
  1827    )
  1828    "type mismatch"
  1829  )
  1830  (assert_invalid
  1831    (module
  1832      (func $i16x8.le_u-arg-empty (result v128)
  1833        (i16x8.le_u)
  1834      )
  1835    )
  1836    "type mismatch"
  1837  )
  1838  (assert_invalid
  1839    (module
  1840      (func $i16x8.gt_s-1st-arg-empty (result v128)
  1841        (i16x8.gt_s (v128.const i16x8 0 0 0 0 0 0 0 0))
  1842      )
  1843    )
  1844    "type mismatch"
  1845  )
  1846  (assert_invalid
  1847    (module
  1848      (func $i16x8.gt_s-arg-empty (result v128)
  1849        (i16x8.gt_s)
  1850      )
  1851    )
  1852    "type mismatch"
  1853  )
  1854  (assert_invalid
  1855    (module
  1856      (func $i16x8.gt_u-1st-arg-empty (result v128)
  1857        (i16x8.gt_u (v128.const i16x8 0 0 0 0 0 0 0 0))
  1858      )
  1859    )
  1860    "type mismatch"
  1861  )
  1862  (assert_invalid
  1863    (module
  1864      (func $i16x8.gt_u-arg-empty (result v128)
  1865        (i16x8.gt_u)
  1866      )
  1867    )
  1868    "type mismatch"
  1869  )
  1870  (assert_invalid
  1871    (module
  1872      (func $i16x8.ge_s-1st-arg-empty (result v128)
  1873        (i16x8.ge_s (v128.const i16x8 0 0 0 0 0 0 0 0))
  1874      )
  1875    )
  1876    "type mismatch"
  1877  )
  1878  (assert_invalid
  1879    (module
  1880      (func $i16x8.ge_s-arg-empty (result v128)
  1881        (i16x8.ge_s)
  1882      )
  1883    )
  1884    "type mismatch"
  1885  )
  1886  (assert_invalid
  1887    (module
  1888      (func $i16x8.ge_u-1st-arg-empty (result v128)
  1889        (i16x8.ge_u (v128.const i16x8 0 0 0 0 0 0 0 0))
  1890      )
  1891    )
  1892    "type mismatch"
  1893  )
  1894  (assert_invalid
  1895    (module
  1896      (func $i16x8.ge_u-arg-empty (result v128)
  1897        (i16x8.ge_u)
  1898      )
  1899    )
  1900    "type mismatch"
  1901  )