]> xenbits.xensource.com Git - libvirt.git/commitdiff
cpu: move the CPU map data files into a src/cpu_map directory
authorDaniel P. Berrangé <berrange@redhat.com>
Thu, 16 Aug 2018 11:39:39 +0000 (12:39 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 28 Aug 2018 11:08:21 +0000 (12:08 +0100)
In preparation for splitting up the CPU map data file, move it into a
dedicated directory of its own.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
libvirt.spec.in
mingw-libvirt.spec.in
src/Makefile.am
src/cpu/cpu_map.c
src/cpu/cpu_map.xml [deleted file]
src/cpu_map/Makefile.inc.am [new file with mode: 0644]
src/cpu_map/index.xml [new file with mode: 0644]

index e7196b7d3b422c6e52dfedd01cbe9a48010b9fa0..cc2e662e2707fb8e39b3c5dec4d47c514777cdef 100644 (file)
@@ -1863,7 +1863,7 @@ exit 0
 %{_datadir}/libvirt/schemas/storagepool.rng
 %{_datadir}/libvirt/schemas/storagevol.rng
 
-%{_datadir}/libvirt/cpu_map.xml
+%{_datadir}/libvirt/cpu_map/*.xml
 
 %{_datadir}/libvirt/test-screenshot.png
 
index cc1e61992716f1557694d84db1e6341b722648f6..b28e40f7f7e452ead2418fd8485249a5fc13592d 100644 (file)
@@ -260,7 +260,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
 %{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml
 %{mingw32_datadir}/libvirt/api/libvirt-admin-api.xml
 
-%{mingw32_datadir}/libvirt/cpu_map.xml
+%{mingw32_datadir}/libvirt/cpu_map/*.xml
 
 %{mingw32_datadir}/libvirt/test-screenshot.png
 
@@ -347,7 +347,7 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh
 %{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml
 %{mingw64_datadir}/libvirt/api/libvirt-admin-api.xml
 
-%{mingw64_datadir}/libvirt/cpu_map.xml
+%{mingw64_datadir}/libvirt/cpu_map/*.xml
 
 %{mingw64_datadir}/libvirt/test-screenshot.png
 
index db8c8ebd1addf1380a4a777a3ff1f8d11456824f..2a3ed0d42d1f6292674f70cfc5932207ecb83fe0 100644 (file)
@@ -100,6 +100,7 @@ man7_MANS =
 include util/Makefile.inc.am
 include conf/Makefile.inc.am
 include cpu/Makefile.inc.am
+include cpu_map/Makefile.inc.am
 include security/Makefile.inc.am
 include access/Makefile.inc.am
 include logging/Makefile.inc.am
@@ -364,12 +365,6 @@ check-local: check-protocol check-symfile check-symsorting \
 .PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
 
 
-
-
-pkgdata_DATA = cpu/cpu_map.xml
-
-EXTRA_DIST +=  $(pkgdata_DATA)
-
 #########################
 #
 # Build up list of libvirt.la source files based on configure conditions
index ac7e58037a7bda15dfbd6d7578511a0e2b20cacc..4585e5ca83d6392261da97ca6c221df225646354 100644 (file)
@@ -99,8 +99,8 @@ cpuMapLoadInclude(const char *filename,
     char *mapfile;
 
     if (!(mapfile = virFileFindResource(filename,
-                                        abs_topsrcdir "/src/cpu",
-                                        PKGDATADIR)))
+                                        abs_topsrcdir "/src/cpu_map",
+                                        PKGDATADIR "/cpu_map")))
         return -1;
 
     VIR_DEBUG("Loading CPU map include from %s", mapfile);
@@ -187,9 +187,9 @@ int cpuMapLoad(const char *arch,
     int ret = -1;
     char *mapfile;
 
-    if (!(mapfile = virFileFindResource("cpu_map.xml",
-                                        abs_topsrcdir "/src/cpu",
-                                        PKGDATADIR)))
+    if (!(mapfile = virFileFindResource("index.xml",
+                                        abs_topsrcdir "/src/cpu_map",
+                                        PKGDATADIR "/cpu_map")))
         return -1;
 
     VIR_DEBUG("Loading '%s' CPU map from %s", NULLSTR(arch), mapfile);
diff --git a/src/cpu/cpu_map.xml b/src/cpu/cpu_map.xml
deleted file mode 100644 (file)
index 9af190a..0000000
+++ /dev/null
@@ -1,2382 +0,0 @@
-<cpus>
-  <arch name='x86'>
-    <!-- vendor definitions -->
-    <vendor name='Intel' string='GenuineIntel'/>
-    <vendor name='AMD' string='AuthenticAMD'/>
-
-    <!-- standard features, EDX -->
-    <feature name='fpu'>
-      <cpuid eax_in='0x01' edx='0x00000001'/>
-    </feature>
-    <feature name='vme'>
-      <cpuid eax_in='0x01' edx='0x00000002'/>
-    </feature>
-    <feature name='de'>
-      <cpuid eax_in='0x01' edx='0x00000004'/>
-    </feature>
-    <feature name='pse'>
-      <cpuid eax_in='0x01' edx='0x00000008'/>
-    </feature>
-    <feature name='tsc'>
-      <cpuid eax_in='0x01' edx='0x00000010'/>
-    </feature>
-    <feature name='msr'>
-      <cpuid eax_in='0x01' edx='0x00000020'/>
-    </feature>
-    <feature name='pae'>
-      <cpuid eax_in='0x01' edx='0x00000040'/>
-    </feature>
-    <feature name='mce'>
-      <cpuid eax_in='0x01' edx='0x00000080'/>
-    </feature>
-    <feature name='cx8'>
-      <cpuid eax_in='0x01' edx='0x00000100'/>
-    </feature>
-    <feature name='apic'>
-      <cpuid eax_in='0x01' edx='0x00000200'/>
-    </feature>
-    <feature name='sep'>
-      <cpuid eax_in='0x01' edx='0x00000800'/>
-    </feature>
-    <feature name='mtrr'>
-      <cpuid eax_in='0x01' edx='0x00001000'/>
-    </feature>
-    <feature name='pge'>
-      <cpuid eax_in='0x01' edx='0x00002000'/>
-    </feature>
-    <feature name='mca'>
-      <cpuid eax_in='0x01' edx='0x00004000'/>
-    </feature>
-    <feature name='cmov'>
-      <cpuid eax_in='0x01' edx='0x00008000'/>
-    </feature>
-    <feature name='pat'>
-      <cpuid eax_in='0x01' edx='0x00010000'/>
-    </feature>
-    <feature name='pse36'>
-      <cpuid eax_in='0x01' edx='0x00020000'/>
-    </feature>
-    <feature name='pn'>
-      <cpuid eax_in='0x01' edx='0x00040000'/>
-    </feature>
-    <feature name='clflush'>
-      <cpuid eax_in='0x01' edx='0x00080000'/>
-    </feature>
-    <feature name='ds'>
-      <cpuid eax_in='0x01' edx='0x00200000'/>
-    </feature>
-    <feature name='acpi'>
-      <cpuid eax_in='0x01' edx='0x00400000'/>
-    </feature>
-    <feature name='mmx'>
-      <cpuid eax_in='0x01' edx='0x00800000'/>
-    </feature>
-    <feature name='fxsr'>
-      <cpuid eax_in='0x01' edx='0x01000000'/>
-    </feature>
-    <feature name='sse'>
-      <cpuid eax_in='0x01' edx='0x02000000'/>
-    </feature>
-    <feature name='sse2'>
-      <cpuid eax_in='0x01' edx='0x04000000'/>
-    </feature>
-    <feature name='ss'>
-      <cpuid eax_in='0x01' edx='0x08000000'/>
-    </feature>
-    <feature name='ht'>
-      <cpuid eax_in='0x01' edx='0x10000000'/>
-    </feature>
-    <feature name='tm'>
-      <cpuid eax_in='0x01' edx='0x20000000'/>
-    </feature>
-    <feature name='ia64'>
-      <cpuid eax_in='0x01' edx='0x40000000'/>
-    </feature>
-    <feature name='pbe'>
-      <cpuid eax_in='0x01' edx='0x80000000'/>
-    </feature>
-
-    <!-- standard features, ECX -->
-    <feature name='pni'> <!-- sse3 -->
-      <cpuid eax_in='0x01' ecx='0x00000001'/>
-    </feature>
-    <feature name='pclmuldq'> <!-- pclmulqdq -->
-      <cpuid eax_in='0x01' ecx='0x00000002'/>
-    </feature>
-    <feature name='dtes64'>
-      <cpuid eax_in='0x01' ecx='0x00000004'/>
-    </feature>
-    <feature name='monitor'>
-      <cpuid eax_in='0x01' ecx='0x00000008'/>
-    </feature>
-    <feature name='ds_cpl'> <!-- ds-cpl -->
-      <cpuid eax_in='0x01' ecx='0x00000010'/>
-    </feature>
-    <feature name='vmx'>
-      <cpuid eax_in='0x01' ecx='0x00000020'/>
-    </feature>
-     <feature name='smx'>
-      <cpuid eax_in='0x01' ecx='0x00000040'/>
-    </feature>
-    <feature name='est'>
-      <cpuid eax_in='0x01' ecx='0x00000080'/>
-    </feature>
-    <feature name='tm2'>
-      <cpuid eax_in='0x01' ecx='0x00000100'/>
-    </feature>
-    <feature name='ssse3'>
-      <cpuid eax_in='0x01' ecx='0x00000200'/>
-    </feature>
-    <feature name='cid'>
-      <cpuid eax_in='0x01' ecx='0x00000400'/>
-    </feature>
-    <feature name='fma'>
-      <cpuid eax_in='0x01' ecx='0x00001000'/>
-    </feature>
-    <feature name='cx16'>
-      <cpuid eax_in='0x01' ecx='0x00002000'/>
-    </feature>
-    <feature name='xtpr'>
-      <cpuid eax_in='0x01' ecx='0x00004000'/>
-    </feature>
-    <feature name='pdcm'>
-      <cpuid eax_in='0x01' ecx='0x00008000'/>
-    </feature>
-    <feature name='pcid'>
-      <cpuid eax_in='0x01' ecx='0x00020000'/>
-    </feature>
-    <feature name='dca'>
-      <cpuid eax_in='0x01' ecx='0x00040000'/>
-    </feature>
-    <feature name='sse4.1'> <!-- sse4-1, sse4_1 -->
-      <cpuid eax_in='0x01' ecx='0x00080000'/>
-    </feature>
-    <feature name='sse4.2'> <!-- sse4-2, sse4_2 -->
-      <cpuid eax_in='0x01' ecx='0x00100000'/>
-    </feature>
-    <feature name='x2apic'>
-      <cpuid eax_in='0x01' ecx='0x00200000'/>
-    </feature>
-    <feature name='movbe'>
-      <cpuid eax_in='0x01' ecx='0x00400000'/>
-    </feature>
-    <feature name='popcnt'>
-      <cpuid eax_in='0x01' ecx='0x00800000'/>
-    </feature>
-    <feature name='tsc-deadline'>
-      <cpuid eax_in='0x01' ecx='0x01000000'/>
-    </feature>
-    <feature name='aes'>
-      <cpuid eax_in='0x01' ecx='0x02000000'/>
-    </feature>
-    <feature name='xsave'>
-      <cpuid eax_in='0x01' ecx='0x04000000'/>
-    </feature>
-    <feature name='osxsave'>
-      <cpuid eax_in='0x01' ecx='0x08000000'/>
-    </feature>
-    <feature name='avx'>
-      <cpuid eax_in='0x01' ecx='0x10000000'/>
-    </feature>
-    <feature name='f16c'>
-      <cpuid eax_in='0x01' ecx='0x20000000'/>
-    </feature>
-    <feature name='rdrand'>
-      <cpuid eax_in='0x01' ecx='0x40000000'/>
-    </feature>
-    <feature name='hypervisor'>
-      <cpuid eax_in='0x01' ecx='0x80000000'/>
-    </feature>
-
-    <!-- Termal Power and Management -->
-    <feature name='arat'>
-      <cpuid eax_in='0x06' eax='0x00000004'/>
-    </feature>
-
-    <!-- cpuid function 0x7 ecx 0x0 features -->
-    <feature name='fsgsbase'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000001'/>
-    </feature>
-    <feature name='tsc_adjust'> <!-- tsc-adjust -->
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/>
-    </feature>
-    <feature name='bmi1'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000008'/>
-    </feature>
-    <feature name='hle'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000010'/>
-    </feature>
-    <feature name='avx2'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000020'/>
-    </feature>
-    <feature name='smep'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000080'/>
-    </feature>
-    <feature name='bmi2'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000100'/>
-    </feature>
-    <feature name='erms'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000200'/>
-    </feature>
-    <feature name='invpcid'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000400'/>
-    </feature>
-    <feature name='rtm'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000800'/>
-    </feature>
-    <feature name='cmt'> <!-- cqm -->
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00001000'/>
-    </feature>
-    <feature name='mpx'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00004000'/>
-    </feature>
-    <feature name='avx512f'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00010000'/>
-    </feature>
-    <feature name='avx512dq'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00020000'/>
-    </feature>
-    <feature name='rdseed'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00040000'/>
-    </feature>
-    <feature name='adx'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00080000'/>
-    </feature>
-    <feature name='smap'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00100000'/>
-    </feature>
-    <feature name='avx512ifma'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00200000'/>
-    </feature>
-    <feature name='pcommit'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00400000'/>
-    </feature>
-    <feature name='clflushopt'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00800000'/>
-    </feature>
-    <feature name='clwb'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x01000000'/>
-    </feature>
-    <feature name='avx512pf'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x04000000'/>
-    </feature>
-    <feature name='avx512er'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x08000000'/>
-    </feature>
-    <feature name='avx512cd'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x10000000'/>
-    </feature>
-    <feature name='sha-ni'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x20000000'/>
-    </feature>
-    <feature name='avx512bw'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x40000000'/>
-    </feature>
-    <feature name='avx512vl'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x80000000'/>
-    </feature>
-
-    <feature name='avx512vbmi'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000002'/>
-    </feature>
-    <feature name='pku'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000008'/>
-    </feature>
-    <feature name='ospke'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000010'/>
-    </feature>
-    <feature name='la57'>
-      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00010000'/>
-    </feature>
-
-    <feature name='avx512-4vnniw'>
-      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/>
-    </feature>
-    <feature name='avx512-4fmaps'>
-      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
-    </feature>
-    <feature name='spec-ctrl'>
-      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
-    </feature>
-    <feature name='ssbd'>
-      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
-    </feature>
-
-    <!-- Processor Extended State Enumeration sub leaf 1 -->
-    <feature name='xsaveopt'>
-      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000001'/>
-    </feature>
-    <feature name='xsavec'>
-      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000002'/>
-    </feature>
-    <feature name='xgetbv1'>
-      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000004'/>
-    </feature>
-    <feature name='xsaves' migratable='no'>
-      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/>
-    </feature>
-
-    <!-- cpuid level 0x0000000f:1 (edx) -->
-    <feature name='mbm_total'>
-      <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000002'/>
-    </feature>
-    <feature name='mbm_local'>
-      <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000004'/>
-    </feature>
-
-    <!-- extended features, EDX -->
-    <feature name='syscall'>
-      <cpuid eax_in='0x80000001' edx='0x00000800'/>
-    </feature>
-    <feature name='nx'> <!-- xd -->
-      <cpuid eax_in='0x80000001' edx='0x00100000'/>
-    </feature>
-    <feature name='mmxext'>
-      <cpuid eax_in='0x80000001' edx='0x00400000'/>
-    </feature>
-    <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt -->
-      <cpuid eax_in='0x80000001' edx='0x02000000'/>
-    </feature>
-    <feature name='pdpe1gb'>
-      <cpuid eax_in='0x80000001' edx='0x04000000'/>
-    </feature>
-    <feature name='rdtscp'>
-      <cpuid eax_in='0x80000001' edx='0x08000000'/>
-    </feature>
-    <feature name='lm'> <!-- i64 -->
-      <cpuid eax_in='0x80000001' edx='0x20000000'/>
-    </feature>
-    <feature name='3dnowext'>
-      <cpuid eax_in='0x80000001' edx='0x40000000'/>
-    </feature>
-    <feature name='3dnow'>
-      <cpuid eax_in='0x80000001' edx='0x80000000'/>
-    </feature>
-
-    <!-- extended features, ECX -->
-    <feature name='lahf_lm'> <!-- lahf-lm -->
-      <cpuid eax_in='0x80000001' ecx='0x00000001'/>
-    </feature>
-    <feature name='cmp_legacy'> <!-- cmp-legacy -->
-      <cpuid eax_in='0x80000001' ecx='0x00000002'/>
-    </feature>
-    <feature name='svm'>
-      <cpuid eax_in='0x80000001' ecx='0x00000004'/>
-    </feature>
-    <feature name='extapic'>
-      <cpuid eax_in='0x80000001' ecx='0x00000008'/>
-    </feature>
-    <feature name='cr8legacy'>
-      <cpuid eax_in='0x80000001' ecx='0x00000010'/>
-    </feature>
-    <feature name='abm'>
-      <cpuid eax_in='0x80000001' ecx='0x00000020'/>
-    </feature>
-    <feature name='sse4a'>
-      <cpuid eax_in='0x80000001' ecx='0x00000040'/>
-    </feature>
-    <feature name='misalignsse'>
-      <cpuid eax_in='0x80000001' ecx='0x00000080'/>
-    </feature>
-    <feature name='3dnowprefetch'>
-      <cpuid eax_in='0x80000001' ecx='0x00000100'/>
-    </feature>
-    <feature name='osvw'>
-      <cpuid eax_in='0x80000001' ecx='0x00000200'/>
-    </feature>
-    <feature name='ibs'>
-      <cpuid eax_in='0x80000001' ecx='0x00000400'/>
-    </feature>
-    <feature name='xop'>
-      <cpuid eax_in='0x80000001' ecx='0x00000800'/>
-    </feature>
-    <feature name='skinit'>
-      <cpuid eax_in='0x80000001' ecx='0x00001000'/>
-    </feature>
-    <feature name='wdt'>
-      <cpuid eax_in='0x80000001' ecx='0x00002000'/>
-    </feature>
-    <feature name='lwp'>
-      <cpuid eax_in='0x80000001' ecx='0x00008000'/>
-    </feature>
-    <feature name='fma4'>
-      <cpuid eax_in='0x80000001' ecx='0x00010000'/>
-    </feature>
-    <feature name='tce'>
-      <cpuid eax_in='0x80000001' ecx='0x00020000'/>
-    </feature>
-    <feature name='cvt16'>
-      <cpuid eax_in='0x80000001' ecx='0x00040000'/>
-    </feature>
-    <feature name='nodeid_msr'> <!-- nodeid-msr -->
-      <cpuid eax_in='0x80000001' ecx='0x00080000'/>
-    </feature>
-    <feature name='tbm'>
-      <cpuid eax_in='0x80000001' ecx='0x00200000'/>
-    </feature>
-    <feature name='topoext'>
-      <cpuid eax_in='0x80000001' ecx='0x00400000'/>
-    </feature>
-    <feature name='perfctr_core'> <!-- perfctr-core -->
-      <cpuid eax_in='0x80000001' ecx='0x00800000'/>
-    </feature>
-    <feature name='perfctr_nb'> <!-- perfctr-nb -->
-      <cpuid eax_in='0x80000001' ecx='0x01000000'/>
-    </feature>
-
-    <!-- Advanced Power Management edx features -->
-    <feature name='invtsc' migratable='no'>
-      <cpuid eax_in='0x80000007' edx='0x00000100'/>
-    </feature>
-
-    <!-- More AMD-specific features -->
-    <feature name='ibpb'>
-      <cpuid eax_in='0x80000008' ebx='0x00001000'/>
-    </feature>
-    <feature name='amd-ssbd'>
-      <cpuid eax_in='0x80000008' ebx='0x01000000'/>
-    </feature>
-    <feature name='virt-ssbd'>
-      <cpuid eax_in='0x80000008' ebx='0x02000000'/>
-    </feature>
-    <feature name='amd-no-ssb'>
-      <cpuid eax_in='0x80000008' ebx='0x04000000'/>
-    </feature>
-
-    <!-- models -->
-    <model name='486'>
-      <feature name='fpu'/>
-      <feature name='pse'/>
-      <feature name='vme'/>
-    </model>
-
-    <!-- Intel-based QEMU generic CPU models -->
-    <model name='pentium'>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='pse'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='pentium2'>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='pentium3'>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='pentiumpro'>
-      <feature name='apic'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pse'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='coreduo'>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='monitor'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='n270'>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='monitor'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='ssse3'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='core2duo'>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='monitor'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <!-- Generic QEMU CPU models -->
-    <model name='qemu32'>
-      <feature name='apic'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='kvm32'>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='cpu64-rhel5'>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='cpu64-rhel6'>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='kvm64'>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='qemu64'>
-      <!-- These are supported only by TCG.  KVM supports them only if the
-           host does.  So we leave them out:
-
-           <feature name='abm'/>
-           <feature name='lahf_lm'/>
-           <feature name='popcnt'/>
-           <feature name='sse4a'/>
-      -->
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <!-- Intel CPU models -->
-    <model name='Conroe'>
-      <signature family='6' model='15'/>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Penryn'>
-      <signature family='6' model='23'/>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Nehalem'>
-      <signature family='6' model='26'/>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Nehalem-IBRS'>
-      <signature family='6' model='26'/>
-      <vendor name='Intel'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Westmere'>
-      <signature family='6' model='44'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Westmere-IBRS'>
-      <signature family='6' model='44'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='SandyBridge'>
-      <signature family='6' model='42'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='SandyBridge-IBRS'>
-      <signature family='6' model='42'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='IvyBridge'>
-      <signature family='6' model='58'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='IvyBridge-IBRS'>
-      <signature family='6' model='58'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Haswell-noTSX'>
-      <signature family='6' model='60'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Haswell-noTSX-IBRS'>
-      <signature family='6' model='60'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Haswell'>
-      <signature family='6' model='60'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Haswell-IBRS'>
-      <signature family='6' model='60'/>
-      <vendor name='Intel'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Broadwell-noTSX'>
-      <signature family='6' model='61'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Broadwell-noTSX-IBRS'>
-      <signature family='6' model='61'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Broadwell'>
-      <signature family='6' model='61'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Broadwell-IBRS'>
-      <signature family='6' model='61'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='x2apic'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Skylake-Client'>
-      <signature family='6' model='94'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='mpx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-
-    <model name='Skylake-Client-IBRS'>
-      <signature family='6' model='94'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='mpx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-
-    <model name='Skylake-Server'>
-      <signature family='6' model='85'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='avx512bw'/>
-      <feature name='avx512cd'/>
-      <feature name='avx512dq'/>
-      <feature name='avx512f'/>
-      <feature name='avx512vl'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='clwb'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='mpx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-
-    <model name='Skylake-Server-IBRS'>
-      <signature family='6' model='85'/>
-      <vendor name='Intel'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='avx512bw'/>
-      <feature name='avx512cd'/>
-      <feature name='avx512dq'/>
-      <feature name='avx512f'/>
-      <feature name='avx512vl'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='clwb'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='erms'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='hle'/>
-      <feature name='invpcid'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='movbe'/>
-      <feature name='mpx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pcid'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='rtm'/>
-      <feature name='sep'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='spec-ctrl'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='ssse3'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='tsc-deadline'/>
-      <feature name='vme'/>
-      <feature name='x2apic'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-
-    <!-- AMD CPUs -->
-    <model name='athlon'>
-      <vendor name='AMD'/>
-      <feature name='3dnow'/>
-      <feature name='3dnowext'/>
-      <feature name='apic'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='mmxext'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-    </model>
-
-    <model name='phenom'>
-      <vendor name='AMD'/>
-      <feature name='3dnow'/>
-      <feature name='3dnowext'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='fxsr_opt'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='mmxext'/>
-      <feature name='monitor'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Opteron_G1'>
-      <signature family='15' model='6'/>
-      <vendor name='AMD'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Opteron_G2'>
-      <signature family='15' model='6'/>
-      <vendor name='AMD'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Opteron_G3'>
-      <signature family='15' model='6'/>
-      <vendor name='AMD'/>
-      <feature name='abm'/>
-      <feature name='apic'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='misalignsse'/>
-      <feature name='mmx'/>
-      <feature name='monitor'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4a'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-    </model>
-
-    <model name='Opteron_G4'>
-      <signature family='21' model='1'/>
-      <vendor name='AMD'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='fma4'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='misalignsse'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='sse4a'/>
-      <feature name='ssse3'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='xop'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='Opteron_G5'>
-      <signature family='21' model='2'/>
-      <vendor name='AMD'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='avx'/>
-      <feature name='clflush'/>
-      <feature name='cmov'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fma4'/>
-      <feature name='fpu'/>
-      <feature name='fxsr'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='misalignsse'/>
-      <feature name='mmx'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='sse4a'/>
-      <feature name='ssse3'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tbm'/>
-      <feature name='tsc'/>
-      <feature name='xop'/>
-      <feature name='xsave'/>
-    </model>
-
-    <model name='EPYC'>
-      <signature family='23' model='1'/>
-      <vendor name='AMD'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='clflushopt'/>
-      <feature name='cmov'/>
-      <feature name='cr8legacy'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='fxsr_opt'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='misalignsse'/>
-      <feature name='mmx'/>
-      <feature name='mmxext'/>
-      <feature name='monitor'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='osvw'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sha-ni'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='sse4a'/>
-      <feature name='ssse3'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-
-    <model name='EPYC-IBPB'>
-      <signature family='23' model='1'/>
-      <vendor name='AMD'/>
-      <feature name='3dnowprefetch'/>
-      <feature name='abm'/>
-      <feature name='adx'/>
-      <feature name='aes'/>
-      <feature name='apic'/>
-      <feature name='arat'/>
-      <feature name='avx'/>
-      <feature name='avx2'/>
-      <feature name='bmi1'/>
-      <feature name='bmi2'/>
-      <feature name='clflush'/>
-      <feature name='clflushopt'/>
-      <feature name='cmov'/>
-      <feature name='cr8legacy'/>
-      <feature name='cx16'/>
-      <feature name='cx8'/>
-      <feature name='de'/>
-      <feature name='f16c'/>
-      <feature name='fma'/>
-      <feature name='fpu'/>
-      <feature name='fsgsbase'/>
-      <feature name='fxsr'/>
-      <feature name='fxsr_opt'/>
-      <feature name='ibpb'/>
-      <feature name='lahf_lm'/>
-      <feature name='lm'/>
-      <feature name='mca'/>
-      <feature name='mce'/>
-      <feature name='misalignsse'/>
-      <feature name='mmx'/>
-      <feature name='mmxext'/>
-      <feature name='monitor'/>
-      <feature name='movbe'/>
-      <feature name='msr'/>
-      <feature name='mtrr'/>
-      <feature name='nx'/>
-      <feature name='osvw'/>
-      <feature name='pae'/>
-      <feature name='pat'/>
-      <feature name='pclmuldq'/>
-      <feature name='pdpe1gb'/>
-      <feature name='pge'/>
-      <feature name='pni'/>
-      <feature name='popcnt'/>
-      <feature name='pse'/>
-      <feature name='pse36'/>
-      <feature name='rdrand'/>
-      <feature name='rdseed'/>
-      <feature name='rdtscp'/>
-      <feature name='sep'/>
-      <feature name='sha-ni'/>
-      <feature name='smap'/>
-      <feature name='smep'/>
-      <feature name='sse'/>
-      <feature name='sse2'/>
-      <feature name='sse4.1'/>
-      <feature name='sse4.2'/>
-      <feature name='sse4a'/>
-      <feature name='ssse3'/>
-      <feature name='svm'/>
-      <feature name='syscall'/>
-      <feature name='tsc'/>
-      <feature name='vme'/>
-      <feature name='xgetbv1'/>
-      <feature name='xsave'/>
-      <feature name='xsavec'/>
-      <feature name='xsaveopt'/>
-    </model>
-  </arch>
-
-  <arch name='ppc64'>
-    <!-- vendor definitions -->
-    <vendor name='IBM'/>
-    <vendor name='Freescale'/>
-
-    <!-- IBM-based CPU models -->
-    <model name='POWER6'>
-      <vendor name='IBM'/>
-      <pvr value='0x003e0000' mask='0xffff0000'/>
-    </model>
-
-    <model name='POWER7'>
-      <vendor name='IBM'/>
-      <pvr value='0x003f0000' mask='0xffff0000'/>
-      <pvr value='0x004a0000' mask='0xffff0000'/>
-    </model>
-
-    <model name='POWER8'>
-      <vendor name='IBM'/>
-      <pvr value='0x004b0000' mask='0xffff0000'/>
-      <pvr value='0x004c0000' mask='0xffff0000'/>
-      <pvr value='0x004d0000' mask='0xffff0000'/>
-    </model>
-
-    <model name='POWER9'>
-      <vendor name='IBM'/>
-      <pvr value='0x004e0000' mask='0xffff0000'/>
-    </model>
-
-    <!-- Freescale-based CPU models -->
-    <model name='POWERPC_e5500'>
-      <vendor name='Freescale'/>
-      <pvr value='0x80240000' mask='0xffff0000'/>
-    </model>
-
-    <model name='POWERPC_e6500'>
-      <vendor name='Freescale'/>
-      <pvr value='0x80400000' mask='0xffff0000'/>
-    </model>
-  </arch>
-</cpus>
diff --git a/src/cpu_map/Makefile.inc.am b/src/cpu_map/Makefile.inc.am
new file mode 100644 (file)
index 0000000..67d8ddf
--- /dev/null
@@ -0,0 +1,6 @@
+cpumapdir = $(pkgdatadir)/cpu_map
+cpumap_DATA = \
+       cpu_map/index.xml \
+       $(NULL)
+
+EXTRA_DIST += $(cpumap_DATA)
diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml
new file mode 100644 (file)
index 0000000..9af190a
--- /dev/null
@@ -0,0 +1,2382 @@
+<cpus>
+  <arch name='x86'>
+    <!-- vendor definitions -->
+    <vendor name='Intel' string='GenuineIntel'/>
+    <vendor name='AMD' string='AuthenticAMD'/>
+
+    <!-- standard features, EDX -->
+    <feature name='fpu'>
+      <cpuid eax_in='0x01' edx='0x00000001'/>
+    </feature>
+    <feature name='vme'>
+      <cpuid eax_in='0x01' edx='0x00000002'/>
+    </feature>
+    <feature name='de'>
+      <cpuid eax_in='0x01' edx='0x00000004'/>
+    </feature>
+    <feature name='pse'>
+      <cpuid eax_in='0x01' edx='0x00000008'/>
+    </feature>
+    <feature name='tsc'>
+      <cpuid eax_in='0x01' edx='0x00000010'/>
+    </feature>
+    <feature name='msr'>
+      <cpuid eax_in='0x01' edx='0x00000020'/>
+    </feature>
+    <feature name='pae'>
+      <cpuid eax_in='0x01' edx='0x00000040'/>
+    </feature>
+    <feature name='mce'>
+      <cpuid eax_in='0x01' edx='0x00000080'/>
+    </feature>
+    <feature name='cx8'>
+      <cpuid eax_in='0x01' edx='0x00000100'/>
+    </feature>
+    <feature name='apic'>
+      <cpuid eax_in='0x01' edx='0x00000200'/>
+    </feature>
+    <feature name='sep'>
+      <cpuid eax_in='0x01' edx='0x00000800'/>
+    </feature>
+    <feature name='mtrr'>
+      <cpuid eax_in='0x01' edx='0x00001000'/>
+    </feature>
+    <feature name='pge'>
+      <cpuid eax_in='0x01' edx='0x00002000'/>
+    </feature>
+    <feature name='mca'>
+      <cpuid eax_in='0x01' edx='0x00004000'/>
+    </feature>
+    <feature name='cmov'>
+      <cpuid eax_in='0x01' edx='0x00008000'/>
+    </feature>
+    <feature name='pat'>
+      <cpuid eax_in='0x01' edx='0x00010000'/>
+    </feature>
+    <feature name='pse36'>
+      <cpuid eax_in='0x01' edx='0x00020000'/>
+    </feature>
+    <feature name='pn'>
+      <cpuid eax_in='0x01' edx='0x00040000'/>
+    </feature>
+    <feature name='clflush'>
+      <cpuid eax_in='0x01' edx='0x00080000'/>
+    </feature>
+    <feature name='ds'>
+      <cpuid eax_in='0x01' edx='0x00200000'/>
+    </feature>
+    <feature name='acpi'>
+      <cpuid eax_in='0x01' edx='0x00400000'/>
+    </feature>
+    <feature name='mmx'>
+      <cpuid eax_in='0x01' edx='0x00800000'/>
+    </feature>
+    <feature name='fxsr'>
+      <cpuid eax_in='0x01' edx='0x01000000'/>
+    </feature>
+    <feature name='sse'>
+      <cpuid eax_in='0x01' edx='0x02000000'/>
+    </feature>
+    <feature name='sse2'>
+      <cpuid eax_in='0x01' edx='0x04000000'/>
+    </feature>
+    <feature name='ss'>
+      <cpuid eax_in='0x01' edx='0x08000000'/>
+    </feature>
+    <feature name='ht'>
+      <cpuid eax_in='0x01' edx='0x10000000'/>
+    </feature>
+    <feature name='tm'>
+      <cpuid eax_in='0x01' edx='0x20000000'/>
+    </feature>
+    <feature name='ia64'>
+      <cpuid eax_in='0x01' edx='0x40000000'/>
+    </feature>
+    <feature name='pbe'>
+      <cpuid eax_in='0x01' edx='0x80000000'/>
+    </feature>
+
+    <!-- standard features, ECX -->
+    <feature name='pni'> <!-- sse3 -->
+      <cpuid eax_in='0x01' ecx='0x00000001'/>
+    </feature>
+    <feature name='pclmuldq'> <!-- pclmulqdq -->
+      <cpuid eax_in='0x01' ecx='0x00000002'/>
+    </feature>
+    <feature name='dtes64'>
+      <cpuid eax_in='0x01' ecx='0x00000004'/>
+    </feature>
+    <feature name='monitor'>
+      <cpuid eax_in='0x01' ecx='0x00000008'/>
+    </feature>
+    <feature name='ds_cpl'> <!-- ds-cpl -->
+      <cpuid eax_in='0x01' ecx='0x00000010'/>
+    </feature>
+    <feature name='vmx'>
+      <cpuid eax_in='0x01' ecx='0x00000020'/>
+    </feature>
+     <feature name='smx'>
+      <cpuid eax_in='0x01' ecx='0x00000040'/>
+    </feature>
+    <feature name='est'>
+      <cpuid eax_in='0x01' ecx='0x00000080'/>
+    </feature>
+    <feature name='tm2'>
+      <cpuid eax_in='0x01' ecx='0x00000100'/>
+    </feature>
+    <feature name='ssse3'>
+      <cpuid eax_in='0x01' ecx='0x00000200'/>
+    </feature>
+    <feature name='cid'>
+      <cpuid eax_in='0x01' ecx='0x00000400'/>
+    </feature>
+    <feature name='fma'>
+      <cpuid eax_in='0x01' ecx='0x00001000'/>
+    </feature>
+    <feature name='cx16'>
+      <cpuid eax_in='0x01' ecx='0x00002000'/>
+    </feature>
+    <feature name='xtpr'>
+      <cpuid eax_in='0x01' ecx='0x00004000'/>
+    </feature>
+    <feature name='pdcm'>
+      <cpuid eax_in='0x01' ecx='0x00008000'/>
+    </feature>
+    <feature name='pcid'>
+      <cpuid eax_in='0x01' ecx='0x00020000'/>
+    </feature>
+    <feature name='dca'>
+      <cpuid eax_in='0x01' ecx='0x00040000'/>
+    </feature>
+    <feature name='sse4.1'> <!-- sse4-1, sse4_1 -->
+      <cpuid eax_in='0x01' ecx='0x00080000'/>
+    </feature>
+    <feature name='sse4.2'> <!-- sse4-2, sse4_2 -->
+      <cpuid eax_in='0x01' ecx='0x00100000'/>
+    </feature>
+    <feature name='x2apic'>
+      <cpuid eax_in='0x01' ecx='0x00200000'/>
+    </feature>
+    <feature name='movbe'>
+      <cpuid eax_in='0x01' ecx='0x00400000'/>
+    </feature>
+    <feature name='popcnt'>
+      <cpuid eax_in='0x01' ecx='0x00800000'/>
+    </feature>
+    <feature name='tsc-deadline'>
+      <cpuid eax_in='0x01' ecx='0x01000000'/>
+    </feature>
+    <feature name='aes'>
+      <cpuid eax_in='0x01' ecx='0x02000000'/>
+    </feature>
+    <feature name='xsave'>
+      <cpuid eax_in='0x01' ecx='0x04000000'/>
+    </feature>
+    <feature name='osxsave'>
+      <cpuid eax_in='0x01' ecx='0x08000000'/>
+    </feature>
+    <feature name='avx'>
+      <cpuid eax_in='0x01' ecx='0x10000000'/>
+    </feature>
+    <feature name='f16c'>
+      <cpuid eax_in='0x01' ecx='0x20000000'/>
+    </feature>
+    <feature name='rdrand'>
+      <cpuid eax_in='0x01' ecx='0x40000000'/>
+    </feature>
+    <feature name='hypervisor'>
+      <cpuid eax_in='0x01' ecx='0x80000000'/>
+    </feature>
+
+    <!-- Termal Power and Management -->
+    <feature name='arat'>
+      <cpuid eax_in='0x06' eax='0x00000004'/>
+    </feature>
+
+    <!-- cpuid function 0x7 ecx 0x0 features -->
+    <feature name='fsgsbase'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000001'/>
+    </feature>
+    <feature name='tsc_adjust'> <!-- tsc-adjust -->
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/>
+    </feature>
+    <feature name='bmi1'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000008'/>
+    </feature>
+    <feature name='hle'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000010'/>
+    </feature>
+    <feature name='avx2'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000020'/>
+    </feature>
+    <feature name='smep'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000080'/>
+    </feature>
+    <feature name='bmi2'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000100'/>
+    </feature>
+    <feature name='erms'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000200'/>
+    </feature>
+    <feature name='invpcid'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000400'/>
+    </feature>
+    <feature name='rtm'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000800'/>
+    </feature>
+    <feature name='cmt'> <!-- cqm -->
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00001000'/>
+    </feature>
+    <feature name='mpx'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00004000'/>
+    </feature>
+    <feature name='avx512f'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00010000'/>
+    </feature>
+    <feature name='avx512dq'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00020000'/>
+    </feature>
+    <feature name='rdseed'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00040000'/>
+    </feature>
+    <feature name='adx'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00080000'/>
+    </feature>
+    <feature name='smap'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00100000'/>
+    </feature>
+    <feature name='avx512ifma'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00200000'/>
+    </feature>
+    <feature name='pcommit'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00400000'/>
+    </feature>
+    <feature name='clflushopt'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00800000'/>
+    </feature>
+    <feature name='clwb'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x01000000'/>
+    </feature>
+    <feature name='avx512pf'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x04000000'/>
+    </feature>
+    <feature name='avx512er'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x08000000'/>
+    </feature>
+    <feature name='avx512cd'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x10000000'/>
+    </feature>
+    <feature name='sha-ni'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x20000000'/>
+    </feature>
+    <feature name='avx512bw'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x40000000'/>
+    </feature>
+    <feature name='avx512vl'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x80000000'/>
+    </feature>
+
+    <feature name='avx512vbmi'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000002'/>
+    </feature>
+    <feature name='pku'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000008'/>
+    </feature>
+    <feature name='ospke'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00000010'/>
+    </feature>
+    <feature name='la57'>
+      <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00010000'/>
+    </feature>
+
+    <feature name='avx512-4vnniw'>
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/>
+    </feature>
+    <feature name='avx512-4fmaps'>
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
+    </feature>
+    <feature name='spec-ctrl'>
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/>
+    </feature>
+    <feature name='ssbd'>
+      <cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
+    </feature>
+
+    <!-- Processor Extended State Enumeration sub leaf 1 -->
+    <feature name='xsaveopt'>
+      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000001'/>
+    </feature>
+    <feature name='xsavec'>
+      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000002'/>
+    </feature>
+    <feature name='xgetbv1'>
+      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000004'/>
+    </feature>
+    <feature name='xsaves' migratable='no'>
+      <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/>
+    </feature>
+
+    <!-- cpuid level 0x0000000f:1 (edx) -->
+    <feature name='mbm_total'>
+      <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000002'/>
+    </feature>
+    <feature name='mbm_local'>
+      <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000004'/>
+    </feature>
+
+    <!-- extended features, EDX -->
+    <feature name='syscall'>
+      <cpuid eax_in='0x80000001' edx='0x00000800'/>
+    </feature>
+    <feature name='nx'> <!-- xd -->
+      <cpuid eax_in='0x80000001' edx='0x00100000'/>
+    </feature>
+    <feature name='mmxext'>
+      <cpuid eax_in='0x80000001' edx='0x00400000'/>
+    </feature>
+    <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt -->
+      <cpuid eax_in='0x80000001' edx='0x02000000'/>
+    </feature>
+    <feature name='pdpe1gb'>
+      <cpuid eax_in='0x80000001' edx='0x04000000'/>
+    </feature>
+    <feature name='rdtscp'>
+      <cpuid eax_in='0x80000001' edx='0x08000000'/>
+    </feature>
+    <feature name='lm'> <!-- i64 -->
+      <cpuid eax_in='0x80000001' edx='0x20000000'/>
+    </feature>
+    <feature name='3dnowext'>
+      <cpuid eax_in='0x80000001' edx='0x40000000'/>
+    </feature>
+    <feature name='3dnow'>
+      <cpuid eax_in='0x80000001' edx='0x80000000'/>
+    </feature>
+
+    <!-- extended features, ECX -->
+    <feature name='lahf_lm'> <!-- lahf-lm -->
+      <cpuid eax_in='0x80000001' ecx='0x00000001'/>
+    </feature>
+    <feature name='cmp_legacy'> <!-- cmp-legacy -->
+      <cpuid eax_in='0x80000001' ecx='0x00000002'/>
+    </feature>
+    <feature name='svm'>
+      <cpuid eax_in='0x80000001' ecx='0x00000004'/>
+    </feature>
+    <feature name='extapic'>
+      <cpuid eax_in='0x80000001' ecx='0x00000008'/>
+    </feature>
+    <feature name='cr8legacy'>
+      <cpuid eax_in='0x80000001' ecx='0x00000010'/>
+    </feature>
+    <feature name='abm'>
+      <cpuid eax_in='0x80000001' ecx='0x00000020'/>
+    </feature>
+    <feature name='sse4a'>
+      <cpuid eax_in='0x80000001' ecx='0x00000040'/>
+    </feature>
+    <feature name='misalignsse'>
+      <cpuid eax_in='0x80000001' ecx='0x00000080'/>
+    </feature>
+    <feature name='3dnowprefetch'>
+      <cpuid eax_in='0x80000001' ecx='0x00000100'/>
+    </feature>
+    <feature name='osvw'>
+      <cpuid eax_in='0x80000001' ecx='0x00000200'/>
+    </feature>
+    <feature name='ibs'>
+      <cpuid eax_in='0x80000001' ecx='0x00000400'/>
+    </feature>
+    <feature name='xop'>
+      <cpuid eax_in='0x80000001' ecx='0x00000800'/>
+    </feature>
+    <feature name='skinit'>
+      <cpuid eax_in='0x80000001' ecx='0x00001000'/>
+    </feature>
+    <feature name='wdt'>
+      <cpuid eax_in='0x80000001' ecx='0x00002000'/>
+    </feature>
+    <feature name='lwp'>
+      <cpuid eax_in='0x80000001' ecx='0x00008000'/>
+    </feature>
+    <feature name='fma4'>
+      <cpuid eax_in='0x80000001' ecx='0x00010000'/>
+    </feature>
+    <feature name='tce'>
+      <cpuid eax_in='0x80000001' ecx='0x00020000'/>
+    </feature>
+    <feature name='cvt16'>
+      <cpuid eax_in='0x80000001' ecx='0x00040000'/>
+    </feature>
+    <feature name='nodeid_msr'> <!-- nodeid-msr -->
+      <cpuid eax_in='0x80000001' ecx='0x00080000'/>
+    </feature>
+    <feature name='tbm'>
+      <cpuid eax_in='0x80000001' ecx='0x00200000'/>
+    </feature>
+    <feature name='topoext'>
+      <cpuid eax_in='0x80000001' ecx='0x00400000'/>
+    </feature>
+    <feature name='perfctr_core'> <!-- perfctr-core -->
+      <cpuid eax_in='0x80000001' ecx='0x00800000'/>
+    </feature>
+    <feature name='perfctr_nb'> <!-- perfctr-nb -->
+      <cpuid eax_in='0x80000001' ecx='0x01000000'/>
+    </feature>
+
+    <!-- Advanced Power Management edx features -->
+    <feature name='invtsc' migratable='no'>
+      <cpuid eax_in='0x80000007' edx='0x00000100'/>
+    </feature>
+
+    <!-- More AMD-specific features -->
+    <feature name='ibpb'>
+      <cpuid eax_in='0x80000008' ebx='0x00001000'/>
+    </feature>
+    <feature name='amd-ssbd'>
+      <cpuid eax_in='0x80000008' ebx='0x01000000'/>
+    </feature>
+    <feature name='virt-ssbd'>
+      <cpuid eax_in='0x80000008' ebx='0x02000000'/>
+    </feature>
+    <feature name='amd-no-ssb'>
+      <cpuid eax_in='0x80000008' ebx='0x04000000'/>
+    </feature>
+
+    <!-- models -->
+    <model name='486'>
+      <feature name='fpu'/>
+      <feature name='pse'/>
+      <feature name='vme'/>
+    </model>
+
+    <!-- Intel-based QEMU generic CPU models -->
+    <model name='pentium'>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='pse'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='pentium2'>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='pentium3'>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='pentiumpro'>
+      <feature name='apic'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pse'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='coreduo'>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='monitor'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='n270'>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='monitor'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='ssse3'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='core2duo'>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='monitor'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <!-- Generic QEMU CPU models -->
+    <model name='qemu32'>
+      <feature name='apic'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='kvm32'>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='cpu64-rhel5'>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='cpu64-rhel6'>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='kvm64'>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='qemu64'>
+      <!-- These are supported only by TCG.  KVM supports them only if the
+           host does.  So we leave them out:
+
+           <feature name='abm'/>
+           <feature name='lahf_lm'/>
+           <feature name='popcnt'/>
+           <feature name='sse4a'/>
+      -->
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <!-- Intel CPU models -->
+    <model name='Conroe'>
+      <signature family='6' model='15'/>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Penryn'>
+      <signature family='6' model='23'/>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Nehalem'>
+      <signature family='6' model='26'/>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Nehalem-IBRS'>
+      <signature family='6' model='26'/>
+      <vendor name='Intel'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Westmere'>
+      <signature family='6' model='44'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Westmere-IBRS'>
+      <signature family='6' model='44'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='SandyBridge'>
+      <signature family='6' model='42'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='SandyBridge-IBRS'>
+      <signature family='6' model='42'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='IvyBridge'>
+      <signature family='6' model='58'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='IvyBridge-IBRS'>
+      <signature family='6' model='58'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Haswell-noTSX'>
+      <signature family='6' model='60'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Haswell-noTSX-IBRS'>
+      <signature family='6' model='60'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Haswell'>
+      <signature family='6' model='60'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Haswell-IBRS'>
+      <signature family='6' model='60'/>
+      <vendor name='Intel'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Broadwell-noTSX'>
+      <signature family='6' model='61'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Broadwell-noTSX-IBRS'>
+      <signature family='6' model='61'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Broadwell'>
+      <signature family='6' model='61'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Broadwell-IBRS'>
+      <signature family='6' model='61'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='x2apic'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Skylake-Client'>
+      <signature family='6' model='94'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='mpx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
+    <model name='Skylake-Client-IBRS'>
+      <signature family='6' model='94'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='mpx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
+    <model name='Skylake-Server'>
+      <signature family='6' model='85'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='avx512bw'/>
+      <feature name='avx512cd'/>
+      <feature name='avx512dq'/>
+      <feature name='avx512f'/>
+      <feature name='avx512vl'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='clwb'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='mpx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
+    <model name='Skylake-Server-IBRS'>
+      <signature family='6' model='85'/>
+      <vendor name='Intel'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='avx512bw'/>
+      <feature name='avx512cd'/>
+      <feature name='avx512dq'/>
+      <feature name='avx512f'/>
+      <feature name='avx512vl'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='clwb'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='erms'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='hle'/>
+      <feature name='invpcid'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='movbe'/>
+      <feature name='mpx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pcid'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='rtm'/>
+      <feature name='sep'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='spec-ctrl'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='ssse3'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='tsc-deadline'/>
+      <feature name='vme'/>
+      <feature name='x2apic'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
+    <!-- AMD CPUs -->
+    <model name='athlon'>
+      <vendor name='AMD'/>
+      <feature name='3dnow'/>
+      <feature name='3dnowext'/>
+      <feature name='apic'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='mmxext'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+    </model>
+
+    <model name='phenom'>
+      <vendor name='AMD'/>
+      <feature name='3dnow'/>
+      <feature name='3dnowext'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='fxsr_opt'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='mmxext'/>
+      <feature name='monitor'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Opteron_G1'>
+      <signature family='15' model='6'/>
+      <vendor name='AMD'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Opteron_G2'>
+      <signature family='15' model='6'/>
+      <vendor name='AMD'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Opteron_G3'>
+      <signature family='15' model='6'/>
+      <vendor name='AMD'/>
+      <feature name='abm'/>
+      <feature name='apic'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='misalignsse'/>
+      <feature name='mmx'/>
+      <feature name='monitor'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4a'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+    </model>
+
+    <model name='Opteron_G4'>
+      <signature family='21' model='1'/>
+      <vendor name='AMD'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='fma4'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='misalignsse'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='sse4a'/>
+      <feature name='ssse3'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='xop'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='Opteron_G5'>
+      <signature family='21' model='2'/>
+      <vendor name='AMD'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='avx'/>
+      <feature name='clflush'/>
+      <feature name='cmov'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fma4'/>
+      <feature name='fpu'/>
+      <feature name='fxsr'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='misalignsse'/>
+      <feature name='mmx'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='sse4a'/>
+      <feature name='ssse3'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tbm'/>
+      <feature name='tsc'/>
+      <feature name='xop'/>
+      <feature name='xsave'/>
+    </model>
+
+    <model name='EPYC'>
+      <signature family='23' model='1'/>
+      <vendor name='AMD'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='clflushopt'/>
+      <feature name='cmov'/>
+      <feature name='cr8legacy'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='fxsr_opt'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='misalignsse'/>
+      <feature name='mmx'/>
+      <feature name='mmxext'/>
+      <feature name='monitor'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='osvw'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sha-ni'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='sse4a'/>
+      <feature name='ssse3'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+
+    <model name='EPYC-IBPB'>
+      <signature family='23' model='1'/>
+      <vendor name='AMD'/>
+      <feature name='3dnowprefetch'/>
+      <feature name='abm'/>
+      <feature name='adx'/>
+      <feature name='aes'/>
+      <feature name='apic'/>
+      <feature name='arat'/>
+      <feature name='avx'/>
+      <feature name='avx2'/>
+      <feature name='bmi1'/>
+      <feature name='bmi2'/>
+      <feature name='clflush'/>
+      <feature name='clflushopt'/>
+      <feature name='cmov'/>
+      <feature name='cr8legacy'/>
+      <feature name='cx16'/>
+      <feature name='cx8'/>
+      <feature name='de'/>
+      <feature name='f16c'/>
+      <feature name='fma'/>
+      <feature name='fpu'/>
+      <feature name='fsgsbase'/>
+      <feature name='fxsr'/>
+      <feature name='fxsr_opt'/>
+      <feature name='ibpb'/>
+      <feature name='lahf_lm'/>
+      <feature name='lm'/>
+      <feature name='mca'/>
+      <feature name='mce'/>
+      <feature name='misalignsse'/>
+      <feature name='mmx'/>
+      <feature name='mmxext'/>
+      <feature name='monitor'/>
+      <feature name='movbe'/>
+      <feature name='msr'/>
+      <feature name='mtrr'/>
+      <feature name='nx'/>
+      <feature name='osvw'/>
+      <feature name='pae'/>
+      <feature name='pat'/>
+      <feature name='pclmuldq'/>
+      <feature name='pdpe1gb'/>
+      <feature name='pge'/>
+      <feature name='pni'/>
+      <feature name='popcnt'/>
+      <feature name='pse'/>
+      <feature name='pse36'/>
+      <feature name='rdrand'/>
+      <feature name='rdseed'/>
+      <feature name='rdtscp'/>
+      <feature name='sep'/>
+      <feature name='sha-ni'/>
+      <feature name='smap'/>
+      <feature name='smep'/>
+      <feature name='sse'/>
+      <feature name='sse2'/>
+      <feature name='sse4.1'/>
+      <feature name='sse4.2'/>
+      <feature name='sse4a'/>
+      <feature name='ssse3'/>
+      <feature name='svm'/>
+      <feature name='syscall'/>
+      <feature name='tsc'/>
+      <feature name='vme'/>
+      <feature name='xgetbv1'/>
+      <feature name='xsave'/>
+      <feature name='xsavec'/>
+      <feature name='xsaveopt'/>
+    </model>
+  </arch>
+
+  <arch name='ppc64'>
+    <!-- vendor definitions -->
+    <vendor name='IBM'/>
+    <vendor name='Freescale'/>
+
+    <!-- IBM-based CPU models -->
+    <model name='POWER6'>
+      <vendor name='IBM'/>
+      <pvr value='0x003e0000' mask='0xffff0000'/>
+    </model>
+
+    <model name='POWER7'>
+      <vendor name='IBM'/>
+      <pvr value='0x003f0000' mask='0xffff0000'/>
+      <pvr value='0x004a0000' mask='0xffff0000'/>
+    </model>
+
+    <model name='POWER8'>
+      <vendor name='IBM'/>
+      <pvr value='0x004b0000' mask='0xffff0000'/>
+      <pvr value='0x004c0000' mask='0xffff0000'/>
+      <pvr value='0x004d0000' mask='0xffff0000'/>
+    </model>
+
+    <model name='POWER9'>
+      <vendor name='IBM'/>
+      <pvr value='0x004e0000' mask='0xffff0000'/>
+    </model>
+
+    <!-- Freescale-based CPU models -->
+    <model name='POWERPC_e5500'>
+      <vendor name='Freescale'/>
+      <pvr value='0x80240000' mask='0xffff0000'/>
+    </model>
+
+    <model name='POWERPC_e6500'>
+      <vendor name='Freescale'/>
+      <pvr value='0x80400000' mask='0xffff0000'/>
+    </model>
+  </arch>
+</cpus>