Commit 1472dc2e authored by Milad Farazmand's avatar Milad Farazmand Committed by Commit Bot

PPC/s390: [Liftoff] Implement i64 popcnt

Port d710756a

Original Commit Message:

    This is the last remaining missing instruction from the MVP. This CL
    adds support for ia32, x64, arm, and arm64.
    For CPUs which do not support the POPCNT instruction, there exists a
    fallback implementation in C.

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

Change-Id: I8965f4312c5e8ac6510c754772ba3d60394dfc4a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899908Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64778}
parent a8052c9e
......@@ -312,6 +312,12 @@ bool LiftoffAssembler::emit_i32_popcnt(Register dst, Register src) {
return true;
}
bool LiftoffAssembler::emit_i64_popcnt(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kUnsupportedArchitecture, "i64_popcnt");
return true;
}
void LiftoffAssembler::emit_i32_divs(Register dst, Register lhs, Register rhs,
Label* trap_div_by_zero,
Label* trap_div_unrepresentable) {
......
......@@ -311,6 +311,12 @@ bool LiftoffAssembler::emit_i32_popcnt(Register dst, Register src) {
return true;
}
bool LiftoffAssembler::emit_i64_popcnt(LiftoffRegister dst,
LiftoffRegister src) {
bailout(kUnsupportedArchitecture, "i64_popcnt");
return true;
}
void LiftoffAssembler::emit_i32_divs(Register dst, Register lhs, Register rhs,
Label* trap_div_by_zero,
Label* trap_div_unrepresentable) {
......
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