Commit 138a05b9 authored by Santiago Aboy Solanes's avatar Santiago Aboy Solanes Committed by Commit Bot

Revert "[ptr-compr][turbofan] Calling the non-compressed Tagged loads and stores"

This reverts commit 3c510438.

Reason for revert: Breaks pointer compression bots (https://ci.chromium.org/p/v8/builders/try.triggered/v8_linux64_pointer_compression_rel_ng_triggered/b8914100067516580000)

Original change's description:
> [ptr-compr][turbofan] Calling the non-compressed Tagged loads and stores
>
> This CL changes the instruction selector so that we use the normal load
> and store, instead of the one that (de)compresses.
>
> Also removed "return;"s and "break;"s that were unnecessary.
>
> 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: I4f2a82bfc4d300dd56300f394f59c3f9da242ba8
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593296
> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#61304}

TBR=mvstanton@chromium.org,jarin@chromium.org,solanes@chromium.org

Change-Id: I022895f648b7f9a24944d1c647ba76773cee3669
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8977, v8:7703
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
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1601136
Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61319}
parent ad988c69
......@@ -620,19 +620,35 @@ void InstructionSelector::VisitLoad(Node* node) {
opcode = kArm64LdrW;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
#ifdef V8_COMPRESS_POINTERS
case MachineRepresentation::kTaggedSigned:
opcode = kArm64LdrDecompressTaggedSigned;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kTaggedPointer:
opcode = kArm64LdrDecompressTaggedPointer;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kTagged:
opcode = kArm64LdrDecompressAnyTagged;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kCompressedSigned:
case MachineRepresentation::kCompressedPointer:
case MachineRepresentation::kCompressed:
opcode = kArm64LdrW;
immediate_mode = kLoadStoreImm32;
break;
#else
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
UNREACHABLE();
#endif
return;
case MachineRepresentation::kTaggedSigned: // Fall through.
case MachineRepresentation::kTaggedPointer: // Fall through.
case MachineRepresentation::kTagged: // Fall through.
#endif
case MachineRepresentation::kWord64:
opcode = kArm64Ldr;
immediate_mode = kLoadStoreImm64;
......@@ -643,6 +659,7 @@ void InstructionSelector::VisitLoad(Node* node) {
break;
case MachineRepresentation::kNone:
UNREACHABLE();
return;
}
if (node->opcode() == IrOpcode::kPoisonedLoad) {
CHECK_NE(poisoning_level_, PoisoningMitigationLevel::kDontPoison);
......@@ -720,19 +737,29 @@ void InstructionSelector::VisitStore(Node* node) {
opcode = kArm64StrW;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
#ifdef V8_COMPRESS_POINTERS
case MachineRepresentation::kTaggedSigned:
case MachineRepresentation::kTaggedPointer:
case MachineRepresentation::kTagged:
opcode = kArm64StrCompressTagged;
immediate_mode = kLoadStoreImm32;
break;
case MachineRepresentation::kCompressedSigned:
case MachineRepresentation::kCompressedPointer:
case MachineRepresentation::kCompressed:
opcode = kArm64StrW;
immediate_mode = kLoadStoreImm32;
break;
#else
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
UNREACHABLE();
#endif
return;
case MachineRepresentation::kTaggedSigned: // Fall through.
case MachineRepresentation::kTaggedPointer: // Fall through.
case MachineRepresentation::kTagged: // Fall through.
#endif
case MachineRepresentation::kWord64:
opcode = kArm64Str;
immediate_mode = kLoadStoreImm64;
......@@ -743,6 +770,7 @@ void InstructionSelector::VisitStore(Node* node) {
break;
case MachineRepresentation::kNone:
UNREACHABLE();
return;
}
inputs[0] = g.UseRegisterOrImmediateZero(value);
......
......@@ -240,18 +240,33 @@ ArchOpcode GetLoadOpcode(LoadRepresentation load_rep) {
case MachineRepresentation::kWord32:
opcode = kX64Movl;
break;
#ifdef V8_COMPRESS_POINTERS
case MachineRepresentation::kTaggedSigned:
opcode = kX64MovqDecompressTaggedSigned;
break;
case MachineRepresentation::kTaggedPointer:
opcode = kX64MovqDecompressTaggedPointer;
break;
case MachineRepresentation::kTagged:
opcode = kX64MovqDecompressAnyTagged;
break;
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
#ifdef V8_COMPRESS_POINTERS
opcode = kX64Movl;
break;
#else
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
UNREACHABLE();
#endif
break;
case MachineRepresentation::kTaggedSigned: // Fall through.
case MachineRepresentation::kTaggedPointer: // Fall through.
case MachineRepresentation::kTagged: // Fall through.
case MachineRepresentation::kTagged:
opcode = kX64Movq;
break;
#endif
case MachineRepresentation::kWord64:
opcode = kX64Movq;
break;
......@@ -260,6 +275,7 @@ ArchOpcode GetLoadOpcode(LoadRepresentation load_rep) {
break;
case MachineRepresentation::kNone:
UNREACHABLE();
break;
}
return opcode;
}
......@@ -268,30 +284,46 @@ ArchOpcode GetStoreOpcode(StoreRepresentation store_rep) {
switch (store_rep.representation()) {
case MachineRepresentation::kFloat32:
return kX64Movss;
break;
case MachineRepresentation::kFloat64:
return kX64Movsd;
break;
case MachineRepresentation::kBit: // Fall through.
case MachineRepresentation::kWord8:
return kX64Movb;
break;
case MachineRepresentation::kWord16:
return kX64Movw;
break;
case MachineRepresentation::kWord32:
return kX64Movl;
break;
#ifdef V8_COMPRESS_POINTERS
case MachineRepresentation::kTaggedSigned: // Fall through.
case MachineRepresentation::kTaggedPointer: // Fall through.
case MachineRepresentation::kTagged:
return kX64MovqCompressTagged;
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
#ifdef V8_COMPRESS_POINTERS
return kX64MovqCompressTagged;
return kX64Movl;
#else
case MachineRepresentation::kCompressedSigned: // Fall through.
case MachineRepresentation::kCompressedPointer: // Fall through.
case MachineRepresentation::kCompressed:
UNREACHABLE();
#endif
case MachineRepresentation::kTaggedSigned: // Fall through.
case MachineRepresentation::kTaggedPointer: // Fall through.
case MachineRepresentation::kTagged: // Fall through.
case MachineRepresentation::kTagged:
return kX64Movq;
break;
#endif
case MachineRepresentation::kWord64:
return kX64Movq;
break;
case MachineRepresentation::kSimd128: // Fall through.
return kX64Movdqu;
break;
case MachineRepresentation::kNone:
UNREACHABLE();
}
......
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