[*] Set explicit clang microarchitecture targets of x86_32 and x86_64 processors
This commit is contained in:
parent
051e453cad
commit
f1414cd7ec
@ -157,6 +157,26 @@ local function configureProjectForPlatforms(projType)
|
|||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function configureProjectCPUTarget()
|
||||||
|
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" }
|
||||||
|
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
|
||||||
|
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
|
||||||
|
filter {}
|
||||||
|
|
||||||
|
filter { "toolset:clang", "architecture:x86"}
|
||||||
|
-- Let Linux x86_32 support Intel Core+ (2006) CPUs
|
||||||
|
buildoptions { "-march=core2" }
|
||||||
|
defines {"AURORA_RUNTIME_MEMSET=__builtin_memset"}
|
||||||
|
defines {"AURORA_RUNTIME_MEMCPY=__builtin_memcpy"}
|
||||||
|
filter {}
|
||||||
|
end
|
||||||
|
|
||||||
local function configureProjectErrors()
|
local function configureProjectErrors()
|
||||||
if (not Aurora.Settings.bDisableWarningsThatAnnoyRec) then
|
if (not Aurora.Settings.bDisableWarningsThatAnnoyRec) then
|
||||||
return
|
return
|
||||||
@ -194,7 +214,7 @@ local function configureProjectErrors()
|
|||||||
"unknown-warning-option"
|
"unknown-warning-option"
|
||||||
}
|
}
|
||||||
|
|
||||||
filter{}
|
filter {}
|
||||||
|
|
||||||
if (targetingCmake) then
|
if (targetingCmake) then
|
||||||
filter {"toolset:msc"}
|
filter {"toolset:msc"}
|
||||||
@ -379,6 +399,7 @@ local function setupProject(prj)
|
|||||||
configureProjectForSolution(prj)
|
configureProjectForSolution(prj)
|
||||||
configureProjectErrors()
|
configureProjectErrors()
|
||||||
configureProjectForCompiler()
|
configureProjectForCompiler()
|
||||||
|
configureProjectCPUTarget()
|
||||||
configureProjectForPlatforms(prj.projectType)
|
configureProjectForPlatforms(prj.projectType)
|
||||||
configureProjectForTarget()
|
configureProjectForTarget()
|
||||||
configureProjectForDebug(prj)
|
configureProjectForDebug(prj)
|
||||||
|
Loading…
Reference in New Issue
Block a user