This repository was archived by the owner on Dec 22, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +8
-0
lines changed Expand file tree Collapse file tree 3 files changed +8
-0
lines changed Original file line number Diff line number Diff line change @@ -411,6 +411,8 @@ let simd_prefix s =
411411 | 0xf9l -> i32x4_trunc_sat_f32x4_u
412412 | 0xfal -> f32x4_convert_i32x4_s
413413 | 0xfbl -> f32x4_convert_i32x4_u
414+ | 0xfcl -> let a, o = memop s in v128_load32_zero a o
415+ | 0xfdl -> let a, o = memop s in v128_load64_zero a o
414416 | n -> illegal s pos (I32. to_int_u n)
415417
416418let rec instr s =
Original file line number Diff line number Diff line change @@ -220,6 +220,10 @@ let encode m =
220220 simd_op 0x09l ; memop mo
221221 | SimdLoad ({ty = V128Type ; sz = Some (Pack64, PackSplat); _} as mo ) ->
222222 simd_op 0x0al ; memop mo
223+ | SimdLoad ({ty = V128Type ; sz = Some (Pack32, PackZero); _} as mo ) ->
224+ simd_op 0xfcl ; memop mo
225+ | SimdLoad ({ty = V128Type ; sz = Some (Pack64, PackZero); _} as mo ) ->
226+ simd_op 0xfdl ; memop mo
223227
224228 | Store ({ty = I32Type ; sz = None ; _} as mo ) -> op 0x36 ; memop mo
225229 | Store ({ty = I64Type ; sz = None ; _} as mo ) -> op 0x37 ; memop mo
Original file line number Diff line number Diff line change @@ -445,6 +445,8 @@ let simd_loadop (op : simd_loadop) =
445445 | Pack16 , PackSplat -> " 16_splat"
446446 | Pack32 , PackSplat -> " 32_splat"
447447 | Pack64 , PackSplat -> " 64_splat"
448+ | Pack32 , PackZero -> " 32_zero"
449+ | Pack64 , PackZero -> " 64_zero"
448450 | _ -> assert false
449451 ) in
450452 memop (" load" ^ suffix) op (packed_size sz)
You can’t perform that action at this time.
0 commit comments