1# RUN: llvm-mc %s -triple=riscv32 -M no-aliases -show-encoding \ 2# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s 3# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \ 4# RUN: | llvm-objdump -d - \ 5# RUN: | FileCheck -check-prefix=CHECK-INST-ALIAS %s 6# 7# RUN: llvm-mc %s -triple=riscv64 -M no-aliases -show-encoding \ 8# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s 9# RUN: llvm-mc -filetype=obj -triple riscv64 < %s \ 10# RUN: | llvm-objdump -d - \ 11# RUN: | FileCheck -check-prefix=CHECK-INST-ALIAS %s 12 13################################## 14# Machine Information Registers 15################################## 16 17# mvendorid 18# name 19# CHECK-INST: csrrs t1, mvendorid, zero 20# CHECK-ENC: encoding: [0x73,0x23,0x10,0xf1] 21# CHECK-INST-ALIAS: csrr t1, mvendorid 22# uimm12 23# CHECK-INST: csrrs t2, mvendorid, zero 24# CHECK-ENC: encoding: [0xf3,0x23,0x10,0xf1] 25# CHECK-INST-ALIAS: csrr t2, mvendorid 26# name 27csrrs t1, mvendorid, zero 28# uimm12 29csrrs t2, 0xF11, zero 30 31# marchid 32# name 33# CHECK-INST: csrrs t1, marchid, zero 34# CHECK-ENC: encoding: [0x73,0x23,0x20,0xf1] 35# CHECK-INST-ALIAS: csrr t1, marchid 36# uimm12 37# CHECK-INST: csrrs t2, marchid, zero 38# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xf1] 39# CHECK-INST-ALIAS: csrr t2, marchid 40# name 41csrrs t1, marchid, zero 42# uimm12 43csrrs t2, 0xF12, zero 44 45# mimpid 46# name 47# CHECK-INST: csrrs t1, mimpid, zero 48# CHECK-ENC: encoding: [0x73,0x23,0x30,0xf1] 49# CHECK-INST-ALIAS: csrr t1, mimpid 50# uimm12 51# CHECK-INST: csrrs t2, mimpid, zero 52# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xf1] 53# CHECK-INST-ALIAS: csrr t2, mimpid 54csrrs t1, mimpid, zero 55# uimm12 56csrrs t2, 0xF13, zero 57 58# mhartid 59# name 60# CHECK-INST: csrrs t1, mhartid, zero 61# CHECK-ENC: encoding: [0x73,0x23,0x40,0xf1] 62# CHECK-INST-ALIAS: csrr t1, mhartid 63# uimm12 64# CHECK-INST: csrrs t2, mhartid, zero 65# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xf1] 66# CHECK-INST-ALIAS: csrr t2, mhartid 67# name 68csrrs t1, mhartid, zero 69# uimm12 70csrrs t2, 0xF14, zero 71 72# mconfigptr 73# name 74# CHECK-INST: csrrs t1, mconfigptr, zero 75# CHECK-ENC: encoding: [0x73,0x23,0x50,0xf1] 76# CHECK-INST-ALIAS: csrr t1, mconfigptr 77# uimm12 78# CHECK-INST: csrrs t2, mconfigptr, zero 79# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xf1] 80# CHECK-INST-ALIAS: csrr t2, mconfigptr 81# name 82csrrs t1, mconfigptr, zero 83# uimm12 84csrrs t2, 0xF15, zero 85 86################################## 87# Machine Trap Setup 88################################## 89 90# mstatus 91# name 92# CHECK-INST: csrrs t1, mstatus, zero 93# CHECK-ENC: encoding: [0x73,0x23,0x00,0x30] 94# CHECK-INST-ALIAS: csrr t1, mstatus 95# uimm12 96# CHECK-INST: csrrs t2, mstatus, zero 97# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x30] 98# CHECK-INST-ALIAS: csrr t2, mstatus 99# name 100csrrs t1, mstatus, zero 101# uimm12 102csrrs t2, 0x300, zero 103 104# misa 105# name 106# CHECK-INST: csrrs t1, misa, zero 107# CHECK-ENC: encoding: [0x73,0x23,0x10,0x30] 108# CHECK-INST-ALIAS: csrr t1, misa 109# uimm12 110# CHECK-INST: csrrs t2, misa, zero 111# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x30] 112# CHECK-INST-ALIAS: csrr t2, misa 113# name 114csrrs t1, misa, zero 115# uimm12 116csrrs t2, 0x301, zero 117 118# medeleg 119# name 120# CHECK-INST: csrrs t1, medeleg, zero 121# CHECK-ENC: encoding: [0x73,0x23,0x20,0x30] 122# CHECK-INST-ALIAS: csrr t1, medeleg 123# uimm12 124# CHECK-INST: csrrs t2, medeleg, zero 125# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x30] 126# CHECK-INST-ALIAS: csrr t2, medeleg 127# name 128csrrs t1, medeleg, zero 129# uimm12 130csrrs t2, 0x302, zero 131# aliases 132 133# mideleg 134# name 135# CHECK-INST: csrrs t1, mideleg, zero 136# CHECK-ENC: encoding: [0x73,0x23,0x30,0x30] 137# CHECK-INST-ALIAS: csrr t1, mideleg 138# uimm12 139# CHECK-INST: csrrs t2, mideleg, zero 140# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x30] 141# CHECK-INST-ALIAS: csrr t2, mideleg 142# aliases 143# name 144csrrs t1, mideleg, zero 145# uimm12 146csrrs t2, 0x303, zero 147 148# mie 149# name 150# CHECK-INST: csrrs t1, mie, zero 151# CHECK-ENC: encoding: [0x73,0x23,0x40,0x30] 152# CHECK-INST-ALIAS: csrr t1, mie 153# uimm12 154# CHECK-INST: csrrs t2, mie, zero 155# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x30] 156# CHECK-INST-ALIAS: csrr t2, mie 157# name 158csrrs t1, mie, zero 159# uimm12 160csrrs t2, 0x304, zero 161 162# mtvec 163# name 164# CHECK-INST: csrrs t1, mtvec, zero 165# CHECK-ENC: encoding: [0x73,0x23,0x50,0x30] 166# CHECK-INST-ALIAS: csrr t1, mtvec 167# uimm12 168# CHECK-INST: csrrs t2, mtvec, zero 169# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x30] 170# CHECK-INST-ALIAS: csrr t2, mtvec 171# name 172csrrs t1, mtvec, zero 173# uimm12 174csrrs t2, 0x305, zero 175 176# mcounteren 177# name 178# CHECK-INST: csrrs t1, mcounteren, zero 179# CHECK-ENC: encoding: [0x73,0x23,0x60,0x30] 180# CHECK-INST-ALIAS: csrr t1, mcounteren 181# uimm12 182# CHECK-INST: csrrs t2, mcounteren, zero 183# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x30] 184# CHECK-INST-ALIAS: csrr t2, mcounteren 185# name 186csrrs t1, mcounteren, zero 187# uimm12 188csrrs t2, 0x306, zero 189 190# mscratch 191# name 192# CHECK-INST: csrrs t1, mscratch, zero 193# CHECK-ENC: encoding: [0x73,0x23,0x00,0x34] 194# CHECK-INST-ALIAS: csrr t1, mscratch 195# uimm12 196# CHECK-INST: csrrs t2, mscratch, zero 197# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x34] 198# CHECK-INST-ALIAS: csrr t2, mscratch 199# name 200csrrs t1, mscratch, zero 201# uimm12 202csrrs t2, 0x340, zero 203 204# mepc 205# name 206# CHECK-INST: csrrs t1, mepc, zero 207# CHECK-ENC: encoding: [0x73,0x23,0x10,0x34] 208# CHECK-INST-ALIAS: csrr t1, mepc 209# uimm12 210# CHECK-INST: csrrs t2, mepc, zero 211# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x34] 212# CHECK-INST-ALIAS: csrr t2, mepc 213# name 214csrrs t1, mepc, zero 215# uimm12 216csrrs t2, 0x341, zero 217 218# mcause 219# name 220# CHECK-INST: csrrs t1, mcause, zero 221# CHECK-ENC: encoding: [0x73,0x23,0x20,0x34] 222# CHECK-INST-ALIAS: csrr t1, mcause 223# uimm12 224# CHECK-INST: csrrs t2, mcause, zero 225# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x34] 226# CHECK-INST-ALIAS: csrr t2, mcause 227# name 228csrrs t1, mcause, zero 229# uimm12 230csrrs t2, 0x342, zero 231 232# mtval 233# name 234# CHECK-INST: csrrs t1, mtval, zero 235# CHECK-ENC: encoding: [0x73,0x23,0x30,0x34] 236# CHECK-INST-ALIAS: csrr t1, mtval 237# uimm12 238# CHECK-INST: csrrs t2, mtval, zero 239# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x34] 240# CHECK-INST-ALIAS: csrr t2, mtval 241# name 242csrrs t1, mtval, zero 243# uimm12 244csrrs t2, 0x343, zero 245 246# mip 247# name 248# CHECK-INST: csrrs t1, mip, zero 249# CHECK-ENC: encoding: [0x73,0x23,0x40,0x34] 250# CHECK-INST-ALIAS: csrr t1, mip 251# uimm12 252# CHECK-INST: csrrs t2, mip, zero 253# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x34] 254# CHECK-INST-ALIAS: csrr t2, mip 255# name 256csrrs t1, mip, zero 257# uimm12 258csrrs t2, 0x344, zero 259 260# mtinst 261# name 262# CHECK-INST: csrrs t1, mtinst, zero 263# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x34] 264# CHECK-INST-ALIAS: csrr t1, mtinst 265# uimm12 266# CHECK-INST: csrrs t2, mtinst, zero 267# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x34] 268# CHECK-INST-ALIAS: csrr t2, mtinst 269# name 270csrrs t1, mtinst, zero 271# uimm12 272csrrs t2, 0x34A, zero 273 274# mtval2 275# name 276# CHECK-INST: csrrs t1, mtval2, zero 277# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x34] 278# CHECK-INST-ALIAS: csrr t1, mtval2 279# uimm12 280# CHECK-INST: csrrs t2, mtval2, zero 281# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x34] 282# CHECK-INST-ALIAS: csrr t2, mtval2 283# name 284csrrs t1, mtval2, zero 285# uimm12 286csrrs t2, 0x34B, zero 287 288######################### 289# Machine Configuration 290######################### 291 292# menvcfg 293# name 294# CHECK-INST: csrrs t1, menvcfg, zero 295# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x30] 296# CHECK-INST-ALIAS: csrr t1, menvcfg 297# uimm12 298# CHECK-INST: csrrs t2, menvcfg, zero 299# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x30] 300# CHECK-INST-ALIAS: csrr t2, menvcfg 301# name 302csrrs t1, menvcfg, zero 303# uimm12 304csrrs t2, 0x30A, zero 305 306# mseccfg 307# name 308# CHECK-INST: csrrs t1, mseccfg, zero 309# CHECK-ENC: encoding: [0x73,0x23,0x70,0x74] 310# CHECK-INST-ALIAS: csrr t1, mseccfg 311# uimm12 312# CHECK-INST: csrrs t2, mseccfg, zero 313# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x74] 314# CHECK-INST-ALIAS: csrr t2, mseccfg 315# name 316csrrs t1, mseccfg, zero 317# uimm12 318csrrs t2, 0x747, zero 319 320###################################### 321# Machine Protection and Translation 322###################################### 323# Tests for pmpcfg1, pmpcfg2 in rv32-machine-csr-names.s 324 325# pmpcfg0 326# name 327# CHECK-INST: csrrs t1, pmpcfg0, zero 328# CHECK-ENC: encoding: [0x73,0x23,0x00,0x3a] 329# CHECK-INST-ALIAS: csrr t1, pmpcfg0 330# uimm12 331# CHECK-INST: csrrs t2, pmpcfg0, zero 332# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x3a] 333# CHECK-INST-ALIAS: csrr t2, pmpcfg0 334# name 335csrrs t1, pmpcfg0, zero 336# uimm12 337csrrs t2, 0x3A0, zero 338 339# pmpcfg2 340# name 341# CHECK-INST: csrrs t1, pmpcfg2, zero 342# CHECK-ENC: encoding: [0x73,0x23,0x20,0x3a] 343# CHECK-INST-ALIAS: csrr t1, pmpcfg2 344# uimm12 345# CHECK-INST: csrrs t2, pmpcfg2, zero 346# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x3a] 347# CHECK-INST-ALIAS: csrr t2, pmpcfg2 348# name 349csrrs t1, pmpcfg2, zero 350# uimm12 351csrrs t2, 0x3A2, zero 352 353# pmpcfg4 354# name 355# CHECK-INST: csrrs t1, pmpcfg4, zero 356# CHECK-ENC: encoding: [0x73,0x23,0x40,0x3a] 357# CHECK-INST-ALIAS: csrr t1, pmpcfg4 358# uimm12 359# CHECK-INST: csrrs t2, pmpcfg4, zero 360# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x3a] 361# CHECK-INST-ALIAS: csrr t2, pmpcfg4 362# name 363csrrs t1, pmpcfg4, zero 364# uimm12 365csrrs t2, 0x3A4, zero 366 367# pmpcfg6 368# name 369# CHECK-INST: csrrs t1, pmpcfg6, zero 370# CHECK-ENC: encoding: [0x73,0x23,0x60,0x3a] 371# CHECK-INST-ALIAS: csrr t1, pmpcfg6 372# uimm12 373# CHECK-INST: csrrs t2, pmpcfg6, zero 374# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x3a] 375# CHECK-INST-ALIAS: csrr t2, pmpcfg6 376# name 377csrrs t1, pmpcfg6, zero 378# uimm12 379csrrs t2, 0x3A6, zero 380 381# pmpcfg8 382# name 383# CHECK-INST: csrrs t1, pmpcfg8, zero 384# CHECK-ENC: encoding: [0x73,0x23,0x80,0x3a] 385# CHECK-INST-ALIAS: csrr t1, pmpcfg8 386# uimm12 387# CHECK-INST: csrrs t2, pmpcfg8, zero 388# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x3a] 389# CHECK-INST-ALIAS: csrr t2, pmpcfg8 390# name 391csrrs t1, pmpcfg8, zero 392# uimm12 393csrrs t2, 0x3A8, zero 394 395# pmpcfg10 396# name 397# CHECK-INST: csrrs t1, pmpcfg10, zero 398# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x3a] 399# CHECK-INST-ALIAS: csrr t1, pmpcfg10 400# uimm12 401# CHECK-INST: csrrs t2, pmpcfg10, zero 402# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x3a] 403# CHECK-INST-ALIAS: csrr t2, pmpcfg10 404# name 405csrrs t1, pmpcfg10, zero 406# uimm12 407csrrs t2, 0x3AA, zero 408 409# pmpcfg12 410# name 411# CHECK-INST: csrrs t1, pmpcfg12, zero 412# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x3a] 413# CHECK-INST-ALIAS: csrr t1, pmpcfg12 414# uimm12 415# CHECK-INST: csrrs t2, pmpcfg12, zero 416# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x3a] 417# CHECK-INST-ALIAS: csrr t2, pmpcfg12 418# name 419csrrs t1, pmpcfg12, zero 420# uimm12 421csrrs t2, 0x3AC, zero 422 423# pmpcfg14 424# name 425# CHECK-INST: csrrs t1, pmpcfg14, zero 426# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x3a] 427# CHECK-INST-ALIAS: csrr t1, pmpcfg14 428# uimm12 429# CHECK-INST: csrrs t2, pmpcfg14, zero 430# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x3a] 431# CHECK-INST-ALIAS: csrr t2, pmpcfg14 432# name 433csrrs t1, pmpcfg14, zero 434# uimm12 435csrrs t2, 0x3AE, zero 436 437# pmpaddr0 438# name 439# CHECK-INST: csrrs t1, pmpaddr0, zero 440# CHECK-ENC: encoding: [0x73,0x23,0x00,0x3b] 441# CHECK-INST-ALIAS: csrr t1, pmpaddr0 442# uimm12 443# CHECK-INST: csrrs t2, pmpaddr0, zero 444# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x3b] 445# CHECK-INST-ALIAS: csrr t2, pmpaddr0 446# name 447csrrs t1, pmpaddr0, zero 448# uimm12 449csrrs t2, 0x3B0, zero 450 451# pmpaddr1 452# name 453# CHECK-INST: csrrs t1, pmpaddr1, zero 454# CHECK-ENC: encoding: [0x73,0x23,0x10,0x3b] 455# CHECK-INST-ALIAS: csrr t1, pmpaddr1 456# uimm12 457# CHECK-INST: csrrs t2, pmpaddr1, zero 458# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3b] 459# CHECK-INST-ALIAS: csrr t2, pmpaddr1 460# name 461csrrs t1, pmpaddr1, zero 462# uimm12 463csrrs t2, 0x3B1, zero 464 465# pmpaddr2 466# name 467# CHECK-INST: csrrs t1, pmpaddr2, zero 468# CHECK-ENC: encoding: [0x73,0x23,0x20,0x3b] 469# CHECK-INST-ALIAS: csrr t1, pmpaddr2 470# uimm12 471# CHECK-INST: csrrs t2, pmpaddr2, zero 472# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x3b] 473# CHECK-INST-ALIAS: csrr t2, pmpaddr2 474# name 475csrrs t1, pmpaddr2, zero 476# uimm12 477csrrs t2, 0x3B2, zero 478 479# pmpaddr3 480# name 481# CHECK-INST: csrrs t1, pmpaddr3, zero 482# CHECK-ENC: encoding: [0x73,0x23,0x30,0x3b] 483# CHECK-INST-ALIAS: csrr t1, pmpaddr3 484# uimm12 485# CHECK-INST: csrrs t2, pmpaddr3, zero 486# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3b] 487# CHECK-INST-ALIAS: csrr t2, pmpaddr3 488# name 489csrrs t1, pmpaddr3, zero 490# uimm12 491csrrs t2, 0x3B3, zero 492 493# pmpaddr4 494# name 495# CHECK-INST: csrrs t1, pmpaddr4, zero 496# CHECK-ENC: encoding: [0x73,0x23,0x40,0x3b] 497# CHECK-INST-ALIAS: csrr t1, pmpaddr4 498# uimm12 499# CHECK-INST: csrrs t2, pmpaddr4, zero 500# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x3b] 501# CHECK-INST-ALIAS: csrr t2, pmpaddr4 502# name 503csrrs t1, pmpaddr4, zero 504# uimm12 505csrrs t2, 0x3B4, zero 506 507# pmpaddr5 508# name 509# CHECK-INST: csrrs t1, pmpaddr5, zero 510# CHECK-ENC: encoding: [0x73,0x23,0x50,0x3b] 511# CHECK-INST-ALIAS: csrr t1, pmpaddr5 512# uimm12 513# CHECK-INST: csrrs t2, pmpaddr5, zero 514# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x3b] 515# CHECK-INST-ALIAS: csrr t2, pmpaddr5 516# name 517csrrs t1, pmpaddr5, zero 518# uimm12 519csrrs t2, 0x3B5, zero 520 521# pmpaddr6 522# name 523# CHECK-INST: csrrs t1, pmpaddr6, zero 524# CHECK-ENC: encoding: [0x73,0x23,0x60,0x3b] 525# CHECK-INST-ALIAS: csrr t1, pmpaddr6 526# uimm12 527# CHECK-INST: csrrs t2, pmpaddr6, zero 528# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x3b] 529# CHECK-INST-ALIAS: csrr t2, pmpaddr6 530# name 531csrrs t1, pmpaddr6, zero 532# uimm12 533csrrs t2, 0x3B6, zero 534 535# pmpaddr7 536# name 537# CHECK-INST: csrrs t1, pmpaddr7, zero 538# CHECK-ENC: encoding: [0x73,0x23,0x70,0x3b] 539# CHECK-INST-ALIAS: csrr t1, pmpaddr7 540# uimm12 541# CHECK-INST: csrrs t2, pmpaddr7, zero 542# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x3b] 543# CHECK-INST-ALIAS: csrr t2, pmpaddr7 544# name 545csrrs t1, pmpaddr7, zero 546# uimm12 547csrrs t2, 0x3B7, zero 548 549# pmpaddr8 550# name 551# CHECK-INST: csrrs t1, pmpaddr8, zero 552# CHECK-ENC: encoding: [0x73,0x23,0x80,0x3b] 553# CHECK-INST-ALIAS: csrr t1, pmpaddr8 554# uimm12 555# CHECK-INST: csrrs t2, pmpaddr8, zero 556# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x3b] 557# CHECK-INST-ALIAS: csrr t2, pmpaddr8 558# name 559csrrs t1, pmpaddr8, zero 560# uimm12 561csrrs t2, 0x3B8, zero 562 563# pmpaddr9 564# name 565# CHECK-INST: csrrs t1, pmpaddr9, zero 566# CHECK-ENC: encoding: [0x73,0x23,0x90,0x3b] 567# CHECK-INST-ALIAS: csrr t1, pmpaddr9 568# uimm12 569# CHECK-INST: csrrs t2, pmpaddr9, zero 570# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x3b] 571# CHECK-INST-ALIAS: csrr t2, pmpaddr9 572# name 573csrrs t1, pmpaddr9, zero 574# uimm12 575csrrs t2, 0x3B9, zero 576 577# pmpaddr10 578# name 579# CHECK-INST: csrrs t1, pmpaddr10, zero 580# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x3b] 581# CHECK-INST-ALIAS: csrr t1, pmpaddr10 582# uimm12 583# CHECK-INST: csrrs t2, pmpaddr10, zero 584# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x3b] 585# CHECK-INST-ALIAS: csrr t2, pmpaddr10 586# name 587csrrs t1, pmpaddr10, zero 588# uimm12 589csrrs t2, 0x3BA, zero 590 591# pmpaddr11 592# name 593# CHECK-INST: csrrs t1, pmpaddr11, zero 594# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x3b] 595# CHECK-INST-ALIAS: csrr t1, pmpaddr11 596# uimm12 597# CHECK-INST: csrrs t2, pmpaddr11, zero 598# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x3b] 599# CHECK-INST-ALIAS: csrr t2, pmpaddr11 600# name 601csrrs t1, pmpaddr11, zero 602# uimm12 603csrrs t2, 0x3BB, zero 604 605# pmpaddr12 606# name 607# CHECK-INST: csrrs t1, pmpaddr12, zero 608# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x3b] 609# CHECK-INST-ALIAS: csrr t1, pmpaddr12 610# uimm12 611# CHECK-INST: csrrs t2, pmpaddr12, zero 612# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x3b] 613# CHECK-INST-ALIAS: csrr t2, pmpaddr12 614# name 615csrrs t1, pmpaddr12, zero 616# uimm12 617csrrs t2, 0x3BC, zero 618 619# pmpaddr13 620# name 621# CHECK-INST: csrrs t1, pmpaddr13, zero 622# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x3b] 623# CHECK-INST-ALIAS: csrr t1, pmpaddr13 624# uimm12 625# CHECK-INST: csrrs t2, pmpaddr13, zero 626# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x3b] 627# CHECK-INST-ALIAS: csrr t2, pmpaddr13 628# name 629csrrs t1, pmpaddr13, zero 630# uimm12 631csrrs t2, 0x3BD, zero 632 633# pmpaddr14 634# name 635# CHECK-INST: csrrs t1, pmpaddr14, zero 636# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x3b] 637# CHECK-INST-ALIAS: csrr t1, pmpaddr14 638# uimm12 639# CHECK-INST: csrrs t2, pmpaddr14, zero 640# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x3b] 641# CHECK-INST-ALIAS: csrr t2, pmpaddr14 642# name 643csrrs t1, pmpaddr14, zero 644# uimm12 645csrrs t2, 0x3BE, zero 646 647# pmpaddr15 648# name 649# CHECK-INST: csrrs t1, pmpaddr15, zero 650# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x3b] 651# CHECK-INST-ALIAS: csrr t1, pmpaddr15 652# uimm12 653# CHECK-INST: csrrs t2, pmpaddr15, zero 654# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x3b] 655# CHECK-INST-ALIAS: csrr t2, pmpaddr15 656# name 657csrrs t1, pmpaddr15, zero 658# uimm12 659csrrs t2, 0x3BF, zero 660 661# pmpaddr16 662# name 663# CHECK-INST: csrrs t1, pmpaddr16, zero 664# CHECK-ENC: encoding: [0x73,0x23,0x00,0x3c] 665# CHECK-INST-ALIAS: csrr t1, pmpaddr16 666# uimm12 667# CHECK-INST: csrrs t2, pmpaddr16, zero 668# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x3c] 669# CHECK-INST-ALIAS: csrr t2, pmpaddr16 670# name 671csrrs t1, pmpaddr16, zero 672# uimm12 673csrrs t2, 0X3C0, zero 674 675# pmpaddr17 676# name 677# CHECK-INST: csrrs t1, pmpaddr17, zero 678# CHECK-ENC: encoding: [0x73,0x23,0x10,0x3c] 679# CHECK-INST-ALIAS: csrr t1, pmpaddr17 680# uimm12 681# CHECK-INST: csrrs t2, pmpaddr17, zero 682# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3c] 683# CHECK-INST-ALIAS: csrr t2, pmpaddr17 684# name 685csrrs t1, pmpaddr17, zero 686# uimm12 687csrrs t2, 0X3C1, zero 688 689# pmpaddr18 690# name 691# CHECK-INST: csrrs t1, pmpaddr18, zero 692# CHECK-ENC: encoding: [0x73,0x23,0x20,0x3c] 693# CHECK-INST-ALIAS: csrr t1, pmpaddr18 694# uimm12 695# CHECK-INST: csrrs t2, pmpaddr18, zero 696# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x3c] 697# CHECK-INST-ALIAS: csrr t2, pmpaddr18 698# name 699csrrs t1, pmpaddr18, zero 700# uimm12 701csrrs t2, 0X3C2, zero 702 703# pmpaddr19 704# name 705# CHECK-INST: csrrs t1, pmpaddr19, zero 706# CHECK-ENC: encoding: [0x73,0x23,0x30,0x3c] 707# CHECK-INST-ALIAS: csrr t1, pmpaddr19 708# uimm12 709# CHECK-INST: csrrs t2, pmpaddr19, zero 710# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3c] 711# CHECK-INST-ALIAS: csrr t2, pmpaddr19 712# name 713csrrs t1, pmpaddr19, zero 714# uimm12 715csrrs t2, 0X3C3, zero 716 717# pmpaddr20 718# name 719# CHECK-INST: csrrs t1, pmpaddr20, zero 720# CHECK-ENC: encoding: [0x73,0x23,0x40,0x3c] 721# CHECK-INST-ALIAS: csrr t1, pmpaddr20 722# uimm12 723# CHECK-INST: csrrs t2, pmpaddr20, zero 724# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x3c] 725# CHECK-INST-ALIAS: csrr t2, pmpaddr20 726# name 727csrrs t1, pmpaddr20, zero 728# uimm12 729csrrs t2, 0X3C4, zero 730 731# pmpaddr21 732# name 733# CHECK-INST: csrrs t1, pmpaddr21, zero 734# CHECK-ENC: encoding: [0x73,0x23,0x50,0x3c] 735# CHECK-INST-ALIAS: csrr t1, pmpaddr21 736# uimm12 737# CHECK-INST: csrrs t2, pmpaddr21, zero 738# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x3c] 739# CHECK-INST-ALIAS: csrr t2, pmpaddr21 740# name 741csrrs t1, pmpaddr21, zero 742# uimm12 743csrrs t2, 0X3C5, zero 744 745# pmpaddr22 746# name 747# CHECK-INST: csrrs t1, pmpaddr22, zero 748# CHECK-ENC: encoding: [0x73,0x23,0x60,0x3c] 749# CHECK-INST-ALIAS: csrr t1, pmpaddr22 750# uimm12 751# CHECK-INST: csrrs t2, pmpaddr22, zero 752# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x3c] 753# CHECK-INST-ALIAS: csrr t2, pmpaddr22 754# name 755csrrs t1, pmpaddr22, zero 756# uimm12 757csrrs t2, 0X3C6, zero 758 759# pmpaddr23 760# name 761# CHECK-INST: csrrs t1, pmpaddr23, zero 762# CHECK-ENC: encoding: [0x73,0x23,0x70,0x3c] 763# CHECK-INST-ALIAS: csrr t1, pmpaddr23 764# uimm12 765# CHECK-INST: csrrs t2, pmpaddr23, zero 766# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x3c] 767# CHECK-INST-ALIAS: csrr t2, pmpaddr23 768# name 769csrrs t1, pmpaddr23, zero 770# uimm12 771csrrs t2, 0X3C7, zero 772 773# pmpaddr24 774# name 775# CHECK-INST: csrrs t1, pmpaddr24, zero 776# CHECK-ENC: encoding: [0x73,0x23,0x80,0x3c] 777# CHECK-INST-ALIAS: csrr t1, pmpaddr24 778# uimm12 779# CHECK-INST: csrrs t2, pmpaddr24, zero 780# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x3c] 781# CHECK-INST-ALIAS: csrr t2, pmpaddr24 782# name 783csrrs t1, pmpaddr24, zero 784# uimm12 785csrrs t2, 0X3C8, zero 786 787# pmpaddr25 788# name 789# CHECK-INST: csrrs t1, pmpaddr25, zero 790# CHECK-ENC: encoding: [0x73,0x23,0x90,0x3c] 791# CHECK-INST-ALIAS: csrr t1, pmpaddr25 792# uimm12 793# CHECK-INST: csrrs t2, pmpaddr25, zero 794# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x3c] 795# CHECK-INST-ALIAS: csrr t2, pmpaddr25 796# name 797csrrs t1, pmpaddr25, zero 798# uimm12 799csrrs t2, 0X3C9, zero 800 801# pmpaddr26 802# name 803# CHECK-INST: csrrs t1, pmpaddr26, zero 804# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x3c] 805# CHECK-INST-ALIAS: csrr t1, pmpaddr26 806# uimm12 807# CHECK-INST: csrrs t2, pmpaddr26, zero 808# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x3c] 809# CHECK-INST-ALIAS: csrr t2, pmpaddr26 810# name 811csrrs t1, pmpaddr26, zero 812# uimm12 813csrrs t2, 0X3CA, zero 814 815# pmpaddr27 816# name 817# CHECK-INST: csrrs t1, pmpaddr27, zero 818# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x3c] 819# CHECK-INST-ALIAS: csrr t1, pmpaddr27 820# uimm12 821# CHECK-INST: csrrs t2, pmpaddr27, zero 822# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x3c] 823# CHECK-INST-ALIAS: csrr t2, pmpaddr27 824# name 825csrrs t1, pmpaddr27, zero 826# uimm12 827csrrs t2, 0X3CB, zero 828 829# pmpaddr28 830# name 831# CHECK-INST: csrrs t1, pmpaddr28, zero 832# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x3c] 833# CHECK-INST-ALIAS: csrr t1, pmpaddr28 834# uimm12 835# CHECK-INST: csrrs t2, pmpaddr28, zero 836# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x3c] 837# CHECK-INST-ALIAS: csrr t2, pmpaddr28 838# name 839csrrs t1, pmpaddr28, zero 840# uimm12 841csrrs t2, 0X3CC, zero 842 843# pmpaddr29 844# name 845# CHECK-INST: csrrs t1, pmpaddr29, zero 846# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x3c] 847# CHECK-INST-ALIAS: csrr t1, pmpaddr29 848# uimm12 849# CHECK-INST: csrrs t2, pmpaddr29, zero 850# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x3c] 851# CHECK-INST-ALIAS: csrr t2, pmpaddr29 852# name 853csrrs t1, pmpaddr29, zero 854# uimm12 855csrrs t2, 0X3CD, zero 856 857# pmpaddr30 858# name 859# CHECK-INST: csrrs t1, pmpaddr30, zero 860# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x3c] 861# CHECK-INST-ALIAS: csrr t1, pmpaddr30 862# uimm12 863# CHECK-INST: csrrs t2, pmpaddr30, zero 864# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x3c] 865# CHECK-INST-ALIAS: csrr t2, pmpaddr30 866# name 867csrrs t1, pmpaddr30, zero 868# uimm12 869csrrs t2, 0X3CE, zero 870 871# pmpaddr31 872# name 873# CHECK-INST: csrrs t1, pmpaddr31, zero 874# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x3c] 875# CHECK-INST-ALIAS: csrr t1, pmpaddr31 876# uimm12 877# CHECK-INST: csrrs t2, pmpaddr31, zero 878# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x3c] 879# CHECK-INST-ALIAS: csrr t2, pmpaddr31 880# name 881csrrs t1, pmpaddr31, zero 882# uimm12 883csrrs t2, 0X3CF, zero 884 885# pmpaddr32 886# name 887# CHECK-INST: csrrs t1, pmpaddr32, zero 888# CHECK-ENC: encoding: [0x73,0x23,0x00,0x3d] 889# CHECK-INST-ALIAS: csrr t1, pmpaddr32 890# uimm12 891# CHECK-INST: csrrs t2, pmpaddr32, zero 892# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x3d] 893# CHECK-INST-ALIAS: csrr t2, pmpaddr32 894# name 895csrrs t1, pmpaddr32, zero 896# uimm12 897csrrs t2, 0X3D0, zero 898 899# pmpaddr33 900# name 901# CHECK-INST: csrrs t1, pmpaddr33, zero 902# CHECK-ENC: encoding: [0x73,0x23,0x10,0x3d] 903# CHECK-INST-ALIAS: csrr t1, pmpaddr33 904# uimm12 905# CHECK-INST: csrrs t2, pmpaddr33, zero 906# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3d] 907# CHECK-INST-ALIAS: csrr t2, pmpaddr33 908# name 909csrrs t1, pmpaddr33, zero 910# uimm12 911csrrs t2, 0X3D1, zero 912 913# pmpaddr34 914# name 915# CHECK-INST: csrrs t1, pmpaddr34, zero 916# CHECK-ENC: encoding: [0x73,0x23,0x20,0x3d] 917# CHECK-INST-ALIAS: csrr t1, pmpaddr34 918# uimm12 919# CHECK-INST: csrrs t2, pmpaddr34, zero 920# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x3d] 921# CHECK-INST-ALIAS: csrr t2, pmpaddr34 922# name 923csrrs t1, pmpaddr34, zero 924# uimm12 925csrrs t2, 0X3D2, zero 926 927# pmpaddr35 928# name 929# CHECK-INST: csrrs t1, pmpaddr35, zero 930# CHECK-ENC: encoding: [0x73,0x23,0x30,0x3d] 931# CHECK-INST-ALIAS: csrr t1, pmpaddr35 932# uimm12 933# CHECK-INST: csrrs t2, pmpaddr35, zero 934# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3d] 935# CHECK-INST-ALIAS: csrr t2, pmpaddr35 936# name 937csrrs t1, pmpaddr35, zero 938# uimm12 939csrrs t2, 0X3D3, zero 940 941# pmpaddr36 942# name 943# CHECK-INST: csrrs t1, pmpaddr36, zero 944# CHECK-ENC: encoding: [0x73,0x23,0x40,0x3d] 945# CHECK-INST-ALIAS: csrr t1, pmpaddr36 946# uimm12 947# CHECK-INST: csrrs t2, pmpaddr36, zero 948# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x3d] 949# CHECK-INST-ALIAS: csrr t2, pmpaddr36 950# name 951csrrs t1, pmpaddr36, zero 952# uimm12 953csrrs t2, 0X3D4, zero 954 955# pmpaddr37 956# name 957# CHECK-INST: csrrs t1, pmpaddr37, zero 958# CHECK-ENC: encoding: [0x73,0x23,0x50,0x3d] 959# CHECK-INST-ALIAS: csrr t1, pmpaddr37 960# uimm12 961# CHECK-INST: csrrs t2, pmpaddr37, zero 962# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x3d] 963# CHECK-INST-ALIAS: csrr t2, pmpaddr37 964# name 965csrrs t1, pmpaddr37, zero 966# uimm12 967csrrs t2, 0X3D5, zero 968 969# pmpaddr38 970# name 971# CHECK-INST: csrrs t1, pmpaddr38, zero 972# CHECK-ENC: encoding: [0x73,0x23,0x60,0x3d] 973# CHECK-INST-ALIAS: csrr t1, pmpaddr38 974# uimm12 975# CHECK-INST: csrrs t2, pmpaddr38, zero 976# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x3d] 977# CHECK-INST-ALIAS: csrr t2, pmpaddr38 978# name 979csrrs t1, pmpaddr38, zero 980# uimm12 981csrrs t2, 0X3D6, zero 982 983# pmpaddr39 984# name 985# CHECK-INST: csrrs t1, pmpaddr39, zero 986# CHECK-ENC: encoding: [0x73,0x23,0x70,0x3d] 987# CHECK-INST-ALIAS: csrr t1, pmpaddr39 988# uimm12 989# CHECK-INST: csrrs t2, pmpaddr39, zero 990# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x3d] 991# CHECK-INST-ALIAS: csrr t2, pmpaddr39 992# name 993csrrs t1, pmpaddr39, zero 994# uimm12 995csrrs t2, 0X3D7, zero 996 997# pmpaddr40 998# name 999# CHECK-INST: csrrs t1, pmpaddr40, zero 1000# CHECK-ENC: encoding: [0x73,0x23,0x80,0x3d] 1001# CHECK-INST-ALIAS: csrr t1, pmpaddr40 1002# uimm12 1003# CHECK-INST: csrrs t2, pmpaddr40, zero 1004# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x3d] 1005# CHECK-INST-ALIAS: csrr t2, pmpaddr40 1006# name 1007csrrs t1, pmpaddr40, zero 1008# uimm12 1009csrrs t2, 0X3D8, zero 1010 1011# pmpaddr41 1012# name 1013# CHECK-INST: csrrs t1, pmpaddr41, zero 1014# CHECK-ENC: encoding: [0x73,0x23,0x90,0x3d] 1015# CHECK-INST-ALIAS: csrr t1, pmpaddr41 1016# uimm12 1017# CHECK-INST: csrrs t2, pmpaddr41, zero 1018# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x3d] 1019# CHECK-INST-ALIAS: csrr t2, pmpaddr41 1020# name 1021csrrs t1, pmpaddr41, zero 1022# uimm12 1023csrrs t2, 0X3D9, zero 1024 1025# pmpaddr42 1026# name 1027# CHECK-INST: csrrs t1, pmpaddr42, zero 1028# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x3d] 1029# CHECK-INST-ALIAS: csrr t1, pmpaddr42 1030# uimm12 1031# CHECK-INST: csrrs t2, pmpaddr42, zero 1032# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x3d] 1033# CHECK-INST-ALIAS: csrr t2, pmpaddr42 1034# name 1035csrrs t1, pmpaddr42, zero 1036# uimm12 1037csrrs t2, 0X3DA, zero 1038 1039# pmpaddr43 1040# name 1041# CHECK-INST: csrrs t1, pmpaddr43, zero 1042# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x3d] 1043# CHECK-INST-ALIAS: csrr t1, pmpaddr43 1044# uimm12 1045# CHECK-INST: csrrs t2, pmpaddr43, zero 1046# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x3d] 1047# CHECK-INST-ALIAS: csrr t2, pmpaddr43 1048# name 1049csrrs t1, pmpaddr43, zero 1050# uimm12 1051csrrs t2, 0X3DB, zero 1052 1053# pmpaddr44 1054# name 1055# CHECK-INST: csrrs t1, pmpaddr44, zero 1056# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x3d] 1057# CHECK-INST-ALIAS: csrr t1, pmpaddr44 1058# uimm12 1059# CHECK-INST: csrrs t2, pmpaddr44, zero 1060# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x3d] 1061# CHECK-INST-ALIAS: csrr t2, pmpaddr44 1062# name 1063csrrs t1, pmpaddr44, zero 1064# uimm12 1065csrrs t2, 0X3DC, zero 1066 1067# pmpaddr45 1068# name 1069# CHECK-INST: csrrs t1, pmpaddr45, zero 1070# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x3d] 1071# CHECK-INST-ALIAS: csrr t1, pmpaddr45 1072# uimm12 1073# CHECK-INST: csrrs t2, pmpaddr45, zero 1074# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x3d] 1075# CHECK-INST-ALIAS: csrr t2, pmpaddr45 1076# name 1077csrrs t1, pmpaddr45, zero 1078# uimm12 1079csrrs t2, 0X3DD, zero 1080 1081# pmpaddr46 1082# name 1083# CHECK-INST: csrrs t1, pmpaddr46, zero 1084# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x3d] 1085# CHECK-INST-ALIAS: csrr t1, pmpaddr46 1086# uimm12 1087# CHECK-INST: csrrs t2, pmpaddr46, zero 1088# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x3d] 1089# CHECK-INST-ALIAS: csrr t2, pmpaddr46 1090# name 1091csrrs t1, pmpaddr46, zero 1092# uimm12 1093csrrs t2, 0X3DE, zero 1094 1095# pmpaddr47 1096# name 1097# CHECK-INST: csrrs t1, pmpaddr47, zero 1098# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x3d] 1099# CHECK-INST-ALIAS: csrr t1, pmpaddr47 1100# uimm12 1101# CHECK-INST: csrrs t2, pmpaddr47, zero 1102# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x3d] 1103# CHECK-INST-ALIAS: csrr t2, pmpaddr47 1104# name 1105csrrs t1, pmpaddr47, zero 1106# uimm12 1107csrrs t2, 0X3DF, zero 1108 1109# pmpaddr48 1110# name 1111# CHECK-INST: csrrs t1, pmpaddr48, zero 1112# CHECK-ENC: encoding: [0x73,0x23,0x00,0x3e] 1113# CHECK-INST-ALIAS: csrr t1, pmpaddr48 1114# uimm12 1115# CHECK-INST: csrrs t2, pmpaddr48, zero 1116# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x3e] 1117# CHECK-INST-ALIAS: csrr t2, pmpaddr48 1118# name 1119csrrs t1, pmpaddr48, zero 1120# uimm12 1121csrrs t2, 0X3E0, zero 1122 1123# pmpaddr49 1124# name 1125# CHECK-INST: csrrs t1, pmpaddr49, zero 1126# CHECK-ENC: encoding: [0x73,0x23,0x10,0x3e] 1127# CHECK-INST-ALIAS: csrr t1, pmpaddr49 1128# uimm12 1129# CHECK-INST: csrrs t2, pmpaddr49, zero 1130# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3e] 1131# CHECK-INST-ALIAS: csrr t2, pmpaddr49 1132# name 1133csrrs t1, pmpaddr49, zero 1134# uimm12 1135csrrs t2, 0X3E1, zero 1136 1137# pmpaddr50 1138# name 1139# CHECK-INST: csrrs t1, pmpaddr50, zero 1140# CHECK-ENC: encoding: [0x73,0x23,0x20,0x3e] 1141# CHECK-INST-ALIAS: csrr t1, pmpaddr50 1142# uimm12 1143# CHECK-INST: csrrs t2, pmpaddr50, zero 1144# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x3e] 1145# CHECK-INST-ALIAS: csrr t2, pmpaddr50 1146# name 1147csrrs t1, pmpaddr50, zero 1148# uimm12 1149csrrs t2, 0X3E2, zero 1150 1151# pmpaddr51 1152# name 1153# CHECK-INST: csrrs t1, pmpaddr51, zero 1154# CHECK-ENC: encoding: [0x73,0x23,0x30,0x3e] 1155# CHECK-INST-ALIAS: csrr t1, pmpaddr51 1156# uimm12 1157# CHECK-INST: csrrs t2, pmpaddr51, zero 1158# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3e] 1159# CHECK-INST-ALIAS: csrr t2, pmpaddr51 1160# name 1161csrrs t1, pmpaddr51, zero 1162# uimm12 1163csrrs t2, 0X3E3, zero 1164 1165# pmpaddr52 1166# name 1167# CHECK-INST: csrrs t1, pmpaddr52, zero 1168# CHECK-ENC: encoding: [0x73,0x23,0x40,0x3e] 1169# CHECK-INST-ALIAS: csrr t1, pmpaddr52 1170# uimm12 1171# CHECK-INST: csrrs t2, pmpaddr52, zero 1172# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x3e] 1173# CHECK-INST-ALIAS: csrr t2, pmpaddr52 1174# name 1175csrrs t1, pmpaddr52, zero 1176# uimm12 1177csrrs t2, 0X3E4, zero 1178 1179# pmpaddr53 1180# name 1181# CHECK-INST: csrrs t1, pmpaddr53, zero 1182# CHECK-ENC: encoding: [0x73,0x23,0x50,0x3e] 1183# CHECK-INST-ALIAS: csrr t1, pmpaddr53 1184# uimm12 1185# CHECK-INST: csrrs t2, pmpaddr53, zero 1186# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x3e] 1187# CHECK-INST-ALIAS: csrr t2, pmpaddr53 1188# name 1189csrrs t1, pmpaddr53, zero 1190# uimm12 1191csrrs t2, 0X3E5, zero 1192 1193# pmpaddr54 1194# name 1195# CHECK-INST: csrrs t1, pmpaddr54, zero 1196# CHECK-ENC: encoding: [0x73,0x23,0x60,0x3e] 1197# CHECK-INST-ALIAS: csrr t1, pmpaddr54 1198# uimm12 1199# CHECK-INST: csrrs t2, pmpaddr54, zero 1200# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x3e] 1201# CHECK-INST-ALIAS: csrr t2, pmpaddr54 1202# name 1203csrrs t1, pmpaddr54, zero 1204# uimm12 1205csrrs t2, 0X3E6, zero 1206 1207# pmpaddr55 1208# name 1209# CHECK-INST: csrrs t1, pmpaddr55, zero 1210# CHECK-ENC: encoding: [0x73,0x23,0x70,0x3e] 1211# CHECK-INST-ALIAS: csrr t1, pmpaddr55 1212# uimm12 1213# CHECK-INST: csrrs t2, pmpaddr55, zero 1214# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x3e] 1215# CHECK-INST-ALIAS: csrr t2, pmpaddr55 1216# name 1217csrrs t1, pmpaddr55, zero 1218# uimm12 1219csrrs t2, 0X3E7, zero 1220 1221# pmpaddr56 1222# name 1223# CHECK-INST: csrrs t1, pmpaddr56, zero 1224# CHECK-ENC: encoding: [0x73,0x23,0x80,0x3e] 1225# CHECK-INST-ALIAS: csrr t1, pmpaddr56 1226# uimm12 1227# CHECK-INST: csrrs t2, pmpaddr56, zero 1228# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x3e] 1229# CHECK-INST-ALIAS: csrr t2, pmpaddr56 1230# name 1231csrrs t1, pmpaddr56, zero 1232# uimm12 1233csrrs t2, 0X3E8, zero 1234 1235# pmpaddr57 1236# name 1237# CHECK-INST: csrrs t1, pmpaddr57, zero 1238# CHECK-ENC: encoding: [0x73,0x23,0x90,0x3e] 1239# CHECK-INST-ALIAS: csrr t1, pmpaddr57 1240# uimm12 1241# CHECK-INST: csrrs t2, pmpaddr57, zero 1242# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x3e] 1243# CHECK-INST-ALIAS: csrr t2, pmpaddr57 1244# name 1245csrrs t1, pmpaddr57, zero 1246# uimm12 1247csrrs t2, 0X3E9, zero 1248 1249# pmpaddr58 1250# name 1251# CHECK-INST: csrrs t1, pmpaddr58, zero 1252# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x3e] 1253# CHECK-INST-ALIAS: csrr t1, pmpaddr58 1254# uimm12 1255# CHECK-INST: csrrs t2, pmpaddr58, zero 1256# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x3e] 1257# CHECK-INST-ALIAS: csrr t2, pmpaddr58 1258# name 1259csrrs t1, pmpaddr58, zero 1260# uimm12 1261csrrs t2, 0X3EA, zero 1262 1263# pmpaddr59 1264# name 1265# CHECK-INST: csrrs t1, pmpaddr59, zero 1266# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x3e] 1267# CHECK-INST-ALIAS: csrr t1, pmpaddr59 1268# uimm12 1269# CHECK-INST: csrrs t2, pmpaddr59, zero 1270# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x3e] 1271# CHECK-INST-ALIAS: csrr t2, pmpaddr59 1272# name 1273csrrs t1, pmpaddr59, zero 1274# uimm12 1275csrrs t2, 0X3EB, zero 1276 1277# pmpaddr60 1278# name 1279# CHECK-INST: csrrs t1, pmpaddr60, zero 1280# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x3e] 1281# CHECK-INST-ALIAS: csrr t1, pmpaddr60 1282# uimm12 1283# CHECK-INST: csrrs t2, pmpaddr60, zero 1284# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x3e] 1285# CHECK-INST-ALIAS: csrr t2, pmpaddr60 1286# name 1287csrrs t1, pmpaddr60, zero 1288# uimm12 1289csrrs t2, 0X3EC, zero 1290 1291# pmpaddr61 1292# name 1293# CHECK-INST: csrrs t1, pmpaddr61, zero 1294# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x3e] 1295# CHECK-INST-ALIAS: csrr t1, pmpaddr61 1296# uimm12 1297# CHECK-INST: csrrs t2, pmpaddr61, zero 1298# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x3e] 1299# CHECK-INST-ALIAS: csrr t2, pmpaddr61 1300# name 1301csrrs t1, pmpaddr61, zero 1302# uimm12 1303csrrs t2, 0X3ED, zero 1304 1305# pmpaddr62 1306# name 1307# CHECK-INST: csrrs t1, pmpaddr62, zero 1308# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x3e] 1309# CHECK-INST-ALIAS: csrr t1, pmpaddr62 1310# uimm12 1311# CHECK-INST: csrrs t2, pmpaddr62, zero 1312# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x3e] 1313# CHECK-INST-ALIAS: csrr t2, pmpaddr62 1314# name 1315csrrs t1, pmpaddr62, zero 1316# uimm12 1317csrrs t2, 0X3EE, zero 1318 1319# pmpaddr63 1320# name 1321# CHECK-INST: csrrs t1, pmpaddr63, zero 1322# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x3e] 1323# CHECK-INST-ALIAS: csrr t1, pmpaddr63 1324# uimm12 1325# CHECK-INST: csrrs t2, pmpaddr63, zero 1326# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x3e] 1327# CHECK-INST-ALIAS: csrr t2, pmpaddr63 1328# name 1329csrrs t1, pmpaddr63, zero 1330# uimm12 1331csrrs t2, 0X3EF, zero 1332 1333###################################### 1334# Machine Counter and Timers 1335###################################### 1336# mcycle 1337# name 1338# CHECK-INST: csrrs t1, mcycle, zero 1339# CHECK-ENC: encoding: [0x73,0x23,0x00,0xb0] 1340# CHECK-INST-ALIAS: csrr t1, mcycle 1341# uimm12 1342# CHECK-INST: csrrs t2, mcycle, zero 1343# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb0] 1344# CHECK-INST-ALIAS: csrr t2, mcycle 1345csrrs t1, mcycle, zero 1346# uimm12 1347csrrs t2, 0xB00, zero 1348 1349# minstret 1350# name 1351# CHECK-INST: csrrs t1, minstret, zero 1352# CHECK-ENC: encoding: [0x73,0x23,0x20,0xb0] 1353# CHECK-INST-ALIAS: csrr t1, minstret 1354# uimm12 1355# CHECK-INST: csrrs t2, minstret, zero 1356# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb0] 1357# CHECK-INST-ALIAS: csrr t2, minstret 1358# name 1359csrrs t1, minstret, zero 1360# uimm12 1361csrrs t2, 0xB02, zero 1362 1363 1364###################################################### 1365# Debug and Trace Registers (shared with Debug Mode) 1366###################################################### 1367# tselect 1368# name 1369# CHECK-INST: csrrs t1, tselect, zero 1370# CHECK-ENC: encoding: [0x73,0x23,0x00,0x7a] 1371# CHECK-INST-ALIAS: csrr t1, tselect 1372# uimm12 1373# CHECK-INST: csrrs t2, tselect, zero 1374# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x7a] 1375# CHECK-INST-ALIAS: csrr t2, tselect 1376# name 1377csrrs t1, tselect, zero 1378# uimm12 1379csrrs t2, 0x7A0, zero 1380 1381# tdata1 1382# name 1383# CHECK-INST: csrrs t1, tdata1, zero 1384# CHECK-ENC: encoding: [0x73,0x23,0x10,0x7a] 1385# CHECK-INST-ALIAS: csrr t1, tdata1 1386# uimm12 1387# CHECK-INST: csrrs t2, tdata1, zero 1388# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x7a] 1389# CHECK-INST-ALIAS: csrr t2, tdata1 1390# name 1391csrrs t1, tdata1, zero 1392# uimm12 1393csrrs t2, 0x7A1, zero 1394 1395# tdata2 1396# name 1397# CHECK-INST: csrrs t1, tdata2, zero 1398# CHECK-ENC: encoding: [0x73,0x23,0x20,0x7a] 1399# CHECK-INST-ALIAS: csrr t1, tdata2 1400# uimm12 1401# CHECK-INST: csrrs t2, tdata2, zero 1402# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x7a] 1403# CHECK-INST-ALIAS: csrr t2, tdata2 1404csrrs t1, tdata2, zero 1405# uimm12 1406csrrs t2, 0x7A2, zero 1407 1408# tdata3 1409# name 1410# CHECK-INST: csrrs t1, tdata3, zero 1411# CHECK-ENC: encoding: [0x73,0x23,0x30,0x7a] 1412# CHECK-INST-ALIAS: csrr t1, tdata3 1413# uimm12 1414# CHECK-INST: csrrs t2, tdata3, zero 1415# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x7a] 1416# CHECK-INST-ALIAS: csrr t2, tdata3 1417# name 1418csrrs t1, tdata3, zero 1419# uimm12 1420csrrs t2, 0x7A3, zero 1421 1422# tinfo 1423# name 1424# CHECK-INST: csrrs t1, tinfo, zero 1425# CHECK-ENC: encoding: [0x73,0x23,0x40,0x7a] 1426# CHECK-INST-ALIAS: csrr t1, tinfo 1427# uimm12 1428# CHECK-INST: csrrs t2, tinfo, zero 1429# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x7a] 1430# CHECK-INST-ALIAS: csrr t2, tinfo 1431# name 1432csrrs t1, tinfo, zero 1433# uimm12 1434csrrs t2, 0x7A4, zero 1435 1436# tcontrol 1437# name 1438# CHECK-INST: csrrs t1, tcontrol, zero 1439# CHECK-ENC: encoding: [0x73,0x23,0x50,0x7a] 1440# CHECK-INST-ALIAS: csrr t1, tcontrol 1441# uimm12 1442# CHECK-INST: csrrs t2, tcontrol, zero 1443# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x7a] 1444# CHECK-INST-ALIAS: csrr t2, tcontrol 1445# name 1446csrrs t1, tcontrol, zero 1447# uimm12 1448csrrs t2, 0x7A5, zero 1449 1450# mcontext 1451# name 1452# CHECK-INST: csrrs t1, mcontext, zero 1453# CHECK-ENC: encoding: [0x73,0x23,0x80,0x7a] 1454# CHECK-INST-ALIAS: csrr t1, mcontext 1455# uimm12 1456# CHECK-INST: csrrs t2, mcontext, zero 1457# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x7a] 1458# CHECK-INST-ALIAS: csrr t2, mcontext 1459# name 1460csrrs t1, mcontext, zero 1461# uimm12 1462csrrs t2, 0x7A8, zero 1463 1464# mscontext 1465# name 1466# CHECK-INST: csrrs t1, mscontext, zero 1467# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x7a] 1468# CHECK-INST-ALIAS: csrr t1, mscontext 1469# uimm12 1470# CHECK-INST: csrrs t2, mscontext, zero 1471# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x7a] 1472# CHECK-INST-ALIAS: csrr t2, mscontext 1473# name 1474csrrs t1, mscontext, zero 1475# uimm12 1476csrrs t2, 0x7AA, zero 1477 1478####################### 1479# Debug Mode Registers 1480######################## 1481# dcsr 1482# name 1483# CHECK-INST: csrrs t1, dcsr, zero 1484# CHECK-ENC: encoding: [0x73,0x23,0x00,0x7b] 1485# CHECK-INST-ALIAS: csrr t1, dcsr 1486# uimm12 1487# CHECK-INST: csrrs t2, dcsr, zero 1488# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x7b] 1489# CHECK-INST-ALIAS: csrr t2, dcsr 1490# name 1491csrrs t1, dcsr, zero 1492# uimm12 1493csrrs t2, 0x7B0, zero 1494 1495# dpc 1496# name 1497# CHECK-INST: csrrs t1, dpc, zero 1498# CHECK-ENC: encoding: [0x73,0x23,0x10,0x7b] 1499# CHECK-INST-ALIAS: csrr t1, dpc 1500# uimm12 1501# CHECK-INST: csrrs t2, dpc, zero 1502# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x7b] 1503# CHECK-INST-ALIAS: csrr t2, dpc 1504# name 1505csrrs t1, dpc, zero 1506# uimm12 1507csrrs t2, 0x7B1, zero 1508 1509# dscratch0 1510# name 1511# CHECK-INST: csrrs t1, dscratch0, zero 1512# CHECK-ENC: encoding: [0x73,0x23,0x20,0x7b] 1513# CHECK-INST-ALIAS: csrr t1, dscratch0 1514# uimm12 1515# CHECK-INST: csrrs t2, dscratch0, zero 1516# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x7b] 1517# CHECK-INST-ALIAS: csrr t2, dscratch0 1518# name 1519csrrs t1, dscratch0, zero 1520# uimm12 1521csrrs t2, 0x7B2, zero 1522 1523# dscratch 1524# name 1525# CHECK-INST: csrrs t1, dscratch0, zero 1526# CHECK-ENC: encoding: [0x73,0x23,0x20,0x7b] 1527# CHECK-INST-ALIAS: csrr t1, dscratch0 1528# uimm12 1529# CHECK-INST: csrrs t2, dscratch0, zero 1530# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x7b] 1531# CHECK-INST-ALIAS: csrr t2, dscratch0 1532# name 1533csrrs t1, dscratch, zero 1534# uimm12 1535csrrs t2, 0x7B2, zero 1536 1537# dscratch1 1538# name 1539# CHECK-INST: csrrs t1, dscratch1, zero 1540# CHECK-ENC: encoding: [0x73,0x23,0x30,0x7b] 1541# CHECK-INST-ALIAS: csrr t1, dscratch1 1542# uimm12 1543# CHECK-INST: csrrs t2, dscratch1, zero 1544# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x7b] 1545# CHECK-INST-ALIAS: csrr t2, dscratch1 1546# name 1547csrrs t1, dscratch1, zero 1548# uimm12 1549csrrs t2, 0x7B3, zero 1550 1551# mhpmcounter3 1552# name 1553# CHECK-INST: csrrs t1, mhpmcounter3, zero 1554# CHECK-ENC: encoding: [0x73,0x23,0x30,0xb0] 1555# CHECK-INST-ALIAS: csrr t1, mhpmcounter3 1556# uimm12 1557# CHECK-INST: csrrs t2, mhpmcounter3, zero 1558# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb0] 1559# CHECK-INST-ALIAS: csrr t2, mhpmcounter3 1560# name 1561csrrs t1, mhpmcounter3, zero 1562# uimm12 1563csrrs t2, 0xB03, zero 1564 1565# mhpmcounter4 1566# name 1567# CHECK-INST: csrrs t1, mhpmcounter4, zero 1568# CHECK-ENC: encoding: [0x73,0x23,0x40,0xb0] 1569# CHECK-INST-ALIAS: csrr t1, mhpmcounter4 1570# uimm12 1571# CHECK-INST: csrrs t2, mhpmcounter4, zero 1572# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb0] 1573# CHECK-INST-ALIAS: csrr t2, mhpmcounter4 1574# name 1575csrrs t1, mhpmcounter4, zero 1576# uimm12 1577csrrs t2, 0xB04, zero 1578 1579# mhpmcounter5 1580# name 1581# CHECK-INST: csrrs t1, mhpmcounter5, zero 1582# CHECK-ENC: encoding: [0x73,0x23,0x50,0xb0] 1583# CHECK-INST-ALIAS: csrr t1, mhpmcounter5 1584# uimm12 1585# CHECK-INST: csrrs t2, mhpmcounter5, zero 1586# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb0] 1587# CHECK-INST-ALIAS: csrr t2, mhpmcounter5 1588# name 1589csrrs t1, mhpmcounter5, zero 1590# uimm12 1591csrrs t2, 0xB05, zero 1592 1593# mhpmcounter6 1594# name 1595# CHECK-INST: csrrs t1, mhpmcounter6, zero 1596# CHECK-ENC: encoding: [0x73,0x23,0x60,0xb0] 1597# CHECK-INST-ALIAS: csrr t1, mhpmcounter6 1598# uimm12 1599# CHECK-INST: csrrs t2, mhpmcounter6, zero 1600# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb0] 1601# CHECK-INST-ALIAS: csrr t2, mhpmcounter6 1602# name 1603csrrs t1, mhpmcounter6, zero 1604# uimm12 1605csrrs t2, 0xB06, zero 1606 1607# mhpmcounter7 1608# name 1609# CHECK-INST: csrrs t1, mhpmcounter7, zero 1610# CHECK-ENC: encoding: [0x73,0x23,0x70,0xb0] 1611# CHECK-INST-ALIAS: csrr t1, mhpmcounter7 1612# uimm12 1613# CHECK-INST: csrrs t2, mhpmcounter7, zero 1614# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb0] 1615# CHECK-INST-ALIAS: csrr t2, mhpmcounter7 1616# name 1617csrrs t1, mhpmcounter7, zero 1618# uimm12 1619csrrs t2, 0xB07, zero 1620 1621# mhpmcounter8 1622# name 1623# CHECK-INST: csrrs t1, mhpmcounter8, zero 1624# CHECK-ENC: encoding: [0x73,0x23,0x80,0xb0] 1625# CHECK-INST-ALIAS: csrr t1, mhpmcounter8 1626# uimm12 1627# CHECK-INST: csrrs t2, mhpmcounter8, zero 1628# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb0] 1629# CHECK-INST-ALIAS: csrr t2, mhpmcounter8 1630# name 1631csrrs t1, mhpmcounter8, zero 1632# uimm12 1633csrrs t2, 0xB08, zero 1634 1635# mhpmcounter9 1636# name 1637# CHECK-INST: csrrs t1, mhpmcounter9, zero 1638# CHECK-ENC: encoding: [0x73,0x23,0x90,0xb0] 1639# CHECK-INST-ALIAS: csrr t1, mhpmcounter9 1640# uimm12 1641# CHECK-INST: csrrs t2, mhpmcounter9, zero 1642# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb0] 1643# CHECK-INST-ALIAS: csrr t2, mhpmcounter9 1644# name 1645csrrs t1, mhpmcounter9, zero 1646# uimm12 1647csrrs t2, 0xB09, zero 1648 1649# mhpmcounter10 1650# name 1651# CHECK-INST: csrrs t1, mhpmcounter10, zero 1652# CHECK-ENC: encoding: [0x73,0x23,0xa0,0xb0] 1653# CHECK-INST-ALIAS: csrr t1, mhpmcounter10 1654# uimm12 1655# CHECK-INST: csrrs t2, mhpmcounter10, zero 1656# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb0] 1657# CHECK-INST-ALIAS: csrr t2, mhpmcounter10 1658# name 1659csrrs t1, mhpmcounter10, zero 1660# uimm12 1661csrrs t2, 0xB0A, zero 1662 1663# mhpmcounter11 1664# name 1665# CHECK-INST: csrrs t1, mhpmcounter11, zero 1666# CHECK-ENC: encoding: [0x73,0x23,0xb0,0xb0] 1667# CHECK-INST-ALIAS: csrr t1, mhpmcounter11 1668# uimm12 1669# CHECK-INST: csrrs t2, mhpmcounter11, zero 1670# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb0] 1671# CHECK-INST-ALIAS: csrr t2, mhpmcounter11 1672# name 1673csrrs t1, mhpmcounter11, zero 1674# uimm12 1675csrrs t2, 0xB0B, zero 1676 1677# mhpmcounter12 1678# name 1679# CHECK-INST: csrrs t1, mhpmcounter12, zero 1680# CHECK-ENC: encoding: [0x73,0x23,0xc0,0xb0] 1681# CHECK-INST-ALIAS: csrr t1, mhpmcounter12 1682# uimm12 1683# CHECK-INST: csrrs t2, mhpmcounter12, zero 1684# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb0] 1685# CHECK-INST-ALIAS: csrr t2, mhpmcounter12 1686# name 1687csrrs t1, mhpmcounter12, zero 1688# uimm12 1689csrrs t2, 0xB0C, zero 1690 1691# mhpmcounter13 1692# name 1693# CHECK-INST: csrrs t1, mhpmcounter13, zero 1694# CHECK-ENC: encoding: [0x73,0x23,0xd0,0xb0] 1695# CHECK-INST-ALIAS: csrr t1, mhpmcounter13 1696# uimm12 1697# CHECK-INST: csrrs t2, mhpmcounter13, zero 1698# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb0] 1699# CHECK-INST-ALIAS: csrr t2, mhpmcounter13 1700# name 1701csrrs t1, mhpmcounter13, zero 1702# uimm12 1703csrrs t2, 0xB0D, zero 1704 1705# mhpmcounter14 1706# name 1707# CHECK-INST: csrrs t1, mhpmcounter14, zero 1708# CHECK-ENC: encoding: [0x73,0x23,0xe0,0xb0] 1709# CHECK-INST-ALIAS: csrr t1, mhpmcounter14 1710# uimm12 1711# CHECK-INST: csrrs t2, mhpmcounter14, zero 1712# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb0] 1713# CHECK-INST-ALIAS: csrr t2, mhpmcounter14 1714# name 1715csrrs t1, mhpmcounter14, zero 1716# uimm12 1717csrrs t2, 0xB0E, zero 1718 1719# mhpmcounter15 1720# name 1721# CHECK-INST: csrrs t1, mhpmcounter15, zero 1722# CHECK-ENC: encoding: [0x73,0x23,0xf0,0xb0] 1723# CHECK-INST-ALIAS: csrr t1, mhpmcounter15 1724# uimm12 1725# CHECK-INST: csrrs t2, mhpmcounter15, zero 1726# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb0] 1727# CHECK-INST-ALIAS: csrr t2, mhpmcounter15 1728# name 1729csrrs t1, mhpmcounter15, zero 1730# uimm12 1731csrrs t2, 0xB0F, zero 1732 1733# mhpmcounter16 1734# name 1735# CHECK-INST: csrrs t1, mhpmcounter16, zero 1736# CHECK-ENC: encoding: [0x73,0x23,0x00,0xb1] 1737# CHECK-INST-ALIAS: csrr t1, mhpmcounter16 1738# uimm12 1739# CHECK-INST: csrrs t2, mhpmcounter16, zero 1740# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb1] 1741# CHECK-INST-ALIAS: csrr t2, mhpmcounter16 1742# name 1743csrrs t1, mhpmcounter16, zero 1744# uimm12 1745csrrs t2, 0xB10, zero 1746 1747# mhpmcounter17 1748# name 1749# CHECK-INST: csrrs t1, mhpmcounter17, zero 1750# CHECK-ENC: encoding: [0x73,0x23,0x10,0xb1] 1751# CHECK-INST-ALIAS: csrr t1, mhpmcounter17 1752# uimm12 1753# CHECK-INST: csrrs t2, mhpmcounter17, zero 1754# CHECK-ENC: encoding: [0xf3,0x23,0x10,0xb1] 1755# CHECK-INST-ALIAS: csrr t2, mhpmcounter17 1756# name 1757csrrs t1, mhpmcounter17, zero 1758# uimm12 1759csrrs t2, 0xB11, zero 1760 1761# mhpmcounter18 1762# name 1763# CHECK-INST: csrrs t1, mhpmcounter18, zero 1764# CHECK-ENC: encoding: [0x73,0x23,0x20,0xb1] 1765# CHECK-INST-ALIAS: csrr t1, mhpmcounter18 1766# uimm12 1767# CHECK-INST: csrrs t2, mhpmcounter18, zero 1768# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb1] 1769# CHECK-INST-ALIAS: csrr t2, mhpmcounter18 1770# name 1771csrrs t1, mhpmcounter18, zero 1772# uimm12 1773csrrs t2, 0xB12, zero 1774 1775# mhpmcounter19 1776# name 1777# CHECK-INST: csrrs t1, mhpmcounter19, zero 1778# CHECK-ENC: encoding: [0x73,0x23,0x30,0xb1] 1779# CHECK-INST-ALIAS: csrr t1, mhpmcounter19 1780# uimm12 1781# CHECK-INST: csrrs t2, mhpmcounter19, zero 1782# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb1] 1783# CHECK-INST-ALIAS: csrr t2, mhpmcounter19 1784# name 1785csrrs t1, mhpmcounter19, zero 1786# uimm12 1787csrrs t2, 0xB13, zero 1788 1789# mhpmcounter20 1790# name 1791# CHECK-INST: csrrs t1, mhpmcounter20, zero 1792# CHECK-ENC: encoding: [0x73,0x23,0x40,0xb1] 1793# CHECK-INST-ALIAS: csrr t1, mhpmcounter20 1794# uimm12 1795# CHECK-INST: csrrs t2, mhpmcounter20, zero 1796# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb1] 1797# CHECK-INST-ALIAS: csrr t2, mhpmcounter20 1798# name 1799csrrs t1, mhpmcounter20, zero 1800# uimm12 1801csrrs t2, 0xB14, zero 1802 1803# mhpmcounter21 1804# name 1805# CHECK-INST: csrrs t1, mhpmcounter21, zero 1806# CHECK-ENC: encoding: [0x73,0x23,0x50,0xb1] 1807# CHECK-INST-ALIAS: csrr t1, mhpmcounter21 1808# uimm12 1809# CHECK-INST: csrrs t2, mhpmcounter21, zero 1810# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb1] 1811# CHECK-INST-ALIAS: csrr t2, mhpmcounter21 1812# name 1813csrrs t1, mhpmcounter21, zero 1814# uimm12 1815csrrs t2, 0xB15, zero 1816 1817# mhpmcounter22 1818# name 1819# CHECK-INST: csrrs t1, mhpmcounter22, zero 1820# CHECK-ENC: encoding: [0x73,0x23,0x60,0xb1] 1821# CHECK-INST-ALIAS: csrr t1, mhpmcounter22 1822# uimm12 1823# CHECK-INST: csrrs t2, mhpmcounter22, zero 1824# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb1] 1825# CHECK-INST-ALIAS: csrr t2, mhpmcounter22 1826# name 1827csrrs t1, mhpmcounter22, zero 1828# uimm12 1829csrrs t2, 0xB16, zero 1830 1831# mhpmcounter23 1832# name 1833# CHECK-INST: csrrs t1, mhpmcounter23, zero 1834# CHECK-ENC: encoding: [0x73,0x23,0x70,0xb1] 1835# CHECK-INST-ALIAS: csrr t1, mhpmcounter23 1836# uimm12 1837# CHECK-INST: csrrs t2, mhpmcounter23, zero 1838# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb1] 1839# CHECK-INST-ALIAS: csrr t2, mhpmcounter23 1840# name 1841csrrs t1, mhpmcounter23, zero 1842# uimm12 1843csrrs t2, 0xB17, zero 1844 1845# mhpmcounter24 1846# name 1847# CHECK-INST: csrrs t1, mhpmcounter24, zero 1848# CHECK-ENC: encoding: [0x73,0x23,0x80,0xb1] 1849# CHECK-INST-ALIAS: csrr t1, mhpmcounter24 1850# uimm12 1851# CHECK-INST: csrrs t2, mhpmcounter24, zero 1852# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb1] 1853# CHECK-INST-ALIAS: csrr t2, mhpmcounter24 1854# name 1855csrrs t1, mhpmcounter24, zero 1856# uimm12 1857csrrs t2, 0xB18, zero 1858 1859# mhpmcounter25 1860# name 1861# CHECK-INST: csrrs t1, mhpmcounter25, zero 1862# CHECK-ENC: encoding: [0x73,0x23,0x90,0xb1] 1863# CHECK-INST-ALIAS: csrr t1, mhpmcounter25 1864# uimm12 1865# CHECK-INST: csrrs t2, mhpmcounter25, zero 1866# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb1] 1867# CHECK-INST-ALIAS: csrr t2, mhpmcounter25 1868# name 1869csrrs t1, mhpmcounter25, zero 1870# uimm12 1871csrrs t2, 0xB19, zero 1872 1873# mhpmcounter26 1874# name 1875# CHECK-INST: csrrs t1, mhpmcounter26, zero 1876# CHECK-ENC: encoding: [0x73,0x23,0xa0,0xb1] 1877# CHECK-INST-ALIAS: csrr t1, mhpmcounter26 1878# uimm12 1879# CHECK-INST: csrrs t2, mhpmcounter26, zero 1880# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb1] 1881# CHECK-INST-ALIAS: csrr t2, mhpmcounter26 1882# name 1883csrrs t1, mhpmcounter26, zero 1884# uimm12 1885csrrs t2, 0xB1A, zero 1886 1887# mhpmcounter27 1888# name 1889# CHECK-INST: csrrs t1, mhpmcounter27, zero 1890# CHECK-ENC: encoding: [0x73,0x23,0xb0,0xb1] 1891# CHECK-INST-ALIAS: csrr t1, mhpmcounter27 1892# uimm12 1893# CHECK-INST: csrrs t2, mhpmcounter27, zero 1894# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb1] 1895# CHECK-INST-ALIAS: csrr t2, mhpmcounter27 1896# name 1897csrrs t1, mhpmcounter27, zero 1898# uimm12 1899csrrs t2, 0xB1B, zero 1900 1901# mhpmcounter28 1902# name 1903# CHECK-INST: csrrs t1, mhpmcounter28, zero 1904# CHECK-ENC: encoding: [0x73,0x23,0xc0,0xb1] 1905# CHECK-INST-ALIAS: csrr t1, mhpmcounter28 1906# uimm12 1907# CHECK-INST: csrrs t2, mhpmcounter28, zero 1908# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb1] 1909# CHECK-INST-ALIAS: csrr t2, mhpmcounter28 1910# name 1911csrrs t1, mhpmcounter28, zero 1912# uimm12 1913csrrs t2, 0xB1C, zero 1914 1915# mhpmcounter29 1916# name 1917# CHECK-INST: csrrs t1, mhpmcounter29, zero 1918# CHECK-ENC: encoding: [0x73,0x23,0xd0,0xb1] 1919# CHECK-INST-ALIAS: csrr t1, mhpmcounter29 1920# uimm12 1921# CHECK-INST: csrrs t2, mhpmcounter29, zero 1922# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb1] 1923# CHECK-INST-ALIAS: csrr t2, mhpmcounter29 1924# name 1925csrrs t1, mhpmcounter29, zero 1926# uimm12 1927csrrs t2, 0xB1D, zero 1928 1929# mhpmcounter30 1930# name 1931# CHECK-INST: csrrs t1, mhpmcounter30, zero 1932# CHECK-ENC: encoding: [0x73,0x23,0xe0,0xb1] 1933# CHECK-INST-ALIAS: csrr t1, mhpmcounter30 1934# uimm12 1935# CHECK-INST: csrrs t2, mhpmcounter30, zero 1936# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb1] 1937# CHECK-INST-ALIAS: csrr t2, mhpmcounter30 1938# name 1939csrrs t1, mhpmcounter30, zero 1940# uimm12 1941csrrs t2, 0xB1E, zero 1942 1943# mhpmcounter31 1944# name 1945# CHECK-INST: csrrs t1, mhpmcounter31, zero 1946# CHECK-ENC: encoding: [0x73,0x23,0xf0,0xb1] 1947# CHECK-INST-ALIAS: csrr t1, mhpmcounter31 1948# uimm12 1949# CHECK-INST: csrrs t2, mhpmcounter31, zero 1950# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb1] 1951# CHECK-INST-ALIAS: csrr t2, mhpmcounter31 1952# name 1953csrrs t1, mhpmcounter31, zero 1954# uimm12 1955csrrs t2, 0xB1F, zero 1956 1957 1958###################################### 1959# Machine Counter Setup 1960###################################### 1961# mcountinhibit 1962# name 1963# CHECK-INST: csrrs t1, mcountinhibit, zero 1964# CHECK-ENC: encoding: [0x73,0x23,0x00,0x32] 1965# CHECK-INST-ALIAS: csrr t1, mcountinhibit 1966# uimm12 1967# CHECK-INST: csrrs t2, mcountinhibit, zero 1968# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x32] 1969# CHECK-INST-ALIAS: csrr t2, mcountinhibit 1970# name 1971csrrs t1, mcountinhibit, zero 1972# uimm12 1973csrrs t2, 0x320, zero 1974 1975# mucounteren 1976# name 1977# CHECK-INST: csrrs t1, mcountinhibit, zero 1978# CHECK-ENC: encoding: [0x73,0x23,0x00,0x32] 1979# CHECK-INST-ALIAS: csrr t1, mcountinhibit 1980# uimm12 1981# CHECK-INST: csrrs t2, mcountinhibit, zero 1982# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x32] 1983# CHECK-INST-ALIAS: csrr t2, mcountinhibit 1984# name 1985csrrs t1, mucounteren, zero 1986# uimm12 1987csrrs t2, 0x320, zero 1988 1989# mhpmevent3 1990# name 1991# CHECK-INST: csrrs t1, mhpmevent3, zero 1992# CHECK-ENC: encoding: [0x73,0x23,0x30,0x32] 1993# CHECK-INST-ALIAS: csrr t1, mhpmevent3 1994# uimm12 1995# CHECK-INST: csrrs t2, mhpmevent3, zero 1996# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x32] 1997# CHECK-INST-ALIAS: csrr t2, mhpmevent3 1998# name 1999csrrs t1, mhpmevent3, zero 2000# uimm12 2001csrrs t2, 0x323, zero 2002 2003# mhpmevent4 2004# name 2005# CHECK-INST: csrrs t1, mhpmevent4, zero 2006# CHECK-ENC: encoding: [0x73,0x23,0x40,0x32] 2007# CHECK-INST-ALIAS: csrr t1, mhpmevent4 2008# uimm12 2009# CHECK-INST: csrrs t2, mhpmevent4, zero 2010# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x32] 2011# CHECK-INST-ALIAS: csrr t2, mhpmevent4 2012# name 2013csrrs t1, mhpmevent4, zero 2014# uimm12 2015csrrs t2, 0x324, zero 2016 2017# mhpmevent5 2018# name 2019# CHECK-INST: csrrs t1, mhpmevent5, zero 2020# CHECK-ENC: encoding: [0x73,0x23,0x50,0x32] 2021# CHECK-INST-ALIAS: csrr t1, mhpmevent5 2022# uimm12 2023# CHECK-INST: csrrs t2, mhpmevent5, zero 2024# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x32] 2025# CHECK-INST-ALIAS: csrr t2, mhpmevent5 2026# name 2027csrrs t1, mhpmevent5, zero 2028# uimm12 2029csrrs t2, 0x325, zero 2030 2031# mhpmevent6 2032# name 2033# CHECK-INST: csrrs t1, mhpmevent6, zero 2034# CHECK-ENC: encoding: [0x73,0x23,0x60,0x32] 2035# CHECK-INST-ALIAS: csrr t1, mhpmevent6 2036# uimm12 2037# CHECK-INST: csrrs t2, mhpmevent6, zero 2038# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x32] 2039# CHECK-INST-ALIAS: csrr t2, mhpmevent6 2040# name 2041csrrs t1, mhpmevent6, zero 2042# uimm12 2043csrrs t2, 0x326, zero 2044 2045# mhpmevent7 2046# name 2047# CHECK-INST: csrrs t1, mhpmevent7, zero 2048# CHECK-ENC: encoding: [0x73,0x23,0x70,0x32] 2049# CHECK-INST-ALIAS: csrr t1, mhpmevent7 2050# uimm12 2051# CHECK-INST: csrrs t2, mhpmevent7, zero 2052# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x32] 2053# CHECK-INST-ALIAS: csrr t2, mhpmevent7 2054# name 2055csrrs t1, mhpmevent7, zero 2056# uimm12 2057csrrs t2, 0x327, zero 2058 2059# mhpmevent8 2060# name 2061# CHECK-INST: csrrs t1, mhpmevent8, zero 2062# CHECK-ENC: encoding: [0x73,0x23,0x80,0x32] 2063# CHECK-INST-ALIAS: csrr t1, mhpmevent8 2064# uimm12 2065# CHECK-INST: csrrs t2, mhpmevent8, zero 2066# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x32] 2067# CHECK-INST-ALIAS: csrr t2, mhpmevent8 2068# name 2069csrrs t1, mhpmevent8, zero 2070# uimm12 2071csrrs t2, 0x328, zero 2072 2073# mhpmevent9 2074# name 2075# CHECK-INST: csrrs t1, mhpmevent9, zero 2076# CHECK-ENC: encoding: [0x73,0x23,0x90,0x32] 2077# CHECK-INST-ALIAS: csrr t1, mhpmevent9 2078# uimm12 2079# CHECK-INST: csrrs t2, mhpmevent9, zero 2080# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x32] 2081# CHECK-INST-ALIAS: csrr t2, mhpmevent9 2082# name 2083csrrs t1, mhpmevent9, zero 2084# uimm12 2085csrrs t2, 0x329, zero 2086 2087# mhpmevent10 2088# name 2089# CHECK-INST: csrrs t1, mhpmevent10, zero 2090# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x32] 2091# CHECK-INST-ALIAS: csrr t1, mhpmevent10 2092# uimm12 2093# CHECK-INST: csrrs t2, mhpmevent10, zero 2094# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x32] 2095# CHECK-INST-ALIAS: csrr t2, mhpmevent10 2096# name 2097csrrs t1, mhpmevent10, zero 2098# uimm12 2099csrrs t2, 0x32A, zero 2100 2101# mhpmevent11 2102# name 2103# CHECK-INST: csrrs t1, mhpmevent11, zero 2104# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x32] 2105# CHECK-INST-ALIAS: csrr t1, mhpmevent11 2106# uimm12 2107# CHECK-INST: csrrs t2, mhpmevent11, zero 2108# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x32] 2109# CHECK-INST-ALIAS: csrr t2, mhpmevent11 2110# name 2111csrrs t1, mhpmevent11, zero 2112# uimm12 2113csrrs t2, 0x32B, zero 2114 2115# mhpmevent12 2116# name 2117# CHECK-INST: csrrs t1, mhpmevent12, zero 2118# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x32] 2119# CHECK-INST-ALIAS: csrr t1, mhpmevent12 2120# uimm12 2121# CHECK-INST: csrrs t2, mhpmevent12, zero 2122# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x32] 2123# CHECK-INST-ALIAS: csrr t2, mhpmevent12 2124# name 2125csrrs t1, mhpmevent12, zero 2126# uimm12 2127csrrs t2, 0x32C, zero 2128 2129# mhpmevent13 2130# name 2131# CHECK-INST: csrrs t1, mhpmevent13, zero 2132# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x32] 2133# CHECK-INST-ALIAS: csrr t1, mhpmevent13 2134# uimm12 2135# CHECK-INST: csrrs t2, mhpmevent13, zero 2136# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x32] 2137# CHECK-INST-ALIAS: csrr t2, mhpmevent13 2138# name 2139csrrs t1, mhpmevent13, zero 2140# uimm12 2141csrrs t2, 0x32D, zero 2142 2143# mhpmevent14 2144# name 2145# CHECK-INST: csrrs t1, mhpmevent14, zero 2146# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x32] 2147# CHECK-INST-ALIAS: csrr t1, mhpmevent14 2148# uimm12 2149 2150# CHECK-INST: csrrs t2, mhpmevent14, zero 2151# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x32] 2152# CHECK-INST-ALIAS: csrr t2, mhpmevent14 2153# name 2154csrrs t1, mhpmevent14, zero 2155# uimm12 2156csrrs t2, 0x32E, zero 2157 2158# mhpmevent15 2159# name 2160# CHECK-INST: csrrs t1, mhpmevent15, zero 2161# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x32] 2162# CHECK-INST-ALIAS: csrr t1, mhpmevent15 2163# uimm12 2164# CHECK-INST: csrrs t2, mhpmevent15, zero 2165# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x32] 2166# CHECK-INST-ALIAS: csrr t2, mhpmevent15 2167# name 2168csrrs t1, mhpmevent15, zero 2169# uimm12 2170csrrs t2, 0x32F, zero 2171 2172# mhpmevent16 2173# name 2174# CHECK-INST: csrrs t1, mhpmevent16, zero 2175# CHECK-ENC: encoding: [0x73,0x23,0x00,0x33] 2176# CHECK-INST-ALIAS: csrr t1, mhpmevent16 2177# uimm12 2178# CHECK-INST: csrrs t2, mhpmevent16, zero 2179# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x33] 2180# CHECK-INST-ALIAS: csrr t2, mhpmevent16 2181# name 2182csrrs t1, mhpmevent16, zero 2183# uimm12 2184csrrs t2, 0x330, zero 2185 2186# mhpmevent17 2187# name 2188# CHECK-INST: csrrs t1, mhpmevent17, zero 2189# CHECK-ENC: encoding: [0x73,0x23,0x10,0x33] 2190# CHECK-INST-ALIAS: csrr t1, mhpmevent17 2191# uimm12 2192# CHECK-INST: csrrs t2, mhpmevent17, zero 2193# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x33] 2194# CHECK-INST-ALIAS: csrr t2, mhpmevent17 2195# name 2196csrrs t1, mhpmevent17, zero 2197# uimm12 2198csrrs t2, 0x331, zero 2199 2200# mhpmevent18 2201# name 2202# CHECK-INST: csrrs t1, mhpmevent18, zero 2203# CHECK-ENC: encoding: [0x73,0x23,0x20,0x33] 2204# CHECK-INST-ALIAS: csrr t1, mhpmevent18 2205# uimm12 2206# CHECK-INST: csrrs t2, mhpmevent18, zero 2207# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x33] 2208# CHECK-INST-ALIAS: csrr t2, mhpmevent18 2209# name 2210csrrs t1, mhpmevent18, zero 2211# uimm12 2212csrrs t2, 0x332, zero 2213 2214# mhpmevent19 2215# name 2216# CHECK-INST: csrrs t1, mhpmevent19, zero 2217# CHECK-ENC: encoding: [0x73,0x23,0x30,0x33] 2218# CHECK-INST-ALIAS: csrr t1, mhpmevent19 2219# uimm12 2220# CHECK-INST: csrrs t2, mhpmevent19, zero 2221# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x33] 2222# CHECK-INST-ALIAS: csrr t2, mhpmevent19 2223# name 2224csrrs t1, mhpmevent19, zero 2225# uimm12 2226csrrs t2, 0x333, zero 2227 2228# mhpmevent20 2229# name 2230# CHECK-INST: csrrs t1, mhpmevent20, zero 2231# CHECK-ENC: encoding: [0x73,0x23,0x40,0x33] 2232# CHECK-INST-ALIAS: csrr t1, mhpmevent20 2233# uimm12 2234# CHECK-INST: csrrs t2, mhpmevent20, zero 2235# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x33] 2236# CHECK-INST-ALIAS: csrr t2, mhpmevent20 2237# name 2238csrrs t1, mhpmevent20, zero 2239# uimm12 2240csrrs t2, 0x334, zero 2241 2242# mhpmevent21 2243# name 2244# CHECK-INST: csrrs t1, mhpmevent21, zero 2245# CHECK-ENC: encoding: [0x73,0x23,0x50,0x33] 2246# CHECK-INST-ALIAS: csrr t1, mhpmevent21 2247# uimm12 2248# CHECK-INST: csrrs t2, mhpmevent21, zero 2249# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x33] 2250# CHECK-INST-ALIAS: csrr t2, mhpmevent21 2251# name 2252csrrs t1, mhpmevent21, zero 2253# uimm12 2254csrrs t2, 0x335, zero 2255 2256# mhpmevent22 2257# name 2258# CHECK-INST: csrrs t1, mhpmevent22, zero 2259# CHECK-ENC: encoding: [0x73,0x23,0x60,0x33] 2260# CHECK-INST-ALIAS: csrr t1, mhpmevent22 2261# uimm12 2262# CHECK-INST: csrrs t2, mhpmevent22, zero 2263# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x33] 2264# CHECK-INST-ALIAS: csrr t2, mhpmevent22 2265# name 2266csrrs t1, mhpmevent22, zero 2267# uimm12 2268csrrs t2, 0x336, zero 2269 2270# mhpmevent23 2271# name 2272# CHECK-INST: csrrs t1, mhpmevent23, zero 2273# CHECK-ENC: encoding: [0x73,0x23,0x70,0x33] 2274# CHECK-INST-ALIAS: csrr t1, mhpmevent23 2275# uimm12 2276# CHECK-INST: csrrs t2, mhpmevent23, zero 2277# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x33] 2278# CHECK-INST-ALIAS: csrr t2, mhpmevent23 2279# name 2280csrrs t1, mhpmevent23, zero 2281# uimm12 2282csrrs t2, 0x337, zero 2283 2284# mhpmevent24 2285# name 2286# CHECK-INST: csrrs t1, mhpmevent24, zero 2287# CHECK-ENC: encoding: [0x73,0x23,0x80,0x33] 2288# CHECK-INST-ALIAS: csrr t1, mhpmevent24 2289# uimm12 2290# CHECK-INST: csrrs t2, mhpmevent24, zero 2291# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x33] 2292# CHECK-INST-ALIAS: csrr t2, mhpmevent24 2293# name 2294csrrs t1, mhpmevent24, zero 2295# uimm12 2296csrrs t2, 0x338, zero 2297 2298# mhpmevent25 2299# name 2300# CHECK-INST: csrrs t1, mhpmevent25, zero 2301# CHECK-ENC: encoding: [0x73,0x23,0x90,0x33] 2302# CHECK-INST-ALIAS: csrr t1, mhpmevent25 2303# uimm12 2304# CHECK-INST: csrrs t2, mhpmevent25, zero 2305# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x33] 2306# CHECK-INST-ALIAS: csrr t2, mhpmevent25 2307# name 2308csrrs t1, mhpmevent25, zero 2309# uimm12 2310csrrs t2, 0x339, zero 2311 2312# mhpmevent26 2313# name 2314# CHECK-INST: csrrs t1, mhpmevent26, zero 2315# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x33] 2316# CHECK-INST-ALIAS: csrr t1, mhpmevent26 2317# uimm12 2318# CHECK-INST: csrrs t2, mhpmevent26, zero 2319# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x33] 2320# CHECK-INST-ALIAS: csrr t2, mhpmevent26 2321# name 2322csrrs t1, mhpmevent26, zero 2323# uimm12 2324csrrs t2, 0x33A, zero 2325 2326# mhpmevent27 2327# name 2328# CHECK-INST: csrrs t1, mhpmevent27, zero 2329# CHECK-ENC: encoding: [0x73,0x23,0xb0,0x33] 2330# CHECK-INST-ALIAS: csrr t1, mhpmevent27 2331# uimm12 2332# CHECK-INST: csrrs t2, mhpmevent27, zero 2333# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0x33] 2334# CHECK-INST-ALIAS: csrr t2, mhpmevent27 2335# name 2336csrrs t1, mhpmevent27, zero 2337# uimm12 2338csrrs t2, 0x33B, zero 2339 2340# mhpmevent28 2341# name 2342# CHECK-INST: csrrs t1, mhpmevent28, zero 2343# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x33] 2344# CHECK-INST-ALIAS: csrr t1, mhpmevent28 2345# uimm12 2346# CHECK-INST: csrrs t2, mhpmevent28, zero 2347# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x33] 2348# CHECK-INST-ALIAS: csrr t2, mhpmevent28 2349# name 2350csrrs t1, mhpmevent28, zero 2351# uimm12 2352csrrs t2, 0x33C, zero 2353 2354# mhpmevent29 2355# name 2356# CHECK-INST: csrrs t1, mhpmevent29, zero 2357# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x33] 2358# CHECK-INST-ALIAS: csrr t1, mhpmevent29 2359# uimm12 2360# CHECK-INST: csrrs t2, mhpmevent29, zero 2361# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x33] 2362# CHECK-INST-ALIAS: csrr t2, mhpmevent29 2363# name 2364csrrs t1, mhpmevent29, zero 2365# uimm12 2366csrrs t2, 0x33D, zero 2367 2368# mhpmevent30 2369# name 2370# CHECK-INST: csrrs t1, mhpmevent30, zero 2371# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x33] 2372# CHECK-INST-ALIAS: csrr t1, mhpmevent30 2373# uimm12 2374# CHECK-INST: csrrs t2, mhpmevent30, zero 2375# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x33] 2376# CHECK-INST-ALIAS: csrr t2, mhpmevent30 2377# name 2378csrrs t1, mhpmevent30, zero 2379# uimm12 2380csrrs t2, 0x33E, zero 2381 2382# mhpmevent31 2383# name 2384# CHECK-INST: csrrs t1, mhpmevent31, zero 2385# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x33] 2386# CHECK-INST-ALIAS: csrr t1, mhpmevent31 2387# uimm12 2388# CHECK-INST: csrrs t2, mhpmevent31, zero 2389# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x33] 2390# CHECK-INST-ALIAS: csrr t2, mhpmevent31 2391# name 2392csrrs t1, mhpmevent31, zero 2393# uimm12 2394csrrs t2, 0x33F, zero 2395 2396######################################### 2397# State Enable Extension (Smstateen) 2398######################################### 2399 2400# mstateen0 2401# name 2402# CHECK-INST: csrrs t1, mstateen0, zero 2403# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x30] 2404# CHECK-INST-ALIAS: csrr t1, mstateen0 2405# uimm12 2406# CHECK-INST: csrrs t2, mstateen0, zero 2407# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x30] 2408# CHECK-INST-ALIAS: csrr t2, mstateen0 2409# name 2410csrrs t1, mstateen0, zero 2411# uimm12 2412csrrs t2, 0x30C, zero 2413 2414# mstateen1 2415# name 2416# CHECK-INST: csrrs t1, mstateen1, zero 2417# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x30] 2418# CHECK-INST-ALIAS: csrr t1, mstateen1 2419# uimm12 2420# CHECK-INST: csrrs t2, mstateen1, zero 2421# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x30] 2422# CHECK-INST-ALIAS: csrr t2, mstateen1 2423# name 2424csrrs t1, mstateen1, zero 2425# uimm12 2426csrrs t2, 0x30D, zero 2427 2428# mstateen2 2429# name 2430# CHECK-INST: csrrs t1, mstateen2, zero 2431# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x30] 2432# CHECK-INST-ALIAS: csrr t1, mstateen2 2433# uimm12 2434# CHECK-INST: csrrs t2, mstateen2, zero 2435# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x30] 2436# CHECK-INST-ALIAS: csrr t2, mstateen2 2437# name 2438csrrs t1, mstateen2, zero 2439# uimm12 2440csrrs t2, 0x30E, zero 2441 2442# mstateen3 2443# name 2444# CHECK-INST: csrrs t1, mstateen3, zero 2445# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x30] 2446# CHECK-INST-ALIAS: csrr t1, mstateen3 2447# uimm12 2448# CHECK-INST: csrrs t2, mstateen3, zero 2449# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x30] 2450# CHECK-INST-ALIAS: csrr t2, mstateen3 2451# name 2452csrrs t1, mstateen3, zero 2453# uimm12 2454csrrs t2, 0x30F, zero 2455 2456######################################### 2457# Advanced Interrupt Architecture (Smaia and Ssaia) 2458######################################### 2459 2460# miselect 2461# name 2462# CHECK-INST: csrrs t1, miselect, zero 2463# CHECK-ENC: encoding: [0x73,0x23,0x00,0x35] 2464# CHECK-INST-ALIAS: csrr t1, miselect 2465# uimm12 2466# CHECK-INST: csrrs t2, miselect, zero 2467# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x35] 2468# CHECK-INST-ALIAS: csrr t2, miselect 2469# name 2470csrrs t1, miselect, zero 2471# uimm12 2472csrrs t2, 0x350, zero 2473 2474# mireg 2475# name 2476# CHECK-INST: csrrs t1, mireg, zero 2477# CHECK-ENC: encoding: [0x73,0x23,0x10,0x35] 2478# CHECK-INST-ALIAS: csrr t1, mireg 2479# uimm12 2480# CHECK-INST: csrrs t2, mireg, zero 2481# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x35] 2482# CHECK-INST-ALIAS: csrr t2, mireg 2483# name 2484csrrs t1, mireg, zero 2485# uimm12 2486csrrs t2, 0x351, zero 2487 2488# mireg2 2489# name 2490# CHECK-INST: csrrs t1, mireg2, zero 2491# CHECK-ENC: encoding: [0x73,0x23,0x20,0x35] 2492# CHECK-INST-ALIAS: csrr t1, mireg2 2493# uimm12 2494# CHECK-INST: csrrs t2, mireg2, zero 2495# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x35] 2496# CHECK-INST-ALIAS: csrr t2, mireg2 2497# name 2498csrrs t1, mireg2, zero 2499# uimm12 2500csrrs t2, 0x352, zero 2501 2502# mireg3 2503# name 2504# CHECK-INST: csrrs t1, mireg3, zero 2505# CHECK-ENC: encoding: [0x73,0x23,0x30,0x35] 2506# CHECK-INST-ALIAS: csrr t1, mireg3 2507# uimm12 2508# CHECK-INST: csrrs t2, mireg3, zero 2509# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x35] 2510# CHECK-INST-ALIAS: csrr t2, mireg3 2511# name 2512csrrs t1, mireg3, zero 2513# uimm12 2514csrrs t2, 0x353, zero 2515 2516# mireg4 2517# name 2518# CHECK-INST: csrrs t1, mireg4, zero 2519# CHECK-ENC: encoding: [0x73,0x23,0x50,0x35] 2520# CHECK-INST-ALIAS: csrr t1, mireg4 2521# uimm12 2522# CHECK-INST: csrrs t2, mireg4, zero 2523# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x35] 2524# CHECK-INST-ALIAS: csrr t2, mireg4 2525# name 2526csrrs t1, mireg4, zero 2527# uimm12 2528csrrs t2, 0x355, zero 2529 2530# mireg5 2531# name 2532# CHECK-INST: csrrs t1, mireg5, zero 2533# CHECK-ENC: encoding: [0x73,0x23,0x60,0x35] 2534# CHECK-INST-ALIAS: csrr t1, mireg5 2535# uimm12 2536# CHECK-INST: csrrs t2, mireg5, zero 2537# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x35] 2538# CHECK-INST-ALIAS: csrr t2, mireg5 2539# name 2540csrrs t1, mireg5, zero 2541# uimm12 2542csrrs t2, 0x356, zero 2543 2544# mireg6 2545# name 2546# CHECK-INST: csrrs t1, mireg6, zero 2547# CHECK-ENC: encoding: [0x73,0x23,0x70,0x35] 2548# CHECK-INST-ALIAS: csrr t1, mireg6 2549# uimm12 2550# CHECK-INST: csrrs t2, mireg6, zero 2551# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x35] 2552# CHECK-INST-ALIAS: csrr t2, mireg6 2553# name 2554csrrs t1, mireg6, zero 2555# uimm12 2556csrrs t2, 0x357, zero 2557 2558# mtopei 2559# name 2560# CHECK-INST: csrrs t1, mtopei, zero 2561# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x35] 2562# CHECK-INST-ALIAS: csrr t1, mtopei 2563# uimm12 2564# CHECK-INST: csrrs t2, mtopei, zero 2565# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x35] 2566# CHECK-INST-ALIAS: csrr t2, mtopei 2567# name 2568csrrs t1, mtopei, zero 2569# uimm12 2570csrrs t2, 0x35C, zero 2571 2572# mtopi 2573# name 2574# CHECK-INST: csrrs t1, mtopi, zero 2575# CHECK-ENC: encoding: [0x73,0x23,0x00,0xfb] 2576# CHECK-INST-ALIAS: csrr t1, mtopi 2577# uimm12 2578# CHECK-INST: csrrs t2, mtopi, zero 2579# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xfb] 2580# CHECK-INST-ALIAS: csrr t2, mtopi 2581# name 2582csrrs t1, mtopi, zero 2583# uimm12 2584csrrs t2, 0xFB0, zero 2585 2586# mvien 2587# name 2588# CHECK-INST: csrrs t1, mvien, zero 2589# CHECK-ENC: encoding: [0x73,0x23,0x80,0x30] 2590# CHECK-INST-ALIAS: csrr t1, mvien 2591# uimm12 2592# CHECK-INST: csrrs t2, mvien, zero 2593# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x30] 2594# CHECK-INST-ALIAS: csrr t2, mvien 2595# name 2596csrrs t1, mvien, zero 2597# uimm12 2598csrrs t2, 0x308, zero 2599 2600# mvip 2601# name 2602# CHECK-INST: csrrs t1, mvip, zero 2603# CHECK-ENC: encoding: [0x73,0x23,0x90,0x30] 2604# CHECK-INST-ALIAS: csrr t1, mvip 2605# uimm12 2606# CHECK-INST: csrrs t2, mvip, zero 2607# CHECK-ENC: encoding: [0xf3,0x23,0x90,0x30] 2608# CHECK-INST-ALIAS: csrr t2, mvip 2609# name 2610csrrs t1, mvip, zero 2611# uimm12 2612csrrs t2, 0x309, zero 2613 2614################################## 2615# Control Transfer Records 2616################################## 2617 2618# mctrctl 2619# name 2620# CHECK-INST: csrrs t1, mctrctl, zero 2621# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x34] 2622# CHECK-INST-ALIAS: csrr t1, mctrctl 2623# uimm12 2624# CHECK-INST: csrrs t2, mctrctl, zero 2625# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x34] 2626# CHECK-INST-ALIAS: csrr t2, mctrctl 2627csrrs t1, mctrctl, zero 2628# uimm12 2629csrrs t2, 0x34E, zero 2630 2631################################################ 2632# Resumable Non-Maskable Interrupts(Smrnmi) CSRs 2633################################################ 2634 2635# mnscratch 2636# name 2637# CHECK-INST: csrrs t1, mnscratch, zero 2638# CHECK-ENC: encoding: [0x73,0x23,0x00,0x74] 2639# CHECK-INST-ALIAS: csrr t1, mnscratch 2640# uimm12 2641# CHECK-INST: csrrs t2, mnscratch, zero 2642# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x74] 2643# CHECK-INST-ALIAS: csrr t2, mnscratch 2644csrrs t1, mnscratch, zero 2645# uimm12 2646csrrs t2, 0x740, zero 2647 2648# mnepc 2649# name 2650# CHECK-INST: csrrs t1, mnepc, zero 2651# CHECK-ENC: encoding: [0x73,0x23,0x10,0x74] 2652# CHECK-INST-ALIAS: csrr t1, mnepc 2653# uimm12 2654# CHECK-INST: csrrs t2, mnepc, zero 2655# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x74] 2656# CHECK-INST-ALIAS: csrr t2, mnepc 2657csrrs t1, mnepc, zero 2658# uimm12 2659csrrs t2, 0x741, zero 2660 2661# mncause 2662# name 2663# CHECK-INST: csrrs t1, mncause, zero 2664# CHECK-ENC: encoding: [0x73,0x23,0x20,0x74] 2665# CHECK-INST-ALIAS: csrr t1, mncause 2666# uimm12 2667# CHECK-INST: csrrs t2, mncause, zero 2668# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x74] 2669# CHECK-INST-ALIAS: csrr t2, mncause 2670csrrs t1, mncause, zero 2671# uimm12 2672csrrs t2, 0x742, zero 2673 2674# mnstatus 2675# name 2676# CHECK-INST: csrrs t1, mnstatus, zero 2677# CHECK-ENC: encoding: [0x73,0x23,0x40,0x74] 2678# CHECK-INST-ALIAS: csrr t1, mnstatus 2679# uimm12 2680# CHECK-INST: csrrs t2, mnstatus, zero 2681# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x74] 2682# CHECK-INST-ALIAS: csrr t2, mnstatus 2683csrrs t1, mnstatus, zero 2684# uimm12 2685csrrs t2, 0x744, zero 2686