[llvm-bugs] [Bug 34887] New: [CodeGen][ExpandMemcmp] Regression on memcmp(p1, p2, N) lowering for N={16, 32} (X86)

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Oct 9 09:05:53 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=34887

            Bug ID: 34887
           Summary: [CodeGen][ExpandMemcmp] Regression on memcmp(p1, p2,
                    N) lowering for N={16,32} (X86)
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: clement.courbet at gmail.com
                CC: llvm-bugs at lists.llvm.org

When memcmp expansion was enabled in CodeGenPrepare, there was a regression for
N=16 at least on X86.

Before enabling CodeGen/ExpandMemcmp, a memcmp(x, y, 16)
would be expanded by SelectionDAGBuilder::visitMemCmpCall into vector
loads + compares.
When CodeGen/ExpandMemcmp was enabled, the 16 byte memcmp would be
expanded to two 8-byte load and compares, preventing
SelectionDAGBuilder::visitMemCmpCall to do its job later.

-- 
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/20171009/220c5e5d/attachment.html>


More information about the llvm-bugs mailing list