diff options
| author | Misty De Meo | 2013-07-02 16:08:03 -0500 |
|---|---|---|
| committer | Misty De Meo | 2013-07-02 16:08:20 -0500 |
| commit | 2570e4bcf9eeb2c2f9151f6bb975630131f2fcd1 (patch) | |
| tree | 5daf112d87da04d9be9bdad711c46f04b1233088 /Library/Homebrew | |
| parent | a4a0b14d665b904ba9ef190dc20d60ff7dfb7e79 (diff) | |
| download | homebrew-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.rb | 13 |
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 |
