s390x: [liftoff] implement Popcnt32/64
Change-Id: I5bd0079eb81b962e03e475e48a7429933295f25a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2774564 Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#73552}
This commit is contained in:
parent
f19142e613
commit
06b0f23dd1
@ -801,6 +801,9 @@ void LiftoffAssembler::FillStackSlotsWithZero(int start, int size) {
|
||||
|
||||
// V(name, instr, dtype, stype, dcast, scast, rcast, return_val, return_type)
|
||||
#define UNOP_LIST(V) \
|
||||
V(i32_popcnt, Popcnt32, Register, Register, , , USE, true, bool) \
|
||||
V(i64_popcnt, Popcnt64, LiftoffRegister, LiftoffRegister, LFR_TO_REG, \
|
||||
LFR_TO_REG, USE, true, bool) \
|
||||
V(u32_to_intptr, LoadU32, Register, Register, , , USE, , void) \
|
||||
V(i32_signextend_i8, lbr, Register, Register, , , USE, , void) \
|
||||
V(i32_signextend_i16, lhr, Register, Register, , , USE, , void) \
|
||||
@ -933,17 +936,6 @@ BINOP_LIST(EMIT_BINOP_FUNCTION)
|
||||
#undef REGISTER_AND_WITH_1F
|
||||
#undef LFR_TO_REG
|
||||
|
||||
bool LiftoffAssembler::emit_i32_popcnt(Register dst, Register src) {
|
||||
bailout(kUnsupportedArchitecture, "i32_popcnt");
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LiftoffAssembler::emit_i64_popcnt(LiftoffRegister dst,
|
||||
LiftoffRegister src) {
|
||||
Popcnt64(dst.gp(), src.gp());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LiftoffAssembler::emit_f32_ceil(DoubleRegister dst, DoubleRegister src) {
|
||||
fiebra(ROUND_TOWARD_POS_INF, dst, src);
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user