}
```
+## abs-accumulate
+
+required for the [[sv/av_opcodes]], these are needed for motion estimation.
+both are overwrite on RS.
+
+```
+uint_xlen_t uintabsacc(uint_xlen_t rs, uint_xlen_t ra, uint_xlen_t rb) {
+ return rs + (src1 > src2) ? (src1-src2) : (src2-src1)
+}
+uint_xlen_t intabsacc(uint_xlen_t rs, int_xlen_t ra, int_xlen_t rb) {
+ return rs + (src1 > src2) ? (src1-src2) : (src2-src1)
+}
+```
+
+For SVP64 these use EXTRA2 and allow Twin Elwidths. The reason is so
+that the Register used as an Accumulator (RS) may have its own
+Element Width Override. This allows e.g. a 16 bit accumulator for 8 bit
+differences.
+
# shift-and-add
Power ISA is missing LD/ST with shift, which is present in both ARM and x86.