From: lkcl Date: Fri, 8 Jul 2022 14:53:54 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~1256 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5d6a0936d86a97cd9552bab4caca718c5a3375be;p=libreriscv.git --- diff --git a/openpower/atomics.mdwn b/openpower/atomics.mdwn index 09cc195f9..673024afd 100644 --- a/openpower/atomics.mdwn +++ b/openpower/atomics.mdwn @@ -109,6 +109,22 @@ unnecessary restrictions: it has only 32-bit and 64-bit atomic operations. +read operations + + | 00000 | RT, RT+1 | mem(EA,s) | Fetch and Add | + | 00001 | RT, RT+1 | mem(EA,s) | Fetch and XOR | + | 00010 | RT, RT+1 | mem(EA,s) | Fetch and OR | + | 00011 | RT, RT+1 | mem(EA,s) | Fetch and AND | + | 00100 | RT, RT+1 | mem(EA,s) | Fetch and Maximum Unsigned | + | 00101 | RT, RT+1 | mem(EA,s) | Fetch and Maximum Signed | + | 00110 | RT, RT+1 | mem(EA,s) | Fetch and Minimum Unsigned | + | 00111 | RT, RT+1 | mem(EA,s) | Fetch and Minimum Signed | + | 01000 | RT, RT+1 | mem(EA,s) | Swap | + | 10000 | RT, RT+1, RT+2 | mem(EA,s) | Compare and Swap Not Equal | + | 11000 | RT | mem(EA,s) mem(EA+s, s) | Fetch and Increment Bounded | + | 11001 | RT | mem(EA,s) mem(EA+s, s) | Fetch and Increment Equal | + | 11100 | RT | mem(EA-s,s) mem(EA, s) | Fetch and Decrement Bounded | + These operations are recognised as being part of the OpenCAPI Specification. the operations it has that I was going to propose: