diff --git a/libavcodec/fft.c b/libavcodec/fft.c
index bc514724c0a3ed9968d5989190d39a62b69ef7c3..7716dd2e5eeb7fdefb0351d7546fa8fce98f3991 100644
--- a/libavcodec/fft.c
+++ b/libavcodec/fft.c
@@ -68,17 +68,13 @@ int ff_fft_init(FFTContext *s, int nbits, int inverse)
             if (has_vectors & MM_3DNOWEXT)
                 s->imdct_calc = ff_imdct_calc_3dn2;
             if (has_vectors & MM_3DNOWEXT)
-                /* 3DNowEx for Athlon(XP) */
+                /* 3DNowEx for K7/K8 */
                 s->fft_calc = ff_fft_calc_3dn2;
             else if (has_vectors & MM_3DNOW)
                 /* 3DNow! for K6-2/3 */
                 s->fft_calc = ff_fft_calc_3dn;
-            if (has_vectors & MM_SSE2)
-                /* SSE for P4/K8 */
-                s->fft_calc = ff_fft_calc_sse;
-            else if ((has_vectors & MM_SSE) &&
-                     s->fft_calc == ff_fft_calc_c)
-                /* SSE for P3 */
+            else if (has_vectors & MM_SSE)
+                /* SSE for P3/P4 */
                 s->fft_calc = ff_fft_calc_sse;
 #else /* HAVE_MMX */
             if (has_vectors & MM_ALTIVEC)