aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMisty De Meo2013-07-02 16:08:03 -0500
committerMisty De Meo2013-07-02 16:08:20 -0500
commit22576e87a0b9d0a269bc9fd6a969ad2abc05570c (patch)
tree2e96b746b45afae64003123d9e6071472370e4db /Library
parent53c97c3c96620734cbf55a487d9529f03568577e (diff)
downloadbrew-22576e87a0b9d0a269bc9fd6a969ad2abc05570c.tar.bz2
Hardware: Query sysctl for instructon sets
This may be more accurate than guessing.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/os/mac/hardware.rb13
1 files changed, 8 insertions, 5 deletions
diff --git a/Library/Homebrew/os/mac/hardware.rb b/Library/Homebrew/os/mac/hardware.rb
index d14952b8d..5487a8d4d 100644
--- a/Library/Homebrew/os/mac/hardware.rb
+++ b/Library/Homebrew/os/mac/hardware.rb
@@ -76,20 +76,23 @@ module MacCPUs
end
def altivec?
- type == :ppc && family != :g3
+ @altivec ||= sysctl_bool('hw.optional.altivec')
end
def avx?
- pre_sandy = [:core, :core2, :penryn, :nehalem, :arrandale].include? family
- type == :intel && !pre_sandy
+ @avx ||= sysctl_bool('hw.optional.avx1_0')
end
def sse3?
- type == :intel
+ @sse3 ||= sysctl_bool('hw.optional.sse3')
end
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
protected