aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorMisty De Meo2013-07-02 16:08:03 -0500
committerMisty De Meo2013-07-02 16:08:20 -0500
commit2570e4bcf9eeb2c2f9151f6bb975630131f2fcd1 (patch)
tree5daf112d87da04d9be9bdad711c46f04b1233088 /Library/Homebrew
parenta4a0b14d665b904ba9ef190dc20d60ff7dfb7e79 (diff)
downloadhomebrew-2570e4bcf9eeb2c2f9151f6bb975630131f2fcd1.tar.bz2
Hardware: Query sysctl for instructon sets
This may be more accurate than guessing.
Diffstat (limited to 'Library/Homebrew')
-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