| AI Engine Intrinsics User Guide (AIE) v2025.2

Loading...
Searching...
No Matches
Functions
16 bit Real x 32 bit Real
Intrinsics » Vector Operations » MAC intrinsics » Multiplication » Advanced » Integer » Vector MAC combined with vector comparisons » 16 bit x 32 bit

## Overview

Vector MAC combined with vector comparisons with 16 bit real by 32 bit real

## Functions
v8acc80 | lmac8_abs (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_abs (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc80 | lmac8_max (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_max (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_max (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc80 | lmac8_maxdiff (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_maxdiff (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_maxdiff (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc80 | lmac8_min (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_min (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmac8_min (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc80 | lmsc8_abs (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_abs (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc80 | lmsc8_max (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_max (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_max (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc80 | lmsc8_maxdiff (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_maxdiff (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_maxdiff (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc80 | lmsc8_min (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_min (v8acc80 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmsc8_min (v8acc80 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc80 | lmul8_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc80 | lmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_max (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc80 | lmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc80 | lmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lmul8_min (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc80 | lnegmul8_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc80 | lnegmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_max (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc80 | lnegmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc80 | lnegmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc80 | lnegmul8_min (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .
v16acc48 | mac16_abs (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_abs (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v16acc48 | mac16_max (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_max (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_max (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v16acc48 | mac16_maxdiff (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_maxdiff (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_maxdiff (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v16acc48 | mac16_min (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_min (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mac16_min (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc48 | mac8_abs (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_abs (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc48 | mac8_max (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_max (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_max (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc48 | mac8_maxdiff (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_maxdiff (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_maxdiff (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc48 | mac8_min (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_min (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mac8_min (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .
v16acc48 | msc16_abs (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_abs (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v16acc48 | msc16_max (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_max (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_max (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .
v16acc48 | msc16_maxdiff (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_maxdiff (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_maxdiff (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v16acc48 | msc16_min (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_min (v16acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | msc16_min (v16acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc48 | msc8_abs (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_abs (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc48 | msc8_max (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_max (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_max (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc48 | msc8_maxdiff (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_maxdiff (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_maxdiff (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc48 | msc8_min (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_min (v8acc48 acc, v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | msc8_min (v8acc48 acc, v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .
v16acc48 | mul16_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v16acc48 | mul16_max (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_max (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_max (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .
v16acc48 | mul16_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v16acc48 | mul16_min (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_min (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | mul16_min (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc48 | mul8_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc48 | mul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_max (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc48 | mul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc48 | mul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | mul8_min (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .
v16acc48 | negmul16_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v16acc48 | negmul16_max (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_max (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_max (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v16acc48 | negmul16_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v16acc48 | negmul16_min (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_min (v32int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v16acc48 | negmul16_min (v64int16 xbuff, int xstart, unsigned int xoffsets, unsigned int xoffsets_hi, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, unsigned int zoffsets_hi)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .
v8acc48 | negmul8_abs (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_abs (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .
v8acc48 | negmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_max (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_max (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .
v8acc48 | negmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_maxdiff (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_maxdiff (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .
v8acc48 | negmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_min (v32int16 xbuff, int xstart, unsigned int xoffsets, int xstep, v32int16 ybuff, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.
v8acc48 | negmul8_min (v64int16 xbuff, int xstart, unsigned int xoffsets, int xstep, int ystart, v8int32 zbuff, int zstart, unsigned int zoffsets, int zstep)
| Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .

## Function Documentation

## ◆ lmac8_abs() [1/2]

v8acc80 lmac8_abs | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 += z00*abs(x00) + z01*abs(x01)
acc1 += z10*abs(x10) + z11*abs(x11)
acc2 += z20*abs(x20) + z21*abs(x21)
acc3 += z30*abs(x30) + z31*abs(x31)
acc4 += z40*abs(x40) + z41*abs(x41)
acc5 += z50*abs(x50) + z51*abs(x51)
acc6 += z60*abs(x60) + z61*abs(x61)
acc7 += z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_abs() [2/2]

v8acc80 lmac8_abs | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 += z00*abs(x00) + z01*abs(x01)
acc1 += z10*abs(x10) + z11*abs(x11)
acc2 += z20*abs(x20) + z21*abs(x21)
acc3 += z30*abs(x30) + z31*abs(x31)
acc4 += z40*abs(x40) + z41*abs(x41)
acc5 += z50*abs(x50) + z51*abs(x51)
acc6 += z60*abs(x60) + z61*abs(x61)
acc7 += z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_max() [1/3]

v8acc80 lmac8_max | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_max() [2/3]

v8acc80 lmac8_max | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_max() [3/3]

v8acc80 lmac8_max | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_maxdiff() [1/3]

v8acc80 lmac8_maxdiff | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_maxdiff() [2/3]

v8acc80 lmac8_maxdiff | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_maxdiff() [3/3]

v8acc80 lmac8_maxdiff | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_min() [1/3]

v8acc80 lmac8_min | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_min() [2/3]

v8acc80 lmac8_min | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmac8_min() [3/3]

v8acc80 lmac8_min | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_abs() [1/2]

v8acc80 lmsc8_abs | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*abs(x00) + z01*abs(x01)
acc1 -= z10*abs(x10) + z11*abs(x11)
acc2 -= z20*abs(x20) + z21*abs(x21)
acc3 -= z30*abs(x30) + z31*abs(x31)
acc4 -= z40*abs(x40) + z41*abs(x41)
acc5 -= z50*abs(x50) + z51*abs(x51)
acc6 -= z60*abs(x60) + z61*abs(x61)
acc7 -= z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_abs() [2/2]

v8acc80 lmsc8_abs | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 -= z00*abs(x00) + z01*abs(x01)
acc1 -= z10*abs(x10) + z11*abs(x11)
acc2 -= z20*abs(x20) + z21*abs(x21)
acc3 -= z30*abs(x30) + z31*abs(x31)
acc4 -= z40*abs(x40) + z41*abs(x41)
acc5 -= z50*abs(x50) + z51*abs(x51)
acc6 -= z60*abs(x60) + z61*abs(x61)
acc7 -= z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_max() [1/3]

v8acc80 lmsc8_max | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_max() [2/3]

v8acc80 lmsc8_max | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_max() [3/3]

v8acc80 lmsc8_max | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_maxdiff() [1/3]

v8acc80 lmsc8_maxdiff | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_maxdiff() [2/3]

v8acc80 lmsc8_maxdiff | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_maxdiff() [3/3]

v8acc80 lmsc8_maxdiff | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_min() [1/3]

v8acc80 lmsc8_min | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_min() [2/3]

v8acc80 lmsc8_min | ( | v8acc80 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmsc8_min() [3/3]

v8acc80 lmsc8_min | ( | v8acc80 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int80 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_abs() [1/2]

v8acc80 lmul8_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = z00*abs(x00) + z01*abs(x01)
acc1 = z10*abs(x10) + z11*abs(x11)
acc2 = z20*abs(x20) + z21*abs(x21)
acc3 = z30*abs(x30) + z31*abs(x31)
acc4 = z40*abs(x40) + z41*abs(x41)
acc5 = z50*abs(x50) + z51*abs(x51)
acc6 = z60*abs(x60) + z61*abs(x61)
acc7 = z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_abs() [2/2]

v8acc80 lmul8_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = z00*abs(x00) + z01*abs(x01)
acc1 = z10*abs(x10) + z11*abs(x11)
acc2 = z20*abs(x20) + z21*abs(x21)
acc3 = z30*abs(x30) + z31*abs(x31)
acc4 = z40*abs(x40) + z41*abs(x41)
acc5 = z50*abs(x50) + z51*abs(x51)
acc6 = z60*abs(x60) + z61*abs(x61)
acc7 = z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_max() [1/3]

v8acc80 lmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_max() [2/3]

v8acc80 lmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_max() [3/3]

v8acc80 lmul8_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_maxdiff() [1/3]

v8acc80 lmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_maxdiff() [2/3]

v8acc80 lmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_maxdiff() [3/3]

v8acc80 lmul8_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_min() [1/3]

v8acc80 lmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_min() [2/3]

v8acc80 lmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lmul8_min() [3/3]

v8acc80 lmul8_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_abs() [1/2]

v8acc80 lnegmul8_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*abs(x00) + z01*abs(x01) )
acc1 = -( z10*abs(x10) + z11*abs(x11) )
acc2 = -( z20*abs(x20) + z21*abs(x21) )
acc3 = -( z30*abs(x30) + z31*abs(x31) )
acc4 = -( z40*abs(x40) + z41*abs(x41) )
acc5 = -( z50*abs(x50) + z51*abs(x51) )
acc6 = -( z60*abs(x60) + z61*abs(x61) )
acc7 = -( z70*abs(x70) + z71*abs(x71) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_abs() [2/2]

v8acc80 lnegmul8_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = -( z00*abs(x00) + z01*abs(x01) )
acc1 = -( z10*abs(x10) + z11*abs(x11) )
acc2 = -( z20*abs(x20) + z21*abs(x21) )
acc3 = -( z30*abs(x30) + z31*abs(x31) )
acc4 = -( z40*abs(x40) + z41*abs(x41) )
acc5 = -( z50*abs(x50) + z51*abs(x51) )
acc6 = -( z60*abs(x60) + z61*abs(x61) )
acc7 = -( z70*abs(x70) + z71*abs(x71) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_max() [1/3]

v8acc80 lnegmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_max() [2/3]

v8acc80 lnegmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_max() [3/3]

v8acc80 lnegmul8_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_maxdiff() [1/3]

v8acc80 lnegmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_maxdiff() [2/3]

v8acc80 lnegmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_maxdiff() [3/3]

v8acc80 lnegmul8_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_min() [1/3]

v8acc80 lnegmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_min() [2/3]

v8acc80 lnegmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ lnegmul8_min() [3/3]

v8acc80 lnegmul8_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int80 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_abs() [1/2]

v16acc48 mac16_abs | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 += z00*abs(x00)
acc1 += z10*abs(x10)
acc2 += z20*abs(x20)
acc3 += z30*abs(x30)
acc4 += z40*abs(x40)
acc5 += z50*abs(x50)
acc6 += z60*abs(x60)
acc7 += z70*abs(x70)
acc8 += z80*abs(x80)
acc9 += z90*abs(x90)
acc10 += z100*abs(x100)
acc11 += z110*abs(x110)
acc12 += z120*abs(x120)
acc13 += z130*abs(x130)
acc14 += z140*abs(x140)
acc15 += z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_abs() [2/2]

v16acc48 mac16_abs | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 += z00*abs(x00)
acc1 += z10*abs(x10)
acc2 += z20*abs(x20)
acc3 += z30*abs(x30)
acc4 += z40*abs(x40)
acc5 += z50*abs(x50)
acc6 += z60*abs(x60)
acc7 += z70*abs(x70)
acc8 += z80*abs(x80)
acc9 += z90*abs(x90)
acc10 += z100*abs(x100)
acc11 += z110*abs(x110)
acc12 += z120*abs(x120)
acc13 += z130*abs(x130)
acc14 += z140*abs(x140)
acc15 += z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_max() [1/3]

v16acc48 mac16_max | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00))
acc1 += z10*(max(x10 , y10))
acc2 += z20*(max(x20 , y20))
acc3 += z30*(max(x30 , y30))
acc4 += z40*(max(x40 , y40))
acc5 += z50*(max(x50 , y50))
acc6 += z60*(max(x60 , y60))
acc7 += z70*(max(x70 , y70))
acc8 += z80*(max(x80 , y80))
acc9 += z90*(max(x90 , y90))
acc10 += z100*(max(x100 , y100))
acc11 += z110*(max(x110 , y110))
acc12 += z120*(max(x120 , y120))
acc13 += z130*(max(x130 , y130))
acc14 += z140*(max(x140 , y140))
acc15 += z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_max() [2/3]

v16acc48 mac16_max | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00))
acc1 += z10*(max(x10 , y10))
acc2 += z20*(max(x20 , y20))
acc3 += z30*(max(x30 , y30))
acc4 += z40*(max(x40 , y40))
acc5 += z50*(max(x50 , y50))
acc6 += z60*(max(x60 , y60))
acc7 += z70*(max(x70 , y70))
acc8 += z80*(max(x80 , y80))
acc9 += z90*(max(x90 , y90))
acc10 += z100*(max(x100 , y100))
acc11 += z110*(max(x110 , y110))
acc12 += z120*(max(x120 , y120))
acc13 += z130*(max(x130 , y130))
acc14 += z140*(max(x140 , y140))
acc15 += z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_max() [3/3]

v16acc48 mac16_max | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 += z00*(max(x00 , y00))
acc1 += z10*(max(x10 , y10))
acc2 += z20*(max(x20 , y20))
acc3 += z30*(max(x30 , y30))
acc4 += z40*(max(x40 , y40))
acc5 += z50*(max(x50 , y50))
acc6 += z60*(max(x60 , y60))
acc7 += z70*(max(x70 , y70))
acc8 += z80*(max(x80 , y80))
acc9 += z90*(max(x90 , y90))
acc10 += z100*(max(x100 , y100))
acc11 += z110*(max(x110 , y110))
acc12 += z120*(max(x120 , y120))
acc13 += z130*(max(x130 , y130))
acc14 += z140*(max(x140 , y140))
acc15 += z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_maxdiff() [1/3]

v16acc48 mac16_maxdiff | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 += z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 += z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 += z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 += z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 += z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 += z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 += z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 += z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_maxdiff() [2/3]

v16acc48 mac16_maxdiff | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 += z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 += z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 += z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 += z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 += z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 += z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 += z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 += z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_maxdiff() [3/3]

v16acc48 mac16_maxdiff | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 += z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 += z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 += z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 += z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 += z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 += z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 += z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 += z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_min() [1/3]

v16acc48 mac16_min | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00))
acc1 += z10*(min(x10 , y10))
acc2 += z20*(min(x20 , y20))
acc3 += z30*(min(x30 , y30))
acc4 += z40*(min(x40 , y40))
acc5 += z50*(min(x50 , y50))
acc6 += z60*(min(x60 , y60))
acc7 += z70*(min(x70 , y70))
acc8 += z80*(min(x80 , y80))
acc9 += z90*(min(x90 , y90))
acc10 += z100*(min(x100 , y100))
acc11 += z110*(min(x110 , y110))
acc12 += z120*(min(x120 , y120))
acc13 += z130*(min(x130 , y130))
acc14 += z140*(min(x140 , y140))
acc15 += z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_min() [2/3]

v16acc48 mac16_min | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00))
acc1 += z10*(min(x10 , y10))
acc2 += z20*(min(x20 , y20))
acc3 += z30*(min(x30 , y30))
acc4 += z40*(min(x40 , y40))
acc5 += z50*(min(x50 , y50))
acc6 += z60*(min(x60 , y60))
acc7 += z70*(min(x70 , y70))
acc8 += z80*(min(x80 , y80))
acc9 += z90*(min(x90 , y90))
acc10 += z100*(min(x100 , y100))
acc11 += z110*(min(x110 , y110))
acc12 += z120*(min(x120 , y120))
acc13 += z130*(min(x130 , y130))
acc14 += z140*(min(x140 , y140))
acc15 += z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac16_min() [3/3]

v16acc48 mac16_min | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 += z00*(min(x00 , y00))
acc1 += z10*(min(x10 , y10))
acc2 += z20*(min(x20 , y20))
acc3 += z30*(min(x30 , y30))
acc4 += z40*(min(x40 , y40))
acc5 += z50*(min(x50 , y50))
acc6 += z60*(min(x60 , y60))
acc7 += z70*(min(x70 , y70))
acc8 += z80*(min(x80 , y80))
acc9 += z90*(min(x90 , y90))
acc10 += z100*(min(x100 , y100))
acc11 += z110*(min(x110 , y110))
acc12 += z120*(min(x120 , y120))
acc13 += z130*(min(x130 , y130))
acc14 += z140*(min(x140 , y140))
acc15 += z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_abs() [1/2]

v8acc48 mac8_abs | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 += z00*abs(x00) + z01*abs(x01)
acc1 += z10*abs(x10) + z11*abs(x11)
acc2 += z20*abs(x20) + z21*abs(x21)
acc3 += z30*abs(x30) + z31*abs(x31)
acc4 += z40*abs(x40) + z41*abs(x41)
acc5 += z50*abs(x50) + z51*abs(x51)
acc6 += z60*abs(x60) + z61*abs(x61)
acc7 += z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_abs() [2/2]

v8acc48 mac8_abs | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 += z00*abs(x00) + z01*abs(x01)
acc1 += z10*abs(x10) + z11*abs(x11)
acc2 += z20*abs(x20) + z21*abs(x21)
acc3 += z30*abs(x30) + z31*abs(x31)
acc4 += z40*abs(x40) + z41*abs(x41)
acc5 += z50*abs(x50) + z51*abs(x51)
acc6 += z60*abs(x60) + z61*abs(x61)
acc7 += z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_max() [1/3]

v8acc48 mac8_max | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_max() [2/3]

v8acc48 mac8_max | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_max() [3/3]

v8acc48 mac8_max | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 += z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 += z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 += z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 += z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 += z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 += z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 += z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 += z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_maxdiff() [1/3]

v8acc48 mac8_maxdiff | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_maxdiff() [2/3]

v8acc48 mac8_maxdiff | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_maxdiff() [3/3]

v8acc48 mac8_maxdiff | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 += z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 += z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 += z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 += z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 += z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 += z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 += z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 += z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_min() [1/3]

v8acc48 mac8_min | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_min() [2/3]

v8acc48 mac8_min | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mac8_min() [3/3]

v8acc48 mac8_min | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-accumulate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 += z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 += z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 += z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 += z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 += z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 += z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 += z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 += z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_abs() [1/2]

v16acc48 msc16_abs | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*abs(x00)
acc1 -= z10*abs(x10)
acc2 -= z20*abs(x20)
acc3 -= z30*abs(x30)
acc4 -= z40*abs(x40)
acc5 -= z50*abs(x50)
acc6 -= z60*abs(x60)
acc7 -= z70*abs(x70)
acc8 -= z80*abs(x80)
acc9 -= z90*abs(x90)
acc10 -= z100*abs(x100)
acc11 -= z110*abs(x110)
acc12 -= z120*abs(x120)
acc13 -= z130*abs(x130)
acc14 -= z140*abs(x140)
acc15 -= z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_abs() [2/2]

v16acc48 msc16_abs | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 -= z00*abs(x00)
acc1 -= z10*abs(x10)
acc2 -= z20*abs(x20)
acc3 -= z30*abs(x30)
acc4 -= z40*abs(x40)
acc5 -= z50*abs(x50)
acc6 -= z60*abs(x60)
acc7 -= z70*abs(x70)
acc8 -= z80*abs(x80)
acc9 -= z90*abs(x90)
acc10 -= z100*abs(x100)
acc11 -= z110*abs(x110)
acc12 -= z120*abs(x120)
acc13 -= z130*abs(x130)
acc14 -= z140*abs(x140)
acc15 -= z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_max() [1/3]

v16acc48 msc16_max | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00))
acc1 -= z10*(max(x10 , y10))
acc2 -= z20*(max(x20 , y20))
acc3 -= z30*(max(x30 , y30))
acc4 -= z40*(max(x40 , y40))
acc5 -= z50*(max(x50 , y50))
acc6 -= z60*(max(x60 , y60))
acc7 -= z70*(max(x70 , y70))
acc8 -= z80*(max(x80 , y80))
acc9 -= z90*(max(x90 , y90))
acc10 -= z100*(max(x100 , y100))
acc11 -= z110*(max(x110 , y110))
acc12 -= z120*(max(x120 , y120))
acc13 -= z130*(max(x130 , y130))
acc14 -= z140*(max(x140 , y140))
acc15 -= z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_max() [2/3]

v16acc48 msc16_max | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00))
acc1 -= z10*(max(x10 , y10))
acc2 -= z20*(max(x20 , y20))
acc3 -= z30*(max(x30 , y30))
acc4 -= z40*(max(x40 , y40))
acc5 -= z50*(max(x50 , y50))
acc6 -= z60*(max(x60 , y60))
acc7 -= z70*(max(x70 , y70))
acc8 -= z80*(max(x80 , y80))
acc9 -= z90*(max(x90 , y90))
acc10 -= z100*(max(x100 , y100))
acc11 -= z110*(max(x110 , y110))
acc12 -= z120*(max(x120 , y120))
acc13 -= z130*(max(x130 , y130))
acc14 -= z140*(max(x140 , y140))
acc15 -= z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_max() [3/3]

v16acc48 msc16_max | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 -= z00*(max(x00 , y00))
acc1 -= z10*(max(x10 , y10))
acc2 -= z20*(max(x20 , y20))
acc3 -= z30*(max(x30 , y30))
acc4 -= z40*(max(x40 , y40))
acc5 -= z50*(max(x50 , y50))
acc6 -= z60*(max(x60 , y60))
acc7 -= z70*(max(x70 , y70))
acc8 -= z80*(max(x80 , y80))
acc9 -= z90*(max(x90 , y90))
acc10 -= z100*(max(x100 , y100))
acc11 -= z110*(max(x110 , y110))
acc12 -= z120*(max(x120 , y120))
acc13 -= z130*(max(x130 , y130))
acc14 -= z140*(max(x140 , y140))
acc15 -= z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_maxdiff() [1/3]

v16acc48 msc16_maxdiff | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 -= z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 -= z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 -= z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 -= z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 -= z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 -= z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 -= z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 -= z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_maxdiff() [2/3]

v16acc48 msc16_maxdiff | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 -= z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 -= z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 -= z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 -= z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 -= z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 -= z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 -= z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 -= z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_maxdiff() [3/3]

v16acc48 msc16_maxdiff | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 -= z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 -= z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 -= z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 -= z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 -= z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 -= z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 -= z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 -= z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_min() [1/3]

v16acc48 msc16_min | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00))
acc1 -= z10*(min(x10 , y10))
acc2 -= z20*(min(x20 , y20))
acc3 -= z30*(min(x30 , y30))
acc4 -= z40*(min(x40 , y40))
acc5 -= z50*(min(x50 , y50))
acc6 -= z60*(min(x60 , y60))
acc7 -= z70*(min(x70 , y70))
acc8 -= z80*(min(x80 , y80))
acc9 -= z90*(min(x90 , y90))
acc10 -= z100*(min(x100 , y100))
acc11 -= z110*(min(x110 , y110))
acc12 -= z120*(min(x120 , y120))
acc13 -= z130*(min(x130 , y130))
acc14 -= z140*(min(x140 , y140))
acc15 -= z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_min() [2/3]

v16acc48 msc16_min | ( | v16acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00))
acc1 -= z10*(min(x10 , y10))
acc2 -= z20*(min(x20 , y20))
acc3 -= z30*(min(x30 , y30))
acc4 -= z40*(min(x40 , y40))
acc5 -= z50*(min(x50 , y50))
acc6 -= z60*(min(x60 , y60))
acc7 -= z70*(min(x70 , y70))
acc8 -= z80*(min(x80 , y80))
acc9 -= z90*(min(x90 , y90))
acc10 -= z100*(min(x100 , y100))
acc11 -= z110*(min(x110 , y110))
acc12 -= z120*(min(x120 , y120))
acc13 -= z130*(min(x130 , y130))
acc14 -= z140*(min(x140 , y140))
acc15 -= z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc16_min() [3/3]

v16acc48 msc16_min | ( | v16acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 -= z00*(min(x00 , y00))
acc1 -= z10*(min(x10 , y10))
acc2 -= z20*(min(x20 , y20))
acc3 -= z30*(min(x30 , y30))
acc4 -= z40*(min(x40 , y40))
acc5 -= z50*(min(x50 , y50))
acc6 -= z60*(min(x60 , y60))
acc7 -= z70*(min(x70 , y70))
acc8 -= z80*(min(x80 , y80))
acc9 -= z90*(min(x90 , y90))
acc10 -= z100*(min(x100 , y100))
acc11 -= z110*(min(x110 , y110))
acc12 -= z120*(min(x120 , y120))
acc13 -= z130*(min(x130 , y130))
acc14 -= z140*(min(x140 , y140))
acc15 -= z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (16 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_abs() [1/2]

v8acc48 msc8_abs | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*abs(x00) + z01*abs(x01)
acc1 -= z10*abs(x10) + z11*abs(x11)
acc2 -= z20*abs(x20) + z21*abs(x21)
acc3 -= z30*abs(x30) + z31*abs(x31)
acc4 -= z40*abs(x40) + z41*abs(x41)
acc5 -= z50*abs(x50) + z51*abs(x51)
acc6 -= z60*abs(x60) + z61*abs(x61)
acc7 -= z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_abs() [2/2]

v8acc48 msc8_abs | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 -= z00*abs(x00) + z01*abs(x01)
acc1 -= z10*abs(x10) + z11*abs(x11)
acc2 -= z20*abs(x20) + z21*abs(x21)
acc3 -= z30*abs(x30) + z31*abs(x31)
acc4 -= z40*abs(x40) + z41*abs(x41)
acc5 -= z50*abs(x50) + z51*abs(x51)
acc6 -= z60*abs(x60) + z61*abs(x61)
acc7 -= z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_max() [1/3]

v8acc48 msc8_max | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_max() [2/3]

v8acc48 msc8_max | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_max() [3/3]

v8acc48 msc8_max | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 -= z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 -= z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 -= z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 -= z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 -= z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 -= z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 -= z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 -= z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_maxdiff() [1/3]

v8acc48 msc8_maxdiff | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_maxdiff() [2/3]

v8acc48 msc8_maxdiff | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_maxdiff() [3/3]

v8acc48 msc8_maxdiff | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 -= z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 -= z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 -= z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 -= z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 -= z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 -= z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 -= z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 -= z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_min() [1/3]

v8acc48 msc8_min | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_min() [2/3]

v8acc48 msc8_min | ( | v8acc48 | acc,
|  | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ msc8_min() [3/3]

v8acc48 msc8_min | ( | v8acc48 | acc,
|  | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-subtract intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 -= z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 -= z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 -= z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 -= z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 -= z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 -= z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 -= z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 -= z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  acc | Incoming accumulation vector (8 x int48 lanes)
  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_abs() [1/2]

v16acc48 mul16_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = z00*abs(x00)
acc1 = z10*abs(x10)
acc2 = z20*abs(x20)
acc3 = z30*abs(x30)
acc4 = z40*abs(x40)
acc5 = z50*abs(x50)
acc6 = z60*abs(x60)
acc7 = z70*abs(x70)
acc8 = z80*abs(x80)
acc9 = z90*abs(x90)
acc10 = z100*abs(x100)
acc11 = z110*abs(x110)
acc12 = z120*abs(x120)
acc13 = z130*abs(x130)
acc14 = z140*abs(x140)
acc15 = z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_abs() [2/2]

v16acc48 mul16_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = z00*abs(x00)
acc1 = z10*abs(x10)
acc2 = z20*abs(x20)
acc3 = z30*abs(x30)
acc4 = z40*abs(x40)
acc5 = z50*abs(x50)
acc6 = z60*abs(x60)
acc7 = z70*abs(x70)
acc8 = z80*abs(x80)
acc9 = z90*abs(x90)
acc10 = z100*abs(x100)
acc11 = z110*abs(x110)
acc12 = z120*abs(x120)
acc13 = z130*abs(x130)
acc14 = z140*abs(x140)
acc15 = z150*abs(x150)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_max() [1/3]

v16acc48 mul16_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00))
acc1 = z10*(max(x10 , y10))
acc2 = z20*(max(x20 , y20))
acc3 = z30*(max(x30 , y30))
acc4 = z40*(max(x40 , y40))
acc5 = z50*(max(x50 , y50))
acc6 = z60*(max(x60 , y60))
acc7 = z70*(max(x70 , y70))
acc8 = z80*(max(x80 , y80))
acc9 = z90*(max(x90 , y90))
acc10 = z100*(max(x100 , y100))
acc11 = z110*(max(x110 , y110))
acc12 = z120*(max(x120 , y120))
acc13 = z130*(max(x130 , y130))
acc14 = z140*(max(x140 , y140))
acc15 = z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_max() [2/3]

v16acc48 mul16_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00))
acc1 = z10*(max(x10 , y10))
acc2 = z20*(max(x20 , y20))
acc3 = z30*(max(x30 , y30))
acc4 = z40*(max(x40 , y40))
acc5 = z50*(max(x50 , y50))
acc6 = z60*(max(x60 , y60))
acc7 = z70*(max(x70 , y70))
acc8 = z80*(max(x80 , y80))
acc9 = z90*(max(x90 , y90))
acc10 = z100*(max(x100 , y100))
acc11 = z110*(max(x110 , y110))
acc12 = z120*(max(x120 , y120))
acc13 = z130*(max(x130 , y130))
acc14 = z140*(max(x140 , y140))
acc15 = z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_max() [3/3]

v16acc48 mul16_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = z00*(max(x00 , y00))
acc1 = z10*(max(x10 , y10))
acc2 = z20*(max(x20 , y20))
acc3 = z30*(max(x30 , y30))
acc4 = z40*(max(x40 , y40))
acc5 = z50*(max(x50 , y50))
acc6 = z60*(max(x60 , y60))
acc7 = z70*(max(x70 , y70))
acc8 = z80*(max(x80 , y80))
acc9 = z90*(max(x90 , y90))
acc10 = z100*(max(x100 , y100))
acc11 = z110*(max(x110 , y110))
acc12 = z120*(max(x120 , y120))
acc13 = z130*(max(x130 , y130))
acc14 = z140*(max(x140 , y140))
acc15 = z150*(max(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_maxdiff() [1/3]

v16acc48 mul16_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 = z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 = z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 = z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 = z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 = z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 = z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 = z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 = z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_maxdiff() [2/3]

v16acc48 mul16_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 = z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 = z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 = z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 = z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 = z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 = z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 = z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 = z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_maxdiff() [3/3]

v16acc48 mul16_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0)
acc8 = z80*((x80 - y80 > 0) ? (x80 - y80):0)
acc9 = z90*((x90 - y90 > 0) ? (x90 - y90):0)
acc10 = z100*((x100 - y100 > 0) ? (x100 - y100):0)
acc11 = z110*((x110 - y110 > 0) ? (x110 - y110):0)
acc12 = z120*((x120 - y120 > 0) ? (x120 - y120):0)
acc13 = z130*((x130 - y130 > 0) ? (x130 - y130):0)
acc14 = z140*((x140 - y140 > 0) ? (x140 - y140):0)
acc15 = z150*((x150 - y150 > 0) ? (x150 - y150):0)

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_min() [1/3]

v16acc48 mul16_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00))
acc1 = z10*(min(x10 , y10))
acc2 = z20*(min(x20 , y20))
acc3 = z30*(min(x30 , y30))
acc4 = z40*(min(x40 , y40))
acc5 = z50*(min(x50 , y50))
acc6 = z60*(min(x60 , y60))
acc7 = z70*(min(x70 , y70))
acc8 = z80*(min(x80 , y80))
acc9 = z90*(min(x90 , y90))
acc10 = z100*(min(x100 , y100))
acc11 = z110*(min(x110 , y110))
acc12 = z120*(min(x120 , y120))
acc13 = z130*(min(x130 , y130))
acc14 = z140*(min(x140 , y140))
acc15 = z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_min() [2/3]

v16acc48 mul16_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00))
acc1 = z10*(min(x10 , y10))
acc2 = z20*(min(x20 , y20))
acc3 = z30*(min(x30 , y30))
acc4 = z40*(min(x40 , y40))
acc5 = z50*(min(x50 , y50))
acc6 = z60*(min(x60 , y60))
acc7 = z70*(min(x70 , y70))
acc8 = z80*(min(x80 , y80))
acc9 = z90*(min(x90 , y90))
acc10 = z100*(min(x100 , y100))
acc11 = z110*(min(x110 , y110))
acc12 = z120*(min(x120 , y120))
acc13 = z130*(min(x130 , y130))
acc14 = z140*(min(x140 , y140))
acc15 = z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul16_min() [3/3]

v16acc48 mul16_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = z00*(min(x00 , y00))
acc1 = z10*(min(x10 , y10))
acc2 = z20*(min(x20 , y20))
acc3 = z30*(min(x30 , y30))
acc4 = z40*(min(x40 , y40))
acc5 = z50*(min(x50 , y50))
acc6 = z60*(min(x60 , y60))
acc7 = z70*(min(x70 , y70))
acc8 = z80*(min(x80 , y80))
acc9 = z90*(min(x90 , y90))
acc10 = z100*(min(x100 , y100))
acc11 = z110*(min(x110 , y110))
acc12 = z120*(min(x120 , y120))
acc13 = z130*(min(x130 , y130))
acc14 = z140*(min(x140 , y140))
acc15 = z150*(min(x150 , y150))

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_abs() [1/2]

v8acc48 mul8_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = z00*abs(x00) + z01*abs(x01)
acc1 = z10*abs(x10) + z11*abs(x11)
acc2 = z20*abs(x20) + z21*abs(x21)
acc3 = z30*abs(x30) + z31*abs(x31)
acc4 = z40*abs(x40) + z41*abs(x41)
acc5 = z50*abs(x50) + z51*abs(x51)
acc6 = z60*abs(x60) + z61*abs(x61)
acc7 = z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_abs() [2/2]

v8acc48 mul8_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = z00*abs(x00) + z01*abs(x01)
acc1 = z10*abs(x10) + z11*abs(x11)
acc2 = z20*abs(x20) + z21*abs(x21)
acc3 = z30*abs(x30) + z31*abs(x31)
acc4 = z40*abs(x40) + z41*abs(x41)
acc5 = z50*abs(x50) + z51*abs(x51)
acc6 = z60*abs(x60) + z61*abs(x61)
acc7 = z70*abs(x70) + z71*abs(x71)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_max() [1/3]

v8acc48 mul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_max() [2/3]

v8acc48 mul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_max() [3/3]

v8acc48 mul8_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = z00*(max(x00 , y00)) + z01*(max(x01 , y01))
acc1 = z10*(max(x10 , y10)) + z11*(max(x11 , y11))
acc2 = z20*(max(x20 , y20)) + z21*(max(x21 , y21))
acc3 = z30*(max(x30 , y30)) + z31*(max(x31 , y31))
acc4 = z40*(max(x40 , y40)) + z41*(max(x41 , y41))
acc5 = z50*(max(x50 , y50)) + z51*(max(x51 , y51))
acc6 = z60*(max(x60 , y60)) + z61*(max(x61 , y61))
acc7 = z70*(max(x70 , y70)) + z71*(max(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_maxdiff() [1/3]

v8acc48 mul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_maxdiff() [2/3]

v8acc48 mul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_maxdiff() [3/3]

v8acc48 mul8_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0)
acc1 = z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0)
acc2 = z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0)
acc3 = z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0)
acc4 = z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0)
acc5 = z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0)
acc6 = z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0)
acc7 = z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0)

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_min() [1/3]

v8acc48 mul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_min() [2/3]

v8acc48 mul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ mul8_min() [3/3]

v8acc48 mul8_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = z00*(min(x00 , y00)) + z01*(min(x01 , y01))
acc1 = z10*(min(x10 , y10)) + z11*(min(x11 , y11))
acc2 = z20*(min(x20 , y20)) + z21*(min(x21 , y21))
acc3 = z30*(min(x30 , y30)) + z31*(min(x31 , y31))
acc4 = z40*(min(x40 , y40)) + z41*(min(x41 , y41))
acc5 = z50*(min(x50 , y50)) + z51*(min(x51 , y51))
acc6 = z60*(min(x60 , y60)) + z61*(min(x61 , y61))
acc7 = z70*(min(x70 , y70)) + z71*(min(x71 , y71))

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_abs() [1/2]

v16acc48 negmul16_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*abs(x00) )
acc1 = -( z10*abs(x10) )
acc2 = -( z20*abs(x20) )
acc3 = -( z30*abs(x30) )
acc4 = -( z40*abs(x40) )
acc5 = -( z50*abs(x50) )
acc6 = -( z60*abs(x60) )
acc7 = -( z70*abs(x70) )
acc8 = -( z80*abs(x80) )
acc9 = -( z90*abs(x90) )
acc10 = -( z100*abs(x100) )
acc11 = -( z110*abs(x110) )
acc12 = -( z120*abs(x120) )
acc13 = -( z130*abs(x130) )
acc14 = -( z140*abs(x140) )
acc15 = -( z150*abs(x150) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_abs() [2/2]

v16acc48 negmul16_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = -( z00*abs(x00) )
acc1 = -( z10*abs(x10) )
acc2 = -( z20*abs(x20) )
acc3 = -( z30*abs(x30) )
acc4 = -( z40*abs(x40) )
acc5 = -( z50*abs(x50) )
acc6 = -( z60*abs(x60) )
acc7 = -( z70*abs(x70) )
acc8 = -( z80*abs(x80) )
acc9 = -( z90*abs(x90) )
acc10 = -( z100*abs(x100) )
acc11 = -( z110*abs(x110) )
acc12 = -( z120*abs(x120) )
acc13 = -( z130*abs(x130) )
acc14 = -( z140*abs(x140) )
acc15 = -( z150*abs(x150) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_max() [1/3]

v16acc48 negmul16_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) )
acc1 = -( z10*(max(x10 , y10)) )
acc2 = -( z20*(max(x20 , y20)) )
acc3 = -( z30*(max(x30 , y30)) )
acc4 = -( z40*(max(x40 , y40)) )
acc5 = -( z50*(max(x50 , y50)) )
acc6 = -( z60*(max(x60 , y60)) )
acc7 = -( z70*(max(x70 , y70)) )
acc8 = -( z80*(max(x80 , y80)) )
acc9 = -( z90*(max(x90 , y90)) )
acc10 = -( z100*(max(x100 , y100)) )
acc11 = -( z110*(max(x110 , y110)) )
acc12 = -( z120*(max(x120 , y120)) )
acc13 = -( z130*(max(x130 , y130)) )
acc14 = -( z140*(max(x140 , y140)) )
acc15 = -( z150*(max(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_max() [2/3]

v16acc48 negmul16_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) )
acc1 = -( z10*(max(x10 , y10)) )
acc2 = -( z20*(max(x20 , y20)) )
acc3 = -( z30*(max(x30 , y30)) )
acc4 = -( z40*(max(x40 , y40)) )
acc5 = -( z50*(max(x50 , y50)) )
acc6 = -( z60*(max(x60 , y60)) )
acc7 = -( z70*(max(x70 , y70)) )
acc8 = -( z80*(max(x80 , y80)) )
acc9 = -( z90*(max(x90 , y90)) )
acc10 = -( z100*(max(x100 , y100)) )
acc11 = -( z110*(max(x110 , y110)) )
acc12 = -( z120*(max(x120 , y120)) )
acc13 = -( z130*(max(x130 , y130)) )
acc14 = -( z140*(max(x140 , y140)) )
acc15 = -( z150*(max(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_max() [3/3]

v16acc48 negmul16_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = -( z00*(max(x00 , y00)) )
acc1 = -( z10*(max(x10 , y10)) )
acc2 = -( z20*(max(x20 , y20)) )
acc3 = -( z30*(max(x30 , y30)) )
acc4 = -( z40*(max(x40 , y40)) )
acc5 = -( z50*(max(x50 , y50)) )
acc6 = -( z60*(max(x60 , y60)) )
acc7 = -( z70*(max(x70 , y70)) )
acc8 = -( z80*(max(x80 , y80)) )
acc9 = -( z90*(max(x90 , y90)) )
acc10 = -( z100*(max(x100 , y100)) )
acc11 = -( z110*(max(x110 , y110)) )
acc12 = -( z120*(max(x120 , y120)) )
acc13 = -( z130*(max(x130 , y130)) )
acc14 = -( z140*(max(x140 , y140)) )
acc15 = -( z150*(max(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_maxdiff() [1/3]

v16acc48 negmul16_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) )
acc8 = -( z80*((x80 - y80 > 0) ? (x80 - y80):0) )
acc9 = -( z90*((x90 - y90 > 0) ? (x90 - y90):0) )
acc10 = -( z100*((x100 - y100 > 0) ? (x100 - y100):0) )
acc11 = -( z110*((x110 - y110 > 0) ? (x110 - y110):0) )
acc12 = -( z120*((x120 - y120 > 0) ? (x120 - y120):0) )
acc13 = -( z130*((x130 - y130 > 0) ? (x130 - y130):0) )
acc14 = -( z140*((x140 - y140 > 0) ? (x140 - y140):0) )
acc15 = -( z150*((x150 - y150 > 0) ? (x150 - y150):0) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_maxdiff() [2/3]

v16acc48 negmul16_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) )
acc8 = -( z80*((x80 - y80 > 0) ? (x80 - y80):0) )
acc9 = -( z90*((x90 - y90 > 0) ? (x90 - y90):0) )
acc10 = -( z100*((x100 - y100 > 0) ? (x100 - y100):0) )
acc11 = -( z110*((x110 - y110 > 0) ? (x110 - y110):0) )
acc12 = -( z120*((x120 - y120 > 0) ? (x120 - y120):0) )
acc13 = -( z130*((x130 - y130 > 0) ? (x130 - y130):0) )
acc14 = -( z140*((x140 - y140 > 0) ? (x140 - y140):0) )
acc15 = -( z150*((x150 - y150 > 0) ? (x150 - y150):0) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_maxdiff() [3/3]

v16acc48 negmul16_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) )
acc8 = -( z80*((x80 - y80 > 0) ? (x80 - y80):0) )
acc9 = -( z90*((x90 - y90 > 0) ? (x90 - y90):0) )
acc10 = -( z100*((x100 - y100 > 0) ? (x100 - y100):0) )
acc11 = -( z110*((x110 - y110 > 0) ? (x110 - y110):0) )
acc12 = -( z120*((x120 - y120 > 0) ? (x120 - y120):0) )
acc13 = -( z130*((x130 - y130 > 0) ? (x130 - y130):0) )
acc14 = -( z140*((x140 - y140 > 0) ? (x140 - y140):0) )
acc15 = -( z150*((x150 - y150 > 0) ? (x150 - y150):0) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_min() [1/3]

v16acc48 negmul16_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) )
acc1 = -( z10*(min(x10 , y10)) )
acc2 = -( z20*(min(x20 , y20)) )
acc3 = -( z30*(min(x30 , y30)) )
acc4 = -( z40*(min(x40 , y40)) )
acc5 = -( z50*(min(x50 , y50)) )
acc6 = -( z60*(min(x60 , y60)) )
acc7 = -( z70*(min(x70 , y70)) )
acc8 = -( z80*(min(x80 , y80)) )
acc9 = -( z90*(min(x90 , y90)) )
acc10 = -( z100*(min(x100 , y100)) )
acc11 = -( z110*(min(x110 , y110)) )
acc12 = -( z120*(min(x120 , y120)) )
acc13 = -( z130*(min(x130 , y130)) )
acc14 = -( z140*(min(x140 , y140)) )
acc15 = -( z150*(min(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_min() [2/3]

v16acc48 negmul16_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) )
acc1 = -( z10*(min(x10 , y10)) )
acc2 = -( z20*(min(x20 , y20)) )
acc3 = -( z30*(min(x30 , y30)) )
acc4 = -( z40*(min(x40 , y40)) )
acc5 = -( z50*(min(x50 , y50)) )
acc6 = -( z60*(min(x60 , y60)) )
acc7 = -( z70*(min(x70 , y70)) )
acc8 = -( z80*(min(x80 , y80)) )
acc9 = -( z90*(min(x90 , y90)) )
acc10 = -( z100*(min(x100 , y100)) )
acc11 = -( z110*(min(x110 , y110)) )
acc12 = -( z120*(min(x120 , y120)) )
acc13 = -( z130*(min(x130 , y130)) )
acc14 = -( z140*(min(x140 , y140)) )
acc15 = -( z150*(min(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul16_min() [3/3]

v16acc48 negmul16_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | unsigned int | xoffsets_hi,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | unsigned int | zoffsets_hi
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = -( z00*(min(x00 , y00)) )
acc1 = -( z10*(min(x10 , y10)) )
acc2 = -( z20*(min(x20 , y20)) )
acc3 = -( z30*(min(x30 , y30)) )
acc4 = -( z40*(min(x40 , y40)) )
acc5 = -( z50*(min(x50 , y50)) )
acc6 = -( z60*(min(x60 , y60)) )
acc7 = -( z70*(min(x70 , y70)) )
acc8 = -( z80*(min(x80 , y80)) )
acc9 = -( z90*(min(x90 , y90)) )
acc10 = -( z100*(min(x100 , y100)) )
acc11 = -( z110*(min(x110 , y110)) )
acc12 = -( z120*(min(x120 , y120)) )
acc13 = -( z130*(min(x130 , y130)) )
acc14 = -( z140*(min(x140 , y140)) )
acc15 = -( z150*(min(x150 , y150)) )

Returns
  Returned accumulation vector (16 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane. LSB apply to first lane
  xoffsets_hi | 4b offset for each lane. LSB apply to 8th lane
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zoffsets_hi | 4b offset for each lane, applied to input from Z buffer. LSB apply to 8th lane

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_abs() [1/2]

v8acc48 negmul8_abs | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*abs(x00) + z01*abs(x01) )
acc1 = -( z10*abs(x10) + z11*abs(x11) )
acc2 = -( z20*abs(x20) + z21*abs(x21) )
acc3 = -( z30*abs(x30) + z31*abs(x31) )
acc4 = -( z40*abs(x40) + z41*abs(x41) )
acc5 = -( z50*abs(x50) + z51*abs(x51) )
acc6 = -( z60*abs(x60) + z61*abs(x61) )
acc7 = -( z70*abs(x70) + z71*abs(x71) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_abs() [2/2]

v8acc48 negmul8_abs | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the absolute value in the selected lanes from the input buffer .

acc0 = -( z00*abs(x00) + z01*abs(x01) )
acc1 = -( z10*abs(x10) + z11*abs(x11) )
acc2 = -( z20*abs(x20) + z21*abs(x21) )
acc3 = -( z30*abs(x30) + z31*abs(x31) )
acc4 = -( z40*abs(x40) + z41*abs(x41) )
acc5 = -( z50*abs(x50) + z51*abs(x51) )
acc6 = -( z60*abs(x60) + z61*abs(x61) )
acc7 = -( z70*abs(x70) + z71*abs(x71) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to the x buffer. LSB apply to first lane
  xstep | Step between each column for selection in the xbuffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_max() [1/3]

v8acc48 negmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_max() [2/3]

v8acc48 negmul8_max | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_max() [3/3]

v8acc48 negmul8_max | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum between the selected lanes from the input buffer .

acc0 = -( z00*(max(x00 , y00)) + z01*(max(x01 , y01)) )
acc1 = -( z10*(max(x10 , y10)) + z11*(max(x11 , y11)) )
acc2 = -( z20*(max(x20 , y20)) + z21*(max(x21 , y21)) )
acc3 = -( z30*(max(x30 , y30)) + z31*(max(x31 , y31)) )
acc4 = -( z40*(max(x40 , y40)) + z41*(max(x41 , y41)) )
acc5 = -( z50*(max(x50 , y50)) + z51*(max(x51 , y51)) )
acc6 = -( z60*(max(x60 , y60)) + z61*(max(x61 , y61)) )
acc7 = -( z70*(max(x70 , y70)) + z71*(max(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_maxdiff() [1/3]

v8acc48 negmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_maxdiff() [2/3]

v8acc48 negmul8_maxdiff | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_maxdiff() [3/3]

v8acc48 negmul8_maxdiff | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the maximum difference between the selected lanes from the input buffer .

acc0 = -( z00*((x00 - y00 > 0) ? (x00 - y00):0) + z01*((x01 - y01 > 0) ? (x01 - y01):0) )
acc1 = -( z10*((x10 - y10 > 0) ? (x10 - y10):0) + z11*((x11 - y11 > 0) ? (x11 - y11):0) )
acc2 = -( z20*((x20 - y20 > 0) ? (x20 - y20):0) + z21*((x21 - y21 > 0) ? (x21 - y21):0) )
acc3 = -( z30*((x30 - y30 > 0) ? (x30 - y30):0) + z31*((x31 - y31 > 0) ? (x31 - y31):0) )
acc4 = -( z40*((x40 - y40 > 0) ? (x40 - y40):0) + z41*((x41 - y41 > 0) ? (x41 - y41):0) )
acc5 = -( z50*((x50 - y50 > 0) ? (x50 - y50):0) + z51*((x51 - y51 > 0) ? (x51 - y51):0) )
acc6 = -( z60*((x60 - y60 > 0) ? (x60 - y60):0) + z61*((x61 - y61 > 0) ? (x61 - y61):0) )
acc7 = -( z70*((x70 - y70 > 0) ? (x70 - y70):0) + z71*((x71 - y71 > 0) ? (x71 - y71):0) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_min() [1/3]

v8acc48 negmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_min() [2/3]

v8acc48 negmul8_min | ( | v32int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | v32int16 | ybuff,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer using small X input buffer.

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 32 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ybuff | Right input buffer of 32 elements of type int16
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.

## ◆ negmul8_min() [3/3]

v8acc48 negmul8_min | ( | v64int16 | xbuff,
|  | int | xstart,
|  | unsigned int | xoffsets,
|  | int | xstep,
|  | int | ystart,
|  | v8int32 | zbuff,
|  | int | zstart,
|  | unsigned int | zoffsets,
|  | int | zstep
| ) |  |

Multiply-negate intrinsic function after computing the minimum between the selected lanes from the input buffer .

acc0 = -( z00*(min(x00 , y00)) + z01*(min(x01 , y01)) )
acc1 = -( z10*(min(x10 , y10)) + z11*(min(x11 , y11)) )
acc2 = -( z20*(min(x20 , y20)) + z21*(min(x21 , y21)) )
acc3 = -( z30*(min(x30 , y30)) + z31*(min(x31 , y31)) )
acc4 = -( z40*(min(x40 , y40)) + z41*(min(x41 , y41)) )
acc5 = -( z50*(min(x50 , y50)) + z51*(min(x51 , y51)) )
acc6 = -( z60*(min(x60 , y60)) + z61*(min(x61 , y61)) )
acc7 = -( z70*(min(x70 , y70)) + z71*(min(x71 , y71)) )

Returns
  Returned accumulation vector (8 x int48 lanes)

Parameters

  xbuff | Input buffer of 64 elements of type int16
  xstart | Starting position offset applied to all lanes of input from X buffer.
  xoffsets | 4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
  xstep | Step between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
  ystart | Starting position offset applied to all lanes for input from Y buffer.
  zbuff | Input buffer of 8 elements of type int32
  zstart | Starting position offset applied to all lanes for input from Z buffer. This must be a compile time constant. Only the 4 LSB of the argument are used.
  zoffsets | 4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
  zstep | Step between each column for selection in the zbuffer.

Note
  - For more information on how data selection works from the buffers go here. The data buffer and coefficient buffer in this intrinsic use the general scheme.
  - Parameter 'zstart' must be a compile time constant.