[LLVMbugs] [Bug 21713] New: inefficient lowering of vectorized code with intrinsics
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Dec 2 11:34:44 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=21713
Bug ID: 21713
Summary: inefficient lowering of vectorized code with
intrinsics
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: rdivacky at freebsd.org
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
(A bug report from jmg at freebsd.org)
Here is a case where the same functional code gets compiled differently.
These functions were written to emulate _mm_insert_epi64 on i386 machines
which does not have it... I noticed when disassembling them that emul2
version does not use the pinsrd instruction, but does some weird things
with movps instead... Though the code for emul2 and emul3 are
functionally the same, emul3 seems to be more effecient...
Also, similar behavior is observed between emul84 and emul85... though
both functions will result in the same set of arguments to
_mm_insert_epi32, one uses the intrinsic (emul84) and emul85 does not.
Compiled w/:
clang -c -o foow.o foow.c -msse4 -O3
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141202/46dca82b/attachment.html>
More information about the llvm-bugs
mailing list