> On Tue, 15 Sep 2009, Gabriel Michael Black wrote:

> As promised here's a patch. It turns out I was already attempting to
> sign extend the second operand (that's what sop2 is supposed to be
> doing), I just dropped the ball for the immediate variant.

Unfortunately this patch doesn't seem to fix things for me, it still 
fails in the same place.

Details from the trace:

 263500: system.cpu T0 : @store_byte+13.0  :   LOOP_I : rdip   t1d, %ctrl153,  :
 IntAlu :  D=0x0000000008048098
 264000: system.cpu T0 : @store_byte+13.1  :   LOOP_I : subi   ecx, ecx, 0x1 : 
IntAlu :  D=0x0000000000000000
 264500: system.cpu T0 : @store_byte+13.2  :   LOOP_I : wripi   , t1d, 0xe7 : 
IntAlu :
 265000: system.cpu T0 : @print_s+34.0  :   PUSH_R : stupd   esi, SS:[esp + 
0xfffffffffffffffc] : MemWrite :  D=0x00000000ffffdf18 A=0xffffdf18

The code in question looks like:

0804807f <output_loop>:
 ...
08048089 <store_byte>:
 ...
 8048096:       e2 e7                   loop   804807

 ...
0804815d <print_s>:
 ...
 804817f:       56                      push   %esi

As you can see, the loop instruction, instead of looping to
 8048098+ffffffe7 = 804807f
is looping to
 8048098+000000e7 = 804817f

The test suite I am using can be found at:
  http://www.deater.net/weave/vmwprod/asm/ll/qemu_tests.html
  Download, uncompress, and run "test_m5.sh" in the ./qemu_test directory
   after setting up the script to point to the location of m5 on your 
   machine.

Vince
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to