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

PPC/s390: [fastcall] Support EnforceRange annotation

Port 84e078c6

Original Commit Message:

    This CL implements checks in case EnforceRange is requested for a
    given parameter by using TryTruncate* operators. It implements 2 such
    truncations on x64 and arm64 - TryTruncateFloat64ToInt32 and
    TryTruncateFloat64ToUint32.

R=mslekova@chromium.org, joransiu@ca.ibm.com, junyan@redhat.com, midawson@redhat.com
BUG=
LOG=N

Change-Id: Iaf6834b9cfe3d43298adfe2c71ec3d55aa14f935
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3743467Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Commit-Queue: Milad Farazmand <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#81535}
parent ce16c04d
......@@ -1235,6 +1235,14 @@ void InstructionSelector::VisitTryTruncateFloat64ToUint64(Node* node) {
VisitTryTruncateDouble(this, kPPC_DoubleToUint64, node);
}
void InstructionSelector::VisitTryTruncateFloat64ToInt32(Node* node) {
UNIMPLEMENTED();
}
void InstructionSelector::VisitTryTruncateFloat64ToUint32(Node* node) {
UNIMPLEMENTED();
}
void InstructionSelector::VisitBitcastWord32ToWord64(Node* node) {
DCHECK(SmiValuesAre31Bits());
DCHECK(COMPRESS_POINTERS_BOOL);
......
......@@ -1549,6 +1549,14 @@ void InstructionSelector::VisitTryTruncateFloat64ToUint64(Node* node) {
#endif
void InstructionSelector::VisitTryTruncateFloat64ToInt32(Node* node) {
UNIMPLEMENTED();
}
void InstructionSelector::VisitTryTruncateFloat64ToUint32(Node* node) {
UNIMPLEMENTED();
}
void InstructionSelector::VisitBitcastWord32ToWord64(Node* node) {
DCHECK(SmiValuesAre31Bits());
DCHECK(COMPRESS_POINTERS_BOOL);
......
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