[Top][All Lists]
[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