Hardware: Query sysctl for instructon sets
This may be more accurate than guessing.
This commit is contained in:
parent
53c97c3c96
commit
22576e87a0
@ -76,20 +76,23 @@ module MacCPUs
|
|||||||
end
|
end
|
||||||
|
|
||||||
def altivec?
|
def altivec?
|
||||||
type == :ppc && family != :g3
|
@altivec ||= sysctl_bool('hw.optional.altivec')
|
||||||
end
|
end
|
||||||
|
|
||||||
def avx?
|
def avx?
|
||||||
pre_sandy = [:core, :core2, :penryn, :nehalem, :arrandale].include? family
|
@avx ||= sysctl_bool('hw.optional.avx1_0')
|
||||||
type == :intel && !pre_sandy
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def sse3?
|
def sse3?
|
||||||
type == :intel
|
@sse3 ||= sysctl_bool('hw.optional.sse3')
|
||||||
end
|
end
|
||||||
|
|
||||||
def sse4?
|
def sse4?
|
||||||
type == :intel && (family != :core && family != :core2)
|
@sse4 ||= sysctl_bool('hw.optional.sse4_1')
|
||||||
|
end
|
||||||
|
|
||||||
|
def sse4_2?
|
||||||
|
@sse4 ||= sysctl_bool('hw.optional.sse4_2')
|
||||||
end
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user