Als letzter Schritt verbleibt das Ersetzen der bequemen, aber langsamen phaddd-Befehle durch schnellere Alternativen. Eine Kaskade von drei horizontalen Additionen (wie in Bild 4 rot umrandet) kann durch eine längere und trotzdem schnellere Befehlsfolge (wie in Bild 5 illustriert) ersetzt werden. Die verwendeten Befehle sind in [1] beschrieben. Mit diesem letzten Optimierungsschritt gelingt es, die Berechnungszeit für 640 Werte eines FIR-Filters 63. Ordnung auf ca. 13 680 CPU-Zyklen zu reduzieren. Die noch bestehende Lücke zum theoretischen Limit von 10 240 Zyklen ist zum Großteil algorithmisch bedingt (das zur Optimierung der Speicherzugriffe eingeführte Padding der Filterkoeffizienten erzwingt zusätzliche Berechnungen, die nicht zum Ergebnis beitragen). Hinzu kommt ein gewisser Aufwand für Akkumulation, Skalieren und Abspeichern der Ergebnisse. Die Optimierung eines FIR-Filters für die Atom-Architektur wurde hier an einem 16-bit-Fixpoint-Filter 63. Ordnung beschrieben. Die Leistung des Filters wurde mehr als verfünffacht und bis auf wenige Prozent an das theoretisch mögliche Maximum herangeführt. Gelungen ist das durch Ausrollen der Programmschleifen, konsequenten Einsatz von SSE-Instruktionen, Berücksichtigung der Speicher-Alignment-Anforderung sowie geschickte Auswahl der schnellsten (statt der naheliegendsten) SSEBefehle.
Die hier beschriebene Implementierung ist mit geringen Änderungen auf andere FIR-Filter übertragbar. Die Anzahl der berechneten Werte pro Funktionsaufruf kann von 640 auf beliebige Vielfache von 8 angepasst werden. Die Vorteile der SSE-Instruktionen kommen dabei um so mehr zum Tragen, je höher die Ordung des Filters und die Anzahl der berechneten Werte sind. Floatingpoint-basierende FIR-Filter lassen sich nach demselben Rezept optimieren, wobei der SSE-Befehlssatz hier vierfache Parallelität erlaubt. Eine häufig verwendete Variante von FIRFiltern sind Multi-Raten- Filter. Hier wird mittels Interpolation und Dezimation zusätzlich die Datenrate umgerechnet, so dass z.B. aus 640 Eingangswerten 480 Ergebniswerte berechnet werden. Auch Multi-Raten- Filter lassen sich mit den hier beschriebenen Schritten optimal der Atom-Architektur anpassen.