-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
winch(x64): SIMD #8093
Comments
Once we're working SIMD support, the cranelift |
i'll take the |
I'll just take the rest |
@MarinPostma I know @jeffcharles has plans to work on some of the unassigned instructions as well, so to keep the list tight and avoid duplicated effort, maybe we keep assigning them in batches? |
no problem, then I'll take |
I'll do shifts, neg, min and max next |
I'll take the |
Winch is missing support for most of finished WebAssembly proposals. The goal of this issue is to track support for the SIMD proposal
v128.load8x8_s
@jeffcharlesv128.load8x8_u
@jeffcharlesv128.load16x4_s
@jeffcharlesv128.load16x4_u
@jeffcharlesv128.load32x2_s
@jeffcharlesv128.load32x2_u
@jeffcharlesv128.load8_splat
@jeffcharlesv128.load16_splat
@jeffcharlesv128.load32_splat
@jeffcharlesv128.load64_splat
@jeffcharlesi8x16.shuffle
@jeffcharlesi8x16.swizzle
@jeffcharlesi8x16.splat
@jeffcharlesi16x8.splat
@jeffcharlesi32x4.splat
@jeffcharlesi64x2.splat
@jeffcharlesf32x4.splat
@jeffcharlesf64x2.splat
@jeffcharlesi8x16.extract_lane_s
@jeffcharlesi8x16.extract_lane_u
@jeffcharlesi8x16.replace_lane
@jeffcharlesi16x8.extract_lane_s
@jeffcharlesi16x8.extract_lane_u
@jeffcharlesi16x8.replace_lane
@jeffcharlesi32x4.extract_lane
@jeffcharlesi32x4.replace_lane
@jeffcharlesi64x2.extract_lane
@jeffcharlesi64x2.replace_lane
@jeffcharlesf32x4.extract_lane
@jeffcharlesf32x4.replace_lane
@jeffcharlesf64x2.extract_lane
@jeffcharlesf64x2.replace_lane
@jeffcharlesi8x16.eq
@jeffcharlesi8x16.ne
@jeffcharlesi8x16.lt_s
@jeffcharlesi8x16.lt_u
@jeffcharlesi8x16.gt_s
@jeffcharlesi8x16.gt_u
@jeffcharlesi8x16.le_s
@jeffcharlesi8x16.le_u
@jeffcharlesi8x16.ge_s
@jeffcharlesi8x16.ge_u
@jeffcharlesi16x8.eq
@jeffcharlesi16x8.ne
@jeffcharlesi16x8.lt_s
@jeffcharlesi16x8.lt_u
@jeffcharlesi16x8.gt_s
@jeffcharlesi16x8.gt_u
@jeffcharlesi16x8.le_s
@jeffcharlesi16x8.le_u
@jeffcharlesi16x8.ge_s
@jeffcharlesi16x8.ge_u
@jeffcharlesi32x4.eq
@jeffcharlesi32x4.ne
@jeffcharlesi32x4.lt_s
@jeffcharlesi32x4.lt_u
@jeffcharlesi32x4.gt_s
@jeffcharlesi32x4.gt_u
@jeffcharlesi32x4.le_s
@jeffcharlesi32x4.le_u
@jeffcharlesi32x4.ge_s
@jeffcharlesi32x4.ge_u
@jeffcharlesf32x4.eq
@jeffcharlesf32x4.ne
@jeffcharlesf32x4.lt
@jeffcharlesf32x4.gt
@jeffcharlesf32x4.le
@jeffcharlesf32x4.ge
@jeffcharlesf64x2.eq
@jeffcharlesf64x2.ne
@jeffcharlesf64x2.lt
@jeffcharlesf64x2.gt
@jeffcharlesf64x2.le
@jeffcharlesf64x2.ge
@jeffcharlesf64x2.abs
@jeffcharlesf64x2.add
@jeffcharlesf64x2.ceil
@jeffcharlesf64x2.div
@jeffcharlesf64x2.floor
@jeffcharlesf64x2.max
@jeffcharlesf64x2.min
@jeffcharlesf64x2.mul
@jeffcharlesf64x2.nearest
@jeffcharlesf64x2.neg
@jeffcharlesf64x2.pmax
@jeffcharlesf64x2.pmin
@jeffcharlesf64x2.sqrt
@jeffcharlesf64x2.sub
@jeffcharlesf64x2.trunc
@jeffcharlesi64x2.ne
@jeffcharlesi64x2.lt_s
@jeffcharlesi64x2.gt_s
@jeffcharlesi64x2.le_s
@jeffcharlesi64x2.ge_s
@jeffcharlesv128.not
@MarinPostmav128.and
@MarinPostmav128.andnot
@MarinPostmav128.or
@MarinPostmav128.xor
@MarinPostmav128.bitselect
@MarinPostmav128.any_true
@MarinPostmav128.load8_lane
@MarinPostmav128.load16_lane
@MarinPostmav128.load32_lane
@MarinPostmav128.load64_lane
@MarinPostmav128.store8_lane
@MarinPostmav128.store16_lane
@MarinPostmav128.store32_lane
@MarinPostmav128.store64_lane
@MarinPostmav128.load32_zero
@MarinPostmav128.load64_zero
@MarinPostmaf32x4.demote_f64x2_zero
@jeffcharlesf64x2.promote_low_f32x4
@jeffcharlesi8x16.abs
@jeffcharlesi8x16.neg
@MarinPostmai8x16.all_true
@jeffcharlesi8x16.bitmask
@jeffcharlesi8x16.narrow_i16x8_s
@jeffcharlesi8x16.narrow_i16x8_u
@jeffcharlesi8x16.shl
@MarinPostmai8x16.shr_s
@MarinPostmai8x16.shr_u
@MarinPostmai8x16.add
@MarinPostmai8x16.add_sat_s
@MarinPostmai8x16.add_sat_u
@MarinPostmai8x16.sub
@MarinPostmai8x16.sub_sat_s
@MarinPostmai8x16.sub_sat_u
@MarinPostmai8x16.min_s
@MarinPostmai8x16.min_u
@MarinPostmai8x16.max_s
@MarinPostmai8x16.max_u
@MarinPostmai8x16.avgr_u
@jeffcharlesi16x8.abs
@jeffcharlesi16x8.neg
@MarinPostmai16x8.all_true
@jeffcharlesi16x8.bitmask
@jeffcharlesi16x8.narrow_i32x4_s
@jeffcharlesi16x8.narrow_i32x4_u
@jeffcharlesi16x8.extend_low_i8x16_s
@jeffcharlesi16x8.extend_high_i8x16_s
@jeffcharlesi16x8.extend_low_i8x16_u
@jeffcharlesi16x8.extend_high_i8x16_u
@jeffcharlesi16x8.shl
@MarinPostmai16x8.shr_s
@MarinPostmai16x8.shr_u
@MarinPostmai16x8.add
@MarinPostmai16x8.add_sat_s
@MarinPostmai16x8.add_sat_u
@MarinPostmai16x8.sub
@MarinPostmai16x8.sub_sat_s
@MarinPostmai16x8.sub_sat_u
@MarinPostmai16x8.mul
@MarinPostmai16x8.min_s
@MarinPostmai16x8.min_u
@MarinPostmai16x8.max_s
@MarinPostmai16x8.max_u
@MarinPostmai16x8.avgr_u
@jeffcharlesi16x8.q15mulr_sat_s
@jeffcharlesi32x4.abs
@jeffcharlesi32x4.neg
@MarinPostmai32x4.all_true
@jeffcharlesi32x4.bitmask
@jeffcharlesi32x4.extend_low_i16x8_s
@jeffcharlesi32x4.extend_high_i16x8_s
@jeffcharlesi32x4.extend_low_i16x8_u
@jeffcharlesi32x4.extend_high_i16x8_u
@jeffcharlesi32x4.shl
@MarinPostmai32x4.shr_s
@MarinPostmai32x4.shr_u
@MarinPostmai32x4.add
@MarinPostmai32x4.sub
@MarinPostmai32x4.mul
@MarinPostmai32x4.min_s
@MarinPostmai32x4.min_u
@MarinPostmai32x4.max_s
@MarinPostmai32x4.max_u
@MarinPostmai32x4.dot_i16x8_s
@jeffcharlesi64x2.eq
i64x2.abs
@jeffcharlesi64x2.neg
@MarinPostmai64x2.all_true
@jeffcharlesi64x2.bitmask
@jeffcharlesi64x2.shl
@MarinPostmai64x2.shr_s
@MarinPostmai64x2.shr_u
@MarinPostmai64x2.add
@MarinPostmai64x2.sub
@MarinPostmai64x2.mul
@MarinPostmai64x2.extend_low_i32x4_s
@jeffcharlesi64x2.extend_high_i32x4_s
@jeffcharlesi64x2.extend_low_i32x4_u
@jeffcharlesi64x2.extend_high_i32x4_u
@jeffcharlesi16x8.extmul_low_i8x16_s
@MarinPostmai16x8.extmul_high_i8x16_s
@MarinPostmai16x8.extmul_low_i8x16_u
@MarinPostmai16x8.extmul_high_i8x16_u
@MarinPostmai32x4.extmul_low_i16x8_s
@MarinPostmai32x4.extmul_high_i16x8_s
@MarinPostmai32x4.extmul_low_i16x8_u
@MarinPostmai32x4.extmul_high_i16x8_u
@MarinPostmai64x2.extmul_low_i32x4_s
@MarinPostmai64x2.extmul_high_i32x4_s
@MarinPostmai64x2.extmul_low_i32x4_u
@MarinPostmai64x2.extmul_high_i32x4_u
@MarinPostmai8x16.popcnt
@jeffcharlesi16x8.extadd_pairwise_i8x16_s
@MarinPostmai16x8.extadd_pairwise_i8x16_u
@MarinPostmai32x4.extadd_pairwise_i16x8_s
@MarinPostmai32x4.extadd_pairwise_i16x8_u
@MarinPostmaf32x4.abs
@jeffcharlesf32x4.neg
@jeffcharlesf32x4.sqrt
@jeffcharlesf32x4.add
@jeffcharlesf32x4.sub
@jeffcharlesf32x4.mul
@jeffcharlesf32x4.div
@jeffcharlesf32x4.min
@jeffcharlesf32x4.max
@jeffcharlesf32x4.pmin
@jeffcharlesf32x4.pmax
@jeffcharlesf32x4.ceil
@jeffcharlesf32x4.floor
@jeffcharlesf32x4.trunc
@jeffcharlesf32x4.nearest
@jeffcharlesi32x4.trunc_sat_f32x4_s
@jeffcharlesi32x4.trunc_sat_f32x4_u
@jeffcharlesf32x4.convert_i32x4_s
@jeffcharlesf32x4.convert_i32x4_u
@jeffcharlesf64x2.convert_low_i32x4_s
@jeffcharlesf64x2.convert_low_i32x4_u
@jeffcharlesi32x4.trunc_sat_f64x2_s_zero
@jeffcharlesi32x4.trunc_sat_f64x2_u_zero
@jeffcharlesThe text was updated successfully, but these errors were encountered: