[Bug c/29833] New: gcc 4.1.2 on x86_64 Ubuntu Edgy generates incorrect prefetch instruction

thaytan at noraisin dot net gcc-bugzilla@gcc.gnu.org
Tue Nov 14 14:25:00 GMT 2006


Actual version string from gcc: 4.1.2 20060928 (prerelease) (Ubuntu
4.1.1-13ubuntu5)

Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release
x86_64-linux-gnu

Using __builtin_prefetch with the default compiler flags (i.e, mtune=generic)
generates a 3dnow prefetch instruction (prefetchw), which won't run on em64t
cpus.

Attaching test file. Compiling this with gcc -otest test.c produces a binary
that faults on em64t. Compiling with 'gcc -o test -mno-3dnow test.c' generates
a prefetcht0 instruction, which works.


-- 
           Summary: gcc 4.1.2 on x86_64 Ubuntu Edgy generates incorrect
                    prefetch instruction
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: thaytan at noraisin dot net
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29833



More information about the Gcc-bugs mailing list