qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [BUG] QEMU x86_64 SSE bug in modf() + MMX bug


From: Ludovic Drolez
Subject: [Qemu-devel] Re: [BUG] QEMU x86_64 SSE bug in modf() + MMX bug
Date: Tue, 16 Jan 2007 12:22:36 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20060628 Debian/1.7.8-1sarge7.1

Julian Seward wrote:
Would someone be able to track down this SSE QEMU bug seen only in SLES's
modf() function ?


The Valgrind sources contain test programs, including expected outputs,
for all SSE/SSE2/SSE3 instructions on amd64 (see none/tests/amd64/insn-sse
and insn-sse2).  Running those on QEMU might be a quick and easy first
check for something wrong in the SSE department.  They are not completely
comprehensive but may find obvious arithmetic errors and instruction
decoding errors.


Hi !

I've run the valgrind tests on Qemu 0.8.2, in particular insn_basic, insn_fpu, _mmx, _sse, _sse2. No bugs were found in SSE and FPU emulation, but one was found in MMX !:

  ~/tests/none/tests/amd64 # diff insn_mmx.r insn_mmx.stdout.exp
  1,6c1,2
  < movd_1 ... not ok
  <   result0.sd[0] = 1234 (expected 1234)
  <   result0.sd[1] = 0 (expected 5678)
  < movd_2 ... not ok
  <   result0.sd[0] = 1234 (expected 1234)
  <   result0.sd[1] = 0 (expected 5678)
  ---
  > movd_1 ... ok
  > movd_2 ... ok

Which comes from the following test:
  #
  # %mm <-> ireg64
  #
  movd mm.sd[1234,5678] r64.sd[1111,2222] => 1.sd[1234,5678]
  movd r64.sd[1234,5678] mm.sd[1111,2222] => 1.sd[1234,5678]


So one MMX bug when using 64 bits regs has been found, but the SSE2 bug is
still a mystery :-(

Cheers,


--
Ludovic DROLEZ                              Linbox / Free&ALter Soft
www.linbox.com www.linbox.org                 tel: +33 3 87 50 87 90
152 rue de Grigy - Technopole Metz 2000                   57070 METZ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]