hardware: use Nehalem flags on >= Sierra.

See https://en.wikipedia.org/wiki/MacOS_Sierra#System_requirements.
This commit is contained in:
Mike McQuaid 2018-12-20 20:10:54 +00:00
parent e6e534157c
commit 04fbdce3bb
No known key found for this signature in database
GPG Key ID: 48A898132FD8EE70
3 changed files with 42 additions and 28 deletions

View File

@ -1,4 +1,5 @@
if OS.mac? if OS.mac?
require "extend/os/mac/hardware"
require "extend/os/mac/hardware/cpu" require "extend/os/mac/hardware/cpu"
elsif OS.linux? elsif OS.linux?
require "extend/os/linux/hardware/cpu" require "extend/os/linux/hardware/cpu"

View File

@ -0,0 +1,9 @@
module Hardware
def self.oldest_cpu
if MacOS.version >= :sierra
:nehalem
else
generic_oldest_cpu
end
end
end

View File

@ -7,10 +7,11 @@ module Hardware
class << self class << self
OPTIMIZATION_FLAGS = { OPTIMIZATION_FLAGS = {
core2: "-march=core2", nehalem: "-march=nehalem -msse4.2",
core: "-march=prescott", core2: "-march=core2",
armv6: "-march=armv6", core: "-march=prescott",
armv8: "-march=armv8-a", armv6: "-march=armv6",
armv8: "-march=armv8-a",
}.freeze }.freeze
def optimization_flags def optimization_flags
@ -130,35 +131,38 @@ module Hardware
end end
end end
def self.cores_as_words class << self
case Hardware::CPU.cores def cores_as_words
when 1 then "single" case Hardware::CPU.cores
when 2 then "dual" when 1 then "single"
when 4 then "quad" when 2 then "dual"
when 6 then "hexa" when 4 then "quad"
when 8 then "octa" when 6 then "hexa"
when 12 then "dodeca" when 8 then "octa"
else when 12 then "dodeca"
Hardware::CPU.cores else
Hardware::CPU.cores
end
end end
end
def self.oldest_cpu def oldest_cpu
if Hardware::CPU.intel? if Hardware::CPU.intel?
if Hardware::CPU.is_64_bit? if Hardware::CPU.is_64_bit?
:core2 :core2
else
:core
end
elsif Hardware::CPU.arm?
if Hardware::CPU.is_64_bit?
:armv8
else
:armv6
end
else else
:core Hardware::CPU.family
end end
elsif Hardware::CPU.arm?
if Hardware::CPU.is_64_bit?
:armv8
else
:armv6
end
else
Hardware::CPU.family
end end
alias generic_oldest_cpu oldest_cpu
end end
end end