Commit 66798ddd authored by Lu Yahan's avatar Lu Yahan Committed by V8 LUCI CQ

[riscv64] Fix build error

Port 3107220: Reland "[compiler] Support acq/rel accesses and atomic accesses on tagged" | 3107220

Change-Id: I190f6b62458b0abe193ca7f5ea9d6912117439fe
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3108945Reviewed-by: 's avatarJi Qiu <qiuji@iscas.ac.cn>
Commit-Queue: Ji Qiu <qiuji@iscas.ac.cn>
Auto-Submit: Yahan Lu <yahan@iscas.ac.cn>
Cr-Commit-Position: refs/heads/main@{#76400}
parent 6a487504
...@@ -1821,10 +1821,13 @@ void VisitWordCompare(InstructionSelector* selector, Node* node, ...@@ -1821,10 +1821,13 @@ void VisitWordCompare(InstructionSelector* selector, Node* node,
bool IsNodeUnsigned(Node* n) { bool IsNodeUnsigned(Node* n) {
NodeMatcher m(n); NodeMatcher m(n);
if (m.IsLoad() || m.IsUnalignedLoad() || m.IsProtectedLoad() || if (m.IsLoad() || m.IsUnalignedLoad() || m.IsProtectedLoad()) {
m.IsWord32AtomicLoad() || m.IsWord64AtomicLoad()) {
LoadRepresentation load_rep = LoadRepresentationOf(n->op()); LoadRepresentation load_rep = LoadRepresentationOf(n->op());
return load_rep.IsUnsigned(); return load_rep.IsUnsigned();
} else if (m.IsWord32AtomicLoad() || m.IsWord64AtomicLoad()) {
AtomicLoadParameters atomic_load_params = AtomicLoadParametersOf(n->op());
LoadRepresentation load_rep = atomic_load_params.representation();
return load_rep.IsUnsigned();
} else { } else {
return m.IsUint32Div() || m.IsUint32LessThan() || return m.IsUint32Div() || m.IsUint32LessThan() ||
m.IsUint32LessThanOrEqual() || m.IsUint32Mod() || m.IsUint32LessThanOrEqual() || m.IsUint32Mod() ||
...@@ -2405,7 +2408,8 @@ void InstructionSelector::VisitMemoryBarrier(Node* node) { ...@@ -2405,7 +2408,8 @@ void InstructionSelector::VisitMemoryBarrier(Node* node) {
} }
void InstructionSelector::VisitWord32AtomicLoad(Node* node) { void InstructionSelector::VisitWord32AtomicLoad(Node* node) {
LoadRepresentation load_rep = LoadRepresentationOf(node->op()); AtomicLoadParameters atomic_load_params = AtomicLoadParametersOf(node->op());
LoadRepresentation load_rep = atomic_load_params.representation();
ArchOpcode opcode; ArchOpcode opcode;
switch (load_rep.representation()) { switch (load_rep.representation()) {
case MachineRepresentation::kWord8: case MachineRepresentation::kWord8:
...@@ -2424,7 +2428,8 @@ void InstructionSelector::VisitWord32AtomicLoad(Node* node) { ...@@ -2424,7 +2428,8 @@ void InstructionSelector::VisitWord32AtomicLoad(Node* node) {
} }
void InstructionSelector::VisitWord32AtomicStore(Node* node) { void InstructionSelector::VisitWord32AtomicStore(Node* node) {
MachineRepresentation rep = AtomicStoreRepresentationOf(node->op()); AtomicStoreParameters store_params = AtomicStoreParametersOf(node->op());
MachineRepresentation rep = store_params.representation();
ArchOpcode opcode; ArchOpcode opcode;
switch (rep) { switch (rep) {
case MachineRepresentation::kWord8: case MachineRepresentation::kWord8:
...@@ -2444,7 +2449,8 @@ void InstructionSelector::VisitWord32AtomicStore(Node* node) { ...@@ -2444,7 +2449,8 @@ void InstructionSelector::VisitWord32AtomicStore(Node* node) {
} }
void InstructionSelector::VisitWord64AtomicLoad(Node* node) { void InstructionSelector::VisitWord64AtomicLoad(Node* node) {
LoadRepresentation load_rep = LoadRepresentationOf(node->op()); AtomicLoadParameters atomic_load_params = AtomicLoadParametersOf(node->op());
LoadRepresentation load_rep = atomic_load_params.representation();
ArchOpcode opcode; ArchOpcode opcode;
switch (load_rep.representation()) { switch (load_rep.representation()) {
case MachineRepresentation::kWord8: case MachineRepresentation::kWord8:
...@@ -2466,7 +2472,8 @@ void InstructionSelector::VisitWord64AtomicLoad(Node* node) { ...@@ -2466,7 +2472,8 @@ void InstructionSelector::VisitWord64AtomicLoad(Node* node) {
} }
void InstructionSelector::VisitWord64AtomicStore(Node* node) { void InstructionSelector::VisitWord64AtomicStore(Node* node) {
MachineRepresentation rep = AtomicStoreRepresentationOf(node->op()); AtomicStoreParameters store_params = AtomicStoreParametersOf(node->op());
MachineRepresentation rep = store_params.representation();
ArchOpcode opcode; ArchOpcode opcode;
switch (rep) { switch (rep) {
case MachineRepresentation::kWord8: case MachineRepresentation::kWord8:
......
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