[llvm-bugs] [Bug 42352] New: Do not know how to split the result of this operator w/ llvm.x86.avx2.gather.q.pd.256

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 20 21:22:10 PDT 2019


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

            Bug ID: 42352
           Summary: Do not know how to split the result of this operator
                    w/ llvm.x86.avx2.gather.q.pd.256
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: rupprecht at google.com
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

We're seeing an error that has been reduced to this:

$ cat repro.cc
__attribute__((__vector_size__(4 * sizeof(long)))) long a;
__attribute__((__vector_size__(4 * sizeof(double)))) double b;
struct c {
  __attribute__((target("avx2"), always_inline)) int d() {
    b = __builtin_ia32_gatherq_pd256(b, 0, a, b, sizeof(double));
    return 0;
  }
};
void e() {
  c f;
  f.d();
}

$ clang++ -c repro.cc
SplitVectorResult #0: t13: v4f64,ch = llvm.x86.avx2.gather.q.pd.256<(load 32,
align 1)> t5, TargetConstant:i64<5859>, t8, Constant:i64<0>, t10, t8,
Constant:i8<8>                                                                  

fatal error: error in backend: Do not know how to split the result of this
operator!

I tried clang++ from trunk, as well as a very old version (clang++-4), and both
failed, so this is not a new bug, unless it was fixed in between and regressed.

-- 
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/20190621/c80c28e5/attachment.html>


More information about the llvm-bugs mailing list