brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.1 KiB · bc7363f Raw
483 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -M no-aliases -show-encoding \2# RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s3# RUN: llvm-mc -filetype=obj -triple riscv32 < %s \4# RUN:     | llvm-objdump -d - \5# RUN:     | FileCheck -check-prefix=CHECK-INST-ALIAS %s6#7# RUN: llvm-mc %s -triple=riscv64 -M no-aliases -show-encoding \8# RUN:     | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s9# RUN: llvm-mc -filetype=obj -triple riscv64 < %s \10# RUN:     | llvm-objdump -d - \11# RUN:     | FileCheck -check-prefix=CHECK-INST-ALIAS %s12 13##################################14# User Floating Point CSRs15##################################16# Tests in rvf-user-mode-csr.s17 18##################################19# User Counter and Timers20##################################21 22# cycle23# name24# CHECK-INST: csrrs t1, cycle, zero25# CHECK-ENC:  encoding: [0x73,0x23,0x00,0xc0]26# CHECK-INST-ALIAS: rdcycle t127# uimm1228# CHECK-INST: csrrs t2, cycle, zero29# CHECK-ENC:  encoding: [0xf3,0x23,0x00,0xc0]30# CHECK-INST-ALIAS: rdcycle t231# name32csrrs t1, cycle, zero33# uimm1234csrrs t2, 0xC00, zero35 36# time37# name38# CHECK-INST: csrrs t1, time, zero39# CHECK-ENC:  encoding: [0x73,0x23,0x10,0xc0]40# CHECK-INST-ALIAS: rdtime t141# uimm1242# CHECK-INST: csrrs t2, time, zero43# CHECK-ENC:  encoding: [0xf3,0x23,0x10,0xc0]44# CHECK-INST-ALIAS: rdtime t245# name46csrrs t1, time, zero47# uimm1248csrrs t2, 0xC01, zero49 50# instret51# name52# CHECK-INST: csrrs t1, instret, zero53# CHECK-ENC:  encoding: [0x73,0x23,0x20,0xc0]54# CHECK-INST-ALIAS: rdinstret t155# uimm1256# CHECK-INST: csrrs t2, instret, zero57# CHECK-ENC:  encoding: [0xf3,0x23,0x20,0xc0]58# CHECK-INST-ALIAS: rdinstret t259# name60csrrs t1, instret, zero61# uimm1262csrrs t2, 0xC02, zero63 64# ssp65# name66# CHECK-INST: csrrs t1, ssp, zero67# CHECK-ENC:  encoding: [0x73,0x23,0x10,0x01]68# CHECK-INST-ALIAS: csrr t1, ssp69# uimm1270# CHECK-INST: csrrs t2, ssp, zero71# CHECK-ENC:  encoding: [0xf3,0x23,0x10,0x01]72# CHECK-INST-ALIAS: csrr t2, ssp73# name74csrrs t1, ssp, zero75# uimm1276csrrs t2, 0x011, zero77 78# hpmcounter379# name80# CHECK-INST: csrrs t1, hpmcounter3, zero81# CHECK-ENC:  encoding: [0x73,0x23,0x30,0xc0]82# CHECK-INST-ALIAS: csrr t1, hpmcounter383# uimm1284# CHECK-INST: csrrs t2, hpmcounter3, zero85# CHECK-ENC:  encoding: [0xf3,0x23,0x30,0xc0]86# CHECK-INST-ALIAS: csrr t2, hpmcounter387# name88csrrs t1, hpmcounter3, zero89# uimm1290csrrs t2, 0xC03, zero91 92# hpmcounter493# name94# CHECK-INST: csrrs t1, hpmcounter4, zero95# CHECK-ENC:  encoding: [0x73,0x23,0x40,0xc0]96# CHECK-INST-ALIAS: csrr t1, hpmcounter497# uimm1298# CHECK-INST: csrrs t2, hpmcounter4, zero99# CHECK-ENC:  encoding: [0xf3,0x23,0x40,0xc0]100# CHECK-INST-ALIAS: csrr t2, hpmcounter4101# name102csrrs t1, hpmcounter4, zero103# uimm12104csrrs t2, 0xC04, zero105 106# hpmcounter5107# name108# CHECK-INST: csrrs t1, hpmcounter5, zero109# CHECK-ENC:  encoding: [0x73,0x23,0x50,0xc0]110# CHECK-INST-ALIAS: csrr t1, hpmcounter5111# uimm12112# CHECK-INST: csrrs t2, hpmcounter5, zero113# CHECK-ENC:  encoding: [0xf3,0x23,0x50,0xc0]114# CHECK-INST-ALIAS: csrr t2, hpmcounter5115# name116csrrs t1, hpmcounter5, zero117# uimm12118csrrs t2, 0xC05, zero119 120# hpmcounter6121# name122# CHECK-INST: csrrs t1, hpmcounter6, zero123# CHECK-ENC:  encoding: [0x73,0x23,0x60,0xc0]124# CHECK-INST-ALIAS: csrr t1, hpmcounter6125# uimm12126# CHECK-INST: csrrs t2, hpmcounter6, zero127# CHECK-ENC:  encoding: [0xf3,0x23,0x60,0xc0]128# CHECK-INST-ALIAS: csrr t2, hpmcounter6129# name130csrrs t1, hpmcounter6, zero131# uimm12132csrrs t2, 0xC06, zero133 134# hpmcounter7135# name136# CHECK-INST: csrrs t1, hpmcounter7, zero137# CHECK-ENC:  encoding: [0x73,0x23,0x70,0xc0]138# CHECK-INST-ALIAS: csrr t1, hpmcounter7139# uimm12140# CHECK-INST: csrrs t2, hpmcounter7, zero141# CHECK-ENC:  encoding: [0xf3,0x23,0x70,0xc0]142# CHECK-INST-ALIAS: csrr t2, hpmcounter7143# name144csrrs t1, hpmcounter7, zero145# uimm12146csrrs t2, 0xC07, zero147 148# hpmcounter8149# name150# CHECK-INST: csrrs t1, hpmcounter8, zero151# CHECK-ENC:  encoding: [0x73,0x23,0x80,0xc0]152# CHECK-INST-ALIAS: csrr t1, hpmcounter8153# uimm12154# CHECK-INST: csrrs t2, hpmcounter8, zero155# CHECK-ENC:  encoding: [0xf3,0x23,0x80,0xc0]156# CHECK-INST-ALIAS: csrr t2, hpmcounter8157# name158csrrs t1, hpmcounter8, zero159# uimm12160csrrs t2, 0xC08, zero161 162# hpmcounter9163# name164# CHECK-INST: csrrs t1, hpmcounter9, zero165# CHECK-ENC:  encoding: [0x73,0x23,0x90,0xc0]166# CHECK-INST-ALIAS: csrr t1, hpmcounter9167# uimm12168# CHECK-INST: csrrs t2, hpmcounter9, zero169# CHECK-ENC:  encoding: [0xf3,0x23,0x90,0xc0]170# CHECK-INST-ALIAS: csrr t2, hpmcounter9171# name172csrrs t1, hpmcounter9, zero173# uimm12174csrrs t2, 0xC09, zero175 176# hpmcounter10177# name178# CHECK-INST: csrrs t1, hpmcounter10, zero179# CHECK-ENC:  encoding: [0x73,0x23,0xa0,0xc0]180# CHECK-INST-ALIAS: csrr t1, hpmcounter10181# uimm12182# CHECK-INST: csrrs t2, hpmcounter10, zero183# CHECK-ENC:  encoding: [0xf3,0x23,0xa0,0xc0]184# CHECK-INST-ALIAS: csrr t2, hpmcounter10185# name186csrrs t1, hpmcounter10, zero187# uimm12188csrrs t2, 0xC0A, zero189 190# hpmcounter11191# name192# CHECK-INST: csrrs t1, hpmcounter11, zero193# CHECK-ENC:  encoding: [0x73,0x23,0xb0,0xc0]194# CHECK-INST-ALIAS: csrr t1, hpmcounter11195# uimm12196# CHECK-INST: csrrs t2, hpmcounter11, zero197# CHECK-ENC:  encoding: [0xf3,0x23,0xb0,0xc0]198# CHECK-INST-ALIAS: csrr t2, hpmcounter11199# name200csrrs t1, hpmcounter11, zero201# uimm12202csrrs t2, 0xC0B, zero203 204# hpmcounter12205# name206# CHECK-INST: csrrs t1, hpmcounter12, zero207# CHECK-ENC:  encoding: [0x73,0x23,0xc0,0xc0]208# CHECK-INST-ALIAS: csrr t1, hpmcounter12209# uimm12210# CHECK-INST: csrrs t2, hpmcounter12, zero211# CHECK-ENC:  encoding: [0xf3,0x23,0xc0,0xc0]212# CHECK-INST-ALIAS: csrr t2, hpmcounter12213# name214csrrs t1, hpmcounter12, zero215# uimm12216csrrs t2, 0xC0C, zero217 218# hpmcounter13219# name220# CHECK-INST: csrrs t1, hpmcounter13, zero221# CHECK-ENC:  encoding: [0x73,0x23,0xd0,0xc0]222# CHECK-INST-ALIAS: csrr t1, hpmcounter13223# uimm12224# CHECK-INST: csrrs t2, hpmcounter13, zero225# CHECK-ENC:  encoding: [0xf3,0x23,0xd0,0xc0]226# CHECK-INST-ALIAS: csrr t2, hpmcounter13227# name228csrrs t1, hpmcounter13, zero229# uimm12230csrrs t2, 0xC0D, zero231 232# hpmcounter14233# name234# CHECK-INST: csrrs t1, hpmcounter14, zero235# CHECK-ENC:  encoding: [0x73,0x23,0xe0,0xc0]236# CHECK-INST-ALIAS: csrr t1, hpmcounter14237# uimm12238# CHECK-INST: csrrs t2, hpmcounter14, zero239# CHECK-ENC:  encoding: [0xf3,0x23,0xe0,0xc0]240# CHECK-INST-ALIAS: csrr t2, hpmcounter14241# name242csrrs t1, hpmcounter14, zero243# uimm12244csrrs t2, 0xC0E, zero245 246# hpmcounter15247# name248# CHECK-INST: csrrs t1, hpmcounter15, zero249# CHECK-ENC:  encoding: [0x73,0x23,0xf0,0xc0]250# CHECK-INST-ALIAS: csrr t1, hpmcounter15251# uimm12252# CHECK-INST: csrrs t2, hpmcounter15, zero253# CHECK-ENC:  encoding: [0xf3,0x23,0xf0,0xc0]254# CHECK-INST-ALIAS: csrr t2, hpmcounter15255# name256csrrs t1, hpmcounter15, zero257# uimm12258csrrs t2, 0xC0F, zero259 260# hpmcounter16261# name262# CHECK-INST: csrrs t1, hpmcounter16, zero263# CHECK-ENC:  encoding: [0x73,0x23,0x00,0xc1]264# CHECK-INST-ALIAS: csrr t1, hpmcounter16265# uimm12266# CHECK-INST: csrrs t2, hpmcounter16, zero267# CHECK-ENC:  encoding: [0xf3,0x23,0x00,0xc1]268# CHECK-INST-ALIAS: csrr t2, hpmcounter16269# name270csrrs t1, hpmcounter16, zero271# uimm12272csrrs t2, 0xC10, zero273 274# hpmcounter17275# name276# CHECK-INST: csrrs t1, hpmcounter17, zero277# CHECK-ENC:  encoding: [0x73,0x23,0x10,0xc1]278# CHECK-INST-ALIAS: csrr t1, hpmcounter17279# uimm12280# CHECK-INST: csrrs t2, hpmcounter17, zero281# CHECK-ENC:  encoding: [0xf3,0x23,0x10,0xc1]282# CHECK-INST-ALIAS: csrr t2, hpmcounter17283# name284csrrs t1, hpmcounter17, zero285# uimm12286csrrs t2, 0xC11, zero287 288# hpmcounter18289# name290# CHECK-INST: csrrs t1, hpmcounter18, zero291# CHECK-ENC:  encoding: [0x73,0x23,0x20,0xc1]292# CHECK-INST-ALIAS: csrr t1, hpmcounter18293# uimm12294# CHECK-INST: csrrs t2, hpmcounter18, zero295# CHECK-ENC:  encoding: [0xf3,0x23,0x20,0xc1]296# CHECK-INST-ALIAS: csrr t2, hpmcounter18297# name298csrrs t1, hpmcounter18, zero299# uimm12300csrrs t2, 0xC12, zero301 302# hpmcounter19303# name304# CHECK-INST: csrrs t1, hpmcounter19, zero305# CHECK-ENC:  encoding: [0x73,0x23,0x30,0xc1]306# CHECK-INST-ALIAS: csrr t1, hpmcounter19307# uimm12308# CHECK-INST: csrrs t2, hpmcounter19, zero309# CHECK-ENC:  encoding: [0xf3,0x23,0x30,0xc1]310# CHECK-INST-ALIAS: csrr t2, hpmcounter19311# name312csrrs t1, hpmcounter19, zero313# uimm12314csrrs t2, 0xC13, zero315 316# hpmcounter20317# name318# CHECK-INST: csrrs t1, hpmcounter20, zero319# CHECK-ENC:  encoding: [0x73,0x23,0x40,0xc1]320# CHECK-INST-ALIAS: csrr t1, hpmcounter20321# uimm12322# CHECK-INST: csrrs t2, hpmcounter20, zero323# CHECK-ENC:  encoding: [0xf3,0x23,0x40,0xc1]324# CHECK-INST-ALIAS: csrr t2, hpmcounter20325# name326csrrs t1, hpmcounter20, zero327# uimm12328csrrs t2, 0xC14, zero329 330# hpmcounter21331# name332# CHECK-INST: csrrs t1, hpmcounter21, zero333# CHECK-ENC:  encoding: [0x73,0x23,0x50,0xc1]334# CHECK-INST-ALIAS: csrr t1, hpmcounter21335# uimm12336# CHECK-INST: csrrs t2, hpmcounter21, zero337# CHECK-ENC:  encoding: [0xf3,0x23,0x50,0xc1]338# CHECK-INST-ALIAS: csrr t2, hpmcounter21339# name340csrrs t1, hpmcounter21, zero341# uimm12342csrrs t2, 0xC15, zero343 344# hpmcounter22345# name346# CHECK-INST: csrrs t1, hpmcounter22, zero347# CHECK-ENC:  encoding: [0x73,0x23,0x60,0xc1]348# CHECK-INST-ALIAS: csrr t1, hpmcounter22349# uimm12350# CHECK-INST: csrrs t2, hpmcounter22, zero351# CHECK-ENC:  encoding: [0xf3,0x23,0x60,0xc1]352# CHECK-INST-ALIAS: csrr t2, hpmcounter22353# name354csrrs t1, hpmcounter22, zero355# uimm12356csrrs t2, 0xC16, zero357 358# hpmcounter23359# name360# CHECK-INST: csrrs t1, hpmcounter23, zero361# CHECK-ENC:  encoding: [0x73,0x23,0x70,0xc1]362# CHECK-INST-ALIAS: csrr t1, hpmcounter23363# uimm12364# CHECK-INST: csrrs t2, hpmcounter23, zero365# CHECK-ENC:  encoding: [0xf3,0x23,0x70,0xc1]366# CHECK-INST-ALIAS: csrr t2, hpmcounter23367# name368csrrs t1, hpmcounter23, zero369# uimm12370csrrs t2, 0xC17, zero371 372# hpmcounter24373# name374# CHECK-INST: csrrs t1, hpmcounter24, zero375# CHECK-ENC:  encoding: [0x73,0x23,0x80,0xc1]376# CHECK-INST-ALIAS: csrr t1, hpmcounter24377# uimm12378# CHECK-INST: csrrs t2, hpmcounter24, zero379# CHECK-ENC:  encoding: [0xf3,0x23,0x80,0xc1]380# CHECK-INST-ALIAS: csrr t2, hpmcounter24381# name382csrrs t1, hpmcounter24, zero383# uimm12384csrrs t2, 0xC18, zero385 386# hpmcounter25387# name388# CHECK-INST: csrrs t1, hpmcounter25, zero389# CHECK-ENC:  encoding: [0x73,0x23,0x90,0xc1]390# CHECK-INST-ALIAS: csrr t1, hpmcounter25391# uimm12392# CHECK-INST: csrrs t2, hpmcounter25, zero393# CHECK-ENC:  encoding: [0xf3,0x23,0x90,0xc1]394# CHECK-INST-ALIAS: csrr t2, hpmcounter25395# name396csrrs t1, hpmcounter25, zero397# uimm12398csrrs t2, 0xC19, zero399 400# hpmcounter26401# name402# CHECK-INST: csrrs t1, hpmcounter26, zero403# CHECK-ENC:  encoding: [0x73,0x23,0xa0,0xc1]404# CHECK-INST-ALIAS: csrr t1, hpmcounter26405# uimm12406# CHECK-INST: csrrs t2, hpmcounter26, zero407# CHECK-ENC:  encoding: [0xf3,0x23,0xa0,0xc1]408# CHECK-INST-ALIAS: csrr t2, hpmcounter26409# name410csrrs t1, hpmcounter26, zero411# uimm12412csrrs t2, 0xC1A, zero413 414# hpmcounter27415# name416# CHECK-INST: csrrs t1, hpmcounter27, zero417# CHECK-ENC:  encoding: [0x73,0x23,0xb0,0xc1]418# CHECK-INST-ALIAS: csrr t1, hpmcounter27419# uimm12420# CHECK-INST: csrrs t2, hpmcounter27, zero421# CHECK-ENC:  encoding: [0xf3,0x23,0xb0,0xc1]422# CHECK-INST-ALIAS: csrr t2, hpmcounter27423# name424csrrs t1, hpmcounter27, zero425# uimm12426csrrs t2, 0xC1B, zero427 428# hpmcounter28429# name430# CHECK-INST: csrrs t1, hpmcounter28, zero431# CHECK-ENC:  encoding: [0x73,0x23,0xc0,0xc1]432# CHECK-INST-ALIAS: csrr t1, hpmcounter28433# uimm12434# CHECK-INST: csrrs t2, hpmcounter28, zero435# CHECK-ENC:  encoding: [0xf3,0x23,0xc0,0xc1]436# CHECK-INST-ALIAS: csrr t2, hpmcounter28437# name438csrrs t1, hpmcounter28, zero439# uimm12440csrrs t2, 0xC1C, zero441 442# hpmcounter29443# name444# CHECK-INST: csrrs t1, hpmcounter29, zero445# CHECK-ENC:  encoding: [0x73,0x23,0xd0,0xc1]446# CHECK-INST-ALIAS: csrr t1, hpmcounter29447# uimm12448# CHECK-INST: csrrs t2, hpmcounter29, zero449# CHECK-ENC:  encoding: [0xf3,0x23,0xd0,0xc1]450# CHECK-INST-ALIAS: csrr t2, hpmcounter29451# name452csrrs t1, hpmcounter29, zero453# uimm12454csrrs t2, 0xC1D, zero455 456# hpmcounter30457# name458# CHECK-INST: csrrs t1, hpmcounter30, zero459# CHECK-ENC:  encoding: [0x73,0x23,0xe0,0xc1]460# CHECK-INST-ALIAS: csrr t1, hpmcounter30461# uimm12462# CHECK-INST: csrrs t2, hpmcounter30, zero463# CHECK-ENC:  encoding: [0xf3,0x23,0xe0,0xc1]464# CHECK-INST-ALIAS: csrr t2, hpmcounter30465# name466csrrs t1, hpmcounter30, zero467# uimm12468csrrs t2, 0xC1E, zero469 470# hpmcounter31471# name472# CHECK-INST: csrrs t1, hpmcounter31, zero473# CHECK-ENC:  encoding: [0x73,0x23,0xf0,0xc1]474# CHECK-INST-ALIAS: csrr t1, hpmcounter31475# uimm12476# CHECK-INST: csrrs t2, hpmcounter31, zero477# CHECK-ENC:  encoding: [0xf3,0x23,0xf0,0xc1]478# CHECK-INST-ALIAS: csrr t2, hpmcounter31479# name480csrrs t1, hpmcounter31, zero481# uimm12482csrrs t2, 0xC1F, zero483