sort atomic table
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 8 Jul 2022 21:03:09 +0000 (22:03 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 8 Jul 2022 21:03:09 +0000 (22:03 +0100)
openpower/atomics.mdwn

index 2d4ea841ca908eef6dbc80be0d9995e68a9efdf0..88ddd1e994cf9a3f6f03b12f7009820b5e4f7c24 100644 (file)
@@ -158,31 +158,35 @@ atomic memory operations
 
 read functions v3.1 book II section 4.5.1 p1071
 
-    | 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 |
+|opcode| regs           | memory                 | description                 |
+|------| -------------- | -----------------------| --------------------------- |
+|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             |
 
 store functions
 
-    | 00000 RS mem(EA,s) Store Add
-    | 00001 RS mem(EA,s) Store XOR 
-    | 00010 RS mem(EA,s) Store OR
-    | 00011 RS mem(EA,s) Store AND
-    | 00100 RS mem(EA,s) Store Maximum Unsigned
-    | 00101 RS mem(EA,s) Store Maximum Signed
-    | 00110 RS mem(EA,s) Store Minimum Unsigned
-    | 00111 RS mem(EA,s) Store Minimum Signed
-    | 11000 RS mem(EA,s) Store Twin
-
-These functions are recognised as being part of the
+|opcode| regs | memory    | description                 |
+|------| -----| ----------| --------------------------- |
+|00000 | RS   | mem(EA,s) | Store Add                   |
+|00001 | RS   | mem(EA,s) | Store XOR                   |
+|00010 | RS   | mem(EA,s) | Store OR                    |
+|00011 | RS   | mem(EA,s) | Store AND                   |
+|00100 | RS   | mem(EA,s) | Store Maximum Unsigned      |
+|00101 | RS   | mem(EA,s) | Store Maximum Signed        |
+|00110 | RS   | mem(EA,s) | Store Minimum Unsigned      |
+|00111 | RS   | mem(EA,s) | Store Minimum Signed        |
+|11000 | RS   | mem(EA,s) | Store Twin                  |
+
+These functions are also recognised as being part of the
 OpenCAPI Specification.