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: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    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.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to