From 8feeeb80fbae631415bb003266bb426abe4988e3 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 | 6314 +++++++++++++++-- 2 files changed, 5880 insertions(+), 441 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..71f57daa6 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, 0x3f01b50c csrrw x14, 2816, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2816, x7 - li x7, 0xe0fb19be + li x7, 0x3f01b50c bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2816, x7 - li x7, 0xe5ffbdbf + li x7, 0xbfa5b5ad bne x7, x14, csr_fail - li x7, 0x979912d0 + li x7, 0x0c017e71 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, 0x347f839b 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, 0b00000 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2816, 0b00101 - li x7, 0x00000006 + li x7, 0x00000000 bne x7, x14, csr_fail csrrsi x14, 2816, 0b11010 - li x7, 0x00000007 + li x7, 0x00000005 bne x7, x14, csr_fail - csrrsi x14, 2816, 0b10011 + csrrsi x14, 2816, 0b10110 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, 0b10111 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, 0x1f43f851 csrrw x14, 2944, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2944, x7 - li x7, 0xc5aeed5c + li x7, 0x1f43f851 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2944, x7 - li x7, 0xe5afedfd + li x7, 0xbfe7fdf5 bne x7, x14, csr_fail - li x7, 0xcaf84fb8 + li x7, 0x0bb73f0a 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, 0x185508dd 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, 0b01010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2944, 0b00101 - li x7, 0x0000001a + li x7, 0x0000000a 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, 0b00100 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, 0b00001 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, 0x791aca01 csrrw x14, 2818, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2818, x7 - li x7, 0x827882ad + li x7, 0x791aca01 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2818, x7 - li x7, 0xa7fda7ad + li x7, 0xedbfefa5 bne x7, x14, csr_fail - li x7, 0x0265e8fb + li x7, 0xfa3168c7 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, 0x1535d227 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, 0b11011 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2818, 0b00101 - li x7, 0x00000002 + li x7, 0x0000001b bne x7, x14, csr_fail csrrsi x14, 2818, 0b11010 - li x7, 0x00000007 + li x7, 0x0000001f bne x7, x14, csr_fail - csrrsi x14, 2818, 0b11001 + csrrsi x14, 2818, 0b00111 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, 0b11101 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, 0xe71f9b6c csrrw x14, 2946, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2946, x7 - li x7, 0xa49cc3be + li x7, 0xe71f9b6c bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2946, x7 - li x7, 0xa5bde7bf + li x7, 0xe7bfbfed bne x7, x14, csr_fail - li x7, 0xb443d128 + li x7, 0x2fb52fc4 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, 0x9afc3921 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, 0b10010 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2946, 0b00101 - li x7, 0x0000001f + li x7, 0x00000012 bne x7, x14, csr_fail csrrsi x14, 2946, 0b11010 - li x7, 0x0000001f + li x7, 0x00000017 bne x7, x14, csr_fail - csrrsi x14, 2946, 0b01110 + csrrsi x14, 2946, 0b11100 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, 0b11001 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, 0xd01fd900 csrrw x14, 2819, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2819, x7 - li x7, 0xf18c5bbf + li x7, 0xd01fd900 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2819, x7 - li x7, 0xf5adffbf + li x7, 0xf5bffda5 bne x7, x14, csr_fail - li x7, 0x9e11a54b + li x7, 0x966fdc94 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, 0xa6d7dab1 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, 0b11111 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2819, 0b00101 - li x7, 0x00000000 + li x7, 0x0000001f bne x7, x14, csr_fail csrrsi x14, 2819, 0b11010 - li x7, 0x00000005 + li x7, 0x0000001f bne x7, x14, csr_fail - csrrsi x14, 2819, 0b00001 + csrrsi x14, 2819, 0b10010 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, 0b11101 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, 0x1006ba79 csrrw x14, 2947, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 2947, x7 - li x7, 0xbf0220f3 + li x7, 0x1006ba79 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 2947, x7 - li x7, 0xbfa7a5f7 + li x7, 0xb5a7bffd bne x7, x14, csr_fail - li x7, 0x6d650cb4 + li x7, 0x0f24e7be 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, 0x0e1184c8 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, 0b11100 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 2947, 0b00101 - li x7, 0x0000001a + li x7, 0x0000001c bne x7, x14, csr_fail csrrsi x14, 2947, 0b11010 - li x7, 0x0000001f + li x7, 0x0000001d bne x7, x14, csr_fail - csrrsi x14, 2947, 0b01001 + csrrsi x14, 2947, 0b10111 li x7, 0x0000001f bne x7, x14, csr_fail csrrci x14, 2947, 0b00101 @@ -401,479 +401,5855 @@ _start0: csrrci x14, 2947, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 2947, 0b10001 + csrrci x14, 2947, 0b00101 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, 0xa1bc41e3 + 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, 0xab6f1689 + 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, 0x14658121d + 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, 768, 0b11010 - li x7, 0x00001800 + csrrwi x14, 2820, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 768, 0b10100 - li x7, 0x00001808 + csrrwi x14, 2820, 0b11001 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b00101 - li x7, 0x00001800 + csrrsi x14, 2820, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b11010 - li x7, 0x00001800 + csrrsi x14, 2820, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 768, 0b11000 - li x7, 0x00001808 + csrrsi x14, 2820, 0b10111 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b00101 - li x7, 0x00001808 + csrrci x14, 2820, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b11010 - li x7, 0x00001808 + csrrci x14, 2820, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 768, 0b01001 - li x7, 0x00001800 + csrrci x14, 2820, 0b00011 + li x7, 0x00000000 bne x7, x14, csr_fail - # misa + # mhpmcounter4h li x7, 0xa5a5a5a5 - csrrw x14, 769, x7 - li x7, 0x40801104 + csrrw x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 769, x7 - li x7, 0x40801104 + csrrw x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xe2b7202b - csrrw x14, 769, x7 - li x7, 0x40801104 + li x7, 0x7b8e6edd + csrrw x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 769, x7 - li x7, 0x40801104 + csrrs x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 769, x7 - li x7, 0x40801104 + csrrs x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x1f71f4de - csrrs x14, 769, x7 - li x7, 0x40801104 + li x7, 0xadcb6412 + csrrs x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 769, x7 - li x7, 0x40801104 + csrrc x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 769, x7 - li x7, 0x40801104 + csrrc x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x446b700b - csrrc x14, 769, x7 - li x7, 0x40801104 + li x7, 0xa7837e6c + csrrc x14, 2948, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b00101 - li x7, 0x40801104 + csrrwi x14, 2948, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b11010 - li x7, 0x40801104 + csrrwi x14, 2948, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 769, 0b01001 - li x7, 0x40801104 + csrrwi x14, 2948, 0b01101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b00101 - li x7, 0x40801104 + csrrsi x14, 2948, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b11010 - li x7, 0x40801104 + csrrsi x14, 2948, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 769, 0b11011 - li x7, 0x40801104 + csrrsi x14, 2948, 0b00001 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b00101 - li x7, 0x40801104 + csrrci x14, 2948, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b11010 - li x7, 0x40801104 + csrrci x14, 2948, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 769, 0b10101 - li x7, 0x40801104 + csrrci x14, 2948, 0b01011 + li x7, 0x00000000 bne x7, x14, csr_fail - # mie + # mhpmcounter5 li x7, 0xa5a5a5a5 - csrrw x14, 772, x7 + csrrw x14, 2821, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 772, x7 - li x7, 0xa5a50080 + csrrw x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xf29a87df - csrrw x14, 772, x7 - li x7, 0x5a5a0808 + li x7, 0x79280e0b + csrrw x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 772, x7 - li x7, 0xf29a0088 + csrrs x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 772, x7 - li x7, 0xf7bf0088 + csrrs x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x4a27d4c4 - csrrs x14, 772, x7 - li x7, 0xffff0888 + li x7, 0xac63ea1c + csrrs x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 772, x7 - li x7, 0xffff0888 + csrrc x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 772, x7 - li x7, 0x5a5a0808 + csrrc x14, 2821, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xb1ee3d09 - csrrc x14, 772, x7 + li x7, 0xa537d755 + csrrc x14, 2821, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b00101 + csrrwi x14, 2821, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b11010 + csrrwi x14, 2821, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 772, 0b10010 - li x7, 0x00000008 + csrrwi x14, 2821, 0b10010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b00101 + csrrsi x14, 2821, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b11010 + csrrsi x14, 2821, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 772, 0b10010 - li x7, 0x00000008 + csrrsi x14, 2821, 0b01000 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b00101 - li x7, 0x00000008 + csrrci x14, 2821, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b11010 - li x7, 0x00000008 + csrrci x14, 2821, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 772, 0b00101 + csrrci x14, 2821, 0b00011 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 + # mhpmcounter5h li x7, 0xa5a5a5a5 - csrrw x14, 784, x7 + csrrw x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 784, x7 + csrrw x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xdcd7df1c - csrrw x14, 784, x7 + li x7, 0x015022b1 + csrrw x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 784, x7 + csrrs x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 784, x7 + csrrs x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x4284010d - csrrs x14, 784, x7 + li x7, 0xd8e2e13f + csrrs x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 784, x7 + csrrc x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 784, x7 + csrrc x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x686e59ae - csrrc x14, 784, x7 + li x7, 0x7a22471e + csrrc x14, 2949, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b00101 + csrrwi x14, 2949, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b11010 + csrrwi x14, 2949, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 784, 0b00000 + csrrwi x14, 2949, 0b11100 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b00101 + csrrsi x14, 2949, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b11010 + csrrsi x14, 2949, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 784, 0b11001 + csrrsi x14, 2949, 0b00110 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b00101 + csrrci x14, 2949, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b11010 + csrrci x14, 2949, 0b11010 li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 784, 0b10001 + csrrci x14, 2949, 0b00011 li x7, 0x00000000 bne x7, x14, csr_fail - # mcountinhibit + # mhpmcounter6 li x7, 0xa5a5a5a5 - csrrw x14, 800, x7 - li x7, 0x0000000d + csrrw x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 800, x7 - li x7, 0x00000005 + csrrw x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x21e1dd8a - csrrw x14, 800, x7 - li x7, 0x00000008 + li x7, 0x1473003c0 + csrrw x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 800, x7 - li x7, 0x00000008 + csrrs x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 800, x7 - li x7, 0x0000000d + csrrs x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xd384db72 - csrrs x14, 800, x7 - li x7, 0x0000000d + li x7, 0xa694b0a3 + csrrs x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 800, x7 - li x7, 0x0000000d + csrrc x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 800, x7 - li x7, 0x00000008 + csrrc x14, 2822, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xc3d29fce - csrrc x14, 800, x7 + li x7, 0x148b5b48f + csrrc x14, 2822, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b00101 + csrrwi x14, 2822, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b11010 - li x7, 0x00000005 + csrrwi x14, 2822, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 800, 0b10010 - li x7, 0x00000008 + csrrwi x14, 2822, 0b11101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b00101 + csrrsi x14, 2822, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b11010 - li x7, 0x00000005 + csrrsi x14, 2822, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 800, 0b00111 - li x7, 0x0000000d + csrrsi x14, 2822, 0b01001 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b00101 - li x7, 0x0000000d + csrrci x14, 2822, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b11010 - li x7, 0x00000008 + csrrci x14, 2822, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 800, 0b01100 + csrrci x14, 2822, 0b10110 li x7, 0x00000000 bne x7, x14, csr_fail - # mhpmevent3 + # mhpmcounter6h li x7, 0xa5a5a5a5 - csrrw x14, 803, x7 + csrrw x14, 2950, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 803, x7 - li x7, 0x0000a5a5 + csrrw x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xf7ab56f8 - csrrw x14, 803, x7 - li x7, 0x00005a5a + li x7, 0x1b3e8162 + csrrw x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 803, x7 - li x7, 0x000056f8 + csrrs x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 803, x7 - li x7, 0x0000f7fd + csrrs x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xc25f2e6a - csrrs x14, 803, x7 - li x7, 0x0000ffff + li x7, 0xc46d12cd + csrrs x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrc x14, 803, x7 - li x7, 0x0000ffff + csrrc x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrc x14, 803, x7 - li x7, 0x00005a5a + csrrc x14, 2950, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0xaf960a35 - csrrc x14, 803, x7 + li x7, 0x10692448 + csrrc x14, 2950, x7 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b00101 + csrrwi x14, 2950, 0b00101 li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b11010 - li x7, 0x00000005 + csrrwi x14, 2950, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrwi x14, 803, 0b10101 - li x7, 0x0000001a + csrrwi x14, 2950, 0b11111 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b00101 - li x7, 0x00000015 + csrrsi x14, 2950, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b11010 - li x7, 0x00000015 + csrrsi x14, 2950, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrsi x14, 803, 0b10011 - li x7, 0x0000001f + csrrsi x14, 2950, 0b01001 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b00101 - li x7, 0x0000001f + csrrci x14, 2950, 0b00101 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b11010 - li x7, 0x0000001a + csrrci x14, 2950, 0b11010 + li x7, 0x00000000 bne x7, x14, csr_fail - csrrci x14, 803, 0b11110 + csrrci x14, 2950, 0b01101 li x7, 0x00000000 bne x7, x14, csr_fail - # mscratch + # mhpmcounter7 li x7, 0xa5a5a5a5 - csrrw x14, 832, x7 + csrrw x14, 2823, x7 li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrw x14, 832, x7 - li x7, 0xa5a5a5a5 + csrrw x14, 2823, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x29c592e6 - csrrw x14, 832, x7 - li x7, 0x5a5a5a5a + li x7, 0x39b381ec + csrrw x14, 2823, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0xa5a5a5a5 - csrrs x14, 832, x7 - li x7, 0x29c592e6 + csrrs x14, 2823, x7 + li x7, 0x00000000 bne x7, x14, csr_fail li x7, 0x5a5a5a5a - csrrs x14, 832, x7 - li x7, 0xade5b7e7 + csrrs x14, 2823, x7 + li x7, 0x00000000 bne x7, x14, csr_fail - li x7, 0x433479c6 + li x7, 0xc8d5d489 + 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, 0xae7d118c + 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, 0b10011 + 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, 0b00010 + 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, 0b01110 + 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, 0xfb054330 + 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, 0x7d8cdefc + 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, 0x14a5a74e1 + 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, 0b11011 + 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, 0b00100 + 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, 0b00110 + 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, 0x76b5b7e5 + 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, 0xa3c2de00 + 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, 0xfad83a55 + 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, 0b01101 + 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, 0b00111 + 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, 0b01010 + 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, 0xa0446b65 + 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, 0x88de2e87 + 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, 0x0d1bb193 + 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, 0b01110 + 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, 0b11101 + 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, 0b01101 + 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, 0x9c922da3 + 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, 0xc75ea72d + 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, 0x79e23fd8 + 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, 0b01010 + 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, 0b00001 + 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, 0b00100 + 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, 0x5771e7fd + 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, 0x823d2b30 + 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, 0xb4b30d5a + 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, 0b10111 + 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, 0b01111 + 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, 0b00011 + 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, 0x97689ec0 + 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, 0xb361644f + 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, 0xc5e9bc19 + 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, 0b11110 + 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, 0b10011 + 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, 0b00101 + 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, 0xb08353cd + 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, 0x529e8d64 + 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, 0xe6ded5a8 + 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, 0b11101 + 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, 0b11101 + 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, 0b11100 + 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, 0xa9091059 + 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, 0x736faf10 + 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, 0xb18fcc14 + 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, 0b10011 + 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, 0b00010 + 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, 0b11110 + 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, 0xde8cc51d + 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, 0x7a6b5b57 + 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, 0x7527d1da + 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, 0b11111 + 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, 0b01001 + 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, 0x7b6ce0b1 + 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, 0x50820f41 + 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, 0xdd01a9bc + 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, 0b00110 + 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, 0b11100 + 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, 0b10011 + 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, 0xb598b14e + 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, 0x15d0b104 + 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, 0x57969a45 + 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, 0b10101 + 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, 0b10100 + 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, 0b00000 + 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, 0x5ce88f78 + 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, 0x8d2b3927 + 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, 0x733d142e + 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, 0b10100 + 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, 0b10110 + 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, 0b11011 + 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, 0x96e19642 + 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, 0x7b2ebf8e + 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, 0x9396f665 + 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, 0b11010 + 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, 0b00011 + 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, 0b01010 + 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, 0xe2abac44 + 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, 0xf26f9e60 + 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, 0x5ae7531e + 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, 0b10111 + 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, 0b01011 + 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, 0b01110 + 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, 0x7489f005 + 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, 0x04a0d395 + 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, 0x5469b4a8 + 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, 0b00101 + 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, 0b11010 + 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, 0b11101 + 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, 0x2e8ec4d6 + 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, 0xddab9d32 + 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, 0xd33f2d86 + 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, 0b00010 + 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, 0b10100 + 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, 0b01111 + 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, 0xa5207c2b + 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, 0x1469141ff + 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, 0xd3f58fdd + 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, 0b10001 + 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, 0b11110 + 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, 0b11010 + 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, 0xaa9d397e + 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, 0xd68d903c + 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, 0xa1defb32 + 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, 0b00111 + 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, 0b10011 + 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, 0b00010 + 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, 0x218cb86c + 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, 0xcdd56fc7 + 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, 0x28e4c0cc + 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, 0b00110 + 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, 0b10001 + 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, 0b01010 + 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, 0xfd8f4e09 + 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, 0x8a02c22a + 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, 0x94f3e778 + 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, 0b11110 + 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, 0b10001 + 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, 0b10111 + 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, 0x7b7224a1 + 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, 0x304fe104 + 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, 0x7eb070f4 + 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, 0b00100 + 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, 0b01100 + 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, 0b11100 + 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, 0x239c3068 + 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, 0x96c0b885 + 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, 0x90dbb30a + 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, 0b00111 + 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, 0b11100 + 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, 0b11100 + 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, 0xce772f75 + 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, 0xaba015dd + 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, 0xbdfd534c + 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, 0b00011 + 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, 0b01111 + 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, 0b10100 + 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, 0xc4532640 + 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, 0xd92a3f3e + 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, 0xa854db4a + 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, 0b11111 + 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, 0b01010 + 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, 0b11101 + 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, 0x1d263dae + 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, 0xfa216096 + 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, 0x786d21f4 + 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, 0b00100 + 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, 0b11000 + 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, 0b00010 + 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, 0xf35c7219 + 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, 0x794ae08b + 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, 0x14aaa9663 + 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, 0b00100 + 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, 0b00010 + 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, 0b10010 + 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, 0xf247046d + 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, 0x541348ad + 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, 0x758259bb + 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, 0b11011 + 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, 0b01100 + 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, 0xb7e797f4 + 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, 0x92435941 + 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, 0x01dbf60e + 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, 0b01001 + 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, 0b00010 + 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, 0b00010 + 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, 0x94731356 + 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, 0x27fa4511 + 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, 0x00b22be0 + 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, 0b10100 + 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, 0b10000 + 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, 0b01101 + 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, 0xb8f84995 + 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, 0x12028267 + 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, 0xbb147da7 + 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, 0b11001 + 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, 0b00110 + 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, 0b10110 + 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, 0xf35a46fe + 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, 0x5acb0967 + 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, 0xd298f9dc + 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, 0b01000 + 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, 0b01110 + 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, 0b11001 + 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, 0x149247e06 + 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, 0x265f8c72 + 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, 0x7db8da81 + 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, 0b11001 + 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, 0b00101 + 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, 0b11110 + 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, 0x566a7467 + 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, 0x96d5c34b + 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, 0xe817086f + 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, 0b01010 + 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, 0b01001 + 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, 0b01110 + 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, 0xfc7d2936 + 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, 0xd49d2dea + 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, 0xf6c027e8 + 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, 0b00110 + 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, 0b00011 + 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, 0b10000 + 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, 0x7131f3bc + 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, 0xa4fd94ae + 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, 0xc3e075de + 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, 0b10010 + 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, 0b11001 + 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, 0b10111 + 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, 0x1b933408 + 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, 0x7c3e6a12 + 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, 0xffd57a2a + 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, 0b10001 + 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, 0b11011 + 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, 0b01010 + 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, 0x1ee6c631 + 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, 0x16c1c6fb + 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, 0x133b70cf + 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, 0b00110 + 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, 0b01100 + 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, 0b11100 + 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, 0xd7aaea8f + 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, 0xc160a40a + 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, 0x3c9e17bd + 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, 0b11010 + 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, 0b11010 + 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, 0b10011 + 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, 0x9172c153 + 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, 0xb349ddea + 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, 0xa70c182d + 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, 0b00110 + 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, 0b11010 + 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, 0b00000 + 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, 0x145887efb + 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, 0xa8743674 + 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, 0x7fd929f6 + 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, 0b10101 + 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, 0b11101 + 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, 0b00011 + 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, 0xa81dee94 + 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, 0xcd303b9d + 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, 0x543772b7 + 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, 0b00100 + 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, 0b01101 + 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, 0b01010 + 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, 0x7f592a09 + 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, 0x7f76fd31 + 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, 0x1f1e078f + 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, 0b00111 + 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, 0b11011 + 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, 0b11101 + 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, 0x1446b3cc6 + 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, 0x360ef68a + 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, 0xc3d379f3 + 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, 0b01010 + 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, 0b11001 + 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, 0b10110 + 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, 0x38e79c5f + 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, 0x3a1dea5f + 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, 0xf263d342 + 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, 0b00001 + 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, 0b11000 + 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, 0xcff3e62d + 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, 0x0272e5f0 + 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, 0x345de0ac + 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, 0b00100 + 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, 0b10011 + 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, 0b01010 + 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, 0x7dd79c9c + 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, 0x1929a3b4 + 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, 0xb19542f2 + 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, 0b01101 + 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, 0b01001 + 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, 0b10011 + 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, 0x8add6daa + 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, 0x077bb58f + 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, 0x22d2dff3 + 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, 0b10111 + 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, 0b10110 + 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, 0b01101 + 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, 0xb29c2be9 + 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, 0x7ba478a6 + 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, 0x3e511714 + 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, 0b00101 + 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, 0b01101 + 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, 0b11101 + 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, 0x14ce25057 + 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, 0xe5e3e3bd + 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, 0x96ca8b6b + 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, 0b11100 + 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, 0b01100 + 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, 0xfa5e2c28 + csrrw x14, 768, x7 + li x7, 0x00001808 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 768, x7 + li x7, 0x00001808 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 768, x7 + li x7, 0x00001888 + bne x7, x14, csr_fail + li x7, 0x2a2eeff3 + 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, 0x55237698 + 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, 0b00000 + li x7, 0x00001808 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b00101 + li x7, 0x00001800 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b11010 + li x7, 0x00001800 + bne x7, x14, csr_fail + csrrsi x14, 768, 0b11010 + 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, 0b10010 + li x7, 0x00001800 + bne x7, x14, csr_fail + # misa + li x7, 0xa5a5a5a5 + csrrw x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0xd0e6a546 + csrrw x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0x1c602de2 + csrrs x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + li x7, 0xb92302ea + csrrc x14, 769, x7 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b00101 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b11010 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrwi x14, 769, 0b00010 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b00101 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b11010 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrsi x14, 769, 0b00011 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b00101 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b11010 + li x7, 0x140801104 + bne x7, x14, csr_fail + csrrci x14, 769, 0b10000 + li x7, 0x140801104 + 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, 0xa233ecd8 + csrrw x14, 772, x7 + li x7, 0x5a5a0808 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 772, x7 + li x7, 0xa2330888 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 772, x7 + li x7, 0xa7b70888 + bne x7, x14, csr_fail + li x7, 0x160184f5 + 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, 0x7813ff19 + 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, 0b10010 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 772, 0b01100 + 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, 0b01010 + 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, 0x14dabef2d + csrrw x14, 773, x7 + li x7, 0x5a5a5a01 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 773, x7 + li x7, 0x14dabef01 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 773, x7 + li x7, 0xedafef81 + bne x7, x14, csr_fail + li x7, 0xd1954085 + 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, 0x18b8f731 + 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, 0b01010 + 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, 0b10010 + 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, 0b00001 + 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, 0x306ea014 + 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, 0xc3ea3f09 + 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, 0x148d3ff68 + 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, 0b10101 + 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, 0b01111 + 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, 0b00110 + 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, 0x142c7e1de + 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, 0x146887477 + 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, 0x74079926 + 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, 0b00011 + li x7, 0x00000008 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b00101 + li x7, 0x00000001 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b11010 + li x7, 0x00000005 + bne x7, x14, csr_fail + csrrsi x14, 800, 0b10010 + 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, 0b11001 + 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, 0x72364fe3 + csrrw x14, 803, x7 + li x7, 0x00005a5a + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 803, x7 + li x7, 0x00004fe3 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 803, x7 + li x7, 0x0000efe7 + bne x7, x14, csr_fail + li x7, 0x0e0feeed + 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, 0x7323a402 + 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, 0b10110 + li x7, 0x0000001a + bne x7, x14, csr_fail + csrrsi x14, 803, 0b00101 + li x7, 0x00000016 + bne x7, x14, csr_fail + csrrsi x14, 803, 0b11010 + li x7, 0x00000017 + bne x7, x14, csr_fail + csrrsi x14, 803, 0b10010 + 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, 0b00100 + 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, 0xf6159505 + 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, 0xcbb21413 + 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, 0xf306af2f + 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, 0b01010 + 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, 0b10011 + 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, 0b10001 + 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, 0x2701b68b + 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, 0x9fd78d48 + 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, 0x527f5c3c + 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, 0b01011 + 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, 0b10011 + 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, 0b11101 + 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, 0x3597774f + 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, 0xf09fc275 + 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, 0x305cdca8 + 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, 0b01100 + 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, 0b00011 + 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, 0b00011 + 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, 0x3188ba0e + 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, 0xa986f432 + 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, 0x143eee79d + 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, 0b11100 + 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, 0b00100 + 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, 0b11111 + 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, 0xec4943ae + 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, 0x14934a4c2 + 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, 0x1fcab310 + 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, 0b11001 + 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, 0b01001 + 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, 0b10100 + 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, 0xe1223f4f + 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, 0x0eda4812 + 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, 0xb3b033d1 + 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, 0b10001 + 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, 0b10010 + 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, 0b11010 + 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, 0xfe32c2e5 + 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, 0x14d57fc48 + 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, 0xac0a828f + 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, 0b01101 + 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, 0b11011 + 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, 0b10100 + 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, 0x145db280c + 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, 0xb560679f + 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, 0x828b4cd0 + 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, 0b01011 + 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, 0b11110 + 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, 0b10000 + 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, 0xd62c8ff9 + 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, 0x7206162f + 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, 0x14e1a957b + 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, 0b11111 + 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, 0b10010 + 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, 0b11000 + 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, 0xa330efc5 + 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, 0xa1be91df + 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, 0x147387069 + 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, 0b11100 + 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, 0b00001 + 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, 0b01011 + 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, 0x03173898 + 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, 0x2e368d45 + 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, 0x92ee8077 + 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, 0b11010 + 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, 0b10001 + 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, 0b10000 + 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, 0xdf001827 + 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, 0xcdf6f472 + 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, 0xc103fea9 + 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, 0b10010 + 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, 0b11101 + 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, 0b11000 + 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, 0x9755bb3f + 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, 0x575ccde0 + 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, 0x8c77b7b1 + 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, 0b10101 + 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, 0b01000 + 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, 0b01110 + 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, 0x779c9cc2 + 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, 0xedfa6c02 + 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, 0x2513294e + 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, 0b00101 + 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, 0b11001 + 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, 0b11111 + 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, 0x7a31cb19 + 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, 0x85cb78ad + 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, 0x14ecf834a + 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, 0b01011 + 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, 0b10101 + 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, 0b01001 + 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, 0xb6272de2 + 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, 0xd3a03a21 + 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, 0xe10a50b1 + 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, 0b11100 + 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, 0b11001 + 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, 0b11101 + 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, 0x14ef4d478 + 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, 0xb8edd028 + 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, 0xaf64d1a3 + 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, 0b00111 + 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, 0b00110 + 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, 0b00111 + 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, 0x83f4a7f3 + 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, 0x1a0f0e62 + 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, 0x3efd9dd5 + 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, 0b01001 + 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, 0b01100 + 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, 0b01010 + 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, 0x0ec4cebe + 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, 0x8cd46e27 + 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, 0xaa1461ed + 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, 0b01101 + 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, 0b00100 + 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, 0b11001 + 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, 0x21a6125e + 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, 0xfebcbcca + 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, 0xba77f5b8 + 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, 0b00000 + 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, 0b10110 + 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, 0x14de3b269 + 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, 0xa1b133cc + 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, 0x8571afe3 + 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, 0b11111 + 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, 0b00001 + 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, 0b01000 + 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, 0x7d7c99bb + 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, 0x7c4f3006 + 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, 0xab99408d + 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, 0b11110 + 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, 0b01100 + 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, 0b00000 + 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, 0xdc398329 + 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, 0xddfa780b + 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, 0x7cc92ea0 + 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, 826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 826, 0b00001 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 826, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 826, 0b01010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 826, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 826, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 826, 0b11001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent27 + li x7, 0xa5a5a5a5 + csrrw x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x82326c70 + csrrw x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x886c7d60 + csrrs x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x14db75092 + csrrc x14, 827, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 827, 0b01111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 827, 0b01101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 827, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 827, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent28 + li x7, 0xa5a5a5a5 + csrrw x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x9981cd29 + csrrw x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x116665a1 + csrrs x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd0a5bbd6 + csrrc x14, 828, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 828, 0b01101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 828, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 828, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 828, 0b01011 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent29 + li x7, 0xa5a5a5a5 + csrrw x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x27420edd + csrrw x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x589b5d89 + csrrs x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xaf6ae6b1 + csrrc x14, 829, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 829, 0b01100 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 829, 0b10111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 829, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 829, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 829, 0b10001 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent30 + li x7, 0xa5a5a5a5 + csrrw x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xab158e97 + csrrw x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xfcfc4c5c + csrrs x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xd9ecd791 + csrrc x14, 830, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 830, 0b11000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 830, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 830, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 830, 0b11101 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mhpmevent31 + li x7, 0xa5a5a5a5 + csrrw x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa649ab08 + csrrw x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xc131f331 + csrrs x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrc x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrc x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x30e1ae25 + csrrc x14, 831, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrwi x14, 831, 0b11111 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrsi x14, 831, 0b10000 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 831, 0b00101 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 831, 0b11010 + li x7, 0x00000000 + bne x7, x14, csr_fail + csrrci x14, 831, 0b00000 + li x7, 0x00000000 + bne x7, x14, csr_fail + # mscratch + li x7, 0xa5a5a5a5 + csrrw x14, 832, x7 + li x7, 0x00000000 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrw x14, 832, x7 + li x7, 0xa5a5a5a5 + bne x7, x14, csr_fail + li x7, 0x754ea9eb + csrrw x14, 832, x7 + li x7, 0x5a5a5a5a + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 832, x7 + li x7, 0x754ea9eb + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 832, x7 + li x7, 0xf5efadef + bne x7, x14, csr_fail + li x7, 0xf8045b14 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, 0xa7b70a13 csrrc x14, 832, x7 li x7, 0x00000000 bne x7, x14, csr_fail @@ -895,11 +6271,11 @@ _start0: csrrwi x14, 832, 0b11010 li x7, 0x00000005 bne x7, x14, csr_fail - csrrwi x14, 832, 0b00010 + csrrwi x14, 832, 0b00011 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 832, 0b00101 - li x7, 0x00000002 + li x7, 0x00000003 bne x7, x14, csr_fail csrrsi x14, 832, 0b11010 li x7, 0x00000007 @@ -913,7 +6289,7 @@ _start0: csrrci x14, 832, 0b11010 li x7, 0x0000001a bne x7, x14, csr_fail - csrrci x14, 832, 0b01010 + csrrci x14, 832, 0b11110 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, 0x1d42385b csrrw x14, 833, x7 li x7, 0x5a5a5a5a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 833, x7 - li x7, 0x2b439f5e + li x7, 0x1d42385a bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 833, x7 - li x7, 0xafe7bffe + li x7, 0xbde7bdfe bne x7, x14, csr_fail - li x7, 0xba4f3e95 + li x7, 0xdc455c0e 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, 0xd42a64d9 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, 0b10000 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 833, 0b00101 - li x7, 0x00000018 + li x7, 0x00000010 bne x7, x14, csr_fail csrrsi x14, 833, 0b11010 - li x7, 0x0000001c + li x7, 0x00000014 bne x7, x14, csr_fail - csrrsi x14, 833, 0b11000 + csrrsi x14, 833, 0b01010 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, 0b00110 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, 0x09ae0780 csrrw x14, 834, x7 li x7, 0x0000025a bne x7, x14, csr_fail li x7, 0xa5a5a5a5 csrrs x14, 834, x7 - li x7, 0x800002ac + li x7, 0x00000780 bne x7, x14, csr_fail li x7, 0x5a5a5a5a csrrs x14, 834, x7 - li x7, 0x800007ad + li x7, 0x800007a5 bne x7, x14, csr_fail - li x7, 0x5662ae4c + li x7, 0x7ab52181 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, 0x5842f1dd 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, 0b10110 li x7, 0x0000001a bne x7, x14, csr_fail csrrsi x14, 834, 0b00101 - li x7, 0x00000007 + li x7, 0x00000016 bne x7, x14, csr_fail csrrsi x14, 834, 0b11010 - li x7, 0x00000007 + li x7, 0x00000017 bne x7, x14, csr_fail - csrrsi x14, 834, 0b11101 + csrrsi x14, 834, 0b11010 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, 0b10111 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, 0xff608013 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, 0xe04a60b4 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, 0x5a834c30 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, 0b11011 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, 0b10010 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, 0xd00125b6 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, 0xad2bf1f3 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, 0xadb5450d 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, 0b10011 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, 0b00001 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, 0b01110 + 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, 0x87064783 + csrrw x14, 23, x7 + li x7, 0x5a5a5a40 + bne x7, x14, csr_fail + li x7, 0xa5a5a5a5 + csrrs x14, 23, x7 + li x7, 0x87064780 + bne x7, x14, csr_fail + li x7, 0x5a5a5a5a + csrrs x14, 23, x7 + li x7, 0xa7a7e780 + bne x7, x14, csr_fail + li x7, 0x7b3962d5 + 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, 0x32327161 + 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, 0b01110 + 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, 0b01100 + 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, 0b11001 + 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 #