[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [SPARC] Branch condition problems
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [SPARC] Branch condition problems |
Date: |
Thu, 22 Mar 2007 20:29:10 +0100 |
Hi,
I can't reproduce the problem with attached test program. Also the generated
ops look just fine:
IN:
0x00010074: sethi %hi(0x20000), %g3
0x00010078: or %g3, 0xa0, %g3 ! 0x200a0
0x0001007c: mov -1, %g1
0x00010080: mov -1, %g2
0x00010084: tst %g0
0x00010088: bne 0x10094
0x0001008c: std %g1, [ %g3 ]
OP:
0x0000: movl_T0_im 0x20000
0x0001: movl_g3_T0
0x0002: movl_T0_g3
0x0003: movl_T1_sim 0xa0
0x0004: or_T1_T0
0x0005: movl_g3_T0
0x0006: movl_T1_sim 0xffffffff
0x0007: movl_g1_T1
0x0008: movl_T1_sim 0xffffffff
0x0009: movl_g2_T1
0x000a: movl_T0_im 0x0
0x000b: movl_T1_im 0x0
0x000c: or_T1_T0
0x000d: logic_T0_cc
Set T2:
0x000e: eval_bne
First part of std:
0x000f: movl_T0_g3
0x0010: movl_T1_g1
flush_T2 here:
0x0011: jz_T2_label 0x0
0x0012: movl_npc_im 0x10094
0x0013: jmp_label 0x1
0x0014: movl_npc_im 0x10090
Now reuse T2, rest of std:
0x0015: movl_T2_g2
0x0016: std_raw
0x0017: next_insn
0x0018: movl_T0_0
0x0019: exit_tb
0x001a: end
--------------
IN:
Branch not taken (OK)
0x00010090: nop
0x00010094: mov 1, %g1 ! 0x1
0x00010098: ta 0x10
OP:
0x0000: movl_T1_sim 0x1
0x0001: movl_g1_T1
0x0002: movl_T0_im 0x0
0x0003: movl_T1_sim 0x10
0x0004: add_T1_T0
0x0005: jmp_im 0x10098
0x0006: movl_npc_im 0x1009c
0x0007: trap_T0
0x0008: next_insn
0x0009: movl_T0_0
0x000a: exit_tb
0x000b: end
Can you describe how to reproduce the bug?
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
br_test.S
Description: Binary data