Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/common/lib/libc/arch/aarch64/atomic
On Sun, Jul 04, 2021 at 06:55:47AM +0000, Nick Hudson wrote:
> 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.
This depends on which GCC version you are looking at. They changed it
sometime in the early GCC 4 days.
Joerg
Home |
Main Index |
Thread Index |
Old Index