BranchPlugin exceptions are now risc-v compliance alligned

This commit is contained in:
Dolu1990 2018-10-11 17:56:49 +02:00
parent 8b1a4a2717
commit c26b7e15cf
59 changed files with 26 additions and 429 deletions

1
.gitignore vendored
View File

@ -46,3 +46,4 @@ obj_dir
simWorkspace/
tmp/
/archive.tar.gz
*.out32

View File

@ -35,7 +35,7 @@ object TestsWorkspace {
resetVector = 0x80000000l,
cmdForkOnSecondStage = false,
cmdForkPersistence = false,
prediction = NONE,
prediction = STATIC,
historyRamSizeLog2 = 10,
catchAccessFault = true,
compressedGen = false,

View File

@ -110,14 +110,14 @@ class BranchPlugin(earlyBranch : Boolean,
decoderService.addDefault(BRANCH_CTRL, BranchCtrlEnum.INC)
val rvc = pipeline(RVC_GEN)
decoderService.add(List(
JAL(rvc) -> (jActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.JAL, ALU_CTRL -> AluCtrlEnum.ADD_SUB)),
JAL(true) -> (jActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.JAL, ALU_CTRL -> AluCtrlEnum.ADD_SUB)),
JALR -> (jActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.JALR, ALU_CTRL -> AluCtrlEnum.ADD_SUB, RS1_USE -> True)),
BEQ(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B)),
BNE(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B)),
BLT(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> False)),
BGE(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> False)),
BLTU(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> True)),
BGEU(rvc) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> True))
BEQ(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B)),
BNE(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B)),
BLT(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> False)),
BGE(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> False)),
BLTU(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> True)),
BGEU(true) -> (bActions ++ List(BRANCH_CTRL -> BranchCtrlEnum.B, SRC_LESS_UNSIGNED -> True))
))
if(fenceiGenAsAJump) {
@ -200,7 +200,7 @@ class BranchPlugin(earlyBranch : Boolean,
}
if(catchAddressMisaligned) {
branchExceptionPort.valid := arbitration.isValid && input(BRANCH_DO) && (if(pipeline(RVC_GEN)) jumpInterface.payload(0 downto 0) =/= 0 else jumpInterface.payload(1 downto 0) =/= 0)
branchExceptionPort.valid := arbitration.isValid && input(BRANCH_DO) && (jumpInterface.payload((if(pipeline(RVC_GEN)) 0 else 1) downto 0) =/= 0)
branchExceptionPort.code := 0
branchExceptionPort.badAddr := jumpInterface.payload
}
@ -217,7 +217,7 @@ class BranchPlugin(earlyBranch : Boolean,
decode plug new Area {
import decode._
insert(PREDICTION_HAD_BRANCHED) := decodePrediction.cmd.hadBranch
insert(PREDICTION_HAD_BRANCHED) := (if(fenceiGenAsAJump) decodePrediction.cmd.hadBranch && !decode.input(IS_FENCEI) else decodePrediction.cmd.hadBranch)
}
//Do real branch calculation
@ -239,10 +239,16 @@ class BranchPlugin(earlyBranch : Boolean,
)
)
insert(BRANCH_DO) := input(PREDICTION_HAD_BRANCHED) =/= input(BRANCH_COND_RESULT)
val imm = IMM(input(INSTRUCTION))
val missAlignedTarget = if(pipeline(RVC_GEN)) False else (input(BRANCH_COND_RESULT) && input(BRANCH_CTRL).mux(
BranchCtrlEnum.JALR -> (imm.i_sext(1) ^ input(RS1)(1)),
BranchCtrlEnum.JAL -> imm.j_sext(1),
default -> imm.b_sext(1)
))
insert(BRANCH_DO) := input(PREDICTION_HAD_BRANCHED) =/= input(BRANCH_COND_RESULT) || missAlignedTarget
//Calculation of the branch target / correction
val imm = IMM(input(INSTRUCTION))
val branch_src1,branch_src2 = UInt(32 bits)
switch(input(BRANCH_CTRL)){
is(BranchCtrlEnum.JALR){
@ -251,7 +257,10 @@ class BranchPlugin(earlyBranch : Boolean,
}
default{
branch_src1 := input(PC)
branch_src2 := (input(PREDICTION_HAD_BRANCHED) ? (if(pipeline(RVC_GEN)) Mux(input(IS_RVC), B(2), B(4)) else B(4)).resized | imm.b_sext).asUInt
branch_src2 := ((input(BRANCH_CTRL) === BranchCtrlEnum.JAL) ? imm.j_sext | imm.b_sext).asUInt
when(input(PREDICTION_HAD_BRANCHED) && ! missAlignedTarget){
branch_src2 := (if(pipeline(RVC_GEN)) Mux(input(IS_RVC), B(2), B(4)) else B(4)).asUInt.resized
}
}
}
val branchAdder = branch_src1 + branch_src2
@ -271,7 +280,7 @@ class BranchPlugin(earlyBranch : Boolean,
}
if(catchAddressMisaligned) {
val unalignedJump = input(BRANCH_DO) && (if(pipeline(RVC_GEN)) input(BRANCH_CALC)(0 downto 0) =/= 0 else input(BRANCH_CALC)(1 downto 0) =/= 0)
val unalignedJump = input(BRANCH_DO) && (input(BRANCH_CALC)((if(pipeline(RVC_GEN)) 0 else 1) downto 0) =/= 0)
branchExceptionPort.valid := arbitration.isValid && unalignedJump
branchExceptionPort.code := 0
branchExceptionPort.badAddr := input(BRANCH_CALC) //pipeline.stages(pipeline.indexOf(branchStage)-1).input

View File

@ -1,11 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
80000001800000000000000000000002
fffffffe00000000ffffffffffffffff
7fffffff7fffffff7fffffff7ffffffe
fffffffffffffffe7ffffffe80000000
7fffffff800000018000000080000000
0000abcd0000000100000000ffffffff
0000abd10000abd00000abcf0000abce
00000000000000000000abd30000abd2
36925814369258143692581400000000

View File

@ -1,11 +0,0 @@
ffffffff000007ff0000000100000000
0000000200000001fffff80000000000
fffff801000000010000000000000800
fffffffe000007fe00000000ffffffff
800000007ffffffffffff7ffffffffff
7ffff7ff7fffffff7ffffffe800007fe
7fffffff800007ff8000000180000000
0000abce0000abcd7ffff80080000000
0000abd20000abd10000abd00000abcf
0000000100000000000000000000abd3
36925814369258143692581436925814

View File

@ -1,11 +0,0 @@
00000000000000000000000000000000
00000000000000010000000000000000
00000000000000010000000100000001
ffffffff0000000100000000ffffffff
000000007fffffff800000007fffffff
000000007fffffff7fffffff00000001
80000000000000000000000080000000
abcdffff0000007f8000000000000000
0000000f0000001f0000003f0000007f
00000000000000000000000300000007
36925814369258143692581400000000

View File

@ -1,11 +0,0 @@
00000000000000000000000000000000
00000001000000010000000000000000
00000000000000000000000100000001
ffffffff000007ff00000001ffffffff
000000017ffffffffffff80000000000
7ffff800000000007fffffff000007ff
80000000000000000000000080000000
0000007fabcdffff8000000000000000
000000070000000f0000001f0000003f
00000000000000000000000000000003
36925814369258143692581436925814

View File

@ -1,4 +0,0 @@
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
000000010000001e800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000001d80000000
800000007fffffffffffffff00000001
00000001000000007fffffff0000001b
00000017800000007fffffffffffffff
ffffffff000000010000000080000000
000003de0000000f800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
000000010000000a800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000000880000000
800000007fffffffffffffff00000001
00000001000000007fffffff0000000b
00000000800000007fffffffffffffff
ffffffff000000010000000080000000
000001540000000f800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
000000010000001e800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000001c80000000
800000007fffffffffffffff00000001
00000001000000007fffffff00000000
00000014800000007fffffffffffffff
ffffffff000000010000000080000000
000003c000000004800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
0000000100000015800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000001780000000
800000007fffffffffffffff00000001
00000001000000007fffffff00000014
0000001f800000007fffffffffffffff
ffffffff000000010000000080000000
000002ab00000010800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000000380000000
800000007fffffffffffffff00000001
00000001000000007fffffff0000001f
0000000b800000007fffffffffffffff
ffffffff000000010000000080000000
0000003f0000001b800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,10 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
7fffffffffffffff0000000100000000
00000000ffffffff0000000280000000
800000007fffffffffffffff00000001
00000001000000007fffffff00000004
00000008800000007fffffffffffffff
ffffffff000000010000000080000000
0000002100000010800000007fffffff
0fedcba9876543219abcdef000000000

View File

@ -1,6 +0,0 @@
800f0000fffffffffffffffe00000000
fffffffeffffffff000000007fffffff
00000000000f0000800f0000fffffffe
ffffffff00000000ffffffffedcba987
0000000042726e6f00000000ffffffff
49c1a90369c7ad8bfffffffff7ff8818

View File

@ -1,4 +0,0 @@
ffffffe0fffffffffffffffe00000000
fffffffffffffffffffffff0ffffffef
ffffffe0ffffffe0fffffffefffffffe
3216549000000000ffffffffffffffe0

View File

@ -1,6 +0,0 @@
7ff0ffff000000000000000100000000
0000000100000000ffffffff80000000
fffffffffff0ffff7ff0ffff00000001
00000000123456780000000012345678
0000000042726e6f0000000012345678
b63e56fc9638527400000000f7ff8818

View File

@ -1,4 +0,0 @@
0000001f000000000000000100000000
00000000000000000000000f00000010
0000001f0000001f0000000100000001
321654983216549f000000000000001f

View File

@ -1,4 +0,0 @@
ffffffff000000000000000100000000
9abcdef012345678800000007fffffff
00000000000000009abcdef012345678
32165498963852741472583600000000

View File

@ -1,2 +0,0 @@
00000000000000010000000000000000
00000000000000100000000f0000001f

View File

@ -1,2 +0,0 @@
44444444333333332222222211111111
88888888777777776666666655555555

View File

@ -1 +0,0 @@
00000000000000001111111100000003

View File

@ -1 +0,0 @@
0000000000000000111111110000000b

View File

@ -1,2 +0,0 @@
00000089000001230000456701234567
00000001000000230000004500000067

View File

@ -1 +0,0 @@
001101b3000000420000001200000030

View File

@ -1,11 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
80000001800000000000000000000002
fffffffe00000000ffffffffffffffff
7fffffff7fffffff7fffffff7ffffffe
fffffffffffffffe7ffffffe80000000
7fffffff800000018000000080000000
0000abcd0000000100000000ffffffff
0000abd10000abd00000abcf0000abce
00000000000000000000abd30000abd2
36925814369258143692581400000000

View File

@ -1,5 +0,0 @@
9abcdef0000000001234567800000000
22222222111111110fedcba987654321
00000000555555554444444433333333
88888888777777776666666600000000
0000000000000000aaaaaaaa99999999

View File

@ -1,6 +0,0 @@
9abcdef0000000001234567800000000
22222222111111110fedcba987654321
00000000555555554444444433333333
88888888777777776666666600000000
0000000000000000aaaaaaaa99999999
44444444333333332222222211111111

View File

@ -1,9 +0,0 @@
00000011fffffff1fffffff200000022
fffffff30000003300000044fffffff4
00000055fffffff5fffffff600000066
fffffff700000077ffffff88fffffff8
ffffff99000000090000000affffffaa
0000000bffffffbbffffffcc0000000c
ffffffdd0000000d0000000effffffee
0000000fffffffff00000000fffffff0
ffffff9800000010fffffff000000000

View File

@ -1,9 +0,0 @@
00000011000000f1000000f200000022
000000f30000003300000044000000f4
00000055000000f5000000f600000066
000000f70000007700000088000000f8
00000099000000090000000a000000aa
0000000b000000bb000000cc0000000c
000000dd0000000d0000000e000000ee
0000000f000000ff00000000000000f0
0000009800000010000000f000000000

View File

@ -1,5 +0,0 @@
fffff333000044f4000011f1fffff222
fffff777ffff88f8000055f5fffff666
00000bbbffffcc0cffff990900000aaa
00000fff000000f0ffffdd0d00000eee
ffffba9800003210ffffdef000000000

View File

@ -1,5 +0,0 @@
0000f333000044f4000011f10000f222
0000f777000088f8000055f50000f666
00000bbb0000cc0c0000990900000aaa
00000fff000000f00000dd0d00000eee
0000ba98000032100000def000000000

View File

@ -1,4 +0,0 @@
7ffff000fffff0000000100000000000
000000007ffff0008000000080000000
1234567842726e6ffffff00000001000
9abcdef01234567842726e6f9abcdef0

View File

@ -1,3 +0,0 @@
f77788f855f5f666f33344f411f1f222
0fff00f0dd0d0eee0bbbcc0c99090aaa
fedcba98765432109abcdef000000000

View File

@ -1,11 +0,0 @@
91a1b1c191a1b1c191a1b1c191a1b1c1
00000004000000020000000400000001
fffff202fffff2020000000400000003
0000f2020000f202ffffd2e2ffffd2e2
00000004000000010000d2e20000d2e2
00000004000000010000000400000003
99999999000000000000000400000003
00000006000000019999999999999999
00000006000000030000000600000002
99999999000099999999999999990000
00000006000000030000000600000001

View File

@ -1,8 +0,0 @@
00000004000000030000000200000000
00000008000000070000000600000005
0000000c0000000b0000000a00000009
000000100000000f0000000e0000000d
00000014000000130000001200000011
00000018000000170000001600000015
0000001c0000001b0000001a00000019
000000180000001f0000001e0000001d

View File

@ -1,11 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
800000017fffffffffffffff00000001
ffffffffffffffffffffffffffffffff
7fffffff7fffffffffffffffffffffff
ffffffff7fffffffffffffff7fffffff
ffffffff800000018000000080000000
0000000d0000001080000000ffffffff
000000fd0000007d0000003d0000001d
0000000000000000fffff9fd000001fd
36925814369258143692581400000000

View File

@ -1,11 +0,0 @@
ffffffff000007ff0000000100000000
0000000100000001fffff80000000000
fffff80100000001ffffffff000007ff
ffffffffffffffffffffffffffffffff
7fffffff7fffffffffffffffffffffff
ffffffff7fffffffffffffff7fffffff
ffffffff800007ff8000000180000000
0000001d0000000dfffff80080000000
000001fd000000fd0000007d0000003d
000000010000000000000000fffff9fd
36925814369258143692581436925814

View File

@ -1,9 +0,0 @@
526973632d5620525633324900000000
4d696c616e204e6f73746572736b7920
286e6f73746572736b7940636f646173
69702e636f6d292c20526164656b2048
616a656b202868616a656b40636f6461
7369702e636f6d292e204c6561766520
7573206d65737361676520696620796f
7520726561642074686973203a290d0a
526973632d5620525633324900000000

View File

@ -1,8 +0,0 @@
80000000800000008000000000000000
80000000800000008000000080000000
80000000800000008000000080000000
80000000800000008000000080000000
80000000800000008000000080000000
80000000800000008000000080000000
80000000800000008000000080000000
80000000800000008000000080000000

View File

@ -1,3 +0,0 @@
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000

View File

@ -1,4 +0,0 @@
000000f800000066000000f4aaaabb22
0fff00f0dd0d0eee0bbbcc0c000000aa
00000010000000f00000004487654300
000000630000003600000036000000ef

View File

@ -1,4 +0,0 @@
000088f80000f666000044f4aaaaf222
0fff00f0dd0d0eee0bbbcc0c00000aaa
000032100000def00000334487650000
0000496300005836000058360000cdef

View File

@ -1,11 +0,0 @@
00000000000000000000000000000000
00000002000000010000000000000000
00010000000000018000000000008000
80000000ffff8000fffffffeffffffff
fffffffe7fffffffffff0000ffffffff
ffff00007fffffff80000000ffff8000
00000000000000000000000080000000
579bde20abcdef100000000080000000
79bde200bcdef1005e6f7880af37bc40
000000000000000000000000f37bc400
80000000a19080000eca864287654321

View File

@ -1,10 +0,0 @@
00000000000000000000000000000000
00000002000000010000000000000000
00010000000000018000000000008000
80000000ffff8000fffffffeffffffff
fffffffe7fffffffffff0000ffffffff
ffff00007fffffff80000000ffff8000
00000000000000000000000080000000
579bde20abcdef100000000080000000
79bde200bcdef1005e6f7880af37bc40
000000000000000000000000f37bc400

View File

@ -1,12 +0,0 @@
00000000000000010000000100000000
00000000000000010000000000000000
00000000000000000000000000000001
000000000000000100000001ffffffff
000000007fffffff0000000000000001
00000000000000000000000000000000
00000001000000010000000180000000
ffffffff000000000000000000000001
00000000000000010000000100000001
00000000000000000000000000000000
00000001000000010000000000000001
00000001000000000000000100000000

View File

@ -1,11 +0,0 @@
00000000000000010000000100000000
00000000000000010000000000000000
00000000000000000000000000000001
000000000000000100000001ffffffff
000000007fffffff0000000000000001
00000000000000000000000000000000
00000001000000010000000180000000
00000000ffffffff0000000100000001
00000000000000010000000100000000
00000001000000000000000000000000
00000001000000000000000100000000

View File

@ -1,11 +0,0 @@
00000001000000010000000100000000
00000000000000010000000100000000
00000001000000000000000100000001
000000000000000000000000ffffffff
000000007fffffff0000000000000000
00000001000000000000000100000000
00000001000000000000000080000000
00000000000000010000000100000000
00000001000000010000000100000000
00000001000000000000000100000000
00000001000000000000000100000000

View File

@ -1,12 +0,0 @@
00000001000000010000000100000000
00000000000000010000000100000000
00000001000000000000000100000001
000000000000000000000000ffffffff
000000007fffffff0000000000000000
00000001000000000000000100000000
00000001000000000000000080000000
00000001000000000000000000000000
000000010000000100000001ffffffff
00000000000000000000000100000000
00000001000000000000000000000000
00000001000000000000000100000000

View File

@ -1,11 +0,0 @@
00000000000000000000000000000000
00000000000000010000000000000000
00000000000000010000000000000000
ffffffffffffffffffffffffffffffff
3fffffff7fffffffffffffffffffffff
00007fff7fffffff000000000000ffff
ffffffffffff0000c000000080000000
d5e6f788abcdef10ffff800080000000
fd5e6f78fabcdef1f579bde2eaf37bc4
000000000000000000000000feaf37bc
ffffffffffff0ecac3b2a19087654321

View File

@ -1,10 +0,0 @@
00000000000000000000000000000000
00000000000000010000000000000000
00000000000000010000000000000000
ffffffffffffffffffffffffffffffff
3fffffff7fffffffffffffffffffffff
00007fff7fffffff000000000000ffff
ffffffffffff0000c000000080000000
d5e6f788abcdef10ffff800080000000
fd5e6f78fabcdef1f579bde2eaf37bc4
000000000000000000000000feaf37bc

View File

@ -1,11 +0,0 @@
00000000000000000000000000000000
00000000000000010000000000000000
00000000000000010000000000000000
000000010001ffff7fffffffffffffff
3fffffff7fffffff0000ffffffffffff
00007fff7fffffff000000000000ffff
00000001000100004000000080000000
55e6f788abcdef100000800080000000
055e6f780abcdef11579bde22af37bc4
00000000000000000000000002af37bc
0000000100010eca43b2a19087654321

View File

@ -1,10 +0,0 @@
00000000000000000000000000000000
00000000000000010000000000000000
00000000000000010000000000000000
000000010001ffff7fffffffffffffff
3fffffff7fffffff0000ffffffffffff
00007fff7fffffff000000000000ffff
00000001000100004000000080000000
55e6f788abcdef100000800080000000
055e6f780abcdef11579bde22af37bc4
00000000000000000000000002af37bc

View File

@ -1,11 +0,0 @@
00000001ffffffff0000000000000000
00000001000000018000000080000001
80000001800000020000000200000000
00000000fffffffeffffffffffffffff
7fffffff7fffffff7fffffff80000000
ffffffff00000000800000007ffffffe
800000017fffffff8000000080000000
0000abcd000000010000000000000001
0000abc90000abca0000abcb0000abcc
00000000000000000000abc70000abc8
c96da7ecc96da7ec3692581400000000

View File

@ -1,4 +0,0 @@
f77788f855f5f666f33344f411f1f222
0fff00f0dd0d0eee0bbbcc0c99090aaa
765432109abcdef01122334400000000
25814963147258361472583689abcdef

View File

@ -1,11 +0,0 @@
ffffffff000000010000000000000000
0000000100000001800000007fffffff
800000017ffffffefffffffe00000000
00000000fffffffeffffffffffffffff
7fffffff7fffffff7fffffff80000000
ffffffff00000000800000007ffffffe
7fffffff800000018000000080000000
abcdffff0000007f00000000ffffffff
abcdffafabcdffa0abcdffbfabcdff80
0000000000000000abcdffababcdffa8
36925814369258143692581400000000

View File

@ -1,11 +0,0 @@
ffffffff000007ff0000000100000000
0000000000000001fffff80000000000
fffff80100000001fffffffe000007fe
00000000fffff800fffffffeffffffff
7ffffffe7fffffff000007ffffffffff
800007ff7fffffff800000007ffff800
7fffffff800007ff8000000180000000
abcdff80abcdffff7ffff80080000000
abcdffa8abcdffafabcdffa0abcdffbf
000000010000000000000000abcdffab
36925814369258143692581436925814

View File

@ -2571,7 +2571,7 @@ int main(int argc, char **argv, char **env) {
#ifdef CSR
#ifndef COMPRESSED
uint32_t machineCsrRef[] = {1,11, 2,0x80000003u, 3,0x80000007u, 4,0x8000000bu, 5,6,7,0x80000007u ,
8,6,9,6,10,4,11,4, 12,13,2, 14,2, 15,5,16,17,1 };
8,6,9,6,10,4,11,4, 12,13,0, 14,2, 15,5,16,17,1 };
redo(REDO,TestX28("machineCsr",machineCsrRef, sizeof(machineCsrRef)/4).noInstructionReadCheck()->run(10e4);)
#else
uint32_t machineCsrRef[] = {1,11, 2,0x80000003u, 3,0x80000007u, 4,0x8000000bu, 5,6,7,0x80000007u ,