diff --git a/libavcodec/msmpeg4.c b/libavcodec/msmpeg4.c
index e20f9b251affca6e95c76e034ae77e0db1882225..c4ef22e74c044309a8c466b1469f4539154444c5 100644
--- a/libavcodec/msmpeg4.c
+++ b/libavcodec/msmpeg4.c
@@ -31,7 +31,7 @@
 #include "dsputil.h"
 #include "mpegvideo.h"
 #include "msmpeg4.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "h263.h"
 #include "mpeg4video.h"
 #include "msmpeg4data.h"
diff --git a/libavcodec/x86/ac3dsp_mmx.c b/libavcodec/x86/ac3dsp_mmx.c
index 0ac8685c6d7cf9d7068a14e3b62c133d8d85a57d..f3db67a84f4284a3e45051acf9c7d8f0b0d6d7c0 100644
--- a/libavcodec/x86/ac3dsp_mmx.c
+++ b/libavcodec/x86/ac3dsp_mmx.c
@@ -19,7 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "dsputil_mmx.h"
 #include "libavcodec/ac3dsp.h"
 
diff --git a/libavcodec/x86/cabac.h b/libavcodec/x86/cabac.h
index 02dbc54db7ea2236e2cb6cec874b45ddc192d0c8..389f155745ecfbad69b198b77b3ad1f72a42f0b6 100644
--- a/libavcodec/x86/cabac.h
+++ b/libavcodec/x86/cabac.h
@@ -23,7 +23,7 @@
 
 #include "libavcodec/cabac.h"
 #include "libavutil/attributes.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/internal.h"
 #include "config.h"
 
diff --git a/libavcodec/x86/cavsdsp_mmx.c b/libavcodec/x86/cavsdsp_mmx.c
index 4ed7d8e598d935b658be25ed9680a364ec541c39..e94003956f4f2d1e1db5b3508de064c1448fa9f6 100644
--- a/libavcodec/x86/cavsdsp_mmx.c
+++ b/libavcodec/x86/cavsdsp_mmx.c
@@ -24,7 +24,7 @@
 
 #include "libavutil/common.h"
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/cavsdsp.h"
 #include "dsputil_mmx.h"
diff --git a/libavcodec/x86/dnxhd_mmx.c b/libavcodec/x86/dnxhd_mmx.c
index 54293aa2808b400d08be5faeac975aa03f660383..12fe3ae55fcd107d39e6ee155a11039768c5da18 100644
--- a/libavcodec/x86/dnxhd_mmx.c
+++ b/libavcodec/x86/dnxhd_mmx.c
@@ -21,7 +21,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dnxhdenc.h"
 
 #if HAVE_INLINE_ASM
diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index f13e920bed306f187148f2c70b1208f012d0d709..93f9db8299a0a23b447622d9a1d7b9e03a64472e 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -23,7 +23,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/h264dsp.h"
 #include "libavcodec/mpegvideo.h"
diff --git a/libavcodec/x86/dsputil_mmx.h b/libavcodec/x86/dsputil_mmx.h
index f1db78d5c400c72c68524221be7447075e19febd..316c384d1aded3fd49ea04f6252ff77c1e22928e 100644
--- a/libavcodec/x86/dsputil_mmx.h
+++ b/libavcodec/x86/dsputil_mmx.h
@@ -24,7 +24,7 @@
 
 #include <stdint.h>
 #include "libavcodec/dsputil.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 
 typedef struct { uint64_t a, b; } xmm_reg;
 
diff --git a/libavcodec/x86/dsputilenc_mmx.c b/libavcodec/x86/dsputilenc_mmx.c
index 0ac4d2c10d93999024e1b39b2e72e2eba6124a73..c0ef0bac3e92ceab9888fba13efc329313c24af2 100644
--- a/libavcodec/x86/dsputilenc_mmx.c
+++ b/libavcodec/x86/dsputilenc_mmx.c
@@ -23,7 +23,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mpegvideo.h"
 #include "libavcodec/mathops.h"
diff --git a/libavcodec/x86/fdct_mmx.c b/libavcodec/x86/fdct_mmx.c
index 3614fd151aaef81022d6d93305ff3a4dfc368b0c..f9bd3f25086625e54658e0a1db23c8646c54750a 100644
--- a/libavcodec/x86/fdct_mmx.c
+++ b/libavcodec/x86/fdct_mmx.c
@@ -31,7 +31,7 @@
  */
 
 #include "libavutil/common.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 
 #if HAVE_INLINE_ASM
diff --git a/libavcodec/x86/fmtconvert_mmx.c b/libavcodec/x86/fmtconvert_mmx.c
index fbdc5262b90bbae3425c64f42f32ce0663acd275..6f3d14aedc62c4ad58ca000e5942d4b3fdabcf3a 100644
--- a/libavcodec/x86/fmtconvert_mmx.c
+++ b/libavcodec/x86/fmtconvert_mmx.c
@@ -23,7 +23,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/fmtconvert.h"
 #include "libavcodec/dsputil.h"
 
diff --git a/libavcodec/x86/h264dsp_mmx.c b/libavcodec/x86/h264dsp_mmx.c
index 0612ffbb8b3800ea2812469aa6e406e3c7d11910..f24f751fb39aac5fe48bb4fe5e6e9c362544003b 100644
--- a/libavcodec/x86/h264dsp_mmx.c
+++ b/libavcodec/x86/h264dsp_mmx.c
@@ -19,7 +19,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/h264dsp.h"
 #include "dsputil_mmx.h"
 
diff --git a/libavcodec/x86/idct_sse2_xvid.c b/libavcodec/x86/idct_sse2_xvid.c
index 8249e97ccf38a05c6e0ce484e66f4249bc94dd3f..b58db79a5a1ba2602619dee11431351d757ae8a1 100644
--- a/libavcodec/x86/idct_sse2_xvid.c
+++ b/libavcodec/x86/idct_sse2_xvid.c
@@ -39,7 +39,7 @@
  */
 
 #include "libavcodec/dsputil.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "idct_xvid.h"
 #include "dsputil_mmx.h"
 
diff --git a/libavcodec/x86/lpc_mmx.c b/libavcodec/x86/lpc_mmx.c
index 27bebe856a6d7d9a6adb38aa56c4b3235e251dc5..609f4e5cd20425e79a15236c1ac54cf8e9817b47 100644
--- a/libavcodec/x86/lpc_mmx.c
+++ b/libavcodec/x86/lpc_mmx.c
@@ -19,7 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 #include "libavcodec/lpc.h"
 
diff --git a/libavcodec/x86/mlpdsp.c b/libavcodec/x86/mlpdsp.c
index 400855d7c411083a7b0ffa8617c169d6d15c36c2..16e38c3313a0cfc495844b35c18bd98d8ce0dc96 100644
--- a/libavcodec/x86/mlpdsp.c
+++ b/libavcodec/x86/mlpdsp.c
@@ -19,7 +19,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mlp.h"
 
diff --git a/libavcodec/x86/motion_est_mmx.c b/libavcodec/x86/motion_est_mmx.c
index 68b1633a47dd579552cd7f3f9bfda0b2d3401181..c3136eb1fed52aed9267f2a13c569c1457bb6da0 100644
--- a/libavcodec/x86/motion_est_mmx.c
+++ b/libavcodec/x86/motion_est_mmx.c
@@ -22,7 +22,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "dsputil_mmx.h"
 
diff --git a/libavcodec/x86/mpegaudiodec_mmx.c b/libavcodec/x86/mpegaudiodec_mmx.c
index 88a347796cdc60607518869766eb0e0552641af7..701ae75138095aa025271779b28691b8fdf1cc58 100644
--- a/libavcodec/x86/mpegaudiodec_mmx.c
+++ b/libavcodec/x86/mpegaudiodec_mmx.c
@@ -20,7 +20,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mpegaudiodsp.h"
 
diff --git a/libavcodec/x86/mpegvideo_mmx.c b/libavcodec/x86/mpegvideo_mmx.c
index 85f686634263418c22b163b2ae608e49ad4186e3..46ed30a76de90cc363b1cb2dbbb11fb0a63e0dc8 100644
--- a/libavcodec/x86/mpegvideo_mmx.c
+++ b/libavcodec/x86/mpegvideo_mmx.c
@@ -23,7 +23,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/avcodec.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/mpegvideo.h"
diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c
index 7284a9beafb850dcc4a86c38fe7d8bc66d2612ff..b07ad89f0ed0f6f085d096c7039bc29d7513f1bd 100644
--- a/libavcodec/x86/rv34dsp_init.c
+++ b/libavcodec/x86/rv34dsp_init.c
@@ -20,7 +20,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/rv34dsp.h"
 
diff --git a/libavcodec/x86/snowdsp_mmx.c b/libavcodec/x86/snowdsp_mmx.c
index 770cc1cc73abe11838399050cb6fb79ed60fee99..fb190d8d8df759f015133699c4130c8c1ce8802b 100644
--- a/libavcodec/x86/snowdsp_mmx.c
+++ b/libavcodec/x86/snowdsp_mmx.c
@@ -20,7 +20,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/avcodec.h"
 #include "libavcodec/snow.h"
 #include "libavcodec/dwt.h"
diff --git a/libavcodec/x86/vc1dsp_mmx.c b/libavcodec/x86/vc1dsp_mmx.c
index aae08c23641bb80e8ee0d2d9e281b20fff743db7..9200798310de66d5141d44b5904683fd2e39de1f 100644
--- a/libavcodec/x86/vc1dsp_mmx.c
+++ b/libavcodec/x86/vc1dsp_mmx.c
@@ -25,7 +25,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "dsputil_mmx.h"
 #include "libavcodec/vc1dsp.h"
diff --git a/libavcodec/x86/vp56dsp_init.c b/libavcodec/x86/vp56dsp_init.c
index 69c197e5205313b726c91bf692bccbe54e3536f2..aa5f5e5d4fb7156f20ebbdb1d7664cf83b58b9a7 100644
--- a/libavcodec/x86/vp56dsp_init.c
+++ b/libavcodec/x86/vp56dsp_init.c
@@ -21,7 +21,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/dsputil.h"
 #include "libavcodec/vp56dsp.h"
 
diff --git a/libavcodec/x86/vp8dsp-init.c b/libavcodec/x86/vp8dsp-init.c
index 64dd8ceadfb7a98531b7d69efb6845cb7e5f57f7..4568a3864cebb61d27c043f18fe5895a869829dc 100644
--- a/libavcodec/x86/vp8dsp-init.c
+++ b/libavcodec/x86/vp8dsp-init.c
@@ -21,7 +21,7 @@
  */
 
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/vp8dsp.h"
 
 #if HAVE_YASM
diff --git a/libavfilter/x86/gradfun.c b/libavfilter/x86/gradfun.c
index b45256d01180775c5d8e8fc07faea2da16d5c7c0..4cd481c05f3f29c7bddd35b22d5bb520c161edb1 100644
--- a/libavfilter/x86/gradfun.c
+++ b/libavfilter/x86/gradfun.c
@@ -20,7 +20,7 @@
 
 #include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavfilter/gradfun.h"
 
 #if HAVE_INLINE_ASM
diff --git a/libavfilter/x86/yadif.c b/libavfilter/x86/yadif.c
index 81b536acda48dee480016280bdcf547c220d8fa9..ee3a016bd0e71dda4c61964ec830867cd62359f3 100644
--- a/libavfilter/x86/yadif.c
+++ b/libavfilter/x86/yadif.c
@@ -20,7 +20,7 @@
 
 #include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavcodec/x86/dsputil_mmx.h"
 #include "libavfilter/yadif.h"
 
diff --git a/libavutil/x86_cpu.h b/libavutil/x86/asm.h
similarity index 97%
rename from libavutil/x86_cpu.h
rename to libavutil/x86/asm.h
index f84eba67f5fc15f81f294f0e6ab931f46505ccb8..b447fabb5794f39449dfe25fe700ed7a95b940b8 100644
--- a/libavutil/x86_cpu.h
+++ b/libavutil/x86/asm.h
@@ -18,8 +18,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#ifndef AVUTIL_X86_CPU_H
-#define AVUTIL_X86_CPU_H
+#ifndef AVUTIL_X86_ASM_H
+#define AVUTIL_X86_ASM_H
 
 #include <stdint.h>
 #include "config.h"
@@ -95,4 +95,4 @@ typedef int x86_reg;
 #    define XMM_CLOBBERS_ONLY(...)
 #endif
 
-#endif /* AVUTIL_X86_CPU_H */
+#endif /* AVUTIL_X86_ASM_H */
diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c
index a63b56498523d742dd803aa05d65193921f1a6f3..645bb83f770d6a6ddadc7574f5190c826f734989 100644
--- a/libavutil/x86/cpu.c
+++ b/libavutil/x86/cpu.c
@@ -22,7 +22,7 @@
 
 #include <stdlib.h>
 #include <string.h>
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 
 #if HAVE_INLINE_ASM
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 9a57405d2c0f6fbbe7c09fd09163ecaa03f85352..f890b5cee14580cb85abb0747123dce00d1954dc 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -45,7 +45,7 @@
 #include "libavutil/mathematics.h"
 #include "libavutil/opt.h"
 #include "libavutil/pixdesc.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "rgb2rgb.h"
 #include "swscale.h"
 #include "swscale_internal.h"
diff --git a/libswscale/x86/rgb2rgb.c b/libswscale/x86/rgb2rgb.c
index 066749c22f88daf0fbbb526112c82858dc59ecaa..f201281faca0a9e0cd3db1c40d9fa60e45ac362b 100644
--- a/libswscale/x86/rgb2rgb.c
+++ b/libswscale/x86/rgb2rgb.c
@@ -27,7 +27,7 @@
 
 #include "config.h"
 #include "libavutil/attributes.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 #include "libavutil/bswap.h"
 #include "libswscale/rgb2rgb.h"
diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c
index 57d270b09dc0e2ddfe7f7384223bd0795dc626ea..9683c0cedd8e857b967184b734d48400c8ca2911 100644
--- a/libswscale/x86/swscale.c
+++ b/libswscale/x86/swscale.c
@@ -24,7 +24,7 @@
 #include "libswscale/swscale_internal.h"
 #include "libavutil/attributes.h"
 #include "libavutil/intreadwrite.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 #include "libavutil/pixdesc.h"
 
diff --git a/libswscale/x86/yuv2rgb.c b/libswscale/x86/yuv2rgb.c
index 501993ae422116e2f3720328e224dcb7f71b9a5a..93755493abbc56c5828aa0c903197be75f489193 100644
--- a/libswscale/x86/yuv2rgb.c
+++ b/libswscale/x86/yuv2rgb.c
@@ -34,7 +34,7 @@
 #include "libswscale/swscale.h"
 #include "libswscale/swscale_internal.h"
 #include "libavutil/attributes.h"
-#include "libavutil/x86_cpu.h"
+#include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 
 #if HAVE_INLINE_ASM