Commit Graph

151 Commits

Author SHA1 Message Date
Ilya Rezvov 6298be49b8 implement float cmp operations for simd 2023-09-10 16:30:12 -06:00
Ilya Rezvov 0d8159e553 reimplement script value matching logic and implement part of simd float arithmetic 2023-09-10 10:30:40 -06:00
Ilya Rezvov 6d6d21265a implement lanewise integer cmp operations 2023-09-09 10:22:18 -06:00
Ilya Rezvov d98d1b718f implement v128.imul 2023-09-08 22:39:12 -06:00
Ilya Rezvov 369cad8a25 saturated ops, neg and abs 2023-09-08 22:30:37 -06:00
Ilya Rezvov 707288debd implement bit shift operations 2023-09-08 21:44:02 -06:00
Ilya Rezvov d25e96d91c implement ishape.bitmask 2023-09-08 19:11:58 -06:00
Ilya Rezvov 6bb5ea841c implement v128.load[8|16|32|64}_lane 2023-09-08 18:34:55 -06:00
Ilya Rezvov 3944bf9113 implement bitwise operations 2023-09-08 18:08:35 -06:00
Ilya Rezvov f16ccb85a9 implement v128.load with signed and unsigined extend 2023-09-08 11:32:13 -06:00
Ilya Rezvov dad521025e implement v128.load[32|64]_zero 2023-09-08 10:40:27 -06:00
Ilya Rezvov d406776095 implement v128.load[8|16|32|64]_splat 2023-09-08 10:29:30 -06:00
Ilya Rezvov d9803479a0 implement v128.store[8|16|32|64]_lane 2023-09-06 21:35:16 -06:00
Ilya Rezvov 5c6e9b59bc implement extract_lane and replace_lane 2023-09-06 21:09:23 -06:00
Ilya Rezvov 4302e4b32f parse shuffle and replace_lane 2023-09-05 22:38:47 -06:00
Ilya Rezvov b4acb0e1e8 implement i8x16.swizzle and extract_lane 2023-09-04 21:21:12 -06:00
Ilya Rezvov daa52f0c40 implement v128_splat instruction 2023-09-04 19:18:09 -06:00
Ilya Rezvov c6e0bfea89 implement basic load/store for v128 2023-09-04 18:35:59 -06:00
Ilya Rezvov 170d828713 Use ByteArray as V128 storage and basic const interpretation 2023-08-28 09:29:07 -06:00
Ilya Rezvov 6c2bbc8478 parse v128 literals 2023-08-27 21:24:23 -06:00
Ilya Rezvov d112b28233 fix parsing of select instruction and evaluation of const expressions 2023-08-26 21:35:36 -06:00
Ilya Rezvov bb2a6cea7f fix reexports 2023-08-21 21:15:53 -06:00
Ilya Rezvov 2b822a8d44 validate and interprete bulk memory instructions 2023-08-21 21:11:39 -06:00
Ilya Rezvov 46f95dd11d parse memory instructions 2023-08-21 21:11:39 -06:00
Ilya Rezvov 2d4ad42549 add syntax support for extended data segments 2023-08-21 21:11:39 -06:00
Ilya Rezvov c044f3f556 add return type for select 2023-08-21 21:11:39 -06:00
Ilya Rezvov d0403ad554 forbid special nan values for non-script contexts 2023-08-21 21:11:39 -06:00
Ilya Rezvov d321bf6a9c implement table.fill 2023-08-21 21:11:39 -06:00
Ilya Rezvov ea50c54900 parse externref elems, but fail on validation 2023-08-21 21:11:39 -06:00
Ilya Rezvov 4e9cb99e69 change table storage format to allow growing and implement table.grow and table.size 2023-08-21 21:11:39 -06:00
Ilya Rezvov b2f001aea8 implement table.copy 2023-08-21 21:11:39 -06:00
Ilya Rezvov f445340568 add elem.drop and extend call_indirect to accept table index 2023-08-21 21:11:39 -06:00
Ilya Rezvov 2d15ddfa36 implement table.get and table.set and pass ref_is_null test suit 2023-08-21 21:11:39 -06:00
Ilya Rezvov 8c97e2c328 syntax support for table.init 2023-08-21 21:11:39 -06:00
Ilya Rezvov b6c0ef4462 update text and binary parsers to new elem formats 2023-08-21 21:11:39 -06:00
Ilya Rezvov 51cf7e753b syntax support for ref.ops and pass ref_null.wast 2023-08-21 21:11:39 -06:00
Ilya Rezvov 54c3cfd697 all tests are green 2021-04-19 17:17:25 -07:00
Ilya Rezvov 8f698df5f2 implement parsing and validation for saturated conv instructions 2021-04-11 21:33:14 -07:00
Ilya Rezvov 66af1b3a37 add uniqueness check for func and local idents 2021-04-08 21:18:05 -07:00
Ilya Rezvov 53bdf096a4 fix nan with payload parsing and safely handle out of range type indecies 2021-04-07 22:38:34 -07:00
Ilya Rezvov fa1d9a7bd1 handle more parsing edgecases 2021-04-07 10:35:51 -07:00
Ilya Rezvov ee1c7d3f7a resolve all grammar conflicts 2021-04-05 21:03:55 -07:00
Ilya Rezvov 88e80306b7 simplify typeuse rule 2021-04-05 10:31:29 -07:00
Ilya Rezvov cd834466a4 remove redundant clauses 2021-04-04 17:30:38 -07:00
Ilya Rezvov afb5cb4f05 fix imports 2021-04-04 17:30:38 -07:00
Ilya Rezvov d4a72089ba get rid of some rules 2021-04-04 17:30:38 -07:00
Ilya Rezvov d62f945b8b instuction_list parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov b816e04b6d type signature parsing for loop and if blocks 2021-04-04 17:30:38 -07:00
Ilya Rezvov 2d58addefa refactor function parser 2021-04-04 17:30:38 -07:00
Ilya Rezvov 58fd11dfa8 refactor typeuse parser to accomodate raw instructions 2021-04-04 17:30:38 -07:00