Commit 91862a70 authored by Milad Farazmand's avatar Milad Farazmand Committed by Commit Bot

PPC/s390: [Liftoff] Implement i64 shift with immediate

Port 42e8c231

Original Commit Message:

    Especially on ia32 and x64, shifts with immediate generate much shorter
    and more efficient code.

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

Change-Id: Iab474cdf6de91820e7f55ddd9a386efa03f03b6f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1899423Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#64786}
parent 94890a0d
......@@ -243,6 +243,10 @@ void LiftoffAssembler::FillStackSlotsWithZero(uint32_t index, uint32_t count) {
void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \
Register amount) { \
bailout(kUnsupportedArchitecture, "i64 shiftop: " #name); \
} \
void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \
int32_t amount) { \
bailout(kUnsupportedArchitecture, "i64 shiftop: " #name); \
}
UNIMPLEMENTED_I32_BINOP_I(i32_add)
......@@ -368,11 +372,6 @@ bool LiftoffAssembler::emit_i64_remu(LiftoffRegister dst, LiftoffRegister lhs,
return true;
}
void LiftoffAssembler::emit_i64_shr(LiftoffRegister dst, LiftoffRegister lhs,
int amount) {
bailout(kUnsupportedArchitecture, "i64_shr");
}
void LiftoffAssembler::emit_i64_clz(LiftoffRegister dst, LiftoffRegister src) {
bailout(kUnsupportedArchitecture, "i64_clz");
}
......
......@@ -242,6 +242,10 @@ void LiftoffAssembler::FillStackSlotsWithZero(uint32_t index, uint32_t count) {
void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \
Register amount) { \
bailout(kUnsupportedArchitecture, "i64 shiftop: " #name); \
} \
void LiftoffAssembler::emit_##name(LiftoffRegister dst, LiftoffRegister src, \
int32_t amount) { \
bailout(kUnsupportedArchitecture, "i64 shiftop: " #name); \
}
UNIMPLEMENTED_I32_BINOP_I(i32_add)
......@@ -367,11 +371,6 @@ bool LiftoffAssembler::emit_i64_remu(LiftoffRegister dst, LiftoffRegister lhs,
return true;
}
void LiftoffAssembler::emit_i64_shr(LiftoffRegister dst, LiftoffRegister lhs,
int amount) {
bailout(kUnsupportedArchitecture, "i64_shr");
}
void LiftoffAssembler::emit_i64_clz(LiftoffRegister dst, LiftoffRegister src) {
bailout(kUnsupportedArchitecture, "i64_clz");
}
......
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