cvw/tests/wally-riscv-arch-test/riscv-test-suite/rv64i_m/privilege/src/WALLY-MHARTID.S

3779 lines
60 KiB
ArmAsm

///////////////////////////////////////////
// ../../../imperas-riscv-tests/riscv-test-suite/rv64p/src/WALLY-MHARTID.S
// dottolia@hmc.edu
// Created 2021-06-15 11:27:52.358935//
// Copyright (C) 2021 Harvey Mudd College & Oklahoma State University
// Adapted from Imperas RISCV-TEST_SUITE
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy,
// modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software
// is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
// OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
///////////////////////////////////////////
#include "model_test.h"
#include "arch_test.h"
RVTEST_ISA("RV64I")
.section .text.init
.globl rvtest_entry_point
rvtest_entry_point:
RVMODEL_BOOT
# ---------------------------------------------------------------------------------------------
# address for test results
la x6, wally_signature
# Testcase 0
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest0
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest0:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(0)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend0:
csrrw x0, mtvec, x31
sd x25, 0(x6)
sd x15, 8(x6)
# Testcase 2
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest2
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest2:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(0)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 0
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend2:
csrrw x0, mtvec, x31
sd x25, 16(x6)
sd x15, 24(x6)
# Testcase 4
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest4
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest4:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend4:
csrrw x0, mtvec, x31
sd x25, 32(x6)
sd x15, 40(x6)
# Testcase 6
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest6
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest6:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 1
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend6:
csrrw x0, mtvec, x31
sd x25, 48(x6)
sd x15, 56(x6)
# Testcase 8
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest8
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest8:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend8:
csrrw x0, mtvec, x31
sd x25, 64(x6)
sd x15, 72(x6)
# Testcase 10
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest10
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest10:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend10:
csrrw x0, mtvec, x31
sd x25, 80(x6)
sd x15, 88(x6)
# Testcase 12
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest12
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest12:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend12:
csrrw x0, mtvec, x31
sd x25, 96(x6)
sd x15, 104(x6)
# Testcase 14
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest14
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest14:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(1)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend14:
csrrw x0, mtvec, x31
sd x25, 112(x6)
sd x15, 120(x6)
# Testcase 16
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest16
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest16:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend16:
csrrw x0, mtvec, x31
sd x25, 128(x6)
sd x15, 136(x6)
# Testcase 18
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest18
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest18:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend18:
csrrw x0, mtvec, x31
sd x25, 144(x6)
sd x15, 152(x6)
# Testcase 20
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest20
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest20:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend20:
csrrw x0, mtvec, x31
sd x25, 160(x6)
sd x15, 168(x6)
# Testcase 22
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest22
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest22:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend22:
csrrw x0, mtvec, x31
sd x25, 176(x6)
sd x15, 184(x6)
# Testcase 24
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest24
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest24:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 3
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend24:
csrrw x0, mtvec, x31
sd x25, 192(x6)
sd x15, 200(x6)
# Testcase 26
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest26
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest26:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(2)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 3
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend26:
csrrw x0, mtvec, x31
sd x25, 208(x6)
sd x15, 216(x6)
# Testcase 28
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest28
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest28:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend28:
csrrw x0, mtvec, x31
sd x25, 224(x6)
sd x15, 232(x6)
# Testcase 30
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest30
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest30:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 31
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend30:
csrrw x0, mtvec, x31
sd x25, 240(x6)
sd x15, 248(x6)
# Testcase 32
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest32
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest32:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend32:
csrrw x0, mtvec, x31
sd x25, 256(x6)
sd x15, 264(x6)
# Testcase 34
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest34
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest34:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend34:
csrrw x0, mtvec, x31
sd x25, 272(x6)
sd x15, 280(x6)
# Testcase 36
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest36
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest36:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 1
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend36:
csrrw x0, mtvec, x31
sd x25, 288(x6)
sd x15, 296(x6)
# Testcase 38
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest38
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest38:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(31)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 1
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend38:
csrrw x0, mtvec, x31
sd x25, 304(x6)
sd x15, 312(x6)
# Testcase 40
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest40
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest40:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend40:
csrrw x0, mtvec, x31
sd x25, 320(x6)
sd x15, 328(x6)
# Testcase 42
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest42
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest42:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 0
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend42:
csrrw x0, mtvec, x31
sd x25, 336(x6)
sd x15, 344(x6)
# Testcase 44
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest44
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest44:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend44:
csrrw x0, mtvec, x31
sd x25, 352(x6)
sd x15, 360(x6)
# Testcase 46
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest46
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest46:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend46:
csrrw x0, mtvec, x31
sd x25, 368(x6)
sd x15, 376(x6)
# Testcase 48
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest48
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest48:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend48:
csrrw x0, mtvec, x31
sd x25, 384(x6)
sd x15, 392(x6)
# Testcase 50
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest50
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest50:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(32)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend50:
csrrw x0, mtvec, x31
sd x25, 400(x6)
sd x15, 408(x6)
# Testcase 52
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest52
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest52:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend52:
csrrw x0, mtvec, x31
sd x25, 416(x6)
sd x15, 424(x6)
# Testcase 54
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest54
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest54:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 20
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend54:
csrrw x0, mtvec, x31
sd x25, 432(x6)
sd x15, 440(x6)
# Testcase 56
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest56
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest56:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend56:
csrrw x0, mtvec, x31
sd x25, 448(x6)
sd x15, 456(x6)
# Testcase 58
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest58
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest58:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend58:
csrrw x0, mtvec, x31
sd x25, 464(x6)
sd x15, 472(x6)
# Testcase 60
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest60
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest60:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 28
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend60:
csrrw x0, mtvec, x31
sd x25, 480(x6)
sd x15, 488(x6)
# Testcase 62
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest62
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest62:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(7082823659048590612)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 28
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend62:
csrrw x0, mtvec, x31
sd x25, 496(x6)
sd x15, 504(x6)
# Testcase 64
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest64
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest64:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend64:
csrrw x0, mtvec, x31
sd x25, 512(x6)
sd x15, 520(x6)
# Testcase 66
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest66
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest66:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 30
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend66:
csrrw x0, mtvec, x31
sd x25, 528(x6)
sd x15, 536(x6)
# Testcase 68
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest68
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest68:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend68:
csrrw x0, mtvec, x31
sd x25, 544(x6)
sd x15, 552(x6)
# Testcase 70
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest70
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest70:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend70:
csrrw x0, mtvec, x31
sd x25, 560(x6)
sd x15, 568(x6)
# Testcase 72
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest72
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest72:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 7
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend72:
csrrw x0, mtvec, x31
sd x25, 576(x6)
sd x15, 584(x6)
# Testcase 74
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest74
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest74:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775806)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 7
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend74:
csrrw x0, mtvec, x31
sd x25, 592(x6)
sd x15, 600(x6)
# Testcase 76
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest76
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest76:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend76:
csrrw x0, mtvec, x31
sd x25, 608(x6)
sd x15, 616(x6)
# Testcase 78
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest78
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest78:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 31
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend78:
csrrw x0, mtvec, x31
sd x25, 624(x6)
sd x15, 632(x6)
# Testcase 80
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest80
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest80:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend80:
csrrw x0, mtvec, x31
sd x25, 640(x6)
sd x15, 648(x6)
# Testcase 82
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest82
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest82:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend82:
csrrw x0, mtvec, x31
sd x25, 656(x6)
sd x15, 664(x6)
# Testcase 84
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest84
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest84:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 8
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend84:
csrrw x0, mtvec, x31
sd x25, 672(x6)
sd x15, 680(x6)
# Testcase 86
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest86
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest86:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775807)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 8
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend86:
csrrw x0, mtvec, x31
sd x25, 688(x6)
sd x15, 696(x6)
# Testcase 88
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest88
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest88:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend88:
csrrw x0, mtvec, x31
sd x25, 704(x6)
sd x15, 712(x6)
# Testcase 90
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest90
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest90:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 0
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend90:
csrrw x0, mtvec, x31
sd x25, 720(x6)
sd x15, 728(x6)
# Testcase 92
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest92
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest92:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend92:
csrrw x0, mtvec, x31
sd x25, 736(x6)
sd x15, 744(x6)
# Testcase 94
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest94
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest94:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend94:
csrrw x0, mtvec, x31
sd x25, 752(x6)
sd x15, 760(x6)
# Testcase 96
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest96
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest96:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 9
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend96:
csrrw x0, mtvec, x31
sd x25, 768(x6)
sd x15, 776(x6)
# Testcase 98
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest98
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest98:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775808)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 9
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend98:
csrrw x0, mtvec, x31
sd x25, 784(x6)
sd x15, 792(x6)
# Testcase 100
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest100
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest100:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend100:
csrrw x0, mtvec, x31
sd x25, 800(x6)
sd x15, 808(x6)
# Testcase 102
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest102
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest102:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 1
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend102:
csrrw x0, mtvec, x31
sd x25, 816(x6)
sd x15, 824(x6)
# Testcase 104
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest104
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest104:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend104:
csrrw x0, mtvec, x31
sd x25, 832(x6)
sd x15, 840(x6)
# Testcase 106
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest106
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest106:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend106:
csrrw x0, mtvec, x31
sd x25, 848(x6)
sd x15, 856(x6)
# Testcase 108
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest108
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest108:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 10
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend108:
csrrw x0, mtvec, x31
sd x25, 864(x6)
sd x15, 872(x6)
# Testcase 110
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest110
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest110:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9223372036854775809)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 10
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend110:
csrrw x0, mtvec, x31
sd x25, 880(x6)
sd x15, 888(x6)
# Testcase 112
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest112
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest112:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend112:
csrrw x0, mtvec, x31
sd x25, 896(x6)
sd x15, 904(x6)
# Testcase 114
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest114
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest114:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend114:
csrrw x0, mtvec, x31
sd x25, 912(x6)
sd x15, 920(x6)
# Testcase 116
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest116
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest116:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend116:
csrrw x0, mtvec, x31
sd x25, 928(x6)
sd x15, 936(x6)
# Testcase 118
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest118
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest118:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend118:
csrrw x0, mtvec, x31
sd x25, 944(x6)
sd x15, 952(x6)
# Testcase 120
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest120
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest120:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 20
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend120:
csrrw x0, mtvec, x31
sd x25, 960(x6)
sd x15, 968(x6)
# Testcase 122
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest122
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest122:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(14079903813871053634)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 20
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend122:
csrrw x0, mtvec, x31
sd x25, 976(x6)
sd x15, 984(x6)
# Testcase 124
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest124
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest124:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend124:
csrrw x0, mtvec, x31
sd x25, 992(x6)
sd x15, 1000(x6)
# Testcase 126
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest126
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest126:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 30
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend126:
csrrw x0, mtvec, x31
sd x25, 1008(x6)
sd x15, 1016(x6)
# Testcase 128
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest128
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest128:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend128:
csrrw x0, mtvec, x31
sd x25, 1024(x6)
sd x15, 1032(x6)
# Testcase 130
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest130
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest130:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend130:
csrrw x0, mtvec, x31
sd x25, 1040(x6)
sd x15, 1048(x6)
# Testcase 132
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest132
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest132:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 15
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend132:
csrrw x0, mtvec, x31
sd x25, 1056(x6)
sd x15, 1064(x6)
# Testcase 134
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest134
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest134:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551614)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 15
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend134:
csrrw x0, mtvec, x31
sd x25, 1072(x6)
sd x15, 1080(x6)
# Testcase 136
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest136
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest136:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend136:
csrrw x0, mtvec, x31
sd x25, 1088(x6)
sd x15, 1096(x6)
# Testcase 138
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest138
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest138:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 31
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend138:
csrrw x0, mtvec, x31
sd x25, 1104(x6)
sd x15, 1112(x6)
# Testcase 140
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest140
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest140:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend140:
csrrw x0, mtvec, x31
sd x25, 1120(x6)
sd x15, 1128(x6)
# Testcase 142
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest142
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest142:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend142:
csrrw x0, mtvec, x31
sd x25, 1136(x6)
sd x15, 1144(x6)
# Testcase 144
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest144
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest144:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 16
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend144:
csrrw x0, mtvec, x31
sd x25, 1152(x6)
sd x15, 1160(x6)
# Testcase 146
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest146
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest146:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(18446744073709551615)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 16
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend146:
csrrw x0, mtvec, x31
sd x25, 1168(x6)
sd x15, 1176(x6)
# Testcase 148
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest148
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest148:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend148:
csrrw x0, mtvec, x31
sd x25, 1184(x6)
sd x15, 1192(x6)
# Testcase 150
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest150
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest150:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 19
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend150:
csrrw x0, mtvec, x31
sd x25, 1200(x6)
sd x15, 1208(x6)
# Testcase 152
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest152
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest152:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend152:
csrrw x0, mtvec, x31
sd x25, 1216(x6)
sd x15, 1224(x6)
# Testcase 154
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest154
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest154:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend154:
csrrw x0, mtvec, x31
sd x25, 1232(x6)
sd x15, 1240(x6)
# Testcase 156
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest156
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest156:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 27
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend156:
csrrw x0, mtvec, x31
sd x25, 1248(x6)
sd x15, 1256(x6)
# Testcase 158
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest158
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest158:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(4361594610609017651)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 27
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend158:
csrrw x0, mtvec, x31
sd x25, 1264(x6)
sd x15, 1272(x6)
# Testcase 160
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest160
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest160:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend160:
csrrw x0, mtvec, x31
sd x25, 1280(x6)
sd x15, 1288(x6)
# Testcase 162
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest162
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest162:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 26
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend162:
csrrw x0, mtvec, x31
sd x25, 1296(x6)
sd x15, 1304(x6)
# Testcase 164
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest164
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest164:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend164:
csrrw x0, mtvec, x31
sd x25, 1312(x6)
sd x15, 1320(x6)
# Testcase 166
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest166
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest166:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend166:
csrrw x0, mtvec, x31
sd x25, 1328(x6)
sd x15, 1336(x6)
# Testcase 168
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest168
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest168:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend168:
csrrw x0, mtvec, x31
sd x25, 1344(x6)
sd x15, 1352(x6)
# Testcase 170
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest170
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest170:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(9179397419557419674)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend170:
csrrw x0, mtvec, x31
sd x25, 1360(x6)
sd x15, 1368(x6)
# Testcase 172
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest172
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest172:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend172:
csrrw x0, mtvec, x31
sd x25, 1376(x6)
sd x15, 1384(x6)
# Testcase 174
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest174
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest174:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 2
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend174:
csrrw x0, mtvec, x31
sd x25, 1392(x6)
sd x15, 1400(x6)
# Testcase 176
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest176
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest176:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend176:
csrrw x0, mtvec, x31
sd x25, 1408(x6)
sd x15, 1416(x6)
# Testcase 178
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest178
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest178:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend178:
csrrw x0, mtvec, x31
sd x25, 1424(x6)
sd x15, 1432(x6)
# Testcase 180
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest180
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest180:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend180:
csrrw x0, mtvec, x31
sd x25, 1440(x6)
sd x15, 1448(x6)
# Testcase 182
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest182
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest182:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(11601989081396086434)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend182:
csrrw x0, mtvec, x31
sd x25, 1456(x6)
sd x15, 1464(x6)
# Testcase 184
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest184
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest184:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrw x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend184:
csrrw x0, mtvec, x31
sd x25, 1472(x6)
sd x15, 1480(x6)
# Testcase 186
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest186
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest186:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrwi x0, mhartid, 25
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend186:
csrrw x0, mtvec, x31
sd x25, 1488(x6)
sd x15, 1496(x6)
# Testcase 188
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest188
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest188:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrs x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend188:
csrrw x0, mtvec, x31
sd x25, 1504(x6)
sd x15, 1512(x6)
# Testcase 190
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest190
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest190:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrc x0, mhartid, x13
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend190:
csrrw x0, mtvec, x31
sd x25, 1520(x6)
sd x15, 1528(x6)
# Testcase 192
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest192
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest192:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrsi x0, mhartid, 8
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend192:
csrrw x0, mtvec, x31
sd x25, 1536(x6)
sd x15, 1544(x6)
# Testcase 194
csrrs x31, mtvec, x0
auipc x30, 0
addi x30, x30, 12
j _jtest194
# Machine trap vector
csrrs x25, mcause, x0
csrrs x1, mepc, x0
addi x1, x1, 4
csrrw x0, mepc, x1
mret
# Actual test
_jtest194:
csrrw x0, mtvec, x30
# Start test code
li x25, 0x7BAD
li x13, MASK_XLEN(8781402536572756665)
csrrw x11, mhartid, x0
csrrci x0, mhartid, 8
csrrwi x12, mhartid, 0
sub x15, x11, x12
# Finished test. Reset to old mtvec
_jend194:
csrrw x0, mtvec, x31
sd x25, 1552(x6)
sd x15, 1560(x6)
# ---------------------------------------------------------------------------------------------
RVMODEL_HALT
RVTEST_DATA_BEGIN
RVTEST_DATA_END
RVMODEL_DATA_BEGIN
# signature output
wally_signature:
.fill 196, 8, -1
#ifdef rvtest_mtrap_routine
mtrap_sigptr:
.fill 64*(XLEN/32),4,0xdeadbeef
#endif
#ifdef rvtest_gpr_save
gpr_save:
.fill 32*(XLEN/32),4,0xdeadbeef
#endif
RVMODEL_DATA_END