[*] Dumb fucks: Daniel Griffing, Thomas Köppe, et al
Dumbshit MSVC devs: https://developercommunity.visualstudio.com/t/Support-__builtin_memcpy-and-__builtin_m/1046483?ftype=problem Read this dumbfuck babble: https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0806r2.html The skill-sets: https://github.com/tkoeppe?tab=repositories Blogging through news media: https://www.textilwirtschaft.de/business/news/die-ueberraschungsausgabe-ki-ist-wie-derschritt-von-der-sense-zum-maehdrescher-232732
This commit is contained in:
parent
8b8aadaa86
commit
a05f081406
@ -100,6 +100,14 @@ local function configureProjectForCompiler()
|
||||
filter {"toolset:msc", "files:**.cpp or files:**.cc or files:**.cxx"}
|
||||
buildoptions {"/experimental:module-", "/Zc:__cplusplus"}
|
||||
filter {}
|
||||
|
||||
filter {"toolset:clang"}
|
||||
buildoptions {"-Wno-implicit-function-declaration", "-Wno-deprecated-non-prototype"}
|
||||
filter {}
|
||||
|
||||
filter {"toolset:clang", "files:**.cpp or files:**.cc or files:**.cxx"}
|
||||
buildoptions {"-Wno-deprecated-this-capture"}
|
||||
filter {}
|
||||
end
|
||||
|
||||
local function configureProjectForPlatform(platform, projectType)
|
||||
@ -158,18 +166,29 @@ local function configureProjectForPlatforms(projType)
|
||||
end
|
||||
|
||||
local function configureProjectCPUTarget()
|
||||
filter { "toolset:msc"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP=__builtin_memcmp"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP_=1"}
|
||||
filter {}
|
||||
|
||||
filter { "toolset:msc", "architecture:x86_64"}
|
||||
buildoptions { "/arch:AVX" }
|
||||
filter {}
|
||||
|
||||
filter { "toolset:clang", "architecture:x86_64"}
|
||||
-- Some discount VPSes might be running on this dead architecture
|
||||
-- Haswell introduced AVX2.
|
||||
-- clang cpu levels: x86_64-v4 contains meme avx512 instructions and beyond, x86_64-v3 includes AVX1+2, x86_64-v2 doesn't have any AVX whatsoever.
|
||||
-- Dunno if intentional because SSE4.1 >= AVX, but either way, let's get some modern CPU features in an otherwise widely supported binary.
|
||||
-- Lets sit between v2 and v3 by a single intel generation.
|
||||
buildoptions { "-march=ivybridge" }
|
||||
buildoptions { "-march=ivybridge", "-maes" }
|
||||
disablewarnings { "dynamic-class-memaccess" }
|
||||
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
|
||||
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP=__builtin_memcmp"}
|
||||
defines {"AURORA_RUNTIME_MEMSET_=1"}
|
||||
defines {"AURORA_RUNTIME_MEMCPY_=1"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP_=1"}
|
||||
filter {}
|
||||
|
||||
filter { "toolset:clang", "architecture:x86"}
|
||||
@ -178,8 +197,10 @@ local function configureProjectCPUTarget()
|
||||
disablewarnings { "dynamic-class-memaccess" }
|
||||
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
|
||||
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP=__builtin_memcmp"}
|
||||
defines {"AURORA_RUNTIME_MEMSET_=1"}
|
||||
defines {"AURORA_RUNTIME_MEMCPY_=1"}
|
||||
defines {"AURORA_RUNTIME_MEMCMP_=1"}
|
||||
filter {}
|
||||
end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user