AI Engine Intrinsics User Guide  (AIE) v(2024.1)
 All Data Structures Namespaces Functions Variables Typedefs Groups Pages
16 bit Real x 32 bit Real

Overview

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

Functions

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_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_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_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_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_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_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 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 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_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_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_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_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_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_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 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 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_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_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_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_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_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_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 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 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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 
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_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_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_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_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_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_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 .
 
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.
 

Function Documentation

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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int80 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (16 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
accIncoming accumulation vector (8 x int48 lanes)
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane. LSB apply to first lane
xoffsets_hi4b offset for each lane. LSB apply to 8th lane
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zoffsets_hi4b 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to the x buffer. LSB apply to first lane
xstepStep between each column for selection in the xbuffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 64 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.
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
xbuffInput buffer of 32 elements of type int16
xstartStarting position offset applied to all lanes of input from X buffer.
xoffsets4b offset for each lane, applied to both x and y buffers. LSB apply to first lane
xstepStep between each column for selection in the x and y buffers. Ystep is symmetric to xstep (ystep advances by -xstep).
ybuffRight input buffer of 32 elements of type int16
ystartStarting position offset applied to all lanes for input from Y buffer.
zbuffInput buffer of 8 elements of type int32
zstartStarting 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.
zoffsets4b offset for each lane, applied to input from Z buffer. LSB apply to first lane
zstepStep 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.