X86: Start using the stupd microop, and update statistics accordingly.
--HG-- extra : convert_revision : 4aa9daa4e19acfb3e6840ce5d83cf199e30c2f19
This commit is contained in:
parent
4d15e4cf7b
commit
43cb78004b
20 changed files with 93 additions and 102 deletions
|
@ -62,8 +62,7 @@ def macroop CALL_NEAR_I
|
|||
limm t1, imm
|
||||
rdip t7
|
||||
# Check target of call
|
||||
st t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
wrip t7, t1
|
||||
};
|
||||
|
||||
|
@ -74,8 +73,7 @@ def macroop CALL_NEAR_R
|
|||
|
||||
rdip t1
|
||||
# Check target of call
|
||||
st t1, ss, [0, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t1, ss, [0, t0, rsp], "-env.dataSize"
|
||||
wripi reg, 0
|
||||
};
|
||||
|
||||
|
@ -87,8 +85,7 @@ def macroop CALL_NEAR_M
|
|||
rdip t7
|
||||
ld t1, seg, sib, disp
|
||||
# Check target of call
|
||||
st t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
wripi t1, 0
|
||||
};
|
||||
|
||||
|
@ -100,8 +97,7 @@ def macroop CALL_NEAR_P
|
|||
rdip t7
|
||||
ld t1, seg, riprel, disp
|
||||
# Check target of call
|
||||
st t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t7, ss, [0, t0, rsp], "-env.dataSize"
|
||||
wripi t1, 0
|
||||
};
|
||||
'''
|
||||
|
|
|
@ -89,8 +89,7 @@ def macroop PUSH_R {
|
|||
|
||||
# This needs to work slightly differently from the other versions of push
|
||||
# because the -original- version of the stack pointer is what gets pushed
|
||||
st reg, ss, [1, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd reg, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop PUSH_I {
|
||||
|
@ -98,8 +97,7 @@ def macroop PUSH_I {
|
|||
.adjust_env oszIn64Override
|
||||
|
||||
limm t1, imm
|
||||
st t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop PUSH_M {
|
||||
|
@ -107,8 +105,7 @@ def macroop PUSH_M {
|
|||
.adjust_env oszIn64Override
|
||||
|
||||
ld t1, seg, sib, disp
|
||||
st t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop PUSH_P {
|
||||
|
@ -117,22 +114,19 @@ def macroop PUSH_P {
|
|||
|
||||
rdip t7
|
||||
ld t1, seg, riprel, disp
|
||||
# Check stack address
|
||||
subi rsp, rsp, dsz
|
||||
st t1, ss, [1, t0, rsp]
|
||||
stupd t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop PUSHA {
|
||||
# Check all the stack addresses.
|
||||
st rax, ss, [1, t0, rsp], "-0 * env.dataSize"
|
||||
st rcx, ss, [1, t0, rsp], "-1 * env.dataSize"
|
||||
st rdx, ss, [1, t0, rsp], "-2 * env.dataSize"
|
||||
st rbx, ss, [1, t0, rsp], "-3 * env.dataSize"
|
||||
st rsp, ss, [1, t0, rsp], "-4 * env.dataSize"
|
||||
st rbp, ss, [1, t0, rsp], "-5 * env.dataSize"
|
||||
st rsi, ss, [1, t0, rsp], "-6 * env.dataSize"
|
||||
st rdi, ss, [1, t0, rsp], "-7 * env.dataSize"
|
||||
subi rsp, rsp, "8 * env.dataSize"
|
||||
stupd rax, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rcx, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rdx, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rbx, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rsp, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rbp, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rsi, ss, [1, t0, rsp], "-env.dataSize"
|
||||
stupd rdi, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop POPA {
|
||||
|
|
|
@ -59,8 +59,7 @@ def macroop PUSHF {
|
|||
|
||||
# This should really read the whole flags register, not just user flags.
|
||||
ruflags t1
|
||||
st t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
subi rsp, rsp, dsz
|
||||
stupd t1, ss, [1, t0, rsp], "-env.dataSize"
|
||||
};
|
||||
|
||||
def macroop POPF {
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/x86/linux/gzip
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1268236 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 175732 # Number of bytes of host memory used
|
||||
host_seconds 1266.17 # Real time elapsed on the host
|
||||
host_tick_rate 755026846 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1273928 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 175856 # Number of bytes of host memory used
|
||||
host_seconds 1258.84 # Real time elapsed on the host
|
||||
host_tick_rate 758576488 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 1605801513 # Number of instructions simulated
|
||||
sim_seconds 0.955992 # Number of seconds simulated
|
||||
sim_ticks 955992360500 # Number of ticks simulated
|
||||
sim_insts 1603675345 # Number of instructions simulated
|
||||
sim_seconds 0.954929 # Number of seconds simulated
|
||||
sim_ticks 954929276500 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 1911984722 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 1605801513 # Number of instructions executed
|
||||
system.cpu.numCycles 1909858554 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 1603675345 # Number of instructions executed
|
||||
system.cpu.num_refs 607157396 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 18 # Number of system calls
|
||||
|
||||
|
|
|
@ -36,9 +36,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 12 2007 10:09:31
|
||||
M5 started Fri Oct 12 10:23:41 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 18:08:21 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/00.gzip/x86/linux/simple-atomic tests/run.py long/00.gzip/x86/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 955992360500 because target called exit()
|
||||
Exiting @ tick 954929276500 because target called exit()
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/x86/linux/mcf
|
||||
gid=100
|
||||
input=/dist/m5/cpu2000/data/mcf/smred/input/mcf.in
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1236188 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 310236 # Number of bytes of host memory used
|
||||
host_seconds 224.96 # Real time elapsed on the host
|
||||
host_tick_rate 755369641 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1133815 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 310268 # Number of bytes of host memory used
|
||||
host_seconds 237.78 # Real time elapsed on the host
|
||||
host_tick_rate 696782714 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 278095687 # Number of instructions simulated
|
||||
sim_seconds 0.169930 # Number of seconds simulated
|
||||
sim_ticks 169929975000 # Number of ticks simulated
|
||||
sim_insts 269599525 # Number of instructions simulated
|
||||
sim_seconds 0.165682 # Number of seconds simulated
|
||||
sim_ticks 165681894000 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 339859951 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 278095687 # Number of instructions executed
|
||||
system.cpu.numCycles 331363789 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 269599525 # Number of instructions executed
|
||||
system.cpu.num_refs 124052668 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 429 # Number of system calls
|
||||
|
||||
|
|
|
@ -21,9 +21,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 12 2007 10:09:31
|
||||
M5 started Fri Oct 12 10:09:33 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 16:54:37 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/10.mcf/x86/linux/simple-atomic tests/run.py long/10.mcf/x86/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 169929975000 because target called exit()
|
||||
Exiting @ tick 165681894000 because target called exit()
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 601084 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 179664 # Number of bytes of host memory used
|
||||
host_seconds 2521.91 # Real time elapsed on the host
|
||||
host_tick_rate 348496572 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1349569 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 179560 # Number of bytes of host memory used
|
||||
host_seconds 1098.57 # Real time elapsed on the host
|
||||
host_tick_rate 784871141 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 1515877389 # Number of instructions simulated
|
||||
sim_seconds 0.878876 # Number of seconds simulated
|
||||
sim_ticks 878876325000 # Number of ticks simulated
|
||||
sim_insts 1482589975 # Number of instructions simulated
|
||||
sim_seconds 0.862233 # Number of seconds simulated
|
||||
sim_ticks 862232618000 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 1757752651 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 1515877389 # Number of instructions executed
|
||||
system.cpu.numCycles 1724465237 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 1482589975 # Number of instructions executed
|
||||
system.cpu.num_refs 533543283 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 541 # Number of system calls
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
0: system.remote_gdb.listener: listening for remote gdb on port 7002
|
||||
0: system.remote_gdb.listener: listening for remote gdb on port 7000
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: instruction 'fnstcw_Mw' unimplemented
|
||||
warn: instruction 'fldcw_Mw' unimplemented
|
||||
|
|
|
@ -64,9 +64,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 15 2007 20:49:03
|
||||
M5 started Mon Oct 15 20:49:24 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 18:41:37 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/20.parser/x86/linux/simple-atomic tests/run.py long/20.parser/x86/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 878876325000 because target called exit()
|
||||
Exiting @ tick 862232618000 because target called exit()
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1030685 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 175732 # Number of bytes of host memory used
|
||||
host_seconds 4491.39 # Real time elapsed on the host
|
||||
host_tick_rate 628581745 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1178554 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 175672 # Number of bytes of host memory used
|
||||
host_seconds 3899.42 # Real time elapsed on the host
|
||||
host_tick_rate 719706854 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 4629206417 # Number of instructions simulated
|
||||
sim_seconds 2.823204 # Number of seconds simulated
|
||||
sim_ticks 2823203650000 # Number of ticks simulated
|
||||
sim_insts 4595671909 # Number of instructions simulated
|
||||
sim_seconds 2.806436 # Number of seconds simulated
|
||||
sim_ticks 2806436396000 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 5646407301 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 4629206417 # Number of instructions executed
|
||||
system.cpu.numCycles 5612872793 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 4595671909 # Number of instructions executed
|
||||
system.cpu.num_refs 1686312529 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 33 # Number of system calls
|
||||
|
||||
|
|
|
@ -19,9 +19,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 15 2007 20:49:03
|
||||
M5 started Tue Oct 16 16:42:54 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 16:59:11 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/60.bzip2/x86/linux/simple-atomic tests/run.py long/60.bzip2/x86/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 2823203650000 because target called exit()
|
||||
Exiting @ tick 2806436396000 because target called exit()
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/cpu2000/binaries/x86/linux/twolf
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1236095 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 183352 # Number of bytes of host memory used
|
||||
host_seconds 177.93 # Real time elapsed on the host
|
||||
host_tick_rate 734446997 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1299831 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 183188 # Number of bytes of host memory used
|
||||
host_seconds 167.72 # Real time elapsed on the host
|
||||
host_tick_rate 773401156 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 219936106 # Number of instructions simulated
|
||||
sim_seconds 0.130679 # Number of seconds simulated
|
||||
sim_ticks 130679026000 # Number of ticks simulated
|
||||
sim_insts 218004208 # Number of instructions simulated
|
||||
sim_seconds 0.129713 # Number of seconds simulated
|
||||
sim_ticks 129713077000 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 261358053 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 219936106 # Number of instructions executed
|
||||
system.cpu.numCycles 259426155 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 218004208 # Number of instructions executed
|
||||
system.cpu.num_refs 77164404 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 395 # Number of system calls
|
||||
|
||||
|
|
|
@ -18,11 +18,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 12 2007 09:55:57
|
||||
M5 started Fri Oct 12 09:59:28 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 16:50:34 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/70.twolf/x86/linux/simple-atomic tests/run.py long/70.twolf/x86/linux/simple-atomic
|
||||
Couldn't unlink build/X86_SE/tests/fast/long/70.twolf/x86/linux/simple-atomic/smred.sav
|
||||
Couldn't unlink build/X86_SE/tests/fast/long/70.twolf/x86/linux/simple-atomic/smred.sv2
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 130679026000 because target called exit()
|
||||
Exiting @ tick 129713077000 because target called exit()
|
||||
|
|
|
@ -54,6 +54,7 @@ euid=100
|
|||
executable=/dist/m5/regression/test-progs/hello/bin/x86/linux/hello
|
||||
gid=100
|
||||
input=cin
|
||||
max_stack_size=67108864
|
||||
output=cout
|
||||
pid=100
|
||||
ppid=99
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 66885 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 172164 # Number of bytes of host memory used
|
||||
host_seconds 0.13 # Real time elapsed on the host
|
||||
host_tick_rate 38756587 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 132602 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 172228 # Number of bytes of host memory used
|
||||
host_seconds 0.06 # Real time elapsed on the host
|
||||
host_tick_rate 76882532 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 8584 # Number of instructions simulated
|
||||
sim_insts 8384 # Number of instructions simulated
|
||||
sim_seconds 0.000005 # Number of seconds simulated
|
||||
sim_ticks 4986500 # Number of ticks simulated
|
||||
sim_ticks 4886500 # Number of ticks simulated
|
||||
system.cpu.idle_fraction 0 # Percentage of idle cycles
|
||||
system.cpu.not_idle_fraction 1 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 9974 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 8584 # Number of instructions executed
|
||||
system.cpu.numCycles 9774 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 8384 # Number of instructions executed
|
||||
system.cpu.num_refs 1765 # Number of memory references
|
||||
system.cpu.workload.PROG:num_syscalls 11 # Number of system calls
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Oct 12 2007 09:55:57
|
||||
M5 started Fri Oct 12 09:56:08 2007
|
||||
M5 compiled Oct 19 2007 16:48:38
|
||||
M5 started Fri Oct 19 16:48:47 2007
|
||||
M5 executing on nacho
|
||||
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-atomic tests/run.py quick/00.hello/x86/linux/simple-atomic
|
||||
Global frequency set at 1000000000000 ticks per second
|
||||
Exiting @ tick 4986500 because target called exit()
|
||||
Exiting @ tick 4886500 because target called exit()
|
||||
|
|
Loading…
Reference in a new issue