S390 [liftoff]: Implement simd I8x16Popcnt
Change-Id: Ide34fe0b2e5c12640a084b001ae17ff316de3f3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3423578 Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Farazmand <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/main@{#78877}
This commit is contained in:
parent
f126c9238b
commit
cdb20294b4
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user