Commit d232ab89 authored by Milad Fa's avatar Milad Fa Committed by Commit Bot

PPC/s390: [wasm-simd][liftoff][x64] Implement i64x2 widen i32x4

Port 8c52f66f

Original Commit Message:

    Implement these 4 instructions for x64 Liftoff:
    - i64x2.widen_low_i32x4_s
    - i64x2.widen_high_i32x4_s
    - i64x2.widen_low_i32x4_u
    - i64x2.widen_high_i32x4_u

    We move the codegen for the *high* instructions into macro-assembler to
    allow sharing of the optimized code sequence between TurboFan and
    Liftoff.

R=zhin@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: I790860cbb0f9854c31959684712cde42254bde2b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2625878Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/master@{#72070}
parent ba913e20
......@@ -883,6 +883,26 @@ void LiftoffAssembler::emit_i64x2_bitmask(LiftoffRegister dst,
bailout(kSimd, "i64x2_bitmask");
}
void LiftoffAssembler::emit_i64x2_sconvert_i32x4_low(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_sconvert_i32x4_low");
}
void LiftoffAssembler::emit_i64x2_sconvert_i32x4_high(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_sconvert_i32x4_high");
}
void LiftoffAssembler::emit_i64x2_uconvert_i32x4_low(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_uconvert_i32x4_low");
}
void LiftoffAssembler::emit_i64x2_uconvert_i32x4_high(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_uconvert_i32x4_high");
}
void LiftoffAssembler::emit_i64x2_extmul_high_i32x4_u(LiftoffRegister dst,
LiftoffRegister src1,
LiftoffRegister src2) {
......
......@@ -1036,6 +1036,26 @@ void LiftoffAssembler::emit_i64x2_bitmask(LiftoffRegister dst,
bailout(kSimd, "i64x2_bitmask");
}
void LiftoffAssembler::emit_i64x2_sconvert_i32x4_low(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_sconvert_i32x4_low");
}
void LiftoffAssembler::emit_i64x2_sconvert_i32x4_high(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_sconvert_i32x4_high");
}
void LiftoffAssembler::emit_i64x2_uconvert_i32x4_low(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_uconvert_i32x4_low");
}
void LiftoffAssembler::emit_i64x2_uconvert_i32x4_high(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i64x2_uconvert_i32x4_high");
}
void LiftoffAssembler::emit_i64x2_extmul_high_i32x4_u(LiftoffRegister dst,
LiftoffRegister src1,
LiftoffRegister src2) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment