Skip to content

Commit 207f489

Browse files
LiuYu396V8 LUCI CQ
authored andcommitted
[mips][liftoff] Fix atomic ops implementation error
LLd and Scd should be used for StoreType::kI64Store* types. Change-Id: Ic645c9149c7ade95e0a36acadb48d246ee817469 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3655179 Auto-Submit: Yu Liu <[email protected]> Commit-Queue: Zhao Jiazhong <[email protected]> Reviewed-by: Zhao Jiazhong <[email protected]> Cr-Commit-Position: refs/heads/main@{#80657}
1 parent 407218d commit 207f489

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/wasm/baseline/mips64/liftoff-assembler-mips64.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -748,13 +748,13 @@ void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg,
748748
Daddu(temp0, dst_op.rm(), dst_op.offset()); \
749749
switch (type.value()) { \
750750
case StoreType::kI64Store8: \
751-
ASSEMBLE_ATOMIC_BINOP_EXT(Ll, Sc, 8, inst64, 7); \
751+
ASSEMBLE_ATOMIC_BINOP_EXT(Lld, Scd, 8, inst64, 7); \
752752
break; \
753753
case StoreType::kI32Store8: \
754754
ASSEMBLE_ATOMIC_BINOP_EXT(Ll, Sc, 8, inst32, 3); \
755755
break; \
756756
case StoreType::kI64Store16: \
757-
ASSEMBLE_ATOMIC_BINOP_EXT(Ll, Sc, 16, inst64, 7); \
757+
ASSEMBLE_ATOMIC_BINOP_EXT(Lld, Scd, 16, inst64, 7); \
758758
break; \
759759
case StoreType::kI32Store16: \
760760
ASSEMBLE_ATOMIC_BINOP_EXT(Ll, Sc, 16, inst32, 3); \
@@ -823,13 +823,13 @@ void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg,
823823
Daddu(temp0, dst_op.rm(), dst_op.offset());
824824
switch (type.value()) {
825825
case StoreType::kI64Store8:
826-
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Ll, Sc, 8, 7);
826+
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Lld, Scd, 8, 7);
827827
break;
828828
case StoreType::kI32Store8:
829829
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Ll, Sc, 8, 3);
830830
break;
831831
case StoreType::kI64Store16:
832-
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Ll, Sc, 16, 7);
832+
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Lld, Scd, 16, 7);
833833
break;
834834
case StoreType::kI32Store16:
835835
ASSEMBLE_ATOMIC_EXCHANGE_INTEGER_EXT(Ll, Sc, 16, 3);
@@ -899,13 +899,13 @@ void LiftoffAssembler::AtomicCompareExchange(
899899
Daddu(temp0, dst_op.rm(), dst_op.offset());
900900
switch (type.value()) {
901901
case StoreType::kI64Store8:
902-
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Ll, Sc, 8, 7);
902+
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Lld, Scd, 8, 7);
903903
break;
904904
case StoreType::kI32Store8:
905905
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Ll, Sc, 8, 3);
906906
break;
907907
case StoreType::kI64Store16:
908-
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Ll, Sc, 16, 7);
908+
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Lld, Scd, 16, 7);
909909
break;
910910
case StoreType::kI32Store16:
911911
ASSEMBLE_ATOMIC_COMPARE_EXCHANGE_INTEGER_EXT(Ll, Sc, 16, 3);

0 commit comments

Comments
 (0)