qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [5283] Use the new concat_tl_i64 op for std and stda


From: Vince Weaver
Subject: Re: [Qemu-devel] [5283] Use the new concat_tl_i64 op for std and stda
Date: Tue, 23 Sep 2008 18:08:42 -0400 (EDT)

On Tue, 23 Sep 2008, Paul Brook wrote:

On Tuesday 23 September 2008, Vince Weaver wrote:
Hello

the aforementioned patch broke the spec2k crafty benchmark on
sparc32plus-linux-user (I'm running on x86_64 but I don't think it makes a
difference).

Are you sure? I've double checked the patch and I still think it is correct.

Yes. The program definitely works if I revert the patch, but fails if I re-apply it.

The new code generates:
    movi_i64 tmp12,$0x20
    shl_i64 tmp10,loc4,tmp12
    or_i64 tmp2,tmp0,tmp10
    qemu_st64 tmp2,loc5,$0x0

The extension should be immediately before the code you quote here.

Nope, in both cases the preceeding code is identical:

OP after la:
 movi_i64 tmp8,$0x13bc00
 mov_i64 g1,tmp8
 movi_i64 tmp10,$0x268
 add_i64 loc5,g1,tmp10
 ld_i64 loc4,regwptr,$0x0
 movi_i64 pc,$0x27e78
 movi_i64 npc,$0x27e7c
 movi_i64 tmp10,$0xffffffff
 and_i64 loc5,loc5,tmp10
 movi_i32 tmp11,$0x7
 movi_i64 tmp10,$helper_check_align
 call tmp10,$0x0,$0,loc5,tmp11
 ld_i64 tmp0,regwptr,$0x8

The code in question is:

IN: InitializeMasks
0x0000000000027e74:  sethi  %hi(0x13bc00), %g1
0x0000000000027e78:  std  %o0, [ %g1 + 0x268 ]  ! 0x13be68
0x0000000000027e7c:  call  0x22eac
0x0000000000027e80:  mov  3, %o0


I can create a small assembly language program that duplicates the problem if it would help debugging it.

Vince





reply via email to

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