/* IA-32 SSE version of peakval * Copyright 2004 Phil Karn, KA9Q */ #include <stdlib.h> #include "fec.h" int peakval_sse_assist(signed short *,int); int peakval_sse(signed short *b,int cnt){ int peak = 0; int a; while(((int)b & 7) != 0 && cnt != 0){ a = abs(*b); if(a > peak) peak = a; b++; cnt--; } a = peakval_sse_assist(b,cnt); if(a > peak) peak = a; b += cnt & ~3; cnt &= 3; while(cnt != 0){ a = abs(*b); if(a > peak) peak = a; b++; cnt--; } return peak; }