From d3abd339b7cf9b3c7e70679ee65a4732b56ca37d Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 11 Nov 2022 23:45:52 +0100 Subject: [PATCH] + cpu switch for zen --- compiler/i386/cpuinfo.pas | 9 ++++++--- compiler/x86/agx86nsm.pas | 6 ++++-- compiler/x86_64/cpuinfo.pas | 9 ++++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/compiler/i386/cpuinfo.pas b/compiler/i386/cpuinfo.pas index 77203a8bf1..4773d87dfb 100644 --- a/compiler/i386/cpuinfo.pas +++ b/compiler/i386/cpuinfo.pas @@ -55,7 +55,8 @@ Type cpu_PentiumM, cpu_core_i, cpu_core_avx, - cpu_core_avx2 + cpu_core_avx2, + cpu_zen ); tfputype = @@ -122,7 +123,8 @@ Const 'PENTIUMM', 'COREI', 'COREAVX', - 'COREAVX2' + 'COREAVX2', + 'ZEN' ); fputypestr : array[tfputype] of string[7] = ( @@ -200,7 +202,8 @@ type { cpu_PentiumM } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2], { cpu_core_i } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT], { cpu_core_avx } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT], - { cpu_core_avx2 } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] + { cpu_core_avx2 } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE], + { cpu_zen } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] ); fpu_capabilities : array[tfputype] of set of tfpuflags = ( diff --git a/compiler/x86/agx86nsm.pas b/compiler/x86/agx86nsm.pas index dc07045625..9b9a2622b9 100644 --- a/compiler/x86/agx86nsm.pas +++ b/compiler/x86/agx86nsm.pas @@ -110,7 +110,8 @@ interface 'x64', // cpu_athlon64, 'ia64', // cpu_core_i, 'ia64', // cpu_core_avx, - 'ia64' // cpu_core_avx2 + 'ia64', // cpu_core_avx2, + 'ia64' // cpu_zen {$elseif defined(i386)} 'ia64', // cpu_none, '386', // cpu_386, @@ -122,7 +123,8 @@ interface 'p4', // cpu_PentiumM, 'ia64', // cpu_core_i, 'ia64', // cpu_core_avx, - 'ia64' // cpu_core_avx2 + 'ia64', // cpu_core_avx2 + 'ia64' // cpu_zen {$elseif defined(i8086)} 'ia64', // cpu_none '8086', // cpu_8086 diff --git a/compiler/x86_64/cpuinfo.pas b/compiler/x86_64/cpuinfo.pas index 1718569d9d..eba8f88434 100644 --- a/compiler/x86_64/cpuinfo.pas +++ b/compiler/x86_64/cpuinfo.pas @@ -48,7 +48,8 @@ Type cpu_athlon64, cpu_core_i, cpu_core_avx, - cpu_core_avx2 + cpu_core_avx2, + cpu_zen ); tfputype = @@ -115,7 +116,8 @@ Const 'ATHLON64', 'COREI', 'COREAVX', - 'COREAVX2' + 'COREAVX2', + 'ZEN' ); fputypestr : array[tfputype] of string[7] = ( @@ -196,7 +198,8 @@ type { Athlon64 } [CPUX86_HAS_BTX,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2], { cpu_core_i } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT], { cpu_core_avx } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT], - { cpu_core_avx2 } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] + { cpu_core_avx2 } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE], + { cpu_zen } [CPUX86_HAS_BTX,CPUX86_HAS_FAST_XCHG,CPUX86_HAS_CMOV,CPUX86_HAS_FAST_BTX,CPUX86_HAS_SSEUNIT,CPUX86_HAS_SSE2,CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE] ); fpu_capabilities : array[tfputype] of set of tfpuflags = (