[llvm-bugs] [Bug 24512] New: miscompilation of uint32 ->float vector cast on x86 pre-avx

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Aug 19 17:53:34 PDT 2015


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

            Bug ID: 24512
           Summary: miscompilation of uint32 ->float vector cast on x86
                    pre-avx
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: andrew.b.adams at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 14750
  --> https://llvm.org/bugs/attachment.cgi?id=14750&action=edit
llvm 3.6 working asm and llvm trunk broken asm

I have some code that casts an <i32 x 8> to a <float x 8> using uitofp. With
llvm 3.6 and 3.5 it works fine. It recently started just returning zeros with
llvm trunk.

Assembly and ll produced for llvm 3.6 and trunk are attached. The ll is
identical except for the small changes in ll syntax that have happened since
3.6. The asm is subtly different in a way that apparently produces a zero
result.

Ignore the call to break_and_return_zero, and the use of its return value
(xmm0). That was just a convenient way to get a breakpoint into some
jit-compiled code and including it doesn't affect whether the bug triggers. I'm
not sure what's going on, but stepping though it it seemed to gradually lose
the inputs instead of converting them to float.

-- 
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/20150820/37dc5628/attachment-0001.html>


More information about the llvm-bugs mailing list