xref: /aosp_15_r20/external/fec/dotprod.h (revision 638691a093b4f9473cd6ee8f3e0139deef159a86)
1*638691a0SAndroid Build Coastguard Worker /* Internal definitions for dotproduct function */
2*638691a0SAndroid Build Coastguard Worker 
3*638691a0SAndroid Build Coastguard Worker struct dotprod {
4*638691a0SAndroid Build Coastguard Worker   int len; /* Number of coefficients */
5*638691a0SAndroid Build Coastguard Worker 
6*638691a0SAndroid Build Coastguard Worker   /* On a MMX or SSE machine, these hold 4 copies of the coefficients,
7*638691a0SAndroid Build Coastguard Worker    * preshifted by 0,1,2,3 words to meet all possible input data
8*638691a0SAndroid Build Coastguard Worker    * alignments (see Intel ap559 on MMX dot products).
9*638691a0SAndroid Build Coastguard Worker    *
10*638691a0SAndroid Build Coastguard Worker    * SSE2 is similar, but with 8 words at a time
11*638691a0SAndroid Build Coastguard Worker    *
12*638691a0SAndroid Build Coastguard Worker    * On a non-MMX machine, only one copy is present
13*638691a0SAndroid Build Coastguard Worker    */
14*638691a0SAndroid Build Coastguard Worker   signed short *coeffs[8];
15*638691a0SAndroid Build Coastguard Worker };
16