Commit 9ac15080 authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

[ptr-compr][turbofan] Cleanup of different compresses

We currently have three different compresses that we thought it could be
a good idea to merge into only one. Merging them would make sense since
they all end up with the same code being generated. However, we would be
losing knowing the MachineRepresentation in the cases of CompressSigned
and Pointer.

For example, in machine-graph-verifier everything will have to be
MachineRepresentation::kCompressed
https://cs.chromium.org/chromium/src/v8/src/compiler/machine-graph-verifier.cc?l=226

Cq-Include-Trybots: luci.v8.try:v8_linux64_pointer_compression_rel_ng
Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng
Bug: v8:8977, v8:7703
Change-Id: I244e2e61cab2bb87830bc0aabdbe5e43f243b424
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624798Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61882}
parent 41ff307e
......@@ -1591,17 +1591,8 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
__ DecompressAnyTagged(i.OutputRegister(), i.InputRegister(0));
break;
}
// TODO(solanes): Combine into one Compress? They seem to be identical.
// TODO(solanes): We might get away with doing a no-op in these three cases.
// The Uxtw instruction is the conservative way for the moment.
case kArm64CompressSigned: {
__ Uxtw(i.OutputRegister(), i.InputRegister(0));
break;
}
case kArm64CompressPointer: {
__ Uxtw(i.OutputRegister(), i.InputRegister(0));
break;
}
case kArm64CompressSigned: // Fall through.
case kArm64CompressPointer: // Fall through.
case kArm64CompressAny: {
__ Uxtw(i.OutputRegister(), i.InputRegister(0));
break;
......
......@@ -1973,17 +1973,8 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
ASSEMBLE_MOVX(DecompressAnyTagged);
break;
}
// TODO(solanes): Combine into one Compress? They seem to be identical.
// TODO(solanes): We might get away with doing a no-op in these three cases.
// The movl instruction is the conservative way for the moment.
case kX64CompressSigned: {
ASSEMBLE_MOVX(movl);
break;
}
case kX64CompressPointer: {
ASSEMBLE_MOVX(movl);
break;
}
case kX64CompressSigned: // Fall through.
case kX64CompressPointer: // Fall through.
case kX64CompressAny: {
ASSEMBLE_MOVX(movl);
break;
......
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