for fbc-win-gcc-9.3
Code: Select all
extern "c"
declare function __builtin_cpu_init () as long
declare function __builtin_cpu_is (byval as const zstring ptr) as long
declare function __builtin_cpu_supports (byval as const zstring ptr) as long
end extern
__builtin_cpu_init ()
if __builtin_cpu_is ("amd") then
Print "AMD CPU."
end if
if __builtin_cpu_is ("intel") then
Print "Intel CPU."
end if
if __builtin_cpu_is ("atom") then
Print "Intel Atom CPU."
end if
if __builtin_cpu_is ("slm") then
Print "supports Intel Silvermont CPU instructions."
end if
if __builtin_cpu_is ("core2") then
Print "supports Intel Core 2 CPU instructions."
end if
if __builtin_cpu_is ("corei7") then
Print "supports Intel Core i7 CPU instructions."
end if
if __builtin_cpu_is ("nehalem") then
Print "supports Intel Core i7 Nehalem CPU instructions."
end if
if __builtin_cpu_is ("westmere") then
Print "supports Intel Core i7 Westmere CPU instructions."
end if
if __builtin_cpu_is ("sandybridge") then
Print "supports Intel Core i7 Sandy Bridge CPU instructions."
end if
if __builtin_cpu_is ("ivybridge") then
Print "supports Intel Core i7 Ivy Bridge CPU instructions."
end if
if __builtin_cpu_is ("haswell") then
Print "supports Intel Core i7 Haswell CPU instructions."
end if
if __builtin_cpu_is ("broadwell") then
Print "supports Intel Core i7 Broadwell CPU instructions."
end if
if __builtin_cpu_is ("skylake") then
Print "supports Intel Core i7 Skylake CPU instructions."
end if
if __builtin_cpu_is ("skylake-avx512") then
Print "supports Intel Core i7 Skylake AVX512 CPU instructions."
end if
if __builtin_cpu_is ("cannonlake") then
Print "supports Intel Core i7 Cannon Lake CPU instructions."
end if
if __builtin_cpu_is ("icelake-client") then
Print "supports Intel Core i7 Ice Lake Client CPU instructions."
end if
if __builtin_cpu_is ("icelake-server") then
Print "supports Intel Core i7 Ice Lake Server CPU instructions."
end if
if __builtin_cpu_is ("cascadelake") then
Print "supports Intel Core i7 Cascadelake CPU instructions."
end if
/'
if __builtin_cpu_is ("tigerlake") then
Print "supports Intel Core i7 Tigerlake CPU instructions."
end if
'/
if __builtin_cpu_is ("bonnell") then
Print "supports Intel Atom Bonnell CPU instructions."
end if
if __builtin_cpu_is ("silvermont") then
Print "supports Intel Atom Silvermont CPU instructions."
end if
if __builtin_cpu_is ("goldmont") then
Print "supports Intel Atom Goldmont CPU instructions."
end if
if __builtin_cpu_is ("goldmont-plus") then
Print "supports Intel Atom Goldmont Plus CPU instructions."
end if
if __builtin_cpu_is ("tremont") then
Print "supports Intel Atom Tremont CPU instructions."
end if
if __builtin_cpu_is ("knl") then
Print "supports Intel Knights Landing CPU instructions."
end if
if __builtin_cpu_is ("knm") then
Print "supports Intel Knights Mill CPU instructions."
end if
if __builtin_cpu_is ("amdfam10h") then
Print "supports AMD Family 10h CPU instructions."
end if
if __builtin_cpu_is ("barcelona") then
Print "supports AMD Family 10h Barcelona CPU instructions."
end if
if __builtin_cpu_is ("shanghai") then
Print "supports AMD Family 10h Shanghai CPU instructions."
end if
if __builtin_cpu_is ("istanbul") then
Print "supports AMD Family 10h Istanbul CPU instructions."
end if
if __builtin_cpu_is ("btver1") then
Print "supports AMD Family 14h CPU instructions."
end if
if __builtin_cpu_is ("amdfam15h") then
Print "supports AMD Family 15h CPU instructions."
end if
if __builtin_cpu_is ("bdver1") then
Print "supports AMD Family 15h Bulldozer version 1 instructions."
end if
if __builtin_cpu_is ("bdver2") then
Print "supports AMD Family 15h Bulldozer version 2 instructions."
end if
if __builtin_cpu_is ("bdver3") then
Print "supports AMD Family 15h Bulldozer version 3 instructions."
end if
if __builtin_cpu_is ("bdver4") then
Print "supports AMD Family 15h Bulldozer version 4 instructions."
end if
if __builtin_cpu_is ("btver2") then
Print "supports AMD Family 16h CPU instructions."
end if
if __builtin_cpu_is ("amdfam17h") then
Print "supports AMD Family 17h CPU instructions."
end if
if __builtin_cpu_is ("znver1") then
Print "supports AMD Family 17h Zen version 1 instructions."
end if
if __builtin_cpu_is ("znver2") then
Print "supports AMD Family 17h Zen version 2 instructions."
end if
if __builtin_cpu_supports ("cmov") then
Print "supports the CMOV instruction."
end if
if __builtin_cpu_supports ("mmx") then
Print "supports the MMX instructions."
end if
if __builtin_cpu_supports ("popcnt") then
Print "supports the POPCNT instruction."
end if
if __builtin_cpu_supports ("sse") then
Print "supports the SSE instructions."
end if
if __builtin_cpu_supports ("sse2") then
Print "supports the SSE2 instructions."
end if
if __builtin_cpu_supports ("sse3") then
Print "supports the SSE3 instructions."
end if
if __builtin_cpu_supports ("ssse3") then
Print "supports the SSSE3 instructions."
end if
if __builtin_cpu_supports ("sse4.1") then
Print "supports the SSE4.1 instructions."
end if
if __builtin_cpu_supports ("sse4.2") then
Print "supports the SSE4.2 instructions."
end if
if __builtin_cpu_supports ("avx") then
Print "supports the AVX instructions."
end if
if __builtin_cpu_supports ("avx2") then
Print "supports the AVX2 instructions."
end if
if __builtin_cpu_supports ("sse4a") then
Print "supports the SSE4A instructions."
end if
if __builtin_cpu_supports ("fma4") then
Print "supports the FMA4 instructions."
end if
if __builtin_cpu_supports ("xop") then
Print "supports the XOP instructions."
end if
if __builtin_cpu_supports ("fma") then
Print "supports the FMA instructions."
end if
if __builtin_cpu_supports ("avx512f") then
Print "supports the AVX512F instructions."
end if
if __builtin_cpu_supports ("bmi") then
Print "supports the BMI instructions."
end if
if __builtin_cpu_supports ("bmi2") then
Print "supports the BMI2 instructions."
end if
if __builtin_cpu_supports ("aes") then
Print "supports the AES instructions."
end if
if __builtin_cpu_supports ("pclmul") then
Print "supports the PCLMUL instructions."
end if
if __builtin_cpu_supports ("avx512vl") then
Print "supports the AVX512VL instructions."
end if
if __builtin_cpu_supports ("avx512bw") then
Print "supports the AVX512BW instructions."
end if
if __builtin_cpu_supports ("avx512dq") then
Print "supports the AVX512DQ instructions."
end if
if __builtin_cpu_supports ("avx512cd") then
Print "supports the AVX512CD instructions."
end if
if __builtin_cpu_supports ("avx512er") then
Print "supports the AVX512ER instructions."
end if
if __builtin_cpu_supports ("avx512pf") then
Print "supports the AVX512PF instructions."
end if
if __builtin_cpu_supports ("avx512vbmi") then
Print "supports the AVX512VBMI instructions."
end if
if __builtin_cpu_supports ("avx512ifma") then
Print "supports the AVX512IFMA instructions."
end if
if __builtin_cpu_supports ("avx5124vnniw") then
Print "supports the AVX5124VNNIW instructions."
end if
if __builtin_cpu_supports ("avx5124fmaps") then
Print "supports the AVX5124FMAPS instructions."
end if
if __builtin_cpu_supports ("avx512vpopcntdq") then
Print "supports the AVX512VPOPCNTDQ instructions."
end if
if __builtin_cpu_supports ("avx512vbmi2") then
Print "supports the AVX512VBMI2 instructions."
end if
if __builtin_cpu_supports ("gfni") then
Print "supports the GFNI instructions."
end if
if __builtin_cpu_supports ("vpclmulqdq") then
Print "supports the VPCLMULQDQ instructions."
end if
if __builtin_cpu_supports ("avx512vnni") then
Print "supports the AVX512VNNI instructions."
end if
if __builtin_cpu_supports ("avx512bitalg") then
Print "supports the AVX512BITALG instructions."
end if
Intel CPU.
supports Intel Core i7 CPU instructions.
supports Intel Core i7 Skylake CPU instructions.
supports the CMOV instruction.
supports the MMX instructions.
supports the POPCNT instruction.
supports the SSE instructions.
supports the SSE2 instructions.
supports the SSE3 instructions.
supports the SSSE3 instructions.
supports the SSE4.1 instructions.
supports the SSE4.2 instructions.
supports the AVX instructions.
supports the AVX2 instructions.
supports the FMA instructions.
supports the BMI instructions.
supports the BMI2 instructions.
supports the AES instructions.
supports the PCLMUL instructions.