optimization issues on Haswell


I started compiling on a new computer that is based on Haswell. The code compiles fine without optimization and also when I specify -tp=sandybridge. I am running this on a rocks cluster 6.2 installation which is based on CentOS 6.6.

I am not sure if this is a compiler issue or an issue of the environment I am using.

Thanks, Jan

mpif90 -Kieee -fast -tp=haswell -c -o ./obj/nrutil.o nrutil.f90
/tmp/pgfortran7QchXwvECYbg.s: Assembler messages:
/tmp/pgfortran7QchXwvECYbg.s:9609: Error: no such instruction: vinserti128 $1,%xmm0,%ymm0,%ymm0' /tmp/pgfortran7QchXwvECYbg.s:9619: Error: suffix or operands invalid for vpaddd’

Hi Jan,

We generate AVX instructions by default when targeting Haswell. Here it looks like your system assembler is a bit old so doesn’t recognize these instructions. To fix, either update you binutils to 2.25 (http://www.gnu.org/software/binutils/) or target the older processor.

  • Mat