summaryrefslogtreecommitdiff
path: root/numpy/distutils/fcompiler/intel.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2007-06-05 10:41:43 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2007-06-05 10:41:43 +0000
commit75ac806348fc29908b04046170ef7747a815339e (patch)
tree5650d10312874a3b86eb3f9883d2a791c26eec67 /numpy/distutils/fcompiler/intel.py
parentbbfdf129791e044e663c41e75bccc3b860b82c45 (diff)
downloadnumpy-75ac806348fc29908b04046170ef7747a815339e.tar.gz
Updated intel compiler arch flags -- intel compiler users should recheck these options.
Diffstat (limited to 'numpy/distutils/fcompiler/intel.py')
-rw-r--r--numpy/distutils/fcompiler/intel.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/numpy/distutils/fcompiler/intel.py b/numpy/distutils/fcompiler/intel.py
index 3af4eaf99..028e2cd73 100644
--- a/numpy/distutils/fcompiler/intel.py
+++ b/numpy/distutils/fcompiler/intel.py
@@ -52,6 +52,7 @@ class IntelFCompiler(FCompiler):
return ['-O3','-unroll']
def get_flags_arch(self):
+ v = self.get_version()
opt = []
if cpu.has_fdiv_bug():
opt.append('-fdiv_check')
@@ -65,8 +66,25 @@ class IntelFCompiler(FCompiler):
opt.append('-tpp5')
elif cpu.is_PentiumIV() or cpu.is_Xeon():
opt.extend(['-tpp7','-xW'])
- if cpu.has_mmx() and not cpu.is_Xeon():
- opt.append('-xM')
+ if v and v <= '7.1':
+ if cpu.has_mmx() and (cpu.is_PentiumII() or cpu.is_PentiumIII()):
+ opt.append('-xM')
+ elif v and v >= '8.0':
+ if cpu.is_PentiumIII():
+ opt.append('-xK')
+ if cpu.has_sse3():
+ opt.extend(['-xP'])
+ elif cpu.is_PentiumIV():
+ opt.append('-xW')
+ if cpu.has_sse2():
+ opt.append('-xN')
+ elif cpu.is_PentiumM():
+ opt.extend(['-xB'])
+ if (cpu.is_Xeon() or cpu.is_Core2() or cpu.is_Core2Extreme()) and cpu.getNCPUs()==2:
+ opt.extend(['-xT'])
+ if cpu.has_sse3() and (cpu.is_PentiumIV() or cpu.is_CoreDuo() or cpu.is_CoreSolo()):
+ opt.extend(['-xP'])
+
if cpu.has_sse2():
opt.append('-arch SSE2')
elif cpu.has_sse():