First Last Prev Next    No search results available
Details
: [X86] JIT miscompiles unsigned short to floating point cast
Bug#: 313
: libraries
: Backend: X86
Status: RESOLVED
Resolution: FIXED
: All
: All
: 1.0
: P2
: normal
: 1.3

:
: miscompilation
:
:
  Show dependency tree - Show dependency graph
People
Reporter: Chris Lattner <sabre@nondot.org>
Assigned To: Chris Lattner <sabre@nondot.org>

Attachments


Note

You need to log in before you can comment on or make changes to this bug.

Related actions


Description:   Opened: 2004-04-06 14:28
Wow, this bug has been here for a LONG time.  This is causing cfrac to fail with
the JIT, and maybe 'ed' as well.

The problem is that the X86 backend is emitting a movzx instruction from 8 to 16
bits instead of 16 to 32 bits.  Because it puts the right registers into the
instruction, LLC works fine (one movzx is the same as another movzx), but the
encoding of the instructions are different, so it fails in the JIT.

-Chris
------- Comment #1 From Chris Lattner 2004-04-06 14:30:54 -------
Fix here:
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20040405/013549.html

MallocBench/cfrac now works with the X86 JIT.  Thanks to bugpoint and the loop
extractor for reducing this down to something that I could handle.  :)

-Chris

First Last Prev Next    No search results available