[llvm-bugs] [Bug 25080] New: x86_64: Cannot emit physreg copy instruction

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Oct 6 15:11:39 PDT 2015


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

            Bug ID: 25080
           Summary: x86_64: Cannot emit physreg copy instruction
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: dimitry at andric.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

This reproduced with trunk r248374.  Minimized test case:

char x0;
*x1;
x2(x3) { return x3 == 0 || x3 == 11 || x3 == 22; }
x4() {
  int x5, x6, x7;
  for (; x1 && x7 < x0; x7++)
    if (x2(x1[x7]))
      x5++;
    else
      x6++;
  return x5 && x6;
}

Compile with:

clang -cc1 -triple x86_64-unknown-freebsd11.0 -emit-obj -target-cpu sandybridge
-O2 -vectorize-loops testcase.c

Resulting in:

Cannot emit physreg copy instruction
UNREACHABLE executed at
/share/dim/src/llvm/trunk/lib/Target/X86/X86InstrInfo.cpp:3963!
Abort trap

The target CPU must apparently be sandybridge or higher, the error does not
reproduce with 'plain' x86_64.

-- 
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/20151006/ed8cfacb/attachment.html>


More information about the llvm-bugs mailing list