[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/+/1624798
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61882}
This commit is contained in:
Santiago Aboy Solanes 2019-05-22 15:57:45 +01:00 committed by Commit Bot
parent 41ff307e83
commit 9ac150807c
2 changed files with 4 additions and 22 deletions

View File

@ -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;

View File

@ -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;