diff --git a/compiler/i386/cpuinfo.pas b/compiler/i386/cpuinfo.pas index 06170a6dbf..154b4ac614 100644 --- a/compiler/i386/cpuinfo.pas +++ b/compiler/i386/cpuinfo.pas @@ -129,9 +129,11 @@ Const type tcpuflags = - (CPUX86_HAS_BMI1, + (CPUX86_HAS_SSEUNIT, + CPUX86_HAS_BMI1, CPUX86_HAS_BMI2, CPUX86_HAS_POPCNT, + CPUX86_HAS_AVXUNIT, CPUX86_HAS_LZCNT, CPUX86_HAS_MOVBE ); @@ -142,11 +144,11 @@ type { cpu_386 } [], { cpu_Pentium } [], { cpu_Pentium2 } [], - { cpu_Pentium3 } [], - { cpu_Pentium4 } [], - { cpu_PentiumM } [], - { cpu_core_avx } [CPUX86_HAS_POPCNT], - { cpu_core_avx2 } [CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] + { cpu_Pentium3 } [CPUX86_HAS_SSEUNIT], + { cpu_Pentium4 } [CPUX86_HAS_SSEUNIT], + { cpu_PentiumM } [CPUX86_HAS_SSEUNIT], + { cpu_core_avx } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT], + { cpu_core_avx2 } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] ); diff --git a/compiler/x86_64/cpuinfo.pas b/compiler/x86_64/cpuinfo.pas index ea683147a3..670344ad29 100644 --- a/compiler/x86_64/cpuinfo.pas +++ b/compiler/x86_64/cpuinfo.pas @@ -117,9 +117,11 @@ Const type tcpuflags = - (CPUX86_HAS_BMI1, + (CPUX86_HAS_SSEUNIT, + CPUX86_HAS_BMI1, CPUX86_HAS_BMI2, CPUX86_HAS_POPCNT, + CPUX86_HAS_AVXUNIT, CPUX86_HAS_LZCNT, CPUX86_HAS_MOVBE ); @@ -127,9 +129,9 @@ type const cpu_capabilities : array[tcputype] of set of tcpuflags = ( { cpu_none } [], - { Athlon64 } [], - { cpu_core_avx } [CPUX86_HAS_POPCNT], - { cpu_core_avx2 } [CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] + { Athlon64 } [CPUX86_HAS_SSEUNIT], + { cpu_core_avx } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT], + { cpu_core_avx2 } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] ); Implementation