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