X86: Fix the microcode for sign/zero extending moves that use high byte registers.

This commit is contained in:
Gabe Black 2008-09-03 00:52:54 -04:00
parent 4aa017affc
commit 30bc897613
25 changed files with 116 additions and 108 deletions

View file

@ -126,7 +126,8 @@ def macroop MOVSXD_R_P {
};
def macroop MOVSX_B_R_R {
sexti reg, regm, 7
mov t1, t1, regm, dataSize=1
sexti reg, t1, 7
};
def macroop MOVSX_B_R_M {
@ -160,7 +161,8 @@ def macroop MOVSX_W_R_P {
#
def macroop MOVZX_B_R_R {
zexti reg, regm, 7
mov t1, t1, regm, dataSize=1
zexti reg, t1, 7
};
def macroop MOVZX_B_R_M {

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:134217727

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 2111657 # Simulator instruction rate (inst/s)
host_mem_usage 206000 # Number of bytes of host memory used
host_seconds 759.59 # Real time elapsed on the host
host_tick_rate 1257375756 # Simulator tick rate (ticks/s)
host_inst_rate 1695420 # Simulator instruction rate (inst/s)
host_mem_usage 194768 # Number of bytes of host memory used
host_seconds 955.72 # Real time elapsed on the host
host_tick_rate 1007896114 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 1603986018 # Number of instructions simulated
sim_seconds 0.955086 # Number of seconds simulated
sim_ticks 955086010500 # Number of ticks simulated
sim_insts 1620345246 # Number of instructions simulated
sim_seconds 0.963266 # Number of seconds simulated
sim_ticks 963265624500 # 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 1910172022 # number of cpu cycles simulated
system.cpu.num_insts 1603986018 # Number of instructions executed
system.cpu.numCycles 1926531250 # number of cpu cycles simulated
system.cpu.num_insts 1620345246 # Number of instructions executed
system.cpu.num_refs 607160103 # Number of memory references
system.cpu.workload.PROG:num_syscalls 48 # Number of system calls

2
tests/long/00.gzip/ref/x86/linux/simple-atomic/stderr Normal file → Executable file
View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7001
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/long/00.gzip/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:08:42 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:04
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/00.gzip/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr tests/run.py long/00.gzip/x86/linux/simple-atomic
Global frequency set at 1000000000000 ticks per second
spec_init
Loading Input Data
@ -43,4 +43,4 @@ Uncompressing Data
Uncompressed data 1048576 bytes in length
Uncompressed data compared correctly
Tested 1MB buffer: OK!
Exiting @ tick 955086010500 because target called exit()
Exiting @ tick 963265624500 because target called exit()

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:268435455

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 2310204 # Simulator instruction rate (inst/s)
host_mem_usage 340492 # Number of bytes of host memory used
host_seconds 116.72 # Real time elapsed on the host
host_tick_rate 1419682765 # Simulator tick rate (ticks/s)
host_inst_rate 1382425 # Simulator instruction rate (inst/s)
host_mem_usage 329284 # Number of bytes of host memory used
host_seconds 195.09 # Real time elapsed on the host
host_tick_rate 849513127 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 269654744 # Number of instructions simulated
sim_seconds 0.165710 # Number of seconds simulated
sim_ticks 165710415000 # Number of ticks simulated
sim_insts 269697420 # Number of instructions simulated
sim_seconds 0.165732 # Number of seconds simulated
sim_ticks 165731753000 # 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 331420831 # number of cpu cycles simulated
system.cpu.num_insts 269654744 # Number of instructions executed
system.cpu.numCycles 331463507 # number of cpu cycles simulated
system.cpu.num_insts 269697420 # Number of instructions executed
system.cpu.num_refs 124054658 # Number of memory references
system.cpu.workload.PROG:num_syscalls 444 # Number of system calls

2
tests/long/10.mcf/ref/x86/linux/simple-atomic/stderr Normal file → Executable file
View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7002
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/long/10.mcf/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:09:15 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:01
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/10.mcf/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr tests/run.py long/10.mcf/x86/linux/simple-atomic
Global frequency set at 1000000000000 ticks per second
MCF SPEC version 1.6.I
@ -28,4 +28,4 @@ simplex iterations : 2663
flow value : 3080014995
checksum : 68389
optimal
Exiting @ tick 165710415000 because target called exit()
Exiting @ tick 165731753000 because target called exit()

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:134217727

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 2071310 # Simulator instruction rate (inst/s)
host_mem_usage 209664 # Number of bytes of host memory used
host_seconds 716.88 # Real time elapsed on the host
host_tick_rate 1204360345 # Simulator tick rate (ticks/s)
host_inst_rate 1780328 # Simulator instruction rate (inst/s)
host_mem_usage 198432 # Number of bytes of host memory used
host_seconds 840.01 # Real time elapsed on the host
host_tick_rate 1034139857 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 1484872746 # Number of instructions simulated
sim_seconds 0.863378 # Number of seconds simulated
sim_ticks 863377516000 # Number of ticks simulated
sim_insts 1495492819 # Number of instructions simulated
sim_seconds 0.868688 # Number of seconds simulated
sim_ticks 868687552500 # 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 1726755033 # number of cpu cycles simulated
system.cpu.num_insts 1484872746 # Number of instructions executed
system.cpu.numCycles 1737375106 # number of cpu cycles simulated
system.cpu.num_insts 1495492819 # Number of instructions executed
system.cpu.num_refs 533549003 # Number of memory references
system.cpu.workload.PROG:num_syscalls 551 # Number of system calls

View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7004
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/long/20.parser/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:09:17 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:02
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/20.parser/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr tests/run.py long/20.parser/x86/linux/simple-atomic
Global frequency set at 1000000000000 ticks per second
Reading the dictionary files: *************************************************
@ -71,4 +71,4 @@ Echoing of input sentence turned on.
about 2 million people attended
the five best costumes got prizes
No errors!
Exiting @ tick 863377516000 because target called exit()
Exiting @ tick 868687552500 because target called exit()

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:134217727

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 2222828 # Simulator instruction rate (inst/s)
host_mem_usage 206012 # Number of bytes of host memory used
host_seconds 2067.49 # Real time elapsed on the host
host_tick_rate 1357412596 # Simulator tick rate (ticks/s)
host_inst_rate 2125831 # Simulator instruction rate (inst/s)
host_mem_usage 194800 # Number of bytes of host memory used
host_seconds 2188.89 # Real time elapsed on the host
host_tick_rate 1295270570 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 4595681265 # Number of instructions simulated
sim_seconds 2.806442 # Number of seconds simulated
sim_ticks 2806441694500 # Number of ticks simulated
sim_insts 4653219908 # Number of instructions simulated
sim_seconds 2.835211 # Number of seconds simulated
sim_ticks 2835211016000 # 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 5612883390 # number of cpu cycles simulated
system.cpu.num_insts 4595681265 # Number of instructions executed
system.cpu.numCycles 5670422033 # number of cpu cycles simulated
system.cpu.num_insts 4653219908 # Number of instructions executed
system.cpu.num_refs 1686313784 # Number of memory references
system.cpu.workload.PROG:num_syscalls 46 # Number of system calls

2
tests/long/60.bzip2/ref/x86/linux/simple-atomic/stderr Normal file → Executable file
View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7005
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/long/60.bzip2/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:11:12 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:01
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/60.bzip2/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr tests/run.py long/60.bzip2/x86/linux/simple-atomic
Global frequency set at 1000000000000 ticks per second
spec_init
Loading Input Data
@ -26,4 +26,4 @@ Uncompressing Data
Uncompressed data 1048576 bytes in length
Uncompressed data compared correctly
Tested 1MB buffer: OK!
Exiting @ tick 2806441694500 because target called exit()
Exiting @ tick 2835211016000 because target called exit()

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:134217727

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 1772433 # Simulator instruction rate (inst/s)
host_mem_usage 213128 # Number of bytes of host memory used
host_seconds 123.23 # Real time elapsed on the host
host_tick_rate 1054286984 # Simulator tick rate (ticks/s)
host_inst_rate 1393641 # Simulator instruction rate (inst/s)
host_mem_usage 201900 # Number of bytes of host memory used
host_seconds 156.85 # Real time elapsed on the host
host_tick_rate 828865190 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 218419088 # Number of instructions simulated
sim_seconds 0.129921 # Number of seconds simulated
sim_ticks 129921260000 # Number of ticks simulated
sim_insts 218595439 # Number of instructions simulated
sim_seconds 0.130009 # Number of seconds simulated
sim_ticks 130009435500 # 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 259842521 # number of cpu cycles simulated
system.cpu.num_insts 218419088 # Number of instructions executed
system.cpu.numCycles 260018872 # number of cpu cycles simulated
system.cpu.num_insts 218595439 # Number of instructions executed
system.cpu.num_refs 77165367 # Number of memory references
system.cpu.workload.PROG:num_syscalls 400 # Number of system calls

2
tests/long/70.twolf/ref/x86/linux/simple-atomic/stderr Normal file → Executable file
View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7000
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/long/70.twolf/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:12:24 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:03
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/long/70.twolf/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr 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
@ -27,4 +27,4 @@ Authors: Carl Sechen, Bill Swartz
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
122 123 124 Exiting @ tick 129921260000 because target called exit()
122 123 124 Exiting @ tick 130009435500 because target called exit()

View file

@ -23,6 +23,7 @@ max_insts_all_threads=0
max_insts_any_thread=0
max_loads_all_threads=0
max_loads_any_thread=0
numThreads=1
phase=0
progress_interval=0
simulate_data_stalls=false
@ -77,7 +78,7 @@ port=system.physmem.port[0] system.cpu.icache_port system.cpu.dcache_port
[system.physmem]
type=PhysicalMemory
file=
latency=1
latency=30000
latency_var=0
null=false
range=0:134217727

View file

@ -1,17 +1,17 @@
---------- Begin Simulation Statistics ----------
host_inst_rate 69477 # Simulator instruction rate (inst/s)
host_mem_usage 201612 # Number of bytes of host memory used
host_inst_rate 67755 # Simulator instruction rate (inst/s)
host_mem_usage 190344 # Number of bytes of host memory used
host_seconds 0.14 # Real time elapsed on the host
host_tick_rate 40336760 # Simulator tick rate (ticks/s)
host_tick_rate 39312509 # Simulator tick rate (ticks/s)
sim_freq 1000000000000 # Frequency of simulated ticks
sim_insts 9511 # Number of instructions simulated
sim_insts 9551 # Number of instructions simulated
sim_seconds 0.000006 # Number of seconds simulated
sim_ticks 5529000 # Number of ticks simulated
sim_ticks 5549000 # 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 11059 # number of cpu cycles simulated
system.cpu.num_insts 9511 # Number of instructions executed
system.cpu.numCycles 11099 # number of cpu cycles simulated
system.cpu.num_insts 9551 # Number of instructions executed
system.cpu.num_refs 2003 # Number of memory references
system.cpu.workload.PROG:num_syscalls 11 # Number of system calls

View file

@ -1,4 +1,4 @@
0: system.remote_gdb.listener: listening for remote gdb on port 7003
warn: Sockets disabled, not accepting gdb connections
warn: Entering event queue @ 0. Starting simulation...
warn: instruction 'fnstcw_Mw' unimplemented
warn: instruction 'fldcw_Mw' unimplemented

14
tests/quick/00.hello/ref/x86/linux/simple-atomic/stdout Normal file → Executable file
View file

@ -5,12 +5,12 @@ The Regents of The University of Michigan
All Rights Reserved
M5 compiled Jul 23 2008 16:08:41
M5 started Wed Jul 23 16:14:28 2008
M5 executing on blue
M5 revision 5515:47bf96eec2c6221cf91de8a078897c1b5e46cfbf
M5 commit date Wed Jul 23 15:35:08 2008 -0700
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
M5 compiled Aug 31 2008 22:55:36
M5 revision 5540:e8dde121a24fbf62092085d7d996cb8c965c3fe6
M5 commit date Sun Aug 31 22:51:39 2008 -0400
M5 started Aug 31 2008 22:56:02
M5 executing on zizzer
command line: build/X86_SE/m5.fast -d build/X86_SE/tests/fast/quick/00.hello/x86/linux/simple-atomic -re --stdout-file stdout --stderr-file stderr tests/run.py quick/00.hello/x86/linux/simple-atomic
Global frequency set at 1000000000000 ticks per second
Hello world!
Exiting @ tick 5529000 because target called exit()
Exiting @ tick 5549000 because target called exit()