(no commit message)
authorlkcl <lkcl@web>
Sat, 28 Aug 2021 18:02:01 +0000 (19:02 +0100)
committerIkiWiki <ikiwiki.info>
Sat, 28 Aug 2021 18:02:01 +0000 (19:02 +0100)
openpower/sv/av_opcodes.mdwn

index a51acdb5ce77f88ade5560a596ec6a34da3c3bac..470bcf1f15afa0d4d6ec5e9f2f6a49f47dfcbf93 100644 (file)
@@ -98,7 +98,19 @@ signed and unsigned, 8/16/32: these are all of the form:
     result = (src1 > src2) ? src1 : src2 # max
     result = (src1 < src2) ? src1 : src2 # min
 
-*These do not exist in the scalar INTEGER ISA and would need to be added*
+*These do not exist in the scalar INTEGER ISA and would need to be added*.
+There are additionally no scalar FP min/max, either. These also
+need to be added.
+
+Also it makes sense for both the integer and FP variants
+to have Rc=1 modes, where those modes are based on the
+respective cmp (or fsel / isel) behaviour. In other words,
+the Rc=1 setting is based on the *comparison* of the
+two inputs, rather than on which of the two results was
+returned by the min/max opcode.
+
+    result = (src1 > src2) ? src1 : src2 # max
+    CR0 = CR_computr(src2-src1) # not based on result
 
 ## vmerge operations