[llvm-bugs] [Bug 37039] New: [PowerPC, bisected] miscompilation in rust crate "futures"

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Apr 6 16:26:00 PDT 2018


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

            Bug ID: 37039
           Summary: [PowerPC, bisected] miscompilation in rust crate
                    "futures"
           Product: libraries
           Version: 6.0
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedbugs at nondot.org
          Reporter: jistone at redhat.com
                CC: llvm-bugs at lists.llvm.org, nemanja.i.ibm at gmail.com

Created attachment 20170
  --> https://bugs.llvm.org/attachment.cgi?id=20170&action=edit
proposed fix: convert RLDICLo using a 64-bit InVal too

ref: https://bugzilla.redhat.com/show_bug.cgi?id=1563393

We found one test case in the "futures" crate that started failing on ppc64
when we upgraded to Rust 1.25 with LLVM 6.0 (Fedora's LLVM, not Rust's fork). 
The same test case still passes with Rust 1.25 and LLVM 5.0.

I bisected this to https://reviews.llvm.org/D41369.  You can find IR and
binaries before and after that commit on the rhbz, but I didn't figure out an
easy way to reproduce this directly.  I went through the whole motion of
building LLVM, building rustc with that LLVM, then running the "futures" tests.

The attached patch seems to solve it, using a 64-bit value for PPC::RLDICLo in
PPCInstrInfo::convertToImmediateForm.  I don't know enough about LLVM or PPC to
distill a proper test though, so I hope someone who knows the platform better
can figure that out.

-- 
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/20180406/74e7d9e2/attachment-0001.html>


More information about the llvm-bugs mailing list