/* IA-32 SSE version of peakval * Copyright 2004 Phil Karn, KA9Q */ #include #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; }