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:35:07 -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 #19 from michael dot meissner at amd dot com 2005-10-04 20:35 -------
Subject: RE: variable rotate and long long rotate
should be better optimized
I almost forgot, kernels should be using -mno-mmx and -mno-sse as a
matter of course (or -msoft-float). I first ran into this problem in
1990 when I was supporting the MIPS platform, and the kernel guys were
surprised that the compiler would use the double precision registers to
do block copies, since it could double the bandwidth of doing 32-bit
moves.
-----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