[Bug 18594] New: MMX registers have incorrect values

Bug ID 18594
Summary MMX registers have incorrect values
Product lldb
Version 3.2
Hardware PC
OS All
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@cs.uiuc.edu
Reporter richard@codersnotes.com
Classification Unclassified

Created attachment 11926 [details]
Program to demonstrate the bug

MMX registers are not aliased correctly with the floating point registers.

To reproduce, compile and run the attached program until it hits the int3
breakpoint.

The program first prints the correct value of MM7 to stdout for reference. It
then performs the same test again except this time drops you at a breakpoint.

Type "register read mm7" into lldb. Compare against the value printed by the
test program. Notice they do not match.

Example:

$ clang fpbug.c -g -o fpbug
$ lldb fpbug
Current executable set to 'fpbug' (x86_64).
(lldb) run
Process 4301 launched: '/home/kayamon/fpbug' (x86_64)
MM7 should contain: c0e4000000000000
Process 4301 stopped
(lldb) register read mm7
     mm7 = 0x0000000000000000