[llvm-bugs] [Bug 42846] New: [X86] Assertion "Cannot merge volatile loads"

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Jul 31 08:59:18 PDT 2019


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

            Bug ID: 42846
           Summary: [X86] Assertion "Cannot merge volatile loads"
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: paul_robinson at playstation.sony.com
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

Created attachment 22324
  --> https://bugs.llvm.org/attachment.cgi?id=22324&action=edit
stack trace

$ cat t.cpp
typedef char __attribute__((ext_vector_type(2))) c;
typedef char __attribute__((ext_vector_type(32))) e;
void b(c x);
c j;
c k;
volatile e l, m;
void n() {
  c o = __builtin_shufflevector(l, m, 0, 1), p(o);
  j = o;
  c a (k * p);
  b(a);
}
$ clang -c -O2 t.cpp
clang-10:
/home/probinson/projects/llvm-org/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:7703:
EltsFromConsecutiveLoads(llvm::EVT, llvm::ArrayRef<llvm::SDValue>, const
llvm::SDLoc&, llvm::SelectionDAG&, const llvm::X86Subtarget&,
bool)::<lambda(llvm::EVT, llvm::LoadSDNode*)>: Assertion `!(MMOFlags &
MachineMemOperand::MOVolatile) && "Cannot merge volatile loads."' failed.

(see attachment for stack dump)

-- 
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/20190731/2ed0d0e5/attachment.html>


More information about the llvm-bugs mailing list