Date: Sun, 16 Feb 2025 11:26:38 +0800
Maybe they are self-evident, but these have puzzled me in the past:
- Is read-modify-write regarded as a load operation, or distinct from load?
- Is read-modify-write regarded as a store operation, or distinct from store?
- Is consume, acquire, and release valid ordering for
read-modify-write operations?
Since the standard implies Yes on the last question (no precondition
on the value of order), it seems the answers to the first two
questions should also be Yes.
Should that be explicit in the C++ standard? The "read-modify-write
operation" is defined, but "load operation" and "store operation" are
not.
(I used to think load, store, and read-modify-write are three distinct
kind of operations with no overlap. Maybe just a result of my not
being a native English speaker? But maybe it is good idea to clarify
on that.)
- Is read-modify-write regarded as a load operation, or distinct from load?
- Is read-modify-write regarded as a store operation, or distinct from store?
- Is consume, acquire, and release valid ordering for
read-modify-write operations?
Since the standard implies Yes on the last question (no precondition
on the value of order), it seems the answers to the first two
questions should also be Yes.
Should that be explicit in the C++ standard? The "read-modify-write
operation" is defined, but "load operation" and "store operation" are
not.
(I used to think load, store, and read-modify-write are three distinct
kind of operations with no overlap. Maybe just a result of my not
being a native English speaker? But maybe it is good idea to clarify
on that.)
-- Yongwei Wu URL: http://wyw.dcweb.cn/
Received on 2025-02-16 03:26:52