gcc-4.0-20050220 is now available
Snapshot gcc-4.0-20050220 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.0-20050220/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.0 CVS branch with the following options: -D2005-02-20 17:43 UTC You'll find: gcc-4.0-20050220.tar.bz2 Complete GCC (includes all of below) gcc-core-4.0-20050220.tar.bz2 C front end and core compiler gcc-ada-4.0-20050220.tar.bz2 Ada front end and runtime gcc-fortran-4.0-20050220.tar.bz2 Fortran front end and runtime gcc-g++-4.0-20050220.tar.bz2 C++ front end and runtime gcc-java-4.0-20050220.tar.bz2 Java front end and runtime gcc-objc-4.0-20050220.tar.bz2 Objective-C front end and runtime gcc-testsuite-4.0-20050220.tar.bz2The GCC testsuite Diffs from 4.0-20050213 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.0 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: MMX built-ins performance oddities
Andrew Pinski schrieb: On Feb 19, 2005, at 8:21 AM, Prakash Punnoor wrote: Is this a known issue with gcc-3.4.3? I compiled the code using -O2 -march=athlon-xp -g3. If you want a smaller test case, I could try to do so. Right now I just didn't want to waste my time in case this is a know issue or I did something stupid... Yes the builtins are known to be a little stupid in 3.4.x. Could you try a snapshot of 4.0.0? So I tried with today's gcc4.0snapshot: - union version is nearly as fast (or a little bit faster) as gcc3.4.3 - vector version is about 3% faster than above instead of 10% slower - wow! But: - vector version using mmintrin.h (intel style intrinsics) is ~3% slower than above union version - still better than what gcc3.4.3 produces, but worse than expected So why is gcc 4.0 producing worse code when using intel style intrinsics and why isn't the union version using builtins as fast as using the vector version? Cheers -- Prakash Punnoor formerly known as Prakash K. Cheemplavam signature.asc Description: OpenPGP digital signature
How does g++ implement error handling?
Hi everyone, I am trying to find out how g++ implements error handling. My environment is CPU AMD Athlon(tm) XP 2000+, Debian GNU/Linux 3.1, GCC 3.4.3-6, and Glibc 2.3.2.ds1-20. After researching assembling codes generated by g++, I have known the beginning and ending part. That is, we will call __cxa_allocate_exception when writing 'throw expression', then the constructor of the exception class, and then __cxa_throw. __cxa_throw calls _Unwind_RaiseException. But this function is so complex for me that I cannot get the outline of the real process. However, I found uw_install_context (which is a macro) will be called if _Unwind_RaiseException succeeds, and the body of uw_install_context contains calling of longjmp. So setjmp will be somewhere, but I did no find it. Could somebody tell me the outline of the unwinding process? Thanks in advance. Regard, Guanpeng Xu _ 免费下载 MSN Explorer: http://explorer.msn.com/lccn
Re: MMX built-ins performance oddities
- vector version is about 3% faster than above instead of 10% slower - wow! So why is gcc 4.0 producing worse code when using intel style intrinsics and why isn't the union version using builtins as fast as using the vector version? I can answer why unions are slower: that's because they are spilled to memory on every assignment -- GCC 4.0 knows how to replace structs with different scalar variables (one per item), but not unions. GCC 3.4 knew about none of these possibilities. About why vectors are faster, well, a lot of the vector support has been rewritten in GCC 4.0 so that may be the case. I do not know exactly why builtins are still slower, but you may want to create a PR and add me on the CC list ([EMAIL PROTECTED]). Paolo