qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] 3 new x86 instructions


From: Torbjorn Granlund
Subject: Re: [Qemu-devel] 3 new x86 instructions
Date: Tue, 15 Jan 2013 18:14:38 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix)

Richard Henderson <address@hidden> writes:

  On 01/14/2013 10:14 AM, Torbjorn Granlund wrote:
  > Is it in such a state that grabbing that repo and building a
  > qemu-system-x86_64 would give me MULX support?
  
  Yes, and "-cpu Haswell" will enable the BMI extensions.
  
  A review of the code and docs reveals that I missed RORX
  from the BMI2 insns, but that's the only one I missed.
  
  Note that I also incorrectly set the overflow flag in
  several of the BMI insns.  It ought to be 0, and I currently
  set it as if by a standard arithmetic insn.
  
  I can also suggest using "qemu-x86_64" for userland linux
  emulation, rather than full system emulation, for testing
  something as well-behaved as gmp.  In partiular, the way
  memory accesses are translated is significantly faster.
  
I compiled your version.  It does not work for me:

        tutu$ gcc -static^C/foo.s && qemu-x86_64 -cpu Haswell ./a.out

        tutu$ cat ~/foo.s
                .text
                .globl  main
                .type   main, @function
        main:   mulx    %rax, %r8, %r9
                ret

        tutu$ gcc ~/foo.s

        tutu$ qemu-x86_64 -cpu Haswell ./a.out
        qemu: uncaught target signal 4 (Illegal instruction) - core dumped
        Illegal instruction

If I remove the mulx, the example runs.

I copied your sources using this command:

  git clone git://repo.or.cz/qemu/rth.git qemu-x86-rth  

There seem to be no mention of MULX in the i386 subdirectory.

-- 
Torbjörn



reply via email to

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