http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47581
H.J. Lu <hjl.tools at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu.org --- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> 2011-02-02 15:05:10 UTC --- (In reply to comment #8) > For this tescase, gcc 4.4 generates the most efficient code > while 4.5/4.6 become worse and worse: > > [hjl@gnu-6 gcc]$ cat x.i > unsigned mulh(unsigned a, unsigned b) > { > unsigned long long l __attribute__ ((aligned(32))) > =((unsigned long long)a * (unsigned long long)b) >> 32; > return l; > } This is caused by revision 146817: http://gcc.gnu.org/ml/gcc-cvs/2009-04/msg01459.html