Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/common/lib/libc/arch/aarch64/atomic



Module Name:    src
Committed By:   skrll
Date:           Sun Jul  4 06:55:47 UTC 2021

Modified Files:
        src/common/lib/libc/arch/aarch64/atomic: atomic_nand_16.S
            atomic_nand_32.S atomic_nand_64.S atomic_nand_8.S

Log Message:
Fix the logic operation for atomic_nand_{8,16,32,64}

>From the gcc docs the operations are as follows

 { tmp = *ptr; *ptr = ~(tmp & value); return tmp; }   // nand
 { tmp = ~(*ptr & value); *ptr = tmp; return *ptr; }   // nand

yes, this is really rather strange.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/common/lib/libc/arch/aarch64/atomic/atomic_nand_16.S \
    src/common/lib/libc/arch/aarch64/atomic/atomic_nand_32.S \
    src/common/lib/libc/arch/aarch64/atomic/atomic_nand_64.S \
    src/common/lib/libc/arch/aarch64/atomic/atomic_nand_8.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index