This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/17886] variable rotate and long long rotate should be better optimized
- From: "michael dot meissner at amd dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Oct 2005 20:32:05 -0000
- Subject: [Bug middle-end/17886] variable rotate and long long rotate should be better optimized
- References: <bug-17886-7834@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #18 from michael dot meissner at amd dot com 2005-10-04 20:32 -------
Subject: RE: variable rotate and long long rotate
should be better optimized
Yep, all valid points. So I don't think it should be done by default.
But I suspect the original poster's application may be well behaved to
be able to use it. Certainly if the only reason for doing long long is
to do heavy duty bit banging (shift/rotate/and/or/test), but no
arithmetic it would speed up since it could do one instruction instead
of multiple, and it would lesson the register pressure that long longs
put on the x86.
-----Original Message-----
From: ak at muc dot de [mailto:gcc-bugzilla@gcc.gnu.org]
Sent: Tuesday, October 04, 2005 4:20 PM
To: Meissner, Michael
Subject: [Bug middle-end/17886] variable rotate and long long rotate
should be better optimized
------- Comment #17 from ak at muc dot de 2005-10-04 20:20 -------
The code now looks fine to me thanks
I would prefer if it didn't generate SSE2/MMX code because that would be
a
problem for kernels. Also in many x86 implementations moving things
between
normal integer registers and SIMD registers is quite slow and would
likely eat
all advantages
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17886