From d5ef816bbaf24af599a3aed21587dab0b8b54a1a Mon Sep 17 00:00:00 2001 From: Robin Pedersen Date: Thu, 7 Sep 2023 14:38:33 +0200 Subject: [PATCH] update 'csr_access_test' Signed-off-by: Robin Pedersen --- .../custom/cv32e40x_csr_access_test/README.md | 7 +- .../cv32e40x_csr_access_test.S | 6302 +++++++++++++++-- 2 files changed, 5874 insertions(+), 435 deletions(-) diff --git a/tests/programs/custom/cv32e40x_csr_access_test/README.md b/tests/programs/custom/cv32e40x_csr_access_test/README.md index d47e16b32..6e5b11c01 100644 --- a/tests/programs/custom/cv32e40x_csr_access_test/README.md +++ b/tests/programs/custom/cv32e40x_csr_access_test/README.md @@ -5,14 +5,13 @@ Generated from "riscv-dv"'s `scripts/gen_csr_test.py`, via core-v-verif's From top-level: ``` -python3 ./bin/gen_csr_access_test.py \ +./bin/gen_csr_access_test.py \ --core=cv32e40x \ --clint_enable \ --i_base_enable \ --m_ext_enable \ - --umode_enable \ --zc_enable \ - --mhpmcounter_num 0 \ + --mhpmcounter_num 1 \ --num_triggers 0 \ --pmp_num_regions 0 \ --output=./cv32e40x/tests/programs/custom/cv32e40x_csr_access_test/ \ @@ -20,5 +19,3 @@ python3 ./bin/gen_csr_access_test.py \ ``` The above options were the most applicable at the time of writing and are subject to change. Note that excluded options and parameters need targeted separate testing. - -[comment]: # (TODO:silabs-robin Regen with "--xsecure_enable" etc after iss bugfix and rtl progression) diff --git a/tests/programs/custom/cv32e40x_csr_access_test/cv32e40x_csr_access_test.S b/tests/programs/custom/cv32e40x_csr_access_test/cv32e40x_csr_access_test.S index ee63d2c74..961861d6e 100644 --- a/tests/programs/custom/cv32e40x_csr_access_test/cv32e40x_csr_access_test.S +++ b/tests/programs/custom/cv32e40x_csr_access_test/cv32e40x_csr_access_test.S @@ -29,19 +29,19 @@ _start0: csrrw x14, 2816, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0xe0fb19be + li x7, 0xaca2dfcf csrrw x14, 2816, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2816, x7 - li x7, 0xe0fb19be + li x7, 0xaca2dfcf bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2816, x7 - li x7, 0xe5ffbdbf + li x7, 0xada7ffef bne x7, x14, csr_fail - li x7, 0x979912d0 + li x7, 0xcbd942fd csrrs x14, 2816, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -53,7 +53,7 @@ _start0: csrrc x14, 2816, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0x8c7628ca + li x7, 0x4107e06b csrrc x14, 2816, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -63,16 +63,16 @@ _start0: csrrwi x14, 2816, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2816, 0b00110 + csrrwi x14, 2816, 0b01010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2816, 0b00101 - li x7, 0x00000006 + li x7, 0x0000000a bne x7, x14, csr_fail csrrsi x14, 2816, 0b11010 - li x7, 0x00000007 + li x7, 0x0000000f bne x7, x14, csr_fail - csrrsi x14, 2816, 0b10011 + csrrsi x14, 2816, 0b01010 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2816, 0b00101 @@ -81,7 +81,7 @@ _start0: csrrci x14, 2816, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2816, 0b00001 + csrrci x14, 2816, 0b10000 li x7, 0x00000000 bne x7, x14, csr_fail # mcycleh @@ -93,19 +93,19 @@ _start0: csrrw x14, 2944, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0xc5aeed5c + li x7, 0xb0845d8c csrrw x14, 2944, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2944, x7 - li x7, 0xc5aeed5c + li x7, 0xb0845d8c bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2944, x7 - li x7, 0xe5afedfd + li x7, 0xb5a5fdad bne x7, x14, csr_fail - li x7, 0xcaf84fb8 + li x7, 0x3bc62c92 csrrs x14, 2944, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -117,7 +117,7 @@ _start0: csrrc x14, 2944, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0xb04a1632 + li x7, 0x2bb4b7a4 csrrc x14, 2944, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -127,16 +127,16 @@ _start0: csrrwi x14, 2944, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2944, 0b11010 + csrrwi x14, 2944, 0b01110 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2944, 0b00101 - li x7, 0x0000001a + li x7, 0x0000000e bne x7, x14, csr_fail csrrsi x14, 2944, 0b11010 - li x7, 0x0000001f + li x7, 0x0000000f bne x7, x14, csr_fail - csrrsi x14, 2944, 0b00111 + csrrsi x14, 2944, 0b00101 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2944, 0b00101 @@ -145,7 +145,7 @@ _start0: csrrci x14, 2944, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2944, 0b11000 + csrrci x14, 2944, 0b10111 li x7, 0x00000000 bne x7, x14, csr_fail # minstret @@ -157,19 +157,19 @@ _start0: csrrw x14, 2818, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0x827882ad + li x7, 0x3a0d0e71 csrrw x14, 2818, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2818, x7 - li x7, 0x827882ad + li x7, 0x3a0d0e71 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2818, x7 - li x7, 0xa7fda7ad + li x7, 0xbfadaff5 bne x7, x14, csr_fail - li x7, 0x0265e8fb + li x7, 0x71b4d6ee csrrs x14, 2818, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -181,7 +181,7 @@ _start0: csrrc x14, 2818, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0x49b988dd + li x7, 0x865fcd05 csrrc x14, 2818, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -191,16 +191,16 @@ _start0: csrrwi x14, 2818, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2818, 0b00010 + csrrwi x14, 2818, 0b10000 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2818, 0b00101 - li x7, 0x00000002 + li x7, 0x00000010 bne x7, x14, csr_fail csrrsi x14, 2818, 0b11010 - li x7, 0x00000007 + li x7, 0x00000015 bne x7, x14, csr_fail - csrrsi x14, 2818, 0b11001 + csrrsi x14, 2818, 0b10011 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2818, 0b00101 @@ -209,7 +209,7 @@ _start0: csrrci x14, 2818, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2818, 0b11000 + csrrci x14, 2818, 0b01001 li x7, 0x00000000 bne x7, x14, csr_fail # minstreth @@ -221,19 +221,19 @@ _start0: csrrw x14, 2946, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0xa49cc3be + li x7, 0x4c9edb6d csrrw x14, 2946, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2946, x7 - li x7, 0xa49cc3be + li x7, 0x4c9edb6d bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2946, x7 - li x7, 0xa5bde7bf + li x7, 0xedbfffed bne x7, x14, csr_fail - li x7, 0xb443d128 + li x7, 0x3c751307 csrrs x14, 2946, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -245,7 +245,7 @@ _start0: csrrc x14, 2946, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0x9d8e043c + li x7, 0x1365261f csrrc x14, 2946, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -255,16 +255,16 @@ _start0: csrrwi x14, 2946, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2946, 0b11111 + csrrwi x14, 2946, 0b00000 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2946, 0b00101 - li x7, 0x0000001f + li x7, 0x00000000 bne x7, x14, csr_fail csrrsi x14, 2946, 0b11010 - li x7, 0x0000001f + li x7, 0x00000005 bne x7, x14, csr_fail - csrrsi x14, 2946, 0b01110 + csrrsi x14, 2946, 0b00110 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2946, 0b00101 @@ -273,7 +273,7 @@ _start0: csrrci x14, 2946, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2946, 0b11100 + csrrci x14, 2946, 0b01011 li x7, 0x00000000 bne x7, x14, csr_fail # mhpmcounter3 @@ -285,19 +285,19 @@ _start0: csrrw x14, 2819, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0xf18c5bbf + li x7, 0x1a9a67c8 csrrw x14, 2819, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2819, x7 - li x7, 0xf18c5bbf + li x7, 0x1a9a67c8 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2819, x7 - li x7, 0xf5adffbf + li x7, 0xbfbfe7ed bne x7, x14, csr_fail - li x7, 0x9e11a54b + li x7, 0x93e00062 csrrs x14, 2819, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -309,7 +309,7 @@ _start0: csrrc x14, 2819, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0xf7bdaf57 + li x7, 0x5cc4b87a csrrc x14, 2819, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -319,16 +319,16 @@ _start0: csrrwi x14, 2819, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2819, 0b00000 + csrrwi x14, 2819, 0b01001 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2819, 0b00101 - li x7, 0x00000000 + li x7, 0x00000009 bne x7, x14, csr_fail csrrsi x14, 2819, 0b11010 - li x7, 0x00000005 + li x7, 0x0000000d bne x7, x14, csr_fail - csrrsi x14, 2819, 0b00001 + csrrsi x14, 2819, 0b11100 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2819, 0b00101 @@ -337,7 +337,7 @@ _start0: csrrci x14, 2819, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2819, 0b01101 + csrrci x14, 2819, 0b01010 li x7, 0x00000000 bne x7, x14, csr_fail # mhpmcounter3h @@ -349,19 +349,19 @@ _start0: csrrw x14, 2947, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0xbf0220f3 + li x7, 0x8b20f8b6 csrrw x14, 2947, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2947, x7 - li x7, 0xbf0220f3 + li x7, 0x8b20f8b6 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2947, x7 - li x7, 0xbfa7a5f7 + li x7, 0xafa5fdb7 bne x7, x14, csr_fail - li x7, 0x6d650cb4 + li x7, 0xa95f6499 csrrs x14, 2947, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -373,7 +373,7 @@ _start0: csrrc x14, 2947, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0x6d6acb5e + li x7, 0x1ed4e542 csrrc x14, 2947, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -383,16 +383,16 @@ _start0: csrrwi x14, 2947, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 2947, 0b11010 + csrrwi x14, 2947, 0b10010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2947, 0b00101 - li x7, 0x0000001a + li x7, 0x00000012 bne x7, x14, csr_fail csrrsi x14, 2947, 0b11010 - li x7, 0x0000001f + li x7, 0x00000017 bne x7, x14, csr_fail - csrrsi x14, 2947, 0b01001 + csrrsi x14, 2947, 0b01000 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2947, 0b00101 @@ -401,455 +401,5831 @@ _start0: csrrci x14, 2947, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2947, 0b10001 + csrrci x14, 2947, 0b00100 li x7, 0x00000000 bne x7, x14, csr_fail - # mstatus + # mhpmcounter4 li x7, 0xa5a5a5a5 - csrrw x14, 768, x7 - li x7, 0x00001800 + csrrw x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 768, x7 - li x7, 0x00001880 + csrrw x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x670002cb - csrrw x14, 768, x7 - li x7, 0x00001808 + li x7, 0x5be43be1 + csrrw x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 768, x7 - li x7, 0x00001888 + csrrs x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 768, x7 - li x7, 0x00001888 + csrrs x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x94e1522f - csrrs x14, 768, x7 - li x7, 0x00001888 + li x7, 0xc845f18a + csrrs x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 768, x7 - li x7, 0x00001888 + csrrc x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 768, x7 - li x7, 0x00001808 + csrrc x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x67b15686 - csrrc x14, 768, x7 - li x7, 0x00001800 + li x7, 0xd79f82d3 + csrrc x14, 2820, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 768, 0b00101 - li x7, 0x00001800 + csrrwi x14, 2820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2820, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2820, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2820, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter4h + li x7, 0xa5a5a5a5 + csrrw x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xf3af57f5 + csrrw x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8eaec199 + csrrs x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x59b42e62 + csrrc x14, 2948, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2948, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2948, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2948, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2948, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2948, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2948, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2948, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2948, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2948, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter5 + li x7, 0xa5a5a5a5 + csrrw x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8f6e70e8 + csrrw x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xec58a951 + csrrs x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe5104b3a + csrrc x14, 2821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2821, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2821, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2821, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter5h + li x7, 0xa5a5a5a5 + csrrw x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2051de7b + csrrw x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xecb82551 + csrrs x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbcf19195 + csrrc x14, 2949, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2949, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2949, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2949, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2949, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2949, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2949, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2949, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2949, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2949, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter6 + li x7, 0xa5a5a5a5 + csrrw x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa255bffe + csrrw x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbbd9554c + csrrs x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x345e878a + csrrc x14, 2822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2822, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2822, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2822, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter6h + li x7, 0xa5a5a5a5 + csrrw x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x11d47dc9 + csrrw x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xabffdae2 + csrrs x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7fe95271 + csrrc x14, 2950, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2950, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2950, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2950, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2950, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2950, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2950, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2950, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2950, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2950, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter7 + li x7, 0xa5a5a5a5 + csrrw x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5b4d6eca + csrrw x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe0bf9fee + csrrs x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd90c623e + csrrc x14, 2823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2823, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2823, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2823, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter7h + li x7, 0xa5a5a5a5 + csrrw x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa6b76fc2 + csrrw x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9a389f55 + csrrs x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x55c44b27 + csrrc x14, 2951, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2951, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2951, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2951, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2951, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2951, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2951, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2951, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2951, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2951, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter8 + li x7, 0xa5a5a5a5 + csrrw x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xdf40b215 + csrrw x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x371a96a6 + csrrs x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd0f95c07 + csrrc x14, 2824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2824, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2824, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter8h + li x7, 0xa5a5a5a5 + csrrw x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xef1f9feb + csrrw x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa4088cf7 + csrrs x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xcb5d5d9c + csrrc x14, 2952, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2952, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2952, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2952, 0b00111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2952, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2952, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2952, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2952, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2952, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2952, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter9 + li x7, 0xa5a5a5a5 + csrrw x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8c227617 + csrrw x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc804676f + csrrs x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xcab38738 + csrrc x14, 2825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2825, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2825, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter9h + li x7, 0xa5a5a5a5 + csrrw x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x59c4473f + csrrw x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x84e5fbdf + csrrs x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd03f5a70 + csrrc x14, 2953, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2953, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2953, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2953, 0b01110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2953, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2953, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2953, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2953, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2953, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2953, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter10 + li x7, 0xa5a5a5a5 + csrrw x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0f0523a1 + csrrw x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb00f078a + csrrs x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0366fcac + csrrc x14, 2826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2826, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2826, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2826, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2826, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2826, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter10h + li x7, 0xa5a5a5a5 + csrrw x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x24e2a552 + csrrw x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6e360df2 + csrrs x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xf870b405 + csrrc x14, 2954, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2954, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2954, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2954, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2954, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2954, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2954, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2954, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2954, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2954, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter11 + li x7, 0xa5a5a5a5 + csrrw x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x37414e04 + csrrw x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x86d807b6 + csrrs x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb3041ee1 + csrrc x14, 2827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2827, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2827, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2827, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter11h + li x7, 0xa5a5a5a5 + csrrw x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x31e57fcd + csrrw x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3f0ec25b + csrrs x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x46838acb + csrrc x14, 2955, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2955, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2955, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2955, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2955, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2955, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2955, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2955, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2955, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2955, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter12 + li x7, 0xa5a5a5a5 + csrrw x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6858d015 + csrrw x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x514dfcf7 + csrrs x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb5659e4e + csrrc x14, 2828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2828, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2828, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2828, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter12h + li x7, 0xa5a5a5a5 + csrrw x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5782fd3d + csrrw x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x28a1d502 + csrrs x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xcff2bf20 + csrrc x14, 2956, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2956, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2956, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2956, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2956, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2956, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2956, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2956, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2956, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2956, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter13 + li x7, 0xa5a5a5a5 + csrrw x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xef43c1c8 + csrrw x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x770b5b7b + csrrs x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x20acc441 + csrrc x14, 2829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2829, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2829, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter13h + li x7, 0xa5a5a5a5 + csrrw x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x68db41a3 + csrrw x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x24a26dcb + csrrs x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7cbb45dd + csrrc x14, 2957, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2957, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2957, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2957, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2957, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2957, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2957, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2957, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2957, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2957, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter14 + li x7, 0xa5a5a5a5 + csrrw x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xba9084f0 + csrrw x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7d55e1d9 + csrrs x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7f71d8af + csrrc x14, 2830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2830, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2830, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2830, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter14h + li x7, 0xa5a5a5a5 + csrrw x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8a6f2541 + csrrw x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x195a2c85 + csrrs x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4f4303d1 + csrrc x14, 2958, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2958, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2958, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2958, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2958, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2958, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2958, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2958, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2958, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2958, 0b10111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter15 + li x7, 0xa5a5a5a5 + csrrw x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x602c9107 + csrrw x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x61d3754a + csrrs x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xedcb5fc8 + csrrc x14, 2831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2831, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2831, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2831, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter15h + li x7, 0xa5a5a5a5 + csrrw x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5027efa5 + csrrw x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc2d85332 + csrrs x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xffd89db0 + csrrc x14, 2959, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2959, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2959, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2959, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2959, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2959, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2959, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2959, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2959, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2959, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter16 + li x7, 0xa5a5a5a5 + csrrw x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x550bc4ae + csrrw x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xf0944840 + csrrs x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3e628b4f + csrrc x14, 2832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2832, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2832, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2832, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2832, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2832, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2832, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2832, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2832, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2832, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter16h + li x7, 0xa5a5a5a5 + csrrw x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6a1d566b + csrrw x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x25e1a9f2 + csrrs x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xec5575a7 + csrrc x14, 2960, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2960, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2960, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2960, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2960, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2960, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2960, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2960, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2960, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2960, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter17 + li x7, 0xa5a5a5a5 + csrrw x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3126e01c + csrrw x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x24af2bd2 + csrrs x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4e8264d1 + csrrc x14, 2833, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2833, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2833, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2833, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2833, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2833, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2833, 0b01110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2833, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2833, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2833, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter17h + li x7, 0xa5a5a5a5 + csrrw x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x53d2d31c + csrrw x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x230f8213 + csrrs x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc2f0c65e + csrrc x14, 2961, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2961, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2961, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2961, 0b01110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2961, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2961, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2961, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2961, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2961, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2961, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter18 + li x7, 0xa5a5a5a5 + csrrw x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xdedd1e38 + csrrw x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x498351b5 + csrrs x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd460de49 + csrrc x14, 2834, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2834, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2834, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2834, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2834, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2834, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2834, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2834, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2834, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2834, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter18h + li x7, 0xa5a5a5a5 + csrrw x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x332febd3 + csrrw x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0e979803 + csrrs x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2616e182 + csrrc x14, 2962, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2962, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2962, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2962, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2962, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2962, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2962, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2962, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2962, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2962, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter19 + li x7, 0xa5a5a5a5 + csrrw x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0be92722 + csrrw x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x14e2b5ec + csrrs x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0e3a8ede + csrrc x14, 2835, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2835, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2835, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2835, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2835, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2835, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2835, 0b10111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2835, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2835, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2835, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter19h + li x7, 0xa5a5a5a5 + csrrw x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2fc841b6 + csrrw x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x26f80698 + csrrs x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe2af182c + csrrc x14, 2963, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2963, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2963, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2963, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2963, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2963, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2963, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2963, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2963, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2963, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter20 + li x7, 0xa5a5a5a5 + csrrw x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3f09c686 + csrrw x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x20b50e6a + csrrs x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x98e14307 + csrrc x14, 2836, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2836, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2836, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2836, 0b01101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2836, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2836, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2836, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2836, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2836, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2836, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter20h + li x7, 0xa5a5a5a5 + csrrw x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4fbdf9d7 + csrrw x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8ac097bc + csrrs x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xff4eaaa6 + csrrc x14, 2964, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2964, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2964, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2964, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2964, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2964, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2964, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2964, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2964, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2964, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter21 + li x7, 0xa5a5a5a5 + csrrw x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2d79f9c8 + csrrw x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x75dcff9b + csrrs x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xce4713cf + csrrc x14, 2837, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2837, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2837, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2837, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2837, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2837, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2837, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2837, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2837, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2837, 0b01101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter21h + li x7, 0xa5a5a5a5 + csrrw x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0136aa40 + csrrw x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3e2eb955 + csrrs x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc10decad + csrrc x14, 2965, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2965, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2965, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2965, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2965, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2965, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2965, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2965, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2965, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2965, 0b11111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter22 + li x7, 0xa5a5a5a5 + csrrw x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x118b5cd6 + csrrw x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x1a8b2030 + csrrs x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9a773f90 + csrrc x14, 2838, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2838, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2838, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2838, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2838, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2838, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2838, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2838, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2838, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2838, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter22h + li x7, 0xa5a5a5a5 + csrrw x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xde86bae7 + csrrw x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa6139dc0 + csrrs x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc4353176 + csrrc x14, 2966, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2966, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2966, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2966, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2966, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2966, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2966, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2966, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2966, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2966, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter23 + li x7, 0xa5a5a5a5 + csrrw x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe7115eec + csrrw x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd049665d + csrrs x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8fca6b4b + csrrc x14, 2839, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2839, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2839, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2839, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2839, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2839, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2839, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2839, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2839, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2839, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter23h + li x7, 0xa5a5a5a5 + csrrw x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x393c3349 + csrrw x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc418df19 + csrrs x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x12ecc9f8 + csrrc x14, 2967, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2967, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2967, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2967, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2967, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2967, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2967, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2967, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2967, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2967, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter24 + li x7, 0xa5a5a5a5 + csrrw x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0144920a + csrrw x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x1bd8850c + csrrs x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x22f58c46 + csrrc x14, 2840, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2840, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2840, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2840, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2840, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2840, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2840, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2840, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2840, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2840, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter24h + li x7, 0xa5a5a5a5 + csrrw x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc08b8cdc + csrrw x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x839f8ee6 + csrrs x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2a3cccc2 + csrrc x14, 2968, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2968, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2968, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2968, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2968, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2968, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2968, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2968, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2968, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2968, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter25 + li x7, 0xa5a5a5a5 + csrrw x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe1bb593e + csrrw x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9d89172c + csrrs x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb382ba0d + csrrc x14, 2841, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2841, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2841, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2841, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2841, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2841, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2841, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2841, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2841, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2841, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter25h + li x7, 0xa5a5a5a5 + csrrw x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa3f76a00 + csrrw x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb5aac1f7 + csrrs x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7c7581b9 + csrrc x14, 2969, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2969, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2969, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2969, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2969, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2969, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2969, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2969, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2969, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2969, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter26 + li x7, 0xa5a5a5a5 + csrrw x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x8ba1ddc9 + csrrw x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5d53200c + csrrs x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2cdf01e6 + csrrc x14, 2842, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2842, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2842, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2842, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2842, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2842, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2842, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2842, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2842, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2842, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter26h + li x7, 0xa5a5a5a5 + csrrw x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xdda62683 + csrrw x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa4f70ef5 + csrrs x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa9a0bb15 + csrrc x14, 2970, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2970, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2970, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2970, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2970, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2970, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2970, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2970, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2970, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2970, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter27 + li x7, 0xa5a5a5a5 + csrrw x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd2ba4762 + csrrw x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x83f46b5a + csrrs x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x2df774c4 + csrrc x14, 2843, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2843, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2843, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2843, 0b11011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2843, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2843, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2843, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2843, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2843, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2843, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter27h + li x7, 0xa5a5a5a5 + csrrw x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x68474e73 + csrrw x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb0d6bebc + csrrs x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7047ff8c + csrrc x14, 2971, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2971, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2971, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2971, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2971, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2971, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2971, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2971, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2971, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2971, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter28 + li x7, 0xa5a5a5a5 + csrrw x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3524d717 + csrrw x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xec08f682 + csrrs x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd252f3b7 + csrrc x14, 2844, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2844, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2844, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2844, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2844, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2844, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2844, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2844, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2844, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2844, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter28h + li x7, 0xa5a5a5a5 + csrrw x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x672207f2 + csrrw x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x533ba24c + csrrs x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb7274def + csrrc x14, 2972, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2972, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2972, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2972, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2972, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2972, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2972, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2972, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2972, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2972, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter29 + li x7, 0xa5a5a5a5 + csrrw x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x31e982a4 + csrrw x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb097c4c4 + csrrs x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xf783c658 + csrrc x14, 2845, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2845, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2845, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2845, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2845, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2845, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2845, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2845, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2845, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2845, 0b10111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter29h + li x7, 0xa5a5a5a5 + csrrw x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6953a083 + csrrw x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x897effce + csrrs x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x746d9c0b + csrrc x14, 2973, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2973, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2973, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2973, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2973, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2973, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2973, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2973, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2973, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2973, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter30 + li x7, 0xa5a5a5a5 + csrrw x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbda489df + csrrw x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x526b369c + csrrs x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd71dca61 + csrrc x14, 2846, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2846, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2846, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2846, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2846, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2846, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2846, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2846, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2846, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2846, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter30h + li x7, 0xa5a5a5a5 + csrrw x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd5eb8a37 + csrrw x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x167e5e14 + csrrs x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc60a1032 + csrrc x14, 2974, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2974, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2974, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2974, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2974, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2974, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2974, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2974, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2974, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2974, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter31 + li x7, 0xa5a5a5a5 + csrrw x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x433a808e + csrrw x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd4fe6cbb + csrrs x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc0af001d + csrrc x14, 2847, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2847, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2847, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2847, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2847, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2847, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2847, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2847, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2847, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2847, 0b10011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmcounter31h + li x7, 0xa5a5a5a5 + csrrw x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe90ffb14 + csrrw x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x16b9e9ce + csrrs x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3f3afd89 + csrrc x14, 2975, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2975, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2975, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 2975, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2975, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2975, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 2975, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2975, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2975, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 2975, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mstatus + li x7, 0xa5a5a5a5 + csrrw x14, 768, x7 + li x7, 0x00001800 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 768, x7 + li x7, 0x00001880 + bne x7, x14, csr_fail + li x7, 0xc28fc3cc + csrrw x14, 768, x7 + li x7, 0x00001808 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 768, x7 + li x7, 0x00001888 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 768, x7 + li x7, 0x00001888 + bne x7, x14, csr_fail + li x7, 0x3b009b54 + csrrs x14, 768, x7 + li x7, 0x00001888 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 768, x7 + li x7, 0x00001888 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 768, x7 + li x7, 0x00001808 + bne x7, x14, csr_fail + li x7, 0x3bd71a3d + csrrc x14, 768, x7 + li x7, 0x00001800 + bne x7, x14, csr_fail + csrrwi x14, 768, 0b00101 + li x7, 0x00001800 + bne x7, x14, csr_fail + csrrwi x14, 768, 0b11010 + li x7, 0x00001800 + bne x7, x14, csr_fail + csrrwi x14, 768, 0b11110 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b00101 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b11010 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b00101 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrci x14, 768, 0b00101 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrci x14, 768, 0b11010 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrci x14, 768, 0b00010 + li x7, 0x00001800 + bne x7, x14, csr_fail + # misa + li x7, 0xa5a5a5a5 + csrrw x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x0e16f9bd + csrrw x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x616bbac8 + csrrs x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + li x7, 0x40557c1f + csrrc x14, 769, x7 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b00101 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b11010 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b00011 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b00101 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b11010 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b10111 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b00101 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b11010 + li x7, 0x40801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b00000 + li x7, 0x40801104 + bne x7, x14, csr_fail + # mie + li x7, 0xa5a5a5a5 + csrrw x14, 772, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 772, x7 + li x7, 0xa5a50080 + bne x7, x14, csr_fail + li x7, 0x9383d1b8 + csrrw x14, 772, x7 + li x7, 0x5a5a0808 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 772, x7 + li x7, 0x93830088 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 772, x7 + li x7, 0xb7a70088 + bne x7, x14, csr_fail + li x7, 0xb9474178 + csrrs x14, 772, x7 + li x7, 0xffff0888 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 772, x7 + li x7, 0xffff0888 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 772, x7 + li x7, 0x5a5a0808 + bne x7, x14, csr_fail + li x7, 0x1459fb8c + csrrc x14, 772, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 772, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 772, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 772, 0b11110 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b00101 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b11010 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b00000 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrci x14, 772, 0b00101 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrci x14, 772, 0b11010 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrci x14, 772, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mtvec + li x7, 0xa5a5a5a5 + csrrw x14, 773, x7 + li x7, 0x00000001 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 773, x7 + li x7, 0xa5a5a581 + bne x7, x14, csr_fail + li x7, 0x2a57d8fb + csrrw x14, 773, x7 + li x7, 0x5a5a5a01 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 773, x7 + li x7, 0x2a57d881 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 773, x7 + li x7, 0xaff7fd81 + bne x7, x14, csr_fail + li x7, 0x5e4d3e7c + csrrs x14, 773, x7 + li x7, 0xffffff81 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 773, x7 + li x7, 0xffffff81 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 773, x7 + li x7, 0x5a5a5a00 + bne x7, x14, csr_fail + li x7, 0xb6f28559 + csrrc x14, 773, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 773, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 773, 0b11010 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrwi x14, 773, 0b01011 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrsi x14, 773, 0b00101 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrsi x14, 773, 0b11010 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrsi x14, 773, 0b01011 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrci x14, 773, 0b00101 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrci x14, 773, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 773, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mstatush + li x7, 0xa5a5a5a5 + csrrw x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xad0f8320 + csrrw x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xaec0c319 + csrrs x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe7941d56 + csrrc x14, 784, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 784, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 784, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 784, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 784, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 784, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 784, 0b11111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 784, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 784, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 784, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mcountinhibit + li x7, 0xa5a5a5a5 + csrrw x14, 800, x7 + li x7, 0x0000000d + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 800, x7 + li x7, 0x00000005 + bne x7, x14, csr_fail + li x7, 0x85431c2c + csrrw x14, 800, x7 + li x7, 0x00000008 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 800, x7 + li x7, 0x0000000c + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 800, x7 + li x7, 0x0000000d + bne x7, x14, csr_fail + li x7, 0x0f560c53 + csrrs x14, 800, x7 + li x7, 0x0000000d + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 800, x7 + li x7, 0x0000000d + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 800, x7 + li x7, 0x00000008 + bne x7, x14, csr_fail + li x7, 0x04859c72 + csrrc x14, 800, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 800, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 800, 0b11010 + li x7, 0x00000005 + bne x7, x14, csr_fail + csrrwi x14, 800, 0b00000 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b11010 + li x7, 0x00000005 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b00101 + li x7, 0x0000000d + bne x7, x14, csr_fail + csrrci x14, 800, 0b00101 + li x7, 0x0000000d + bne x7, x14, csr_fail + csrrci x14, 800, 0b11010 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrci x14, 800, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent3 + li x7, 0xa5a5a5a5 + csrrw x14, 803, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 803, x7 + li x7, 0x0000a5a5 + bne x7, x14, csr_fail + li x7, 0x5ca9ce40 + csrrw x14, 803, x7 + li x7, 0x00005a5a + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 803, x7 + li x7, 0x0000ce40 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 803, x7 + li x7, 0x0000efe5 + bne x7, x14, csr_fail + li x7, 0x79d58ad0 + csrrs x14, 803, x7 + li x7, 0x0000ffff + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 803, x7 + li x7, 0x0000ffff + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 803, x7 + li x7, 0x00005a5a + bne x7, x14, csr_fail + li x7, 0x09c1b28f + csrrc x14, 803, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 803, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 803, 0b11010 + li x7, 0x00000005 + bne x7, x14, csr_fail + csrrwi x14, 803, 0b10111 + li x7, 0x0000001a + bne x7, x14, csr_fail + csrrsi x14, 803, 0b00101 + li x7, 0x00000017 + bne x7, x14, csr_fail + csrrsi x14, 803, 0b11010 + li x7, 0x00000017 + bne x7, x14, csr_fail + csrrsi x14, 803, 0b11011 + li x7, 0x0000001f + bne x7, x14, csr_fail + csrrci x14, 803, 0b00101 + li x7, 0x0000001f + bne x7, x14, csr_fail + csrrci x14, 803, 0b11010 + li x7, 0x0000001a + bne x7, x14, csr_fail + csrrci x14, 803, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent4 + li x7, 0xa5a5a5a5 + csrrw x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb6baced6 + csrrw x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x391ef11e + csrrs x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x09307ed0 + csrrc x14, 804, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 804, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 804, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 804, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 804, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 804, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 804, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 804, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 804, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 804, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent5 + li x7, 0xa5a5a5a5 + csrrw x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x373215cf + csrrw x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6a1dcdeb + csrrs x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5267ffb7 + csrrc x14, 805, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 805, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 805, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 805, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 805, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 805, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 805, 0b10110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 805, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 805, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 805, 0b01101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent6 + li x7, 0xa5a5a5a5 + csrrw x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x55efebae + csrrw x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x644053d7 + csrrs x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xf3fd8536 + csrrc x14, 806, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 806, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 806, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 806, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 806, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 806, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 806, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 806, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 806, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 806, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent7 + li x7, 0xa5a5a5a5 + csrrw x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb50479dc + csrrw x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xfa61ed59 + csrrs x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4cd5b813 + csrrc x14, 807, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 807, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 807, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 807, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 807, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 807, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 807, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 807, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 807, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 807, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent8 + li x7, 0xa5a5a5a5 + csrrw x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x58db2423 + csrrw x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa764f9aa + csrrs x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x17444bcb + csrrc x14, 808, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 808, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 808, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 808, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 808, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 808, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 808, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 808, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 808, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 808, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent9 + li x7, 0xa5a5a5a5 + csrrw x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe485b972 + csrrw x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa7e1ef8c + csrrs x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4d83517f + csrrc x14, 809, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 809, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 809, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 809, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 809, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 809, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 809, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 809, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 809, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 809, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent10 + li x7, 0xa5a5a5a5 + csrrw x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x759d83bb + csrrw x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc74ab11c + csrrs x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xdff9f66e + csrrc x14, 810, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 810, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 810, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 810, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 810, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 810, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 810, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 810, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 810, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 810, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent11 + li x7, 0xa5a5a5a5 + csrrw x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9ec538d1 + csrrw x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbe11b264 + csrrs x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7a6b67d8 + csrrc x14, 811, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 811, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 811, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 811, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 811, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 811, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 811, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 811, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 811, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 811, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent12 + li x7, 0xa5a5a5a5 + csrrw x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe50a3e43 + csrrw x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x264e2ef7 + csrrs x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa80444d0 + csrrc x14, 812, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 812, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 812, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 812, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 812, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 812, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 812, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 812, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 812, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 812, 0b00111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent13 + li x7, 0xa5a5a5a5 + csrrw x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x1882c510 + csrrw x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6fb33d78 + csrrs x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x7089e101 + csrrc x14, 813, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 813, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 813, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 813, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 813, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 813, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 813, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 813, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 813, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 813, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent14 + li x7, 0xa5a5a5a5 + csrrw x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x95f9dbc7 + csrrw x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc07d77aa + csrrs x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc3d28657 + csrrc x14, 814, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 814, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 814, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 814, 0b10100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 814, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 814, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 814, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 814, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 814, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 814, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent15 + li x7, 0xa5a5a5a5 + csrrw x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9e40aac9 + csrrw x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xe36d8746 + csrrs x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x081622f8 + csrrc x14, 815, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 815, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 815, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 815, 0b00110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 815, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 815, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 815, 0b01110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 815, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 815, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 815, 0b11111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent16 + li x7, 0xa5a5a5a5 + csrrw x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x0b254f7b + csrrw x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x588108f1 + csrrs x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5eeb13f7 + csrrc x14, 816, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 816, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 816, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 816, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 816, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 816, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 816, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 816, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 816, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 816, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent17 + li x7, 0xa5a5a5a5 + csrrw x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4c24f761 + csrrw x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xfd05b025 + csrrs x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbbb4f293 + csrrc x14, 817, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 817, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 817, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 817, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 817, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 817, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 817, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 817, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 817, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 817, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent18 + li x7, 0xa5a5a5a5 + csrrw x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xbc974d34 + csrrw x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x919b360f + csrrs x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x314cbb3f + csrrc x14, 818, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 818, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 818, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 818, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 818, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 818, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 818, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 818, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 818, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 818, 0b00111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent19 + li x7, 0xa5a5a5a5 + csrrw x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9dece953 + csrrw x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x39f0e79c + csrrs x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x48795c38 + csrrc x14, 819, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 819, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 819, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 819, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 819, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 819, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 819, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 819, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 819, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 819, 0b00011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent20 + li x7, 0xa5a5a5a5 + csrrw x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xeb6c3c06 + csrrw x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3783850e + csrrs x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x52796b78 + csrrc x14, 820, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 820, 0b00010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 820, 0b11011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 820, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 820, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 820, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent21 + li x7, 0xa5a5a5a5 + csrrw x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xcf54da77 + csrrw x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5349c06 + csrrs x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x011b87bc + csrrc x14, 821, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 821, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 821, 0b11110 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 821, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 821, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent22 + li x7, 0xa5a5a5a5 + csrrw x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x3297eeb3 + csrrw x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x4792a39d + csrrs x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc2af9a5a + csrrc x14, 822, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 822, 0b10101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 822, 0b10010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 822, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 822, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 822, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent23 + li x7, 0xa5a5a5a5 + csrrw x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x511bb348 + csrrw x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x1dba6667 + csrrs x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa3112b37 + csrrc x14, 823, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 823, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 823, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 823, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 823, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 823, 0b01110 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent24 + li x7, 0xa5a5a5a5 + csrrw x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x00feab75 + csrrw x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x59ad00b5 + csrrs x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x17ddfc1f + csrrc x14, 824, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 824, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 824, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 824, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 824, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 824, 0b11111 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent25 + li x7, 0xa5a5a5a5 + csrrw x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x35fd66b0 + csrrw x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5fa60cdf + csrrs x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xb94c827c + csrrc x14, 825, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 825, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 825, 0b11100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 825, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 825, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 825, 0b01001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent26 + li x7, 0xa5a5a5a5 + csrrw x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x500e7a18 + csrrw x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x6a00d197 + csrrs x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x582a86bd + csrrc x14, 826, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 826, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 768, 0b11010 - li x7, 0x00001800 + csrrwi x14, 826, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 768, 0b10100 - li x7, 0x00001808 + csrrwi x14, 826, 0b11011 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b00101 - li x7, 0x00001800 + csrrsi x14, 826, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b11010 - li x7, 0x00001800 + csrrsi x14, 826, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b11000 - li x7, 0x00001808 + csrrsi x14, 826, 0b00011 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b00101 - li x7, 0x00001808 + csrrci x14, 826, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b11010 - li x7, 0x00001808 + csrrci x14, 826, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b01001 - li x7, 0x00001800 + csrrci x14, 826, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - # misa + # mhpmevent27 li x7, 0xa5a5a5a5 - csrrw x14, 769, x7 - li x7, 0x40801104 + csrrw x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 769, x7 - li x7, 0x40801104 + csrrw x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xe2b7202b - csrrw x14, 769, x7 - li x7, 0x40801104 + li x7, 0x5d02fa3a + csrrw x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 769, x7 - li x7, 0x40801104 + csrrs x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 769, x7 - li x7, 0x40801104 + csrrs x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x1f71f4de - csrrs x14, 769, x7 - li x7, 0x40801104 + li x7, 0x22c0b1c4 + csrrs x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 769, x7 - li x7, 0x40801104 + csrrc x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 769, x7 - li x7, 0x40801104 + csrrc x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x446b700b - csrrc x14, 769, x7 - li x7, 0x40801104 + li x7, 0x629abd0c + csrrc x14, 827, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b00101 - li x7, 0x40801104 + csrrwi x14, 827, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b11010 - li x7, 0x40801104 + csrrwi x14, 827, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b01001 - li x7, 0x40801104 + csrrwi x14, 827, 0b01011 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b00101 - li x7, 0x40801104 + csrrsi x14, 827, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b11010 - li x7, 0x40801104 + csrrsi x14, 827, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b11011 - li x7, 0x40801104 + csrrsi x14, 827, 0b00000 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b00101 - li x7, 0x40801104 + csrrci x14, 827, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b11010 - li x7, 0x40801104 + csrrci x14, 827, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b10101 - li x7, 0x40801104 + csrrci x14, 827, 0b00001 + li x7, 0x00000000 bne x7, x14, csr_fail - # mie + # mhpmevent28 li x7, 0xa5a5a5a5 - csrrw x14, 772, x7 + csrrw x14, 828, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 772, x7 - li x7, 0xa5a50080 + csrrw x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xf29a87df - csrrw x14, 772, x7 - li x7, 0x5a5a0808 + li x7, 0x61b52372 + csrrw x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 772, x7 - li x7, 0xf29a0088 + csrrs x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 772, x7 - li x7, 0xf7bf0088 + csrrs x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x4a27d4c4 - csrrs x14, 772, x7 - li x7, 0xffff0888 + li x7, 0x75526f3b + csrrs x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 772, x7 - li x7, 0xffff0888 + csrrc x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 772, x7 - li x7, 0x5a5a0808 + csrrc x14, 828, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xb1ee3d09 - csrrc x14, 772, x7 + li x7, 0xb85c3e25 + csrrc x14, 828, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b00101 + csrrwi x14, 828, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b11010 + csrrwi x14, 828, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b10010 - li x7, 0x00000008 + csrrwi x14, 828, 0b00000 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b00101 + csrrsi x14, 828, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b11010 + csrrsi x14, 828, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b10010 - li x7, 0x00000008 + csrrsi x14, 828, 0b11101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b00101 - li x7, 0x00000008 + csrrci x14, 828, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b11010 - li x7, 0x00000008 + csrrci x14, 828, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b00101 + csrrci x14, 828, 0b00001 li x7, 0x00000000 bne x7, x14, csr_fail - # mtvec - li x11, 0xa5a5a5a5 - csrrw x9, 773, x11 - li x11, 0x00000001 - bne x11, x9, csr_fail - li x11, 0x5a5a5a5a - csrrw x9, 773, x11 - li x11, 0xa5a5a581 - bne x11, x9, csr_fail - li x11, 0x1e65bf9c - csrrw x9, 773, x11 - li x11, 0x5a5a5a01 - bne x11, x9, csr_fail - li x11, 0xa5a5a5a5 - csrrs x9, 773, x11 - li x11, 0x1e65bf80 - bne x11, x9, csr_fail - li x11, 0x5a5a5a5a - csrrs x9, 773, x11 - li x11, 0xbfe5bf81 - bne x11, x9, csr_fail - li x11, 0x62f03b0f - csrrs x9, 773, x11 - li x11, 0xffffff81 - bne x11, x9, csr_fail - li x11, 0xa5a5a5a5 - csrrc x9, 773, x11 - li x11, 0xffffff81 - bne x11, x9, csr_fail - li x11, 0x5a5a5a5a - csrrc x9, 773, x11 - li x11, 0x5a5a5a00 - bne x11, x9, csr_fail - li x11, 0x02ab5359 - csrrc x9, 773, x11 - li x11, 0x00000000 - bne x11, x9, csr_fail - csrrwi x9, 773, 0b00101 - li x11, 0x00000000 - bne x11, x9, csr_fail - csrrwi x9, 773, 0b11010 - li x11, 0x00000001 - bne x11, x9, csr_fail - csrrwi x9, 773, 0b00000 - li x11, 0x00000001 - bne x11, x9, csr_fail - csrrsi x9, 773, 0b00101 - li x11, 0x00000000 - bne x11, x9, csr_fail - csrrsi x9, 773, 0b11010 - li x11, 0x00000001 - bne x11, x9, csr_fail - csrrsi x9, 773, 0b10010 - li x11, 0x00000001 - bne x11, x9, csr_fail - csrrci x9, 773, 0b00101 - li x11, 0x00000001 - bne x11, x9, csr_fail - csrrci x9, 773, 0b11010 - li x11, 0x00000000 - bne x11, x9, csr_fail - csrrci x9, 773, 0b00000 - li x11, 0x00000000 - bne x11, x9, csr_fail - # mstatush + # mhpmevent29 li x7, 0xa5a5a5a5 - csrrw x14, 784, x7 + csrrw x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 784, x7 + csrrw x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xdcd7df1c - csrrw x14, 784, x7 + li x7, 0x75c96c57 + csrrw x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 784, x7 + csrrs x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 784, x7 + csrrs x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x4284010d - csrrs x14, 784, x7 + li x7, 0x9d3597e2 + csrrs x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 784, x7 + csrrc x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 784, x7 + csrrc x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x686e59ae - csrrc x14, 784, x7 + li x7, 0x282bbc66 + csrrc x14, 829, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b00101 + csrrwi x14, 829, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b11010 + csrrwi x14, 829, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b00000 + csrrwi x14, 829, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b00101 + csrrsi x14, 829, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b11010 + csrrsi x14, 829, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b11001 + csrrsi x14, 829, 0b01101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b00101 + csrrci x14, 829, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b11010 + csrrci x14, 829, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b10001 + csrrci x14, 829, 0b01101 li x7, 0x00000000 bne x7, x14, csr_fail - # mcountinhibit + # mhpmevent30 li x7, 0xa5a5a5a5 - csrrw x14, 800, x7 - li x7, 0x0000000d + csrrw x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 800, x7 - li x7, 0x00000005 + csrrw x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x21e1dd8a - csrrw x14, 800, x7 - li x7, 0x00000008 + li x7, 0x0b99acfb + csrrw x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 800, x7 - li x7, 0x00000008 + csrrs x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 800, x7 - li x7, 0x0000000d + csrrs x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xd384db72 - csrrs x14, 800, x7 - li x7, 0x0000000d + li x7, 0x023e3039 + csrrs x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 800, x7 - li x7, 0x0000000d + csrrc x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 800, x7 - li x7, 0x00000008 + csrrc x14, 830, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xc3d29fce - csrrc x14, 800, x7 + li x7, 0xef3f22d5 + csrrc x14, 830, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b00101 + csrrwi x14, 830, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b11010 - li x7, 0x00000005 + csrrwi x14, 830, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b10010 - li x7, 0x00000008 + csrrwi x14, 830, 0b11100 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b00101 + csrrsi x14, 830, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b11010 - li x7, 0x00000005 + csrrsi x14, 830, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b00111 - li x7, 0x0000000d + csrrsi x14, 830, 0b01010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b00101 - li x7, 0x0000000d + csrrci x14, 830, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b11010 - li x7, 0x00000008 + csrrci x14, 830, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b01100 + csrrci x14, 830, 0b01110 li x7, 0x00000000 bne x7, x14, csr_fail - # mhpmevent3 + # mhpmevent31 li x7, 0xa5a5a5a5 - csrrw x14, 803, x7 + csrrw x14, 831, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 803, x7 - li x7, 0x0000a5a5 + csrrw x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xf7ab56f8 - csrrw x14, 803, x7 - li x7, 0x00005a5a + li x7, 0xfd8aae06 + csrrw x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 803, x7 - li x7, 0x000056f8 + csrrs x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 803, x7 - li x7, 0x0000f7fd + csrrs x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xc25f2e6a - csrrs x14, 803, x7 - li x7, 0x0000ffff + li x7, 0x13d96e61 + csrrs x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 803, x7 - li x7, 0x0000ffff + csrrc x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 803, x7 - li x7, 0x00005a5a + csrrc x14, 831, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xaf960a35 - csrrc x14, 803, x7 + li x7, 0x7a737d3c + csrrc x14, 831, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b00101 + csrrwi x14, 831, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b11010 - li x7, 0x00000005 + csrrwi x14, 831, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b10101 - li x7, 0x0000001a + csrrwi x14, 831, 0b00001 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b00101 - li x7, 0x00000015 + csrrsi x14, 831, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b11010 - li x7, 0x00000015 + csrrsi x14, 831, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b10011 - li x7, 0x0000001f + csrrsi x14, 831, 0b11101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b00101 - li x7, 0x0000001f + csrrci x14, 831, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b11010 - li x7, 0x0000001a + csrrci x14, 831, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b11110 + csrrci x14, 831, 0b00110 li x7, 0x00000000 bne x7, x14, csr_fail # mscratch @@ -861,19 +6237,19 @@ _start0: csrrw x14, 832, x7 li x7, 0xa5a5a5a5 bne x7, x14, csr_fail - li x7, 0x29c592e6 + li x7, 0x10b91df9 csrrw x14, 832, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 832, x7 - li x7, 0x29c592e6 + li x7, 0x10b91df9 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 832, x7 - li x7, 0xade5b7e7 + li x7, 0xb5bdbdfd bne x7, x14, csr_fail - li x7, 0x433479c6 + li x7, 0x2b35146e csrrs x14, 832, x7 li x7, 0xffffffff bne x7, x14, csr_fail @@ -885,7 +6261,7 @@ _start0: csrrc x14, 832, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0xf40cc658 + li x7, 0x684580d7 csrrc x14, 832, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -895,16 +6271,16 @@ _start0: csrrwi x14, 832, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 832, 0b00010 + csrrwi x14, 832, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 832, 0b00101 - li x7, 0x00000002 + li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 832, 0b11010 - li x7, 0x00000007 + li x7, 0x0000001f bne x7, x14, csr_fail - csrrsi x14, 832, 0b10011 + csrrsi x14, 832, 0b01101 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 832, 0b00101 @@ -913,7 +6289,7 @@ _start0: csrrci x14, 832, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 832, 0b01010 + csrrci x14, 832, 0b10011 li x7, 0x00000000 bne x7, x14, csr_fail # mepc @@ -925,19 +6301,19 @@ _start0: csrrw x14, 833, x7 li x7, 0xa5a5a5a4 bne x7, x14, csr_fail - li x7, 0x2b439f5e + li x7, 0x5a7045a7 csrrw x14, 833, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 833, x7 - li x7, 0x2b439f5e + li x7, 0x5a7045a6 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 833, x7 - li x7, 0xafe7bffe + li x7, 0xfff5e5a6 bne x7, x14, csr_fail - li x7, 0xba4f3e95 + li x7, 0x3e45b6a3 csrrs x14, 833, x7 li x7, 0xfffffffe bne x7, x14, csr_fail @@ -949,7 +6325,7 @@ _start0: csrrc x14, 833, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail - li x7, 0xd1434d56 + li x7, 0x545dfb0c csrrc x14, 833, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -959,16 +6335,16 @@ _start0: csrrwi x14, 833, 0b11010 li x7, 0x00000004 bne x7, x14, csr_fail - csrrwi x14, 833, 0b11000 + csrrwi x14, 833, 0b10010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 833, 0b00101 - li x7, 0x00000018 + li x7, 0x00000012 bne x7, x14, csr_fail csrrsi x14, 833, 0b11010 - li x7, 0x0000001c + li x7, 0x00000016 bne x7, x14, csr_fail - csrrsi x14, 833, 0b11000 + csrrsi x14, 833, 0b00101 li x7, 0x0000001e bne x7, x14, csr_fail csrrci x14, 833, 0b00101 @@ -977,7 +6353,7 @@ _start0: csrrci x14, 833, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 833, 0b10111 + csrrci x14, 833, 0b11110 li x7, 0x00000000 bne x7, x14, csr_fail # mcause @@ -989,19 +6365,19 @@ _start0: csrrw x14, 834, x7 li x7, 0x800005a5 bne x7, x14, csr_fail - li x7, 0xdea77aac + li x7, 0x9c2ddbb5 csrrw x14, 834, x7 li x7, 0x0000025a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 834, x7 - li x7, 0x800002ac + li x7, 0x800003b5 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 834, x7 - li x7, 0x800007ad + li x7, 0x800007b5 bne x7, x14, csr_fail - li x7, 0x5662ae4c + li x7, 0x786022d7 csrrs x14, 834, x7 li x7, 0x800007ff bne x7, x14, csr_fail @@ -1013,7 +6389,7 @@ _start0: csrrc x14, 834, x7 li x7, 0x0000025a bne x7, x14, csr_fail - li x7, 0x045b2fbd + li x7, 0xcb03c00a csrrc x14, 834, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1023,16 +6399,16 @@ _start0: csrrwi x14, 834, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 834, 0b00111 + csrrwi x14, 834, 0b11001 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 834, 0b00101 - li x7, 0x00000007 + li x7, 0x00000019 bne x7, x14, csr_fail csrrsi x14, 834, 0b11010 - li x7, 0x00000007 + li x7, 0x0000001d bne x7, x14, csr_fail - csrrsi x14, 834, 0b11101 + csrrsi x14, 834, 0b00111 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 834, 0b00101 @@ -1041,7 +6417,7 @@ _start0: csrrci x14, 834, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 834, 0b01011 + csrrci x14, 834, 0b01010 li x7, 0x00000000 bne x7, x14, csr_fail # mtval @@ -1053,7 +6429,7 @@ _start0: csrrw x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xd3e20c82 + li x7, 0xf69f1291 csrrw x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1065,7 +6441,7 @@ _start0: csrrs x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x15dfcd0c + li x7, 0xaf423cbe csrrs x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1077,7 +6453,7 @@ _start0: csrrc x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x206dbe07 + li x7, 0x5dfe6900 csrrc x14, 835, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1087,7 +6463,7 @@ _start0: csrrwi x14, 835, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 835, 0b01000 + csrrwi x14, 835, 0b11110 li x7, 0x00000000 bne x7, x14, csr_fail csrrsi x14, 835, 0b00101 @@ -1096,7 +6472,7 @@ _start0: csrrsi x14, 835, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 835, 0b00001 + csrrsi x14, 835, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail csrrci x14, 835, 0b00101 @@ -1105,7 +6481,7 @@ _start0: csrrci x14, 835, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 835, 0b10000 + csrrci x14, 835, 0b11111 li x7, 0x00000000 bne x7, x14, csr_fail # mip @@ -1117,7 +6493,7 @@ _start0: csrrw x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x8c7bcf72 + li x7, 0x6a4743bc csrrw x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1129,7 +6505,7 @@ _start0: csrrs x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xde2fb82d + li x7, 0x59746430 csrrs x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1141,7 +6517,7 @@ _start0: csrrc x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x37b782f0 + li x7, 0x54ff1d6d csrrc x14, 836, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -1151,7 +6527,7 @@ _start0: csrrwi x14, 836, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 836, 0b01111 + csrrwi x14, 836, 0b01001 li x7, 0x00000000 bne x7, x14, csr_fail csrrsi x14, 836, 0b00101 @@ -1160,7 +6536,7 @@ _start0: csrrsi x14, 836, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 836, 0b11100 + csrrsi x14, 836, 0b01010 li x7, 0x00000000 bne x7, x14, csr_fail csrrci x14, 836, 0b00101 @@ -1169,7 +6545,74 @@ _start0: csrrci x14, 836, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 836, 0b01011 + csrrci x14, 836, 0b00100 + li x7, 0x00000000 + bne x7, x14, csr_fail + # jvt + li x7, 0xa5a5a5a5 + csrrw x14, 23, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 23, x7 + li x7, 0xa5a5a580 + bne x7, x14, csr_fail + li x7, 0xb776699b + csrrw x14, 23, x7 + li x7, 0x5a5a5a40 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 23, x7 + li x7, 0xb7766980 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 23, x7 + li x7, 0xb7f7ed80 + bne x7, x14, csr_fail + li x7, 0x7822db0a + csrrs x14, 23, x7 + li x7, 0xffffffc0 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 23, x7 + li x7, 0xffffffc0 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 23, x7 + li x7, 0x5a5a5a40 + bne x7, x14, csr_fail + li x7, 0xe39afe03 + csrrc x14, 23, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 23, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 23, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 23, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 23, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 23, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 23, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 23, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 23, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 23, 0b01000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrr x14, 23 li x7, 0x00000000 bne x7, x14, csr_fail ################################################################################ @@ -1178,68 +6621,67 @@ _start0: # ################################################################################ test_done: - lui a0,print_port>>12 - addi a1,zero,'\n' - sw a1,0(a0) - addi a1,zero,'C' - sw a1,0(a0) - addi a1,zero,'V' - sw a1,0(a0) - addi a1,zero,'3' - sw a1,0(a0) - addi a1,zero,'2' - sw a1,0(a0) - addi a1,zero,' ' - sw a1,0(a0) - addi a1,zero,'D' - sw a1,0(a0) - addi a1,zero,'O' - sw a1,0(a0) - addi a1,zero,'N' - sw a1,0(a0) - addi a1,zero,'E' - sw a1,0(a0) - addi a1,zero,'\n' - sw a1,0(a0) - sw a1,0(a0) + lui a0,print_port>>12 + addi a1,zero,'\n' + sw a1,0(a0) + addi a1,zero,'C' + sw a1,0(a0) + addi a1,zero,'V' + sw a1,0(a0) + addi a1,zero,'3' + sw a1,0(a0) + addi a1,zero,'2' + sw a1,0(a0) + addi a1,zero,' ' + sw a1,0(a0) + addi a1,zero,'D' + sw a1,0(a0) + addi a1,zero,'O' + sw a1,0(a0) + addi a1,zero,'N' + sw a1,0(a0) + addi a1,zero,'E' + sw a1,0(a0) + addi a1,zero,'\n' + sw a1,0(a0) + sw a1,0(a0) csr_pass: - li x18, 123456789 - li x17, CV_VP_STATUS_FLAGS_BASE - sw x18,0(x17) - wfi + li x18, 123456789 + li x17, CV_VP_STATUS_FLAGS_BASE + sw x18,0(x17) + wfi csr_fail: - lui a0,print_port>>12 - addi a1,zero,'\n' - sw a1,0(a0) - addi a1,zero,'C' - sw a1,0(a0) - addi a1,zero,'V' - sw a1,0(a0) - addi a1,zero,'3' - sw a1,0(a0) - addi a1,zero,'2' - sw a1,0(a0) - addi a1,zero,' ' - sw a1,0(a0) - addi a1,zero,'F' - sw a1,0(a0) - addi a1,zero,'A' - sw a1,0(a0) - addi a1,zero,'I' - sw a1,0(a0) - addi a1,zero,'L' - sw a1,0(a0) - addi a1,zero,'\n' - sw a1,0(a0) - sw a1,0(a0) - - li x18, 1 - li x17, CV_VP_STATUS_FLAGS_BASE - sw x18,0(x17) - wfi + lui a0,print_port>>12 + addi a1,zero,'\n' + sw a1,0(a0) + addi a1,zero,'C' + sw a1,0(a0) + addi a1,zero,'V' + sw a1,0(a0) + addi a1,zero,'3' + sw a1,0(a0) + addi a1,zero,'2' + sw a1,0(a0) + addi a1,zero,' ' + sw a1,0(a0) + addi a1,zero,'F' + sw a1,0(a0) + addi a1,zero,'A' + sw a1,0(a0) + addi a1,zero,'I' + sw a1,0(a0) + addi a1,zero,'L' + sw a1,0(a0) + addi a1,zero,'\n' + sw a1,0(a0) + sw a1,0(a0) + li x18, 1 + li x17, CV_VP_STATUS_FLAGS_BASE + sw x18,0(x17) + wfi # # end #