[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2015-01-23 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

Richard Henderson rth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Richard Henderson rth at gcc dot gnu.org ---
Agreed.


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2015-01-23 Thread torvald at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #8 from torvald at gcc dot gnu.org ---
Can this bug be closed?  It sounds as if this has been fixed in 4.8 already;
given that TM is experimental, backporting the fix is probably not worth it.


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2014-01-01 Thread dirtyepic at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #7 from Ryan Hill dirtyepic at gentoo dot org ---
(In reply to Jakub Jelinek from comment #5)
 No idea what brokeness the above talks about, it works just fine for me in
 C++, so IMHO it just should always include x86intrin.h, but certainly if
 __MMX__ is defined, but no __SSE__, the above won't include in C++ any
 header which would define __m64.

For 4.8 it just directly includes x86intrin.h.
http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00467.html [1]

However after patching 4.7.3 [2] we're seeing a different error on some
systems.

---8---
In file included from
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/x86intrin.h:27:0,
 from
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/gcc-4.7.3/libitm/config/x86/target.h:72,
 from
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/gcc-4.7.3/libitm/libitm_i.h:82,
 from
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/gcc-4.7.3/libitm/aatree.cc:28:
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:
In function ‘int __bsrd(int)’:
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:41:35:
error: ‘__builtin_ia32_bsrsi’ was not declared in this scope
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:
In function ‘long long unsigned int __rdpmc(int)’:
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:89:35:
error: ‘__builtin_ia32_rdpmc’ was not declared in this scope
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:
In function ‘long long unsigned int __rdtsc()’:
/var/tmp/portage/sys-devel/gcc-4.7.3-r1/work/build/./gcc/include/ia32intrin.h:97:32:
error: ‘__builtin_ia32_rdtsc’ was not declared in this scope
---8---

Both the reporters have AMD K8 processors.  They only hit the bug when using
-march=native; -march=k8 is successful.

$ echo  | gcc -march=native -v -E - 21 | grep cc1
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/cc1 -E -quiet -v - -march=k8
-mno-cx16 -mno-sahf -mno-movbe -mno-aes -mno-pclmul -mno-popcnt -mno-abm
-mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mno-avx -mno-sse4.2
-mno-sse4.1 --param l1-cache-size=64 --param l1-cache-line-size=64 --param
l2-cache-size=512 -mtune=k8

So it seems there's still a piece missing.

[1] http://gcc.gnu.org/viewcvs/gcc?view=revisionrevision=193369
[2]
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/src/patchsets/gcc/4.7.3/gentoo/49_all_x86_pr52695_libitm-m64.patch?revision=1.1view=markup

[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-28 Thread freebsd at nagilum dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

Nagilum freebsd at nagilum dot org changed:

   What|Removed |Added

 CC||freebsd at nagilum dot org

--- Comment #6 from Nagilum freebsd at nagilum dot org 2012-03-28 07:14:43 
UTC ---
Same here, building it from the FreeBSD port.
../../gcc-4.7-20120225/configure --disable-nls
--enable-languages=c,c++,objc,fortran --libdir=/usr/local/lib/gcc47
--libexecdir=/usr/local/libexec/gcc47 --program-suffix=47
--with-as=/usr/local/bin/as --with-gmp=/usr/local
--with-gxx-include-dir=/usr/local/lib/gcc47/include/c++/
--with-ld=/usr/local/bin/ld --with-libiconv-prefix=/usr/local
--with-pkgversion=FreeBSD Ports Collection --with-system-zlib --disable-libgcj
--prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc47
--build=i386-portbld-freebsd9.0

bails at:
libtool: compile:  /var/tmp/export/ports/lang/gcc47/work/build/./gcc/g++
-B/var/
tmp/export/ports/lang/gcc47/work/build/./gcc/ -nostdinc++ -nostdinc++
-I/var/tmp
/export/ports/lang/gcc47/work/build/i386-portbld-freebsd9.0/libstdc++-v3/include
/i386-portbld-freebsd9.0
-I/var/tmp/export/ports/lang/gcc47/work/build/i386-port
bld-freebsd9.0/libstdc++-v3/include
-I/var/tmp/export/ports/lang/gcc47/work/gcc-
4.7-20120225/libstdc++-v3/libsupc++
-I/var/tmp/export/ports/lang/gcc47/work/gcc-
4.7-20120225/libstdc++-v3/include/backward
-I/var/tmp/export/ports/lang/gcc47/wo
rk/gcc-4.7-20120225/libstdc++-v3/testsuite/util
-L/var/tmp/export/ports/lang/gcc47/work/build/i386-portbld-freebsd9.0/libstdc++-v3/src
-L/var/tmp/export/ports/lang/gcc47/work/build/i386-portbld-freebsd9.0/libstdc++-v3/src/.libs
-B/usr/local/i386-portbld-freebsd9.0/bin/
-B/usr/local/i386-portbld-freebsd9.0/lib/ -isystem
/usr/local/i386-portbld-freebsd9.0/include -isystem
/usr/local/i386-portbld-freebsd9.0/sys-include -DHAVE_CONFIG_H -I.
-I../.././../gcc-4.7-20120225/libitm
-I../.././../gcc-4.7-20120225/libitm/config/x86
-I../.././../gcc-4.7-20120225/libitm/config/posix
-I../.././../gcc-4.7-20120225/libitm/config/generic
-I../.././../gcc-4.7-20120225/libitm -march=i486 -mtune=i386
-fomit-frame-pointer -Wall -pthread -Werror -std=gnu++0x -funwind-tables
-fno-exceptions -fno-rtti -fabi-version=4 -g -Os -O2 -pipe -march=geode
-mtune=geode -I/usr/local/include -fno-strict-aliasing -MT aatree.lo -MD -MP
-MF .deps/aatree.Tpo -c ../.././../gcc-4.7-20120225/libitm/aatree.cc  -fPIC
-DPIC -o .libs/aatree.o
In file included from ../.././../gcc-4.7-20120225/libitm/libitm_i.h:85:0,
 from ../.././../gcc-4.7-20120225/libitm/aatree.cc:28:
../.././../gcc-4.7-20120225/libitm/config/x86/cacheline.h:55:3: error: '__m64'
does not name a type


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-24 Thread ncahill_alt at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #4 from ncahill_alt at yahoo dot com 2012-03-24 10:18:15 UTC ---
(In reply to comment #3)
 --enable-bootstrap \
 
 Can you try without that?

I get the same error and the same workaround allows the build to complete.


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org,
   ||torvald at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-03-24 
10:57:29 UTC ---
Looks like a bug in libitm/config/x86/target.h:
// We'll be using some of the cpu builtins, and their associated types.
#ifndef __cplusplus
/* ??? It's broken for C++. */
#include x86intrin.h
#else
# ifdef __SSE2__
#  include emmintrin.h
# elif defined(__SSE__)
#  include xmmintrin.h
# endif
# ifdef __AVX__
#  include immintrin.h
# endif
#endif

No idea what brokeness the above talks about, it works just fine for me in
C++, so IMHO it just should always include x86intrin.h, but certainly if
__MMX__ is defined, but no __SSE__, the above won't include in C++ any header
which would define __m64.


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-23 
21:25:11 UTC ---
What is the target which you are using?


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-23 Thread ncahill_alt at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #2 from ncahill_alt at yahoo dot com 2012-03-23 22:23:19 UTC ---
Sorry, i686-pc-linux-gnu, I think that is the target.

This is the configure command:

../gcc-4.7.0/configure \
--enable-bootstrap \
--disable-libada \
--disable-ld \
--disable-gold \
--enable-lto \
--enable-libssp \
\
--prefix=/usr \
--bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.7.0 \
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/include \
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.7.0 \
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.7.0/man \
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.7.0/info \
   
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/include/g++-v4 \
--host=i686-pc-linux-gnu \
--build=i686-pc-linux-gnu \
--disable-altivec \
--disable-fixed-point \
--without-ppl \
--without-cloog \
--enable-nls \
--without-included-gettext \
--with-system-zlib \
--disable-werror \
--enable-secureplt \
--disable-multilib \
--enable-libmudflap \
--disable-libgomp \
--with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.7.0/python \
--enable-checking=release \
--disable-libgcj \
--enable-languages=c,c++,fortran,lto \
--enable-shared \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--with-bugurl=http://bugs.gentoo.org/

Thank you.


[Bug libitm/52695] libitm/config/x86/cacheline.h: '__m64' does not name a type

2012-03-23 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-03-23 
23:04:28 UTC ---
--enable-bootstrap \

Can you try without that?