Commit cdb20294 authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

S390 [liftoff]: Implement simd I8x16Popcnt

Change-Id: Ide34fe0b2e5c12640a084b001ae17ff316de3f3e
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3423578Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#78877}
parent f126c923
......@@ -5262,7 +5262,8 @@ void TurboAssembler::S128Not(Simd128Register dst, Simd128Register src) {
V(I16x8UConvertI8x16Low, vupll, 0, 0, 0) \
V(I16x8UConvertI8x16High, vuplh, 0, 0, 0) \
V(I8x16Abs, vlp, 0, 0, 0) \
V(I8x16Neg, vlc, 0, 0, 0)
V(I8x16Neg, vlc, 0, 0, 0) \
V(I8x16Popcnt, vpopct, 0, 0, 0)
#define EMIT_SIMD_UNOP_VRR_A(name, op, c1, c2, c3) \
void TurboAssembler::name(Simd128Register dst, Simd128Register src) { \
......
......@@ -1152,6 +1152,7 @@ class V8_EXPORT_PRIVATE TurboAssembler : public TurboAssemblerBase {
V(I16x8UConvertI8x16High) \
V(I8x16Abs) \
V(I8x16Neg) \
V(I8x16Popcnt) \
V(S128Not)
#define PROTOTYPE_SIMD_UNOP(name) \
......
......@@ -3195,8 +3195,7 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
}
#undef Q15_MUL_ROAUND
case kS390_I8x16Popcnt: {
__ vpopct(i.OutputSimd128Register(), i.InputSimd128Register(0),
Condition(0), Condition(0), Condition(0));
__ I8x16Popcnt(i.OutputSimd128Register(), i.InputSimd128Register(0));
break;
}
case kS390_F64x2ConvertLowI32x4S: {
......
......@@ -2631,7 +2631,7 @@ void LiftoffAssembler::emit_i8x16_shuffle(LiftoffRegister dst,
void LiftoffAssembler::emit_i8x16_popcnt(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kSimd, "i8x16.popcnt");
I8x16Popcnt(dst.fp(), src.fp());
}
void LiftoffAssembler::emit_v128_anytrue(LiftoffRegister dst,
......
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