(no commit message)
authorlkcl <lkcl@web>
Sun, 15 May 2022 16:05:12 +0000 (17:05 +0100)
committerIkiWiki <ikiwiki.info>
Sun, 15 May 2022 16:05:12 +0000 (17:05 +0100)
openpower/sv/av_opcodes.mdwn

index 9717598145a025d41d18be2d0f150109a8eea0b0..1558a231143c10a3b43ab5fbeabcd243bda65e94 100644 (file)
@@ -11,6 +11,7 @@ Links
 * [[vpu]]
 * [[sv/int_fp_mv]]
 * TODO review <https://en.m.wikipedia.org/wiki/Multimedia_Acceleration_eXtensions>
+* <https://en.m.wikipedia.org/wiki/Sum_of_absolute_differences>
 
 # Summary
 
@@ -20,6 +21,7 @@ In-advance, the summary of base scalar operations that need to be added is:
 | ------------ | ------------------------      |
 | average-add. | result = (src1 + src2 + 1) >> 1 |
 | abs-diff     | result = abs (src1-src2) |
+| abs-accumulate| result += abs (src1, src2) |
 | signed min   | result = (src1 < src2) ? src1 : src2 use bitmanip |
 | signed max   | result = (src1 > src2) ? src1 : src2  use bitmanip |
 | bitwise sel  | (a ? b : c) - use bitmanip ternary |
@@ -91,6 +93,15 @@ unsigned 8/16/32: these are all of the form:
 
 *These do not exist in the scalar ISA and would need to be added*
 
+## abs-accumulate
+
+signed and unsigned variants needed:
+
+    result += (src1 > src2) ? truncate(src1-src2) :
+                              truncate(src2-src1)
+
+*These do not exist in the scalar ISA and would need to be added*
+
 ## vmaxs\* / vmaxu\* (and min)
 
 signed and unsigned, 8/16/32: these are all of the form: