[LLVMbugs] [Bug 2809] New: Avoid execution domain bypass
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Fri Sep 19 08:29:27 PDT 2008
http://llvm.org/bugs/show_bug.cgi?id=2809
Summary: Avoid execution domain bypass
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: nicolas at capens.net
CC: llvmbugs at cs.uiuc.edu
On x86 a logical operation on 128-bit vectors can be lowered to three different
instrucitons: andps, andpd, pand (in the case of logical and). According to the
intel optimization guide, andps and andpd execute in the 'floating-point
domain' and pand executes in the 'integer domain'. Data bypass between domains
cost an additional clock cycle. So the use of a pand instruction in the middle
of floating-point calculations costs two extra clock cycles.
I've seen LLVM generate both andps and pand. But since LLVM's IR only allows
and operations between integer vectors this behavior seems rather uncontrolled.
So for best performance instruction selection should ensure that no unnecessary
execution domain bypasses are made.
--
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