Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RISC-V Support SE-148 #234

Merged
merged 142 commits into from
Nov 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
9b63ae9
Updated the Virtual Counter Timer logic to iterate at the Timer-Frequ…
FinnWilkinson Apr 4, 2022
dd05236
Implemented functionality to update the Processor Cycle Counter syste…
FinnWilkinson Apr 7, 2022
75ccc4f
Missing sys reg handling (#228)
jj16791 May 12, 2022
f0dc081
Updated some config options to be read as uint16_t not uint8_t to all…
jj16791 Jun 14, 2022
bafc39e
Fix for sve FNEG (predicated) instruction (#230)
FinnWilkinson Jun 14, 2022
1134a32
Removed prefix from standard types such as due to build errors on s…
FinnWilkinson Jun 16, 2022
c340d96
New generic branch prediction (#226)
jj16791 Jun 21, 2022
4bd6869
Create initial file structure for RISCV
dANW34V3R Jun 22, 2021
9bd2a90
Support RISCV ADDI
dANW34V3R Jun 28, 2021
d86f46c
Add execution logic for shifts, arithmetic, logical and compare instr…
dANW34V3R Jul 7, 2021
0b962d5
Add arithmetic and logical tests
dANW34V3R Jul 8, 2021
93f8c82
Move arithmetic tests to their own file
dANW34V3R Jul 16, 2021
02a0a43
Support RISCV loads
dANW34V3R Jul 16, 2021
f186d3a
Support RISCV stores
dANW34V3R Jul 16, 2021
a77de43
Support RISCV jumps
dANW34V3R Jul 20, 2021
6f0a045
Simplify Instruction_decode
dANW34V3R Jul 20, 2021
109258a
Support RISCV branches and pseudoinstructions
dANW34V3R Jul 21, 2021
7de8506
Support RISCV jump pseudoinstructions
dANW34V3R Jul 21, 2021
08e4d68
Support RISCV arithmetic pseudoinstructions
dANW34V3R Jul 22, 2021
89c8070
Support RISCV lui, auipc
dANW34V3R Jul 22, 2021
7557bee
Add li tests
dANW34V3R Jul 23, 2021
8e823cc
Fix load not passing tests
dANW34V3R Jul 26, 2021
e528e7f
Moved LLVM initialisation into ISA specific regression class run func…
jj16791 Jul 24, 2021
f59273b
Use Aarch64 syscalls for RISCV
dANW34V3R Jul 27, 2021
737a4b6
Expansion of armv8 ISA
jj16791 Jul 5, 2021
7382e94
Addition of syscalls required for selected single threaded fortran op…
jj16791 Jul 5, 2021
82a3a4f
added build-debug directory to .gitignore
jj16791 Jul 24, 2021
a506338
Support RISCV amoswap, lr, sc
dANW34V3R Aug 18, 2021
e6f68c7
Fix tests after rebase
dANW34V3R Aug 18, 2021
5fd3e0c
Improve RISCV load/store tests
dANW34V3R Aug 19, 2021
894a5ea
Support RISCV not
dANW34V3R Aug 20, 2021
59751d3
Use latest syscalls for RISCV
dANW34V3R Aug 20, 2021
921cf9b
Improve RISCV test coverage to cover all psuedoinstructions and imple…
dANW34V3R Aug 20, 2021
9064c71
Use all Aarch64 syscalls for RISCV
dANW34V3R Aug 23, 2021
a29d228
Support all RISCV atomics
dANW34V3R Aug 30, 2021
dae8c1c
Code Cleanup
dANW34V3R Sep 1, 2021
6322ed6
Remove RISCV test config
dANW34V3R Sep 1, 2021
e99f8e2
RISCV docs
dANW34V3R Sep 1, 2021
ccc9b80
Code cleanup
dANW34V3R Sep 2, 2021
41d6185
Add fallthroughs to RISCV switch statements
dANW34V3R Sep 2, 2021
a10711b
Add missing breaks to RISCV InstructionMetadata
dANW34V3R Sep 2, 2021
765d9fc
Remove commented Aarch64 smoke tests and add assert
dANW34V3R Sep 3, 2021
a739ff0
Partial implementation of RISCV OoO functionality
dANW34V3R Sep 3, 2021
43bc536
Rebased onto dev & got emulation RISCV model to work on stream.
FinnWilkinson Jan 27, 2022
3f7415f
Remove OoO tests
dANW34V3R Feb 3, 2022
4c4606a
Change config to use current instruction groups
dANW34V3R Feb 3, 2022
75ba84a
Add ISA config option
dANW34V3R Feb 3, 2022
fd072a3
Allow RISC-V OoO models
dANW34V3R Mar 17, 2022
0a14f7e
Implement mremap, getdents64, tgkill, gettid. Tests needed
dANW34V3R Mar 23, 2022
d50b3fc
Make load tests use dynamic heap address
dANW34V3R Mar 24, 2022
9cb1bd1
Implement multiply divide extension except mulh and mulhsu
dANW34V3R Mar 24, 2022
810d4cb
Add various support allowing different benchmarks to run
dANW34V3R Jun 6, 2022
c7728ce
Fixup after rebase
dANW34V3R Jun 7, 2022
937ee3a
Address comments made on previous PR
dANW34V3R Jun 7, 2022
738fa4b
Use fake system register for getVCTreg
dANW34V3R Jun 14, 2022
0df7987
Pull ISA specific config options into subclasses
dANW34V3R Jun 17, 2022
de46176
Cleanup RISCV metadata
dANW34V3R Jun 20, 2022
7aad019
Add conditional config options for Register-Set based on ISA
dANW34V3R Jun 20, 2022
c6f7aab
Remomve unused getUpdatedState
dANW34V3R Jun 20, 2022
80e9be1
Swap include ordering
dANW34V3R Jun 20, 2022
6a54c45
Add comments getConfig functions
dANW34V3R Jul 2, 2022
e05f0d0
Fixes after rebase
dANW34V3R Jun 22, 2022
2f17560
Fix RISC-V test config by adding new config options
dANW34V3R Jun 22, 2022
25cbe89
Change config option FloatingPoint to FloatingPoint-Count to keep con…
dANW34V3R Jun 23, 2022
57f3d64
Update comment in execute
dANW34V3R Jun 28, 2022
5023cf4
Clean up main and add ISA config option to ModelConfig.hh
dANW34V3R Jul 1, 2022
245dbfd
Implement branch prediction for RISC-V
dANW34V3R Jun 23, 2022
5f9e81e
Delete p550 config
dANW34V3R Jul 2, 2022
c04b5b4
Reformat DEFAULT_CONFIG
dANW34V3R Jul 2, 2022
31df444
Move instruction groups into their own file
dANW34V3R Jul 2, 2022
3fa6818
Renumber padding
dANW34V3R Jul 2, 2022
dec6dd9
Remove capstone instruction groups from metadata
dANW34V3R Jul 2, 2022
17a963d
Use revertAliasing function
dANW34V3R Jul 2, 2022
cf631aa
Use stdout and stderr definitions rather than file descriptors directly
dANW34V3R Jul 2, 2022
c2d3423
Revert main
dANW34V3R Jul 2, 2022
144ee97
Remove empty exception tests
dANW34V3R Jul 2, 2022
7445d7c
Make instruction tests emulation only
dANW34V3R Jul 2, 2022
d9ec896
Add comment to each case in execute
dANW34V3R Jul 3, 2022
5a1652f
Explicitly instantiate RegisterValue's when setting results
dANW34V3R Jul 3, 2022
c3491fd
Move ISA config option into Core
dANW34V3R Jul 3, 2022
12eb3de
Check ISA specific options only if ISA is correctly defined
dANW34V3R Jul 3, 2022
dc0b3f5
Allow for out of order RISC-V tests
dANW34V3R Jul 4, 2022
e5a47cf
Implement LoadStoreQueue tests
dANW34V3R Jul 4, 2022
748f55d
Suppport latencies for individual opcodes
dANW34V3R Jul 6, 2022
55c236b
Run RISC-V regression tests in Jenkins pipeline
dANW34V3R Jul 7, 2022
111a4c3
Update MockArchitecture to implement new functions
dANW34V3R Jul 7, 2022
20aed76
Update tx2 and a64fx config files
dANW34V3R Jul 7, 2022
bed7d13
Temporarily remove tests for NYI instructions
dANW34V3R Jul 7, 2022
bf96ab5
Run clang format
dANW34V3R Jul 7, 2022
859f2ef
Temporarily remove mremap syscall
dANW34V3R Jul 9, 2022
32284a4
Temporarily remove sycall id 1024
dANW34V3R Jul 9, 2022
85656e1
Updated the Virtual Counter Timer logic to iterate at the Timer-Frequ…
FinnWilkinson Apr 4, 2022
759892f
Implemented functionality to update the Processor Cycle Counter syste…
FinnWilkinson Apr 7, 2022
09c074a
Missing sys reg handling (#228)
jj16791 May 12, 2022
1fd9241
Updated some config options to be read as uint16_t not uint8_t to all…
jj16791 Jun 14, 2022
f912b4e
Fix for sve FNEG (predicated) instruction (#230)
FinnWilkinson Jun 14, 2022
064e43e
Removed prefix from standard types such as due to build errors on s…
FinnWilkinson Jun 16, 2022
4b3ad61
New generic branch prediction (#226)
jj16791 Jun 21, 2022
221fecb
Merge branch 'dev' into riscv-support
dANW34V3R Aug 16, 2022
0a83e11
Invalidate all unimplemented instructions preventing errors during sp…
dANW34V3R Aug 19, 2022
82f9b76
Conditionally compile return value for newfstatat
dANW34V3R Aug 19, 2022
fb317ee
Update predecode to align with AArch64 implementation
dANW34V3R Aug 22, 2022
d644056
Updated jenkins armclang build script to use new armclang22 compiler …
jj16791 Sep 12, 2022
4b1242d
Prevent ExceptionHandler processing if there are active memory reques…
jj16791 Sep 13, 2022
56a9d68
Added comments explaining ELF File structure in Elf.cc file. (#242)
rahahahat Sep 13, 2022
6a2cfe6
Additional aarch64 and syscall support (#233)
tomhepworth Sep 13, 2022
fc41409
Initial M1 Firestorm core model (#245)
tomhepworth Sep 13, 2022
a0002ca
Minor Feature Fixes (#240)
FinnWilkinson Sep 13, 2022
d7959d8
Merge branch 'dev' into riscv-support
dANW34V3R Sep 13, 2022
740c019
Capstone update to support Armv9.2 (#239)
FinnWilkinson Sep 13, 2022
54867d8
Process Image memory optimisation for SimEng (#243)
rahahahat Sep 14, 2022
f338870
Merge branch 'dev' into riscv-support
dANW34V3R Sep 15, 2022
969535a
Remove placeholder system registers
dANW34V3R Sep 15, 2022
13f0f83
New core creation (#247)
jj16791 Sep 16, 2022
d089a5b
Output prefix (#249)
jj16791 Sep 23, 2022
c37d09d
Merge branch 'dev' into riscv-support
dANW34V3R Sep 26, 2022
d6ae7ca
Fix RISCV_CONFIG to contain new config parameters allowing tests to pass
dANW34V3R Oct 5, 2022
c9bccc9
Add RISC-V config roughly following TX2 architecture
dANW34V3R Oct 10, 2022
6fcc5e6
Remove debug folder from gitignore
dANW34V3R Oct 10, 2022
36c9536
Delete mremap function declaration and revert comment
dANW34V3R Oct 10, 2022
ed2fe28
Dispatch rate SE-146 (#251)
jj16791 Oct 12, 2022
a079c2e
Merge branch 'dev' into riscv-support
dANW34V3R Oct 17, 2022
812c8a2
Update exception handler with new AArch64 syscalls and output prefixe…
dANW34V3R Oct 18, 2022
983d86a
Implement syscall tests with RISC-V which tests RISC-V exception hand…
dANW34V3R Oct 19, 2022
5ce003e
Remove unused functions and add comments
dANW34V3R Oct 19, 2022
88b7aba
Merge branch 'dev' into 'riscv-support'
dANW34V3R Oct 19, 2022
828fe63
Update M1 model to use ISA option
dANW34V3R Oct 20, 2022
fd29dac
Add comment explaining what spec the implementation follows
dANW34V3R Oct 20, 2022
f3e0775
Change special file output to STDOUT from STDERR
dANW34V3R Oct 24, 2022
b8cdc3c
Addition of comments and removal of unused functions
dANW34V3R Oct 26, 2022
46beada
Addition of comments and removal of unused functions
dANW34V3R Nov 1, 2022
2a35589
Update model config to check for RISC-V opcode ranges
dANW34V3R Nov 1, 2022
bae105b
Merge branch 'dev' into riscv-support
dANW34V3R Nov 1, 2022
c586f39
Update model config comment
dANW34V3R Nov 2, 2022
7fece98
Addition of comment explaining zero register writes
dANW34V3R Nov 3, 2022
f4cf551
Remove sysreg enum
dANW34V3R Nov 3, 2022
2ed2c2f
Update RISC-V predecode to follow AArch64 and remove unused function …
dANW34V3R Nov 3, 2022
62357de
Update docs
dANW34V3R Nov 4, 2022
32528dd
Revert cout to cerr
dANW34V3R Nov 7, 2022
a02670d
Merge branch 'dev' into riscv-support
dANW34V3R Nov 14, 2022
53ccd4e
Add ISA config options to sst-cores
dANW34V3R Nov 14, 2022
07c4234
Remove redundant headers
dANW34V3R Nov 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.clang_complete
.vscode
.idea
.DS_Store
obj
build
Expand All @@ -18,4 +19,4 @@ CPackSourceConfig.cmake
CMakeFiles/

**/capstone-config-version.cmake
**/capstone-config.cmake
**/capstone-config.cmake
FinnWilkinson marked this conversation as resolved.
Show resolved Hide resolved
1 change: 1 addition & 0 deletions .jenkins/build_test_run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ test () {
cd "$SIMENG_BUILD" || exit
./test/unit/unittests --gtest_output=xml:unittests.xml || true
./test/regression/aarch64/regression-aarch64 --gtest_output=xml:regressiontests.xml || true
./test/regression/riscv/regression-riscv --gtest_output=xml:regressiontests.xml || true
}

# Run default program with and without specified configuration
Expand Down
11 changes: 6 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ set(CAPSTONE_EVM_SUPPORT OFF CACHE BOOL "Disable EVM support")
set(CAPSTONE_MOS65XX_SUPPORT OFF CACHE BOOL "Disable MSO65XX support")
set(CAPSTONE_WASM_SUPPORT OFF CACHE BOOL "Disable WASM support")
set(CAPSTONE_BPF_SUPPORT OFF CACHE BOOL "Disable BPF support")
set(CAPSTONE_RISCV_SUPPORT OFF CACHE BOOL "Disable RISCV support")

FetchContent_MakeAvailable_Args(capstone-lib EXCLUDE_FROM_ALL)
include_directories("${capstone_BINARY_DIR}/include" "${capstone_SOURCE_DIR}/include")
Expand Down Expand Up @@ -165,7 +164,7 @@ if(SIMENG_ENABLE_TESTS)

else()

set(LLVM_TARGETS_TO_BUILD "AArch64" CACHE INTERNAL "")
set(LLVM_TARGETS_TO_BUILD "AArch64;RISCV" CACHE INTERNAL "")

set(LLVM_BUILD_RUNTIME OFF)

Expand Down Expand Up @@ -198,8 +197,7 @@ if(SIMENG_ENABLE_TESTS)

# NOTE: we don't do the usual version checks here because it needs vars exported in find_LLVM
# we just assume it's good beacuse it must be whitelisted in FetchContent_Declare

endif()
endif()

set(SIMENG_LLVM_VERSION ${LLVM_VERSION_MAJOR} CACHE INTERNAL "LLVM major version number used.")
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
Expand All @@ -209,6 +207,9 @@ if(SIMENG_ENABLE_TESTS)
if (NOT "AArch64" IN_LIST LLVM_TARGETS_TO_BUILD)
message(FATAL_ERROR "LLVM was built without AArch64 target")
endif()
if (NOT "RISCV" IN_LIST LLVM_TARGETS_TO_BUILD)
message(FATAL_ERROR "LLVM was built without RISC-V target")
endif()

## Setup googletest ##
FetchContent_MakeAvailable_Args(googletest EXCLUDE_FROM_ALL)
Expand All @@ -218,7 +219,7 @@ if(SIMENG_ENABLE_TESTS)
# saves us from having to build all targets before running the tests
add_custom_target(test-all
COMMAND ${CMAKE_CTEST_COMMAND}
DEPENDS unittests regression-aarch64
DEPENDS unittests regression-aarch64 regression-riscv
)
endif()

Expand Down
141 changes: 141 additions & 0 deletions configs/DEMO_RISCV.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
---
# This file is based off of the current tx2.yaml config and serves as an example configuration for RISC-V cores.
# The following resources where utilised to create the config file and naming schemes:
# https://en.wikichip.org/wiki/cavium/microarchitectures/vulcan

Core:
ISA: rv64
FinnWilkinson marked this conversation as resolved.
Show resolved Hide resolved
Simulation-Mode: outoforder
Clock-Frequency: 2.5
Fetch-Block-Size: 32
Fetch:
Fetch-Block-Size: 32
Loop-Buffer-Size: 0
Loop-Detection-Threshold: 0
Process-Image:
Heap-Size: 1073741824
Stack-Size: 1048576
Register-Set:
GeneralPurpose-Count: 154
FloatingPoint-Count: 90
Pipeline-Widths:
Commit: 4
Dispatch-Rate: 4
FrontEnd: 4
LSQ-Completion: 2
Queue-Sizes:
ROB: 180
Load: 64
Store: 36
Branch-Predictor:
BTB-Tag-Bits: 11
Saturating-Count-Bits: 2
Global-History-Length: 10
RAS-entries: 1
Fallback-Static-Predictor: "Always-Taken"
Branch-Predictor:
BTB-bitlength: 16
L1-Data-Memory:
Interface-Type: Fixed
L1-Instruction-Memory:
Interface-Type: Flat
LSQ-L1-Interface:
Access-Latency: 4
Exclusive: False
Load-Bandwidth: 32
Store-Bandwidth: 16
Permitted-Requests-Per-Cycle: 2
Permitted-Loads-Per-Cycle: 2
Permitted-Stores-Per-Cycle: 1
Ports:
0:
Portname: Port 0
Instruction-Support:
- INT_SIMPLE
- INT_MUL
1:
Portname: Port 1
Instruction-Support:
- INT
2:
Portname: Port 2
Instruction-Support:
- INT_SIMPLE
- INT_MUL
- BRANCH
3:
Portname: Port 4
Instruction-Support:
- LOAD
4:
Portname: Port 5
Instruction-Support:
- LOAD
5:
Portname: Port 3
Instruction-Support:
- STORE
Reservation-Stations:
0:
Size: 60
Dispatch-Rate: 4
Ports:
- Port 0
- Port 1
- Port 2
- Port 4
- Port 5
- Port 3
Execution-Units:
0:
Pipelined: True
1:
Pipelined: True
2:
Pipelined: True
3:
Pipelined: True
4:
Pipelined: True
5:
Pipelined: True
Latencies:
0:
Instruction-Groups:
- INT_SIMPLE_ARTH
- INT_SIMPLE_LOGICAL
Execution-Latency: 1
Execution-Throughput: 1
1:
Instruction-Groups:
- INT_MUL
Execution-Latency: 5
Execution-Throughput: 1
2:
Instruction-Groups:
- INT_DIV
Execution-Latency: 39
Execution-Throughput: 39
# CPU-Info mainly used to generate a replica of the special (or system) file directory
# structure
CPU-Info:
# Set Generate-Special-Dir to 'T' to generate the special files directory, or to 'F' to not.
# (Not generating the special files directory may require the user to copy over files manually)
Generate-Special-Dir: true
# Core-Count MUST be 1 as multi-core is not supported at this time. (TX2 true value is 32)
Core-Count: 1
# Socket-Count MUST be 1 as multi-socket simulations are not supported at this time. (TX2 true value is 2)
Socket-Count: 1
# SMT MUST be 1 as Simultanious-Multi-Threading is not supported at this time. (TX2 true value is 4)
SMT: 1
# Below are the values needed to generate /proc/cpuinfo
BogoMIPS: 400.00
Features: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid asimdrdm
CPU-Implementer: "0x43"
CPU-Architecture: 8
CPU-Variant: "0x1"
CPU-Part: "0x0af"
CPU-Revision: 2
# Package-Count is used to generate
# /sys/devices/system/cpu/cpu{0..Core-Count}/topology/{physical_package_id, core_id}
Package-Count: 1
41 changes: 21 additions & 20 deletions configs/a64fx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# https://github.com/fujitsu/A64FX

Core:
ISA: AArch64
Simulation-Mode: outoforder
# Clock Frequency is in GHz.
Clock-Frequency: 1.8
Expand Down Expand Up @@ -134,71 +135,71 @@ Execution-Units:
- SVE_DIV_OR_SQRT
1:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
FinnWilkinson marked this conversation as resolved.
Show resolved Hide resolved
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
2:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
3:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
4:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
5:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
6:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
7:
Pipelined: True
Blocking-Groups:
Blocking-Groups:
- INT_DIV_OR_SQRT
- FP_DIV_OR_SQRT
- SVE_DIV_OR_SQRT
Latencies:
0:
Instruction-Groups:
Instruction-Groups:
- INT
Execution-Latency: 2
Execution-Throughput: 2
1:
Instruction-Groups:
Instruction-Groups:
- INT_SIMPLE_ARTH_NOSHIFT
- INT_SIMPLE_LOGICAL_NOSHIFT
- INT_SIMPLE_CVT
Execution-Latency: 1
Execution-Throughput: 1
2:
Instruction-Groups:
Instruction-Groups:
- INT_MUL
Execution-Latency: 5
Execution-Throughput: 1
3:
Instruction-Groups:
Instruction-Groups:
- INT_DIV_OR_SQRT
Execution-Latency: 41
Execution-Throughput: 41
4:
Instruction-Groups:
Instruction-Groups:
- SCALAR_SIMPLE
- VECTOR_SIMPLE_LOGICAL
- SVE_SIMPLE_LOGICAL
Expand All @@ -207,12 +208,12 @@ Latencies:
Execution-Latency: 4
Execution-Throughput: 1
5:
Instruction-Groups:
Instruction-Groups:
- FP_DIV_OR_SQRT
Execution-Latency: 29
Execution-Throughput: 29
6:
Instruction-Groups:
Instruction-Groups:
- VECTOR_SIMPLE
- SVE_SIMPLE
- SCALAR_SIMPLE_CVT
Expand All @@ -221,30 +222,30 @@ Latencies:
Execution-Latency: 9
Execution-Throughput: 1
7:
Instruction-Groups:
Instruction-Groups:
- SVE_DIV_OR_SQRT
Execution-Latency: 98
Execution-Throughput: 98
8:
Instruction-Groups:
Instruction-Groups:
- PREDICATE
Execution-Latency: 3
Execution-Throughput: 1
9:
Instruction-Groups:
Instruction-Groups:
- LOAD_SCALAR
- LOAD_VECTOR
- STORE_ADDRESS_SCALAR
- STORE_ADDRESS_VECTOR
Execution-Latency: 3
Execution-Throughput: 1
10:
Instruction-Groups:
Instruction-Groups:
- LOAD_SVE
- STORE_ADDRESS_SVE
Execution-Latency: 6
Execution-Throughput: 1
# CPU-Info mainly used to generate a replica of the special (or system) file directory
# CPU-Info mainly used to generate a replica of the special (or system) file directory
# structure
CPU-Info:
# Set Generate-Special-Dir to True to generate the special files directory, or to False to not.
Expand All @@ -264,6 +265,6 @@ CPU-Info:
CPU-Variant: "0x1"
CPU-Part: "0x001"
CPU-Revision: 0
# Package-Count is used to generate
# Package-Count is used to generate
# /sys/devices/system/cpu/cpu{0..Core-Count}/topology/{physical_package_id, core_id}
Package-Count: 1
1 change: 1 addition & 0 deletions configs/m1_firestorm.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# M1 Firestorm core
Core:
ISA: AArch64
Simulation-Mode: outoforder
Clock-Frequency: 3.2
Timer-Frequency: 100
Expand Down
1 change: 1 addition & 0 deletions configs/sst-cores/a64fx-sst.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# https://github.com/fujitsu/A64FX

Core:
ISA: AArch64
Simulation-Mode: outoforder
# Clock Frequency is in GHz.
Clock-Frequency: 1.8
Expand Down
1 change: 1 addition & 0 deletions configs/sst-cores/m1_firestorm-sst.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# M1 Firestorm core
Core:
ISA: AArch64
Simulation-Mode: outoforder
Clock-Frequency: 3.2
Timer-Frequency: 100
Expand Down
1 change: 1 addition & 0 deletions configs/sst-cores/tx2-sst.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# https://en.wikichip.org/wiki/cavium/microarchitectures/vulcan

Core:
ISA: AArch64
Simulation-Mode: outoforder
# Clock Frequency is in GHz.
Clock-Frequency: 2.5
Expand Down
Loading