...

Text file src/github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata/simd_i64x2_extmul_i32x4.wast

Documentation: github.com/tetratelabs/wazero/internal/integration_test/spectest/v2/testdata

     1;; Tests for i64x2 arithmetic operations on major boundary values and all special values.
     2
     3
     4(module
     5  (func (export "i64x2.extmul_low_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_s (local.get 0) (local.get 1)))
     6  (func (export "i64x2.extmul_high_i32x4_s") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_s (local.get 0) (local.get 1)))
     7  (func (export "i64x2.extmul_low_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_low_i32x4_u (local.get 0) (local.get 1)))
     8  (func (export "i64x2.extmul_high_i32x4_u") (param v128 v128) (result v128) (i64x2.extmul_high_i32x4_u (local.get 0) (local.get 1)))
     9)
    10
    11
    12;; i64x2.extmul_low_i32x4_s
    13(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0)
    14                                                  (v128.const i32x4 0 0 0 0))
    15                                                  (v128.const i64x2 0 0))
    16(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0)
    17                                                  (v128.const i32x4 1 1 1 1))
    18                                                  (v128.const i64x2 0 0))
    19(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1 1 1 1)
    20                                                  (v128.const i32x4 1 1 1 1))
    21                                                  (v128.const i64x2 1 1))
    22(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 0 0 0 0)
    23                                                  (v128.const i32x4 -1 -1 -1 -1))
    24                                                  (v128.const i64x2 0 0))
    25(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1 1 1 1)
    26                                                  (v128.const i32x4 -1 -1 -1 -1))
    27                                                  (v128.const i64x2 -1 -1))
    28(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1 -1 -1 -1)
    29                                                  (v128.const i32x4 -1 -1 -1 -1))
    30                                                  (v128.const i64x2 1 1))
    31(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823)
    32                                                  (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
    33                                                  (v128.const i64x2 1152921503533105152 1152921503533105152))
    34(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)
    35                                                  (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
    36                                                  (v128.const i64x2 1152921504606846976 1152921504606846976))
    37(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823)
    38                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
    39                                                  (v128.const i64x2 1152921503533105152 1152921503533105152))
    40(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)
    41                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
    42                                                  (v128.const i64x2 1152921504606846976 1152921504606846976))
    43(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825)
    44                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
    45                                                  (v128.const i64x2 1152921505680588800 1152921505680588800))
    46(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645)
    47                                                  (v128.const i32x4 1 1 1 1))
    48                                                  (v128.const i64x2 2147483645 2147483645))
    49(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646)
    50                                                  (v128.const i32x4 1 1 1 1))
    51                                                  (v128.const i64x2 2147483646 2147483646))
    52(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)
    53                                                  (v128.const i32x4 1 1 1 1))
    54                                                  (v128.const i64x2 -2147483648 -2147483648))
    55(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646)
    56                                                  (v128.const i32x4 -1 -1 -1 -1))
    57                                                  (v128.const i64x2 2147483646 2147483646))
    58(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)
    59                                                  (v128.const i32x4 -1 -1 -1 -1))
    60                                                  (v128.const i64x2 2147483647 2147483647))
    61(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
    62                                                  (v128.const i32x4 -1 -1 -1 -1))
    63                                                  (v128.const i64x2 2147483648 2147483648))
    64(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)
    65                                                  (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
    66                                                  (v128.const i64x2 4611686014132420609 4611686014132420609))
    67(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
    68                                                  (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
    69                                                  (v128.const i64x2 4611686018427387904 4611686018427387904))
    70(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
    71                                                  (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647))
    72                                                  (v128.const i64x2 4611686016279904256 4611686016279904256))
    73(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    74                                                  (v128.const i32x4 0 0 0 0))
    75                                                  (v128.const i64x2 0 0))
    76(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    77                                                  (v128.const i32x4 1 1 1 1))
    78                                                  (v128.const i64x2 -1 -1))
    79(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    80                                                  (v128.const i32x4 -1 -1 -1 -1))
    81                                                  (v128.const i64x2 1 1))
    82(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    83                                                  (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
    84                                                  (v128.const i64x2 -2147483647 -2147483647))
    85(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    86                                                  (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
    87                                                  (v128.const i64x2 2147483648 2147483648))
    88(assert_return (invoke "i64x2.extmul_low_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
    89                                                  (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
    90                                                  (v128.const i64x2 1 1))
    91
    92;; i64x2.extmul_high_i32x4_s
    93(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0)
    94                                                   (v128.const i32x4 0 0 0 0))
    95                                                   (v128.const i64x2 0 0))
    96(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0)
    97                                                   (v128.const i32x4 1 1 1 1))
    98                                                   (v128.const i64x2 0 0))
    99(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1 1 1 1)
   100                                                   (v128.const i32x4 1 1 1 1))
   101                                                   (v128.const i64x2 1 1))
   102(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 0 0 0 0)
   103                                                   (v128.const i32x4 -1 -1 -1 -1))
   104                                                   (v128.const i64x2 0 0))
   105(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1 1 1 1)
   106                                                   (v128.const i32x4 -1 -1 -1 -1))
   107                                                   (v128.const i64x2 -1 -1))
   108(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1 -1 -1 -1)
   109                                                   (v128.const i32x4 -1 -1 -1 -1))
   110                                                   (v128.const i64x2 1 1))
   111(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823)
   112                                                   (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   113                                                   (v128.const i64x2 1152921503533105152 1152921503533105152))
   114(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)
   115                                                   (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   116                                                   (v128.const i64x2 1152921504606846976 1152921504606846976))
   117(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823)
   118                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   119                                                   (v128.const i64x2 1152921503533105152 1152921503533105152))
   120(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)
   121                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   122                                                   (v128.const i64x2 1152921504606846976 1152921504606846976))
   123(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825)
   124                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   125                                                   (v128.const i64x2 1152921505680588800 1152921505680588800))
   126(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645)
   127                                                   (v128.const i32x4 1 1 1 1))
   128                                                   (v128.const i64x2 2147483645 2147483645))
   129(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646)
   130                                                   (v128.const i32x4 1 1 1 1))
   131                                                   (v128.const i64x2 2147483646 2147483646))
   132(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)
   133                                                   (v128.const i32x4 1 1 1 1))
   134                                                   (v128.const i64x2 -2147483648 -2147483648))
   135(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646)
   136                                                   (v128.const i32x4 -1 -1 -1 -1))
   137                                                   (v128.const i64x2 2147483646 2147483646))
   138(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)
   139                                                   (v128.const i32x4 -1 -1 -1 -1))
   140                                                   (v128.const i64x2 2147483647 2147483647))
   141(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   142                                                   (v128.const i32x4 -1 -1 -1 -1))
   143                                                   (v128.const i64x2 2147483648 2147483648))
   144(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)
   145                                                   (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   146                                                   (v128.const i64x2 4611686014132420609 4611686014132420609))
   147(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   148                                                   (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   149                                                   (v128.const i64x2 4611686018427387904 4611686018427387904))
   150(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   151                                                   (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647))
   152                                                   (v128.const i64x2 4611686016279904256 4611686016279904256))
   153(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   154                                                   (v128.const i32x4 0 0 0 0))
   155                                                   (v128.const i64x2 0 0))
   156(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   157                                                   (v128.const i32x4 1 1 1 1))
   158                                                   (v128.const i64x2 -1 -1))
   159(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   160                                                   (v128.const i32x4 -1 -1 -1 -1))
   161                                                   (v128.const i64x2 1 1))
   162(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   163                                                   (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   164                                                   (v128.const i64x2 -2147483647 -2147483647))
   165(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   166                                                   (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   167                                                   (v128.const i64x2 2147483648 2147483648))
   168(assert_return (invoke "i64x2.extmul_high_i32x4_s" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   169                                                   (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   170                                                   (v128.const i64x2 1 1))
   171
   172;; i64x2.extmul_low_i32x4_u
   173(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0)
   174                                                  (v128.const i32x4 0 0 0 0))
   175                                                  (v128.const i64x2 0 0))
   176(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0)
   177                                                  (v128.const i32x4 1 1 1 1))
   178                                                  (v128.const i64x2 0 0))
   179(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1 1 1 1)
   180                                                  (v128.const i32x4 1 1 1 1))
   181                                                  (v128.const i64x2 1 1))
   182(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 0 0 0 0)
   183                                                  (v128.const i32x4 -1 -1 -1 -1))
   184                                                  (v128.const i64x2 0 0))
   185(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1 1 1 1)
   186                                                  (v128.const i32x4 -1 -1 -1 -1))
   187                                                  (v128.const i64x2 4294967295 4294967295))
   188(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1 -1 -1 -1)
   189                                                  (v128.const i32x4 -1 -1 -1 -1))
   190                                                  (v128.const i64x2 -8589934591 -8589934591))
   191(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823)
   192                                                  (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   193                                                  (v128.const i64x2 1152921503533105152 1152921503533105152))
   194(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)
   195                                                  (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   196                                                  (v128.const i64x2 1152921504606846976 1152921504606846976))
   197(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823)
   198                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   199                                                  (v128.const i64x2 -8070450529026703360 -8070450529026703360))
   200(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)
   201                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   202                                                  (v128.const i64x2 -8070450532247928832 -8070450532247928832))
   203(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825)
   204                                                  (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   205                                                  (v128.const i64x2 -8070450535469154304 -8070450535469154304))
   206(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645)
   207                                                  (v128.const i32x4 1 1 1 1))
   208                                                  (v128.const i64x2 2147483645 2147483645))
   209(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646)
   210                                                  (v128.const i32x4 1 1 1 1))
   211                                                  (v128.const i64x2 2147483646 2147483646))
   212(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)
   213                                                  (v128.const i32x4 1 1 1 1))
   214                                                  (v128.const i64x2 2147483648 2147483648))
   215(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646)
   216                                                  (v128.const i32x4 -1 -1 -1 -1))
   217                                                  (v128.const i64x2 -9223372030412324866 -9223372030412324866))
   218(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)
   219                                                  (v128.const i32x4 -1 -1 -1 -1))
   220                                                  (v128.const i64x2 -9223372034707292161 -9223372034707292161))
   221(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   222                                                  (v128.const i32x4 -1 -1 -1 -1))
   223                                                  (v128.const i64x2 9223372034707292160 9223372034707292160))
   224(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)
   225                                                  (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   226                                                  (v128.const i64x2 4611686014132420609 4611686014132420609))
   227(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   228                                                  (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   229                                                  (v128.const i64x2 4611686018427387904 4611686018427387904))
   230(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   231                                                  (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647))
   232                                                  (v128.const i64x2 4611686020574871552 4611686020574871552))
   233(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   234                                                  (v128.const i32x4 0 0 0 0))
   235                                                  (v128.const i64x2 0 0))
   236(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   237                                                  (v128.const i32x4 1 1 1 1))
   238                                                  (v128.const i64x2 4294967295 4294967295))
   239(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   240                                                  (v128.const i32x4 -1 -1 -1 -1))
   241                                                  (v128.const i64x2 -8589934591 -8589934591))
   242(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   243                                                  (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   244                                                  (v128.const i64x2 9223372030412324865 9223372030412324865))
   245(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   246                                                  (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   247                                                  (v128.const i64x2 9223372034707292160 9223372034707292160))
   248(assert_return (invoke "i64x2.extmul_low_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   249                                                  (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   250                                                  (v128.const i64x2 -8589934591 -8589934591))
   251
   252;; i64x2.extmul_high_i32x4_u
   253(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0)
   254                                                   (v128.const i32x4 0 0 0 0))
   255                                                   (v128.const i64x2 0 0))
   256(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0)
   257                                                   (v128.const i32x4 1 1 1 1))
   258                                                   (v128.const i64x2 0 0))
   259(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1 1 1 1)
   260                                                   (v128.const i32x4 1 1 1 1))
   261                                                   (v128.const i64x2 1 1))
   262(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 0 0 0 0)
   263                                                   (v128.const i32x4 -1 -1 -1 -1))
   264                                                   (v128.const i64x2 0 0))
   265(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1 1 1 1)
   266                                                   (v128.const i32x4 -1 -1 -1 -1))
   267                                                   (v128.const i64x2 4294967295 4294967295))
   268(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1 -1 -1 -1)
   269                                                   (v128.const i32x4 -1 -1 -1 -1))
   270                                                   (v128.const i64x2 -8589934591 -8589934591))
   271(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1073741823 1073741823 1073741823 1073741823)
   272                                                   (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   273                                                   (v128.const i64x2 1152921503533105152 1152921503533105152))
   274(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 1073741824 1073741824 1073741824 1073741824)
   275                                                   (v128.const i32x4 1073741824 1073741824 1073741824 1073741824))
   276                                                   (v128.const i64x2 1152921504606846976 1152921504606846976))
   277(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741823 -1073741823 -1073741823 -1073741823)
   278                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   279                                                   (v128.const i64x2 -8070450529026703360 -8070450529026703360))
   280(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824)
   281                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   282                                                   (v128.const i64x2 -8070450532247928832 -8070450532247928832))
   283(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -1073741825 -1073741825 -1073741825 -1073741825)
   284                                                   (v128.const i32x4 -1073741824 -1073741824 -1073741824 -1073741824))
   285                                                   (v128.const i64x2 -8070450535469154304 -8070450535469154304))
   286(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483645 2147483645 2147483645 2147483645)
   287                                                   (v128.const i32x4 1 1 1 1))
   288                                                   (v128.const i64x2 2147483645 2147483645))
   289(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483646 2147483646 2147483646 2147483646)
   290                                                   (v128.const i32x4 1 1 1 1))
   291                                                   (v128.const i64x2 2147483646 2147483646))
   292(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483648 2147483648 2147483648 2147483648)
   293                                                   (v128.const i32x4 1 1 1 1))
   294                                                   (v128.const i64x2 2147483648 2147483648))
   295(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483646 -2147483646 -2147483646 -2147483646)
   296                                                   (v128.const i32x4 -1 -1 -1 -1))
   297                                                   (v128.const i64x2 -9223372030412324866 -9223372030412324866))
   298(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647)
   299                                                   (v128.const i32x4 -1 -1 -1 -1))
   300                                                   (v128.const i64x2 -9223372034707292161 -9223372034707292161))
   301(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   302                                                   (v128.const i32x4 -1 -1 -1 -1))
   303                                                   (v128.const i64x2 9223372034707292160 9223372034707292160))
   304(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 2147483647 2147483647 2147483647 2147483647)
   305                                                   (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   306                                                   (v128.const i64x2 4611686014132420609 4611686014132420609))
   307(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   308                                                   (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   309                                                   (v128.const i64x2 4611686018427387904 4611686018427387904))
   310(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648)
   311                                                   (v128.const i32x4 -2147483647 -2147483647 -2147483647 -2147483647))
   312                                                   (v128.const i64x2 4611686020574871552 4611686020574871552))
   313(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   314                                                   (v128.const i32x4 0 0 0 0))
   315                                                   (v128.const i64x2 0 0))
   316(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   317                                                   (v128.const i32x4 1 1 1 1))
   318                                                   (v128.const i64x2 4294967295 4294967295))
   319(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   320                                                   (v128.const i32x4 -1 -1 -1 -1))
   321                                                   (v128.const i64x2 -8589934591 -8589934591))
   322(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   323                                                   (v128.const i32x4 2147483647 2147483647 2147483647 2147483647))
   324                                                   (v128.const i64x2 9223372030412324865 9223372030412324865))
   325(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   326                                                   (v128.const i32x4 -2147483648 -2147483648 -2147483648 -2147483648))
   327                                                   (v128.const i64x2 9223372034707292160 9223372034707292160))
   328(assert_return (invoke "i64x2.extmul_high_i32x4_u" (v128.const i32x4 4294967295 4294967295 4294967295 4294967295)
   329                                                   (v128.const i32x4 4294967295 4294967295 4294967295 4294967295))
   330                                                   (v128.const i64x2 -8589934591 -8589934591))
   331
   332;; type check
   333(assert_invalid (module (func (result v128) (i64x2.extmul_low_i32x4_s (i32.const 0) (f32.const 0.0)))) "type mismatch")
   334(assert_invalid (module (func (result v128) (i64x2.extmul_high_i32x4_s (i32.const 0) (f32.const 0.0)))) "type mismatch")
   335(assert_invalid (module (func (result v128) (i64x2.extmul_low_i32x4_u (i32.const 0) (f32.const 0.0)))) "type mismatch")
   336(assert_invalid (module (func (result v128) (i64x2.extmul_high_i32x4_u (i32.const 0) (f32.const 0.0)))) "type mismatch")
   337
   338;; Test operation with empty argument
   339
   340(assert_invalid
   341  (module
   342    (func $i64x2.extmul_low_i32x4_s-1st-arg-empty (result v128)
   343      (i64x2.extmul_low_i32x4_s (v128.const i64x2 0 0))
   344    )
   345  )
   346  "type mismatch"
   347)
   348(assert_invalid
   349  (module
   350    (func $i64x2.extmul_low_i32x4_s-arg-empty (result v128)
   351      (i64x2.extmul_low_i32x4_s)
   352    )
   353  )
   354  "type mismatch"
   355)
   356(assert_invalid
   357  (module
   358    (func $i64x2.extmul_high_i32x4_s-1st-arg-empty (result v128)
   359      (i64x2.extmul_high_i32x4_s (v128.const i64x2 0 0))
   360    )
   361  )
   362  "type mismatch"
   363)
   364(assert_invalid
   365  (module
   366    (func $i64x2.extmul_high_i32x4_s-arg-empty (result v128)
   367      (i64x2.extmul_high_i32x4_s)
   368    )
   369  )
   370  "type mismatch"
   371)
   372(assert_invalid
   373  (module
   374    (func $i64x2.extmul_low_i32x4_u-1st-arg-empty (result v128)
   375      (i64x2.extmul_low_i32x4_u (v128.const i64x2 0 0))
   376    )
   377  )
   378  "type mismatch"
   379)
   380(assert_invalid
   381  (module
   382    (func $i64x2.extmul_low_i32x4_u-arg-empty (result v128)
   383      (i64x2.extmul_low_i32x4_u)
   384    )
   385  )
   386  "type mismatch"
   387)
   388(assert_invalid
   389  (module
   390    (func $i64x2.extmul_high_i32x4_u-1st-arg-empty (result v128)
   391      (i64x2.extmul_high_i32x4_u (v128.const i64x2 0 0))
   392    )
   393  )
   394  "type mismatch"
   395)
   396(assert_invalid
   397  (module
   398    (func $i64x2.extmul_high_i32x4_u-arg-empty (result v128)
   399      (i64x2.extmul_high_i32x4_u)
   400    )
   401  )
   402  "type mismatch"
   403)
   404

View as plain text