[LLVMbugs] [Bug 8148] New: Inefficient code generated for rotate idiom
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Sep 14 16:01:22 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8148
Summary: Inefficient code generated for rotate idiom
Product: libraries
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: Scalar Optimizations
AssignedTo: unassignedbugs at nondot.org
ReportedBy: benny.kra at gmail.com
CC: llvmbugs at cs.uiuc.edu
Reported by helmut on IRC.
clang compiles this code:
#define ROTL(v, s) (((v) << (s))|((v) >> (32-(s))))
uint32_t foo(uint32_t a) { return ROTL(a + 0xd76aa478, 7); }
into a shift/or sequence instead of the more efficient "rol" instruction on
x86. Removing the addition or turning ROTL into an inline function produces the
expected result.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list