Commit a8c846b2 authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

Add ChangeTaggedXXXToCompressedXXX, ChangeCompressedXXXToTaggedXXX mach ops

We have a version for each (Any, Pointer, Signed)

Bug: v8:8977
Change-Id: I1df994f96e24183a136c25818bf4917d9f8126d3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1524481Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60268}
parent 3072a082
......@@ -168,6 +168,12 @@ MachineType AtomicOpType(Operator const* op) {
V(ChangeInt32ToInt64, Operator::kNoProperties, 1, 0, 1) \
V(ChangeUint32ToFloat64, Operator::kNoProperties, 1, 0, 1) \
V(ChangeUint32ToUint64, Operator::kNoProperties, 1, 0, 1) \
V(ChangeTaggedToCompressed, Operator::kNoProperties, 1, 0, 1) \
V(ChangeTaggedPointerToCompressedPointer, Operator::kNoProperties, 1, 0, 1) \
V(ChangeTaggedSignedToCompressedSigned, Operator::kNoProperties, 1, 0, 1) \
V(ChangeCompressedToTagged, Operator::kNoProperties, 1, 0, 1) \
V(ChangeCompressedPointerToTaggedPointer, Operator::kNoProperties, 1, 0, 1) \
V(ChangeCompressedSignedToTaggedSigned, Operator::kNoProperties, 1, 0, 1) \
V(TruncateFloat64ToFloat32, Operator::kNoProperties, 1, 0, 1) \
V(TruncateInt64ToInt32, Operator::kNoProperties, 1, 0, 1) \
V(BitcastFloat32ToInt32, Operator::kNoProperties, 1, 0, 1) \
......
......@@ -334,6 +334,12 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final
const Operator* ChangeInt64ToFloat64();
const Operator* ChangeUint32ToFloat64();
const Operator* ChangeUint32ToUint64();
const Operator* ChangeTaggedToCompressed();
const Operator* ChangeTaggedPointerToCompressedPointer();
const Operator* ChangeTaggedSignedToCompressedSigned();
const Operator* ChangeCompressedToTagged();
const Operator* ChangeCompressedPointerToTaggedPointer();
const Operator* ChangeCompressedSignedToTaggedSigned();
// These operators truncate or round numbers, both changing the representation
// of the number and mapping multiple input values onto the same output value.
......
......@@ -645,6 +645,12 @@
V(ChangeInt64ToFloat64) \
V(ChangeUint32ToFloat64) \
V(ChangeUint32ToUint64) \
V(ChangeTaggedToCompressed) \
V(ChangeTaggedPointerToCompressedPointer) \
V(ChangeTaggedSignedToCompressedSigned) \
V(ChangeCompressedToTagged) \
V(ChangeCompressedPointerToTaggedPointer) \
V(ChangeCompressedSignedToTaggedSigned) \
V(TruncateFloat64ToFloat32) \
V(TruncateInt64ToInt32) \
V(RoundFloat64ToInt32) \
......
......@@ -1745,6 +1745,12 @@ void Verifier::Visitor::Check(Node* node, const AllNodes& all) {
case IrOpcode::kBitcastWordToTaggedSigned:
case IrOpcode::kChangeInt32ToInt64:
case IrOpcode::kChangeUint32ToUint64:
case IrOpcode::kChangeTaggedToCompressed:
case IrOpcode::kChangeTaggedPointerToCompressedPointer:
case IrOpcode::kChangeTaggedSignedToCompressedSigned:
case IrOpcode::kChangeCompressedToTagged:
case IrOpcode::kChangeCompressedPointerToTaggedPointer:
case IrOpcode::kChangeCompressedSignedToTaggedSigned:
case IrOpcode::kChangeInt32ToFloat64:
case IrOpcode::kChangeInt64ToFloat64:
case IrOpcode::kChangeUint32ToFloat64:
......
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