Error on compiling WRFV3.1 using pgf-v901

Hi, All

I meet an error when I compile WRFV31 using pgf90-v901. The error is as following:
/tmp/pgf90HcsbJov3uq_Q.s: Assembler messages:
/tmp/pgf90HcsbJov3uq_Q.s:2318: Error: no such instruction: pmaxsd (%rdx),%xmm0' /tmp/pgf90HcsbJov3uq_Q.s:2321: Error: no such instruction: pmaxsd 16(%rdx),%xmm0’
/tmp/pgf90HcsbJov3uq_Q.s:2765: Error: no such instruction: pmaxsd (%rdx),%xmm0' /tmp/pgf90HcsbJov3uq_Q.s:2768: Error: no such instruction: pmaxsd 16(%rdx),%xmm0’
/tmp/pgf90HcsbJov3uq_Q.s:4659: Error: no such instruction: blendvps %xmm0,%xmm1,%xmm5' /tmp/pgf90HcsbJov3uq_Q.s:4664: Error: no such instruction: blendvps %xmm0,%xmm1,%xmm5’
make[3]: [module_mp_wsm3.o] Error 2 (ignored)

The option for pgf90 ompiler is:
SCC = gcc
FCOPTIM = -fastsse -tp penryn-64

If I remove -fastsse, the above error will disappear!

Information of my machine is:
1: Linux typhoon 2.6.18-8.el5xen #1 SMP Fri Jan 26 14:29:35 EST 2007 x86_64 x86_64 x86_64 GNU/Linux
2: the localrc file under /usr/local/linux86-64/9.0-1/bin is like:
set LDSO=/lib64/ld-linux-x86-64.so.2;
set GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/4.1.1;
set GCCINC=/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include;
set G77DIR=/usr/lib/gcc/x86_64-redhat-linux/4.1.1/;
set OEM_INFO=64-bit target on x86-64 Linux $INFOTPVAL;
set LOCALRC=YES;
set THROW=__THROW=;
set EXTENSION=extension=;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc);

#set EXTRAASARGS=__64

GLIBC version 2.5

GCC version 4.1.1

export PGI=/usr/local/pgi_v9;

I hope someone help me, thanks in advance!

Shanhong

Hi Shanhong,

With the 9.0 release, we added support for SSE4 instructions now available on Intel Penryn and Nehalem based systems. However, older assemblers do not recognize these new instructions.

The best solution is to simply update your GNU Binutils (which includes the assembler) by downloading the most current release found at http://ftp.gnu.org/gnu/binutils/. Otherwise, you will need to target an older processor (i.e. change -tp penryn-64 to -tp p7-64) or disable vectorization (-Mnovect).

Hope this helps,
Mat