[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:
parent
41ff307e83
commit
9ac150807c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user