|
12 | 12 | | v128.load32_splat | 0x09 |
|
13 | 13 | | v128.load64_splat | 0x0a |
|
14 | 14 | | v128.store | 0x0b |
|
15 |
| -| v128.load32_zero | 0xfc | |
16 |
| -| v128.load64_zero | 0xfd | |
17 | 15 |
|
18 | 16 | | Basic operation | opcode |
|
19 | 17 | | ----------------| ------ |
|
|
77 | 75 | | v128.or | 0x50 |
|
78 | 76 | | v128.xor | 0x51 |
|
79 | 77 | | v128.bitselect | 0x52 |
|
| 78 | +| v128.any_true | 0x53 | |
80 | 79 |
|
81 |
| -| i8x16 Op | opcode | i16x8 Op | opcode | i32x4 Op | opcode | i64x2 Op | opcode | |
82 |
| -| -------------------- | ------ | ------------------------ | ------ | ------------------------ | ------ | ------------------------ | ------ | |
83 |
| -| i8x16.abs | 0x60 | i16x8.abs | 0x80 | i32x4.abs | 0xa0 | i64x2.abs | 0xc0 | |
84 |
| -| i8x16.neg | 0x61 | i16x8.neg | 0x81 | i32x4.neg | 0xa1 | i64x2.neg | 0xc1 | |
85 |
| -| ------------- | 0x62 | ------------- | 0x82 | ------------- | 0xa2 | ------------- | 0xc2 | |
86 |
| -| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | (i64x2.all_true) [TBD] | 0xc3 | |
87 |
| -| i8x16.bitmask | 0x64 | i16x8.bitmask | 0x84 | i32x4.bitmask | 0xa4 | i64x2.bitmask | 0xc4 | |
88 |
| -| i8x16.narrow_i16x8_s | 0x65 | i16x8.narrow_i32x4_s | 0x85 | ---- narrow ---- | 0xa5 | ------------- | 0xc5 | |
89 |
| -| i8x16.narrow_i16x8_u | 0x66 | i16x8.narrow_i32x4_u | 0x86 | ---- narrow ---- | 0xa6 | ------------- | 0xc6 | |
90 |
| -| ---- widen ---- | 0x67 | i16x8.widen_low_i8x16_s | 0x87 | i32x4.widen_low_i16x8_s | 0xa7 | i64x2.widen_low_i32x4_s | 0xc7 | |
91 |
| -| ---- widen ---- | 0x68 | i16x8.widen_high_i8x16_s | 0x88 | i32x4.widen_high_i16x8_s | 0xa8 | i64x2.widen_high_i32x4_s | 0xc8 | |
92 |
| -| ---- widen ---- | 0x69 | i16x8.widen_low_i8x16_u | 0x89 | i32x4.widen_low_i16x8_u | 0xa9 | i64x2.widen_low_i32x4_u | 0xc9 | |
93 |
| -| ---- widen ---- | 0x6a | i16x8.widen_high_i8x16_u | 0x8a | i32x4.widen_high_i16x8_u | 0xaa | i64x2.widen_high_i32x4_u | 0xca | |
94 |
| -| i8x16.shl | 0x6b | i16x8.shl | 0x8b | i32x4.shl | 0xab | i64x2.shl | 0xcb | |
95 |
| -| i8x16.shr_s | 0x6c | i16x8.shr_s | 0x8c | i32x4.shr_s | 0xac | i64x2.shr_s | 0xcc | |
96 |
| -| i8x16.shr_u | 0x6d | i16x8.shr_u | 0x8d | i32x4.shr_u | 0xad | i64x2.shr_u | 0xcd | |
97 |
| -| i8x16.add | 0x6e | i16x8.add | 0x8e | i32x4.add | 0xae | i64x2.add | 0xce | |
98 |
| -| i8x16.add_sat_s | 0x6f | i16x8.add_sat_s | 0x8f | ---- add_sat ---- | 0xaf | ------------- | 0xcf | |
99 |
| -| i8x16.add_sat_u | 0x70 | i16x8.add_sat_u | 0x90 | ---- add_sat ---- | 0xb0 | ------------- | 0xd0 | |
100 |
| -| i8x16.sub | 0x71 | i16x8.sub | 0x91 | i32x4.sub | 0xb1 | i64x2.sub | 0xd1 | |
101 |
| -| i8x16.sub_sat_s | 0x72 | i16x8.sub_sat_s | 0x92 | ---- sub_sat ---- | 0xb2 | ------------- | 0xd2 | |
102 |
| -| i8x16.sub_sat_u | 0x73 | i16x8.sub_sat_u | 0x93 | ---- sub_sat ---- | 0xb3 | ------------- | 0xd3 | |
103 |
| -| ------------- | 0x74 | ------------- | 0x94 | ------------- | 0xb4 | ------------- | 0xd4 | |
104 |
| -| ---- mul ---- | 0x75 | i16x8.mul | 0x95 | i32x4.mul | 0xb5 | i64x2.mul | 0xd5 | |
105 |
| -| i8x16.min_s | 0x76 | i16x8.min_s | 0x96 | i32x4.min_s | 0xb6 | ------------- | 0xd6 | |
106 |
| -| i8x16.min_u | 0x77 | i16x8.min_u | 0x97 | i32x4.min_u | 0xb7 | ------------- | 0xd7 | |
107 |
| -| i8x16.max_s | 0x78 | i16x8.max_s | 0x98 | i32x4.max_s | 0xb8 | ------------- | 0xd8 | |
108 |
| -| i8x16.max_u | 0x79 | i16x8.max_u | 0x99 | i32x4.max_u | 0xb9 | ------------- | 0xd9 | |
109 |
| -| ---------------- | 0x7a | ---------------- | 0x9a | i32x4.dot_i16x8_s | 0xba | ------------- | 0xda | |
110 |
| -| i8x16.avgr_u | 0x7b | i16x8.avgr_u | 0x9b | ---- avgr_u ---- | 0xbb | ------------- | 0xdb | |
| 80 | +| Load Lane Op | opcode | |
| 81 | +| ----------------- | ------ | |
| 82 | +| v128.load8_lane | 0x54 | |
| 83 | +| v128.load16_lane | 0x55 | |
| 84 | +| v128.load32_lane | 0x56 | |
| 85 | +| v128.load64_lane | 0x57 | |
| 86 | +| v128.store8_lane | 0x58 | |
| 87 | +| v128.store16_lane | 0x59 | |
| 88 | +| v128.store32_lane | 0x5a | |
| 89 | +| v128.store64_lane | 0x5b | |
| 90 | +| v128.load32_zero | 0x5c | |
| 91 | +| v128.load64_zero | 0x5d | |
| 92 | + |
| 93 | +| Float conversion | opcode | |
| 94 | +| ----------------------- | ------ | |
| 95 | +| f32x4.demote_f64x2_zero | 0x5e | |
| 96 | +| f64x2.promote_low_f32x4 | 0x5f | |
| 97 | + |
| 98 | +| i8x16 Op | opcode | i16x8 Op | opcode | i32x4 Op | opcode | i64x2 Op | opcode | |
| 99 | +| ----------------------------- | ------ | ------------------------- | ------ | ------------------------- | ------ | ------------------------- | ------ | |
| 100 | +| i8x16.abs | 0x60 | i16x8.abs | 0x80 | i32x4.abs | 0xa0 | i64x2.abs | 0xc0 | |
| 101 | +| i8x16.neg | 0x61 | i16x8.neg | 0x81 | i32x4.neg | 0xa1 | i64x2.neg | 0xc1 | |
| 102 | +| i8x16.popcnt | 0x62 | i16x8.q15mulr_sat_s | 0x82 | | 0xa2 | ------------- | 0xc2 | |
| 103 | +| i8x16.all_true | 0x63 | i16x8.all_true | 0x83 | i32x4.all_true | 0xa3 | i64x2.all_true | 0xc3 | |
| 104 | +| i8x16.bitmask | 0x64 | i16x8.bitmask | 0x84 | i32x4.bitmask | 0xa4 | i64x2.bitmask | 0xc4 | |
| 105 | +| i8x16.narrow_i16x8_s | 0x65 | i16x8.narrow_i32x4_s | 0x85 | ---- narrow ---- | 0xa5 | ------------- | 0xc5 | |
| 106 | +| i8x16.narrow_i16x8_u | 0x66 | i16x8.narrow_i32x4_u | 0x86 | ---- narrow ---- | 0xa6 | ------------- | 0xc6 | |
| 107 | +| f32x4.ceil | 0x67 | i16x8.widen_low_i8x16_s | 0x87 | i32x4.widen_low_i16x8_s | 0xa7 | i64x2.widen_low_i32x4_s | 0xc7 | |
| 108 | +| f32x4.floor | 0x68 | i16x8.widen_high_i8x16_s | 0x88 | i32x4.widen_high_i16x8_s | 0xa8 | i64x2.widen_high_i32x4_s | 0xc8 | |
| 109 | +| f32x4.trunc | 0x69 | i16x8.widen_low_i8x16_u | 0x89 | i32x4.widen_low_i16x8_u | 0xa9 | i64x2.widen_low_i32x4_u | 0xc9 | |
| 110 | +| f32x4.nearest | 0x6a | i16x8.widen_high_i8x16_u | 0x8a | i32x4.widen_high_i16x8_u | 0xaa | i64x2.widen_high_i32x4_u | 0xca | |
| 111 | +| i8x16.shl | 0x6b | i16x8.shl | 0x8b | i32x4.shl | 0xab | i64x2.shl | 0xcb | |
| 112 | +| i8x16.shr_s | 0x6c | i16x8.shr_s | 0x8c | i32x4.shr_s | 0xac | i64x2.shr_s | 0xcc | |
| 113 | +| i8x16.shr_u | 0x6d | i16x8.shr_u | 0x8d | i32x4.shr_u | 0xad | i64x2.shr_u | 0xcd | |
| 114 | +| i8x16.add | 0x6e | i16x8.add | 0x8e | i32x4.add | 0xae | i64x2.add | 0xce | |
| 115 | +| i8x16.add_sat_s | 0x6f | i16x8.add_sat_s | 0x8f | ---- add_sat ---- | 0xaf | ------------- | 0xcf | |
| 116 | +| i8x16.add_sat_u | 0x70 | i16x8.add_sat_u | 0x90 | ---- add_sat ---- | 0xb0 | ------------- | 0xd0 | |
| 117 | +| i8x16.sub | 0x71 | i16x8.sub | 0x91 | i32x4.sub | 0xb1 | i64x2.sub | 0xd1 | |
| 118 | +| i8x16.sub_sat_s | 0x72 | i16x8.sub_sat_s | 0x92 | ---- sub_sat ---- | 0xb2 | ------------- | 0xd2 | |
| 119 | +| i8x16.sub_sat_u | 0x73 | i16x8.sub_sat_u | 0x93 | ---- sub_sat ---- | 0xb3 | ------------- | 0xd3 | |
| 120 | +| f64x2.ceil | 0x74 | f64x2.nearest | 0x94 | ------------- | 0xb4 | ------------- | 0xd4 | |
| 121 | +| f64x2.floor | 0x75 | i16x8.mul | 0x95 | i32x4.mul | 0xb5 | i64x2.mul | 0xd5 | |
| 122 | +| i8x16.min_s | 0x76 | i16x8.min_s | 0x96 | i32x4.min_s | 0xb6 | i64x2.eq | 0xd6 | |
| 123 | +| i8x16.min_u | 0x77 | i16x8.min_u | 0x97 | i32x4.min_u | 0xb7 | i64x2.ne | 0xd7 | |
| 124 | +| i8x16.max_s | 0x78 | i16x8.max_s | 0x98 | i32x4.max_s | 0xb8 | i64x2.lt_s | 0xd8 | |
| 125 | +| i8x16.max_u | 0x79 | i16x8.max_u | 0x99 | i32x4.max_u | 0xb9 | i64x2.gt_s | 0xd9 | |
| 126 | +| f64x2.trunc | 0x7a | | 0x9a | i32x4.dot_i16x8_s | 0xba | i64x2.le_s | 0xda | |
| 127 | +| i8x16.avgr_u | 0x7b | i16x8.avgr_u | 0x9b | ---- avgr_u ---- | 0xbb | i64x2.ge_s | 0xdb | |
| 128 | +| i16x8.extadd_pairwise_i8x16_s | 0x7c | i16x8.extmul_low_i8x16_s | 0x9c | i32x4.extmul_low_i16x8_s | 0xbc | i64x2.extmul_low_i32x4_s | 0xdc | |
| 129 | +| i16x8.extadd_pairwise_i8x16_u | 0x7d | i16x8.extmul_high_i8x16_s | 0x9d | i32x4.extmul_high_i16x8_s | 0xbd | i64x2.extmul_high_i32x4_s | 0xdd | |
| 130 | +| i32x4.extadd_pairwise_i16x8_s | 0x7e | i16x8.extmul_low_i8x16_u | 0x9e | i32x4.extmul_low_i16x8_u | 0xbe | i64x2.extmul_low_i32x4_u | 0xde | |
| 131 | +| i32x4.extadd_pairwise_i16x8_u | 0x7f | i16x8.extmul_high_i8x16_u | 0x9f | i32x4.extmul_high_i16x8_u | 0xbf | i64x2.extmul_high_i32x4_u | 0xdf | |
111 | 132 |
|
112 | 133 | | f32x4 Op | opcode | f64x2 Op | opcode |
|
113 | 134 | | --------------- | ------ | --------------- | ------ |
|
|
124 | 145 | | f32x4.pmin | 0xea | f64x2.pmin | 0xf6 |
|
125 | 146 | | f32x4.pmax | 0xeb | f64x2.pmax | 0xf7 |
|
126 | 147 |
|
127 |
| -| Conversion Op | opcode | |
128 |
| -| ----------------------- | ------ | |
129 |
| -| i32x4.trunc_sat_f32x4_s | 0xf8 | |
130 |
| -| i32x4.trunc_sat_f32x4_u | 0xf9 | |
131 |
| -| f32x4.convert_i32x4_s | 0xfa | |
132 |
| -| f32x4.convert_i32x4_u | 0xfb | |
| 148 | +| Conversion Op | opcode | |
| 149 | +| ---------------------------- | ------ | |
| 150 | +| i32x4.trunc_sat_f32x4_s | 0xf8 | |
| 151 | +| i32x4.trunc_sat_f32x4_u | 0xf9 | |
| 152 | +| f32x4.convert_i32x4_s | 0xfa | |
| 153 | +| f32x4.convert_i32x4_u | 0xfb | |
| 154 | +| i32x4.trunc_sat_f64x2_s_zero | 0xfc | |
| 155 | +| i32x4.trunc_sat_f64x2_u_zero | 0xfd | |
| 156 | +| f64x2.convert_low_i32x4_s | 0xfe | |
| 157 | +| f64x2.convert_low_i32x4_u | 0xff | |
0 commit comments