Module Name: src Committed By: skrll Date: Sat Jun 18 08:01:56 UTC 2022
Modified Files: src/common/lib/libc/arch/aarch64/atomic: __aarch64_lse.S Log Message: be consistent about comparing loaded value against expected old value register ordering To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 \ src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S diff -u src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S:1.4 src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S:1.5 --- src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S:1.4 Sat Jun 18 07:55:19 2022 +++ src/common/lib/libc/arch/aarch64/atomic/__aarch64_lse.S Sat Jun 18 08:01:56 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: __aarch64_lse.S,v 1.4 2022/06/18 07:55:19 skrll Exp $ */ +/* $NetBSD: __aarch64_lse.S,v 1.5 2022/06/18 08:01:56 skrll Exp $ */ /*- * Copyright (c) 2021 The NetBSD Foundation, Inc. @@ -177,9 +177,9 @@ ENTRY_NP(CASP_FUNC) mov x5, x0 /* need x0 for return value */ mov x6, x1 /* need x1 for return value */ 1: LDXP x0, x1, [x4] /* load old value */ - cmp x5, x0 /* compare */ + cmp x0, x5 /* compare */ b.ne 2f /* not equal? return */ - cmp x6, x1 + cmp x1, x6 b.ne 2f /* not equal? return */ STXP w7, x2, x3, [x4] /* store new value */ cbnz w7, 3f /* succeed? nope, try again. */