PPC/s390: Reland "[wasm-simd][liftoff][ia32][x64] Implement bitmask"

Port aa5bcc09bf

Original Commit Message:

    This relands commit d04b5e4755.

    The fix here is in the assembler for pmovmskb, emit_optional_rex_32 should be
    called after emitting the prefix byte.

    Original change's description:
    > [wasm-simd][liftoff][ia32][x64] Implement bitmask
    >
    > Implements i8x16 i16x8 i32x4 bitmask.
    >
    > This was merged into the proposal in
    > https://github.com/WebAssembly/simd/pull/201/.
    >
    > Bug: v8:9909,v8:10308
    > Change-Id: I882f0c2697213cdf593e745112e0897cee252009
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2222607
    > Commit-Queue: Zhi An Ng <zhin@chromium.org>
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#68090}

R=zhin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Id73795d3628067199ac6ac592a9b0b1c57fc65a4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2226311
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#68109}
This commit is contained in:
Milad Farazmand 2020-06-02 16:58:25 +00:00 committed by Commit Bot
parent ad54f1bb17
commit 2ae3fa5076
2 changed files with 30 additions and 0 deletions

View File

@ -782,6 +782,11 @@ void LiftoffAssembler::emit_v32x4_alltrue(LiftoffRegister dst,
bailout(kSimd, "v32x4_alltrue");
}
void LiftoffAssembler::emit_i32x4_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i32x4_bitmask");
}
void LiftoffAssembler::emit_i32x4_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i32x4_shl");
@ -873,6 +878,11 @@ void LiftoffAssembler::emit_v16x8_alltrue(LiftoffRegister dst,
bailout(kSimd, "v16x8_alltrue");
}
void LiftoffAssembler::emit_i16x8_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i16x8_bitmask");
}
void LiftoffAssembler::emit_i16x8_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i16x8_shl");
@ -1020,6 +1030,11 @@ void LiftoffAssembler::emit_v8x16_alltrue(LiftoffRegister dst,
bailout(kSimd, "v8x16_alltrue");
}
void LiftoffAssembler::emit_i8x16_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i8x16_bitmask");
}
void LiftoffAssembler::emit_i8x16_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i8x16_shl");

View File

@ -786,6 +786,11 @@ void LiftoffAssembler::emit_v32x4_alltrue(LiftoffRegister dst,
bailout(kSimd, "v32x4_alltrue");
}
void LiftoffAssembler::emit_i32x4_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i32x4_bitmask");
}
void LiftoffAssembler::emit_i32x4_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i32x4_shl");
@ -877,6 +882,11 @@ void LiftoffAssembler::emit_v16x8_alltrue(LiftoffRegister dst,
bailout(kSimd, "v16x8_alltrue");
}
void LiftoffAssembler::emit_i16x8_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i16x8_bitmask");
}
void LiftoffAssembler::emit_i16x8_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i16x8_shl");
@ -1030,6 +1040,11 @@ void LiftoffAssembler::emit_v8x16_alltrue(LiftoffRegister dst,
bailout(kSimd, "v8x16_alltrue");
}
void LiftoffAssembler::emit_i8x16_bitmask(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i8x16_bitmask");
}
void LiftoffAssembler::emit_i8x16_shl(LiftoffRegister dst, LiftoffRegister lhs,
LiftoffRegister rhs) {
bailout(kSimd, "i8x16_shl");