Fix icc 19 codegen issue
authorMark Abraham <mark.j.abraham@gmail.com>
Thu, 8 Aug 2019 18:13:35 +0000 (20:13 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Tue, 13 Aug 2019 06:46:04 +0000 (08:46 +0200)
This is one thing broken in post-submit testing right now

Change-Id: I496d99ee86861f2c8b467c09593a5882b19b0bb0

src/gromacs/mdlib/ebin.cpp

index 87039feeacfb1a75614895ae22f491ea7fea918f..bdbe5aeadff1d2899d47b73d968903dbee7e9381 100644 (file)
@@ -133,6 +133,11 @@ int get_ebin_space(t_ebin *eb, int nener, const char *const enm[], const char *u
     return index;
 }
 
+// ICC 19 -O3 -msse2 generates wrong code. Lower optimization levels
+// and other SIMD levels seem fine, however.
+#if defined __ICC
+#  pragma intel optimization_level 2
+#endif
 void add_ebin(t_ebin *eb, int entryIndex, int nener, const real ener[], gmx_bool bSum)
 {
     int       i, m;