qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "C.W. Betts" <computers57@hotmail.com>
To: qemu-devel@nongnu.org
Cc: Blue Swirl <blauwirbel@gmail.com>
Subject: Re: [Qemu-devel] PATCH, RFC: Convert x86 SSE ops to TCG
Date: Wed, 19 Mar 2008 19:59:14 -0600	[thread overview]
Message-ID: <BAY133-DAV83C0A1AAE2A0B236C0FBEB9000@phx.gbl> (raw)
Message-ID: <200803191959.26680.computers57@hotmail.com> (raw)
In-Reply-To: <f43fc5580803191223j52362c46j850b7b8ea4856039@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3535 bytes --]

On Wednesday 19 March 2008 01:23:27 pm Blue Swirl wrote:
> These patches converts x86 SSE ops to TCG, which could possibly help
> compiling Qemu using some GCC versions on i386 host. The resulting
> version does not crash immediately. Please test.

I get the following errors when I compile the helper.c file using gcc 3.4.6:
gcc-3.4  -fomit-frame-pointer -I. -I.. -I/home/test/makestuff/qemu-sse/target-i386 -I/home/test/makestuff/qemu-sse -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/test/makestuff/qemu-sse/tcg -I/home/test/makestuff/qemu-sse/tcg/i386 -I/home/test/makestuff/qemu-sse/fpu  -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/test/makestuff/qemu-sse/slirp -mfpmath=sse -march=pentium3 -msse -Wall -O2 -g -fno-strict-aliasing -mfpmath=sse -march=pentium3 -msse -m32 -c -o helper.o /home/test/makestuff/qemu-sse/target-i386/helper.c
/home/test/makestuff/qemu-sse/target-i386/helper.c: In function `svm_check_intercept_param':
/home/test/makestuff/qemu-sse/target-i386/helper.c:4315: error: unable to find a register to spill in class `GENERAL_REGS'
/home/test/makestuff/qemu-sse/target-i386/helper.c:4315: error: this is the insn:
(insn:HI 353 352 354 39 /home/test/makestuff/qemu-sse/target-i386/helper.c:4308 (parallel [
            (set (reg:DI 167 [ <variable>.intercept ])
                (lshiftrt:DI (reg:DI 167 [ <variable>.intercept ])
                    (subreg:QI (reg:SI 166) 0)))
            (clobber (scratch:SI))
            (clobber (reg:CC 17 flags))
        ]) 309 {lshrdi3_1} (insn_list 351 (insn_list 352 (nil)))
    (expr_list:REG_DEAD (reg:SI 166)
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (expr_list:REG_UNUSED (scratch:SI)
                (nil)))))
/home/test/makestuff/qemu-sse/target-i386/helper.c:4315: confused by earlier errors, bailing out
make: *** [helper.o] Error 1

and the following when using gcc 4.2:
gcc  -fomit-frame-pointer -I. -I.. -I/home/test/makestuff/qemu-sse/target-i386 -I/home/test/makestuff/qemu-sse -MMD -MP -DNEED_CPU_H -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/home/test/makestuff/qemu-sse/tcg -I/home/test/makestuff/qemu-sse/tcg/i386 -I/home/test/makestuff/qemu-sse/fpu  -DHAS_AUDIO -DHAS_AUDIO_CHOICE -I/home/test/makestuff/qemu-sse/slirp -mfpmath=sse -march=pentium3 -msse -Wall -O2 -g -fno-strict-aliasing -mfpmath=sse -march=pentium3 -msse -m32 -c -o helper.o /home/test/makestuff/qemu-sse/target-i386/helper.c
/home/test/makestuff/qemu-sse/target-i386/ops_sse.h: In function ‘helper_pshufw_mmx’:
/home/test/makestuff/qemu-sse/target-i386/ops_sse.h:583: error: unable to find a register to spill in class ‘GENERAL_REGS’
/home/test/makestuff/qemu-sse/target-i386/ops_sse.h:583: error: this is the insn:
(insn:HI 48 60 49 2 /home/test/makestuff/qemu-sse/target-i386/ops_sse.h:582 (set (mem/s:DI (plus:SI (reg:SI 60 [ env.850 ])
                (reg/v:SI 62 [ dst_offset ])) [0 S8 A32])
        (reg/v:DI 61 [ r ])) 56 {*movdi_2} (insn_list:REG_DEP_TRUE 3 (insn_list:REG_DEP_TRUE 46 (nil)))
    (expr_list:REG_DEAD (reg/v:DI 61 [ r ])
        (expr_list:REG_DEAD (reg:SI 60 [ env.850 ])
            (expr_list:REG_DEAD (reg/v:SI 62 [ dst_offset ])
                (nil)))))
/home/test/makestuff/qemu-sse/target-i386/ops_sse.h:583: confused by earlier errors, bailing out
make: *** [helper.o] Error 1

Also, the x86_64 target compiled, but didn't link, saying that funtions 'gen_op_movq_T0_mm_mmx' and 'gen_op_movq_mm_T0_mmx' had undefined references.

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

      reply	other threads:[~2008-03-20  1:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-19 19:23 [Qemu-devel] PATCH, RFC: Convert x86 SSE ops to TCG Blue Swirl
     [not found] ` <200803191959.26680.computers57@hotmail.com>
2008-03-20  1:59   ` C.W. Betts [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BAY133-DAV83C0A1AAE2A0B236C0FBEB9000@phx.gbl \
    --to=computers57@hotmail.com \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).