ACML bug (or undocumented feature?) : 32 bit versions for GFortran, PGI Fortran

Discussion created by on Jan 9, 2009
Latest reply on Jan 13, 2009 by
Many routines in the 32-bit ACML libraries contain the REP prefix for X87 instructions

While debugging some code, I found that the ACML 32-bit libraries for GFortran (4.2.0, downloaded today) and PGI Fortran (3.6.0) for Linux contained code sequences such as

f3 dd 06 repz fldl (%esi)
f3 dd 07 repz fldl (%edi)
f3 d8 c9 repz fmul %st(1),%st

in routines such as "dmmkern30x87_".

Valgrind flags these instructions as invalid and raises a SIGILL exception.

The AMD CPU instruction set descriptions state that "rep", "repz" and "repnz" prefixes apply only to string operations.

Is there a gap in my understanding of this issue?

I am running openSUSE 11.0-x64, on an HP PC with an Athlon-X2 CPU, 4G RAM.


N. Shamsundar
University of Houston