Commit 1821aff2 authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

[x64][ptr-compr][turbofan] Make compressions no-ops

Since we can just use the lower bits, we can make the compressions no-ops.
As a note, they still change the representation so that the machine graph
verifier is happy.

X64's version of: https://chromium-review.googlesource.com/c/v8/v8/+/1751722

Bug: v8:7703
Change-Id: I728eb8b6b3953f053a7042797f3c498d13e3c948
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751729Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63202}
parent 9cf41474
...@@ -2019,12 +2019,6 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( ...@@ -2019,12 +2019,6 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
EmitWordLoadPoisoningIfNeeded(this, opcode, instr, i); EmitWordLoadPoisoningIfNeeded(this, opcode, instr, i);
break; break;
} }
case kX64CompressSigned: // Fall through.
case kX64CompressPointer: // Fall through.
case kX64CompressAny: {
ASSEMBLE_MOVX(movl);
break;
}
case kX64Movq: case kX64Movq:
EmitOOLTrapIfNeeded(zone(), this, opcode, instr, i, __ pc_offset()); EmitOOLTrapIfNeeded(zone(), this, opcode, instr, i, __ pc_offset());
if (instr->HasOutput()) { if (instr->HasOutput()) {
......
...@@ -140,9 +140,6 @@ namespace compiler { ...@@ -140,9 +140,6 @@ namespace compiler {
V(X64DecompressSigned) \ V(X64DecompressSigned) \
V(X64DecompressPointer) \ V(X64DecompressPointer) \
V(X64DecompressAny) \ V(X64DecompressAny) \
V(X64CompressSigned) \
V(X64CompressPointer) \
V(X64CompressAny) \
V(X64Movq) \ V(X64Movq) \
V(X64Movsd) \ V(X64Movsd) \
V(X64Movss) \ V(X64Movss) \
......
...@@ -305,9 +305,6 @@ int InstructionScheduler::GetTargetInstructionFlags( ...@@ -305,9 +305,6 @@ int InstructionScheduler::GetTargetInstructionFlags(
case kX64DecompressSigned: case kX64DecompressSigned:
case kX64DecompressPointer: case kX64DecompressPointer:
case kX64DecompressAny: case kX64DecompressAny:
case kX64CompressSigned:
case kX64CompressPointer:
case kX64CompressAny:
return (instr->addressing_mode() == kMode_None) return (instr->addressing_mode() == kMode_None)
? kNoOpcodeFlags ? kNoOpcodeFlags
: kIsLoadOperation | kHasSideEffect; : kIsLoadOperation | kHasSideEffect;
......
...@@ -1269,23 +1269,23 @@ void InstructionSelector::VisitChangeUint32ToUint64(Node* node) { ...@@ -1269,23 +1269,23 @@ void InstructionSelector::VisitChangeUint32ToUint64(Node* node) {
} }
void InstructionSelector::VisitChangeTaggedToCompressed(Node* node) { void InstructionSelector::VisitChangeTaggedToCompressed(Node* node) {
X64OperandGenerator g(this); // The top 32 bits in the 64-bit register will be undefined, and
Node* value = node->InputAt(0); // must not be used by a dependent node.
Emit(kX64CompressAny, g.DefineAsRegister(node), g.Use(value)); return EmitIdentity(node);
} }
void InstructionSelector::VisitChangeTaggedPointerToCompressedPointer( void InstructionSelector::VisitChangeTaggedPointerToCompressedPointer(
Node* node) { Node* node) {
X64OperandGenerator g(this); // The top 32 bits in the 64-bit register will be undefined, and
Node* value = node->InputAt(0); // must not be used by a dependent node.
Emit(kX64CompressPointer, g.DefineAsRegister(node), g.Use(value)); return EmitIdentity(node);
} }
void InstructionSelector::VisitChangeTaggedSignedToCompressedSigned( void InstructionSelector::VisitChangeTaggedSignedToCompressedSigned(
Node* node) { Node* node) {
X64OperandGenerator g(this); // The top 32 bits in the 64-bit register will be undefined, and
Node* value = node->InputAt(0); // must not be used by a dependent node.
Emit(kX64CompressSigned, g.DefineAsRegister(node), g.Use(value)); return EmitIdentity(node);
} }
void InstructionSelector::VisitChangeCompressedToTagged(Node* node) { void InstructionSelector::VisitChangeCompressedToTagged(Node* node) {
......
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