Commit b0b97bfc authored by bmeurer's avatar bmeurer Committed by Commit bot

[turbofan] Also allow TaggedSigned/Pointer memory operand.

When we added the new MachineRepresentation::kTaggedSigned and
MachineRepresentation::kTaggedPointer, we didn't extend the logic
for memory operand covering, and so for map checks and other
comparisons with fields we'd always need an additional register.
This fixes that and does reduce register pressure in some cases.

R=jarin@chromium.org
BUG=v8:5267,v8:5270

Review-Url: https://codereview.chromium.org/2354863003
Cr-Commit-Position: refs/heads/master@{#39575}
parent 0965b9b5
...@@ -60,8 +60,7 @@ class X64OperandGenerator final : public OperandGenerator { ...@@ -60,8 +60,7 @@ class X64OperandGenerator final : public OperandGenerator {
switch (opcode) { switch (opcode) {
case kX64Cmp: case kX64Cmp:
case kX64Test: case kX64Test:
return rep == MachineRepresentation::kWord64 || return rep == MachineRepresentation::kWord64 || IsAnyTagged(rep);
rep == MachineRepresentation::kTagged;
case kX64Cmp32: case kX64Cmp32:
case kX64Test32: case kX64Test32:
return rep == MachineRepresentation::kWord32; return rep == MachineRepresentation::kWord32;
......
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