[llvm-bugs] [Bug 33475] New: r305468 causes 'Assertion failed: (MemVT.getScalarType().bitsLT(VT.getScalarType()) && "Should only be an extending load, not truncating!"), function getLoad'

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 15 16:22:56 PDT 2017


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

            Bug ID: 33475
           Summary: r305468 causes 'Assertion failed:
                    (MemVT.getScalarType().bitsLT(VT.getScalarType()) &&
                    "Should only be an extending load, not truncating!"),
                    function getLoad'
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: ahmed.bougacha at gmail.com
                CC: llvm-bugs at lists.llvm.org

With code such as:

  target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
  target triple = "arm64-apple-ios10.0.0"

  define void @repro(i8* %p0, i8* %p1) noimplicitfloat {
    call void @llvm.memcpy.p0i8.p0i8.i64(i8* %p0, i8* %p1, i64 32, i32 4, i1
false)
    ret void
  }

  declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1)

(note the "noimplicitfloat"), we end up with an i128 merged operation, and
since r305468, we try to build an extload from i128 to i64 (because that's the
type to which i128 is legalizable), which is impossible.

-- 
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/20170615/eb311b23/attachment.html>


More information about the llvm-bugs mailing list