mirror of
https://github.com/Noratrieb/rustv32i.git
synced 2026-01-14 13:25:01 +01:00
improve tests
This commit is contained in:
parent
8989d32ff5
commit
a132b481e6
4 changed files with 63 additions and 56 deletions
|
|
@ -8,6 +8,9 @@ eyre = "0.6.12"
|
||||||
libc = "0.2.170"
|
libc = "0.2.170"
|
||||||
owo-colors = "4.2.0"
|
owo-colors = "4.2.0"
|
||||||
|
|
||||||
|
[profile.dev]
|
||||||
|
opt-level = 1
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
debug = 1
|
debug = 1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,44 +24,6 @@
|
||||||
CASE_BOTH \inst, \inst\()i, \a, \b, \expected
|
CASE_BOTH \inst, \inst\()i, \a, \b, \expected
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro WITH_SINGLE_TEST_NUMBERS macro
|
|
||||||
\macro a, 0
|
|
||||||
\macro c, 1
|
|
||||||
\macro d, 2
|
|
||||||
\macro u, 3
|
|
||||||
\macro e, 4
|
|
||||||
\macro v, 5
|
|
||||||
\macro f, 8
|
|
||||||
\macro t, 10
|
|
||||||
\macro g, 16
|
|
||||||
\macro h, 32
|
|
||||||
\macro i, 64
|
|
||||||
\macro s, 100
|
|
||||||
\macro j, 128
|
|
||||||
\macro k, 256
|
|
||||||
\macro l, 512
|
|
||||||
\macro w, 1000
|
|
||||||
\macro m, 1024
|
|
||||||
\macro n, 2047
|
|
||||||
\macro b, -1
|
|
||||||
\macro o, -2
|
|
||||||
\macro p, -16
|
|
||||||
\macro q, -1024
|
|
||||||
\macro r, -1000
|
|
||||||
|
|
||||||
.endm
|
|
||||||
|
|
||||||
.macro WITH_TWO_TEST_NUMBERS macro
|
|
||||||
.macro \macro\()_TMP namea:req a:req
|
|
||||||
.macro \macro\()_TMP_\namea nameb:req b:req
|
|
||||||
\macro \a, \b
|
|
||||||
.endm
|
|
||||||
|
|
||||||
WITH_SINGLE_TEST_NUMBERS \macro\()_TMP_\namea
|
|
||||||
.endm
|
|
||||||
|
|
||||||
WITH_SINGLE_TEST_NUMBERS \macro\()_TMP
|
|
||||||
.endm
|
|
||||||
|
|
||||||
START_TEST
|
START_TEST
|
||||||
# Base instructions
|
# Base instructions
|
||||||
|
|
|
||||||
|
|
@ -21,28 +21,30 @@
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
START_TEST
|
START_TEST
|
||||||
CASE amoswap.w, 1, 0, 1
|
.macro CASE_AMOSWAP a:req b:req
|
||||||
CASE amoswap.w, 10, -1, 10
|
CASE amoswap.w, \a, \b, \a
|
||||||
CASE amoswap.w 0, 0, 0
|
.endm
|
||||||
|
WITH_TWO_TEST_NUMBERS CASE_AMOSWAP
|
||||||
|
|
||||||
CASE amoadd.w, 1, 1, 2
|
.macro CASE_AMOADD a:req b:req
|
||||||
CASE amoadd.w, -1, 1, 0
|
CASE amoadd.w, \a, \b, \a + \b
|
||||||
CASE amoadd.w, 10, -2, 8
|
.endm
|
||||||
|
WITH_TWO_TEST_NUMBERS CASE_AMOADD
|
||||||
|
|
||||||
CASE amoand.w, 0b11, 0b11, 0b11
|
.macro CASE_AMOAND a:req b:req
|
||||||
CASE amoand.w, -1, -1, -1
|
CASE amoand.w, \a, \b, \a & \b
|
||||||
CASE amoand.w, -1, 0, 0
|
.endm
|
||||||
CASE amoand.w, -1, 40, 40
|
WITH_TWO_TEST_NUMBERS CASE_AMOAND
|
||||||
CASE amoand.w, 0b101, 0b100, 0b100
|
|
||||||
|
|
||||||
CASE amoor.w, -1, 0, -1
|
.macro CASE_AMOOR a:req b:req
|
||||||
CASE amoor.w, -1, 40, -1
|
CASE amoor.w, \a, \b, \a | \b
|
||||||
CASE amoor.w, 0, 0, 0
|
.endm
|
||||||
CASE amoor.w, 0b101, 0b110, 0b111
|
WITH_TWO_TEST_NUMBERS CASE_AMOOR
|
||||||
|
|
||||||
CASE amoxor.w, -1, 0, -1
|
.macro CASE_AMOXOR a:req b:req
|
||||||
CASE amoxor.w, -1, -1, 0
|
CASE amoxor.w, \a, \b, \a ^ \b
|
||||||
CASE amoxor.w, 0b101, 0b100, 0b001
|
.endm
|
||||||
|
WITH_TWO_TEST_NUMBERS CASE_AMOXOR
|
||||||
|
|
||||||
CASE amomax.w, 0, 0, 0
|
CASE amomax.w, 0, 0, 0
|
||||||
CASE amomax.w, 0, 1, 1
|
CASE amomax.w, 0, 1, 1
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,46 @@
|
||||||
j fail
|
j fail
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
|
.macro WITH_SINGLE_TEST_NUMBERS macro
|
||||||
|
\macro a, 0
|
||||||
|
\macro c, 1
|
||||||
|
\macro d, 2
|
||||||
|
\macro u, 3
|
||||||
|
\macro e, 4
|
||||||
|
\macro v, 5
|
||||||
|
\macro f, 8
|
||||||
|
\macro t, 10
|
||||||
|
\macro g, 16
|
||||||
|
\macro h, 32
|
||||||
|
\macro i, 64
|
||||||
|
\macro s, 100
|
||||||
|
\macro j, 128
|
||||||
|
\macro k, 256
|
||||||
|
\macro l, 512
|
||||||
|
\macro w, 1000
|
||||||
|
\macro m, 1024
|
||||||
|
\macro n, 2047
|
||||||
|
\macro b, -1
|
||||||
|
\macro o, -2
|
||||||
|
\macro p, -16
|
||||||
|
\macro q, -1024
|
||||||
|
\macro r, -1000
|
||||||
|
|
||||||
|
.endm
|
||||||
|
|
||||||
|
.macro WITH_TWO_TEST_NUMBERS macro
|
||||||
|
.macro \macro\()_TMP namea:req a:req
|
||||||
|
.macro \macro\()_TMP_\namea nameb:req b:req
|
||||||
|
\macro \a, \b
|
||||||
|
.endm
|
||||||
|
|
||||||
|
WITH_SINGLE_TEST_NUMBERS \macro\()_TMP_\namea
|
||||||
|
.endm
|
||||||
|
|
||||||
|
WITH_SINGLE_TEST_NUMBERS \macro\()_TMP
|
||||||
|
.endm
|
||||||
|
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
li a7, -1
|
li a7, -1
|
||||||
li a0, 0
|
li a0, 0
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue