[LLVMbugs] [Bug 21352] New: Vector lowering: Assertion `isReg() && "This is not a register operand!"' failed.

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Oct 22 21:29:59 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=21352

            Bug ID: 21352
           Summary: Vector lowering: Assertion `isReg() && "This is not a
                    register operand!"' failed.
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: paul_robinson at playstation.sony.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 13241
  --> http://llvm.org/bugs/attachment.cgi?id=13241&action=edit
Traceback

Bisected this to r219046, enabling new vector lowering by default.

This is about as reduced as I can make it, sorry...
source file and traceback attached.

$ clang -cc1 -O2 -std=c++11 -emit-obj bug8.cpp
...
MCInst.h:64: unsigned int llvm::MCOperand::getReg() const: 
Assertion `isReg() && "This is not a register operand!"' failed.
....
Stack dump:
0.    Program arguments:
/home/probinson/projects/llvm-org-tip/obj/Debug+Asserts/bin/clang -cc1 -O2
-std=c++11 -emit-obj bug8.cpp 
1.    <eof> parser at end of file
2.    Code generation
3.    Running pass 'Function Pass Manager' on module 'bug8.cpp'.
4.    Running pass 'X86 Assembly / Object Emitter' on function '@_Z2llv'

$ cat bug8.cpp
typedef int int16 __attribute__((__vector_size__(16)));
typedef char char16 __attribute__((__vector_size__(16)));
struct AA {
  void bb();
  int cc();
  int16 dd;
};
void AA::bb() {
  dd = {};
}
int16 hh;
void ff() {
  int16 jj = __extension__({
    char16 kk =
        (__builtin_ia32_psradi128(__extension__({
                                    int16 kk = {};
                                    kk;
                                  }),
                                  0));
    __builtin_shufflevector((char16) {}, kk, 12, 13, 14, 15, 16, 17, 18, 19,
20,
                            21, 22, 23, 24, 25, 26, 27);
  });
  hh = jj;
}
void ll() {
  AA nn;
  ff();
  nn.bb();
  nn.cc();
}

-- 
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/20141023/9ddf4802/attachment.html>


More information about the llvm-bugs mailing list