brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.0 KiB · 712ec56 Raw
503 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# Supervisor Trap Setup15##################################16 17# sstatus18# name19# CHECK-INST: csrrs t1, sstatus, zero20# CHECK-ENC: encoding: [0x73,0x23,0x00,0x10]21# CHECK-INST-ALIAS: csrr t1, sstatus22# uimm1223# CHECK-INST: csrrs t2, sstatus, zero24# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x10]25# CHECK-INST-ALIAS: csrr t2, sstatus26# name27csrrs t1, sstatus, zero28# uimm1229csrrs t2, 0x100, zero30 31# sie32# name33# CHECK-INST: csrrs t1, sie, zero34# CHECK-ENC: [0x73,0x23,0x40,0x10]35# CHECK-INST-ALIAS: csrr t1, sie36# uimm1237# CHECK-INST: csrrs t2, sie, zero38# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x10]39# CHECK-INST-ALIAS: csrr t2, sie40# name41csrrs t1, sie, zero42# uimm1243csrrs t2, 0x104, zero44 45# stvec46# name47# CHECK-INST: csrrs t1, stvec, zero48# CHECK-ENC: encoding: [0x73,0x23,0x50,0x10]49# CHECK-INST-ALIAS: csrr t1, stvec50# uimm1251# CHECK-INST: csrrs t2, stvec, zero52# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x10]53# CHECK-INST-ALIAS: csrr t2, stvec54# name55csrrs t1, stvec, zero56# uimm1257csrrs t2, 0x105, zero58 59# scounteren60# name61# CHECK-INST: csrrs t1, scounteren, zero62# CHECK-ENC: encoding: [0x73,0x23,0x60,0x10]63# CHECK-INST-ALIAS: csrr t1, scounteren64# uimm1265# CHECK-INST: csrrs t2, scounteren, zero66# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x10]67# CHECK-INST-ALIAS: csrr t2, scounteren68# name69csrrs t1, scounteren, zero70# uimm1271csrrs t2, 0x106, zero72 73# stimecmp74# name75# CHECK-INST: csrrs t1, stimecmp, zero76# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x14]77# CHECK-INST-ALIAS: csrr t1, stimecmp78# uimm1279# CHECK-INST: csrrs t2, stimecmp, zero80# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x14]81# CHECK-INST-ALIAS: csrr t2, stimecmp82# name83csrrs t1, stimecmp, zero84# uimm1285csrrs t2, 0x14D, zero86 87##################################88# Supervisor Configuration89##################################90 91# senvcfg92# name93# CHECK-INST: csrrs t1, senvcfg, zero94# CHECK-ENC: encoding: [0x73,0x23,0xa0,0x10]95# CHECK-INST-ALIAS: csrr t1, senvcfg96# uimm1297# CHECK-INST: csrrs t2, senvcfg, zero98# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0x10]99# CHECK-INST-ALIAS: csrr t2, senvcfg100# name101csrrs t1, senvcfg, zero102# uimm12103csrrs t2, 0x10A, zero104 105##################################106# Supervisor Trap Handling107##################################108 109# sscratch110# name111# CHECK-INST: csrrs t1, sscratch, zero112# CHECK-ENC: encoding: [0x73,0x23,0x00,0x14]113# CHECK-INST-ALIAS: csrr t1, sscratch114# uimm12115# CHECK-INST: csrrs t2, sscratch, zero116# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x14]117# CHECK-INST-ALIAS: csrr t2, sscratch118# name119csrrs t1, sscratch, zero120# uimm12121csrrs t2, 0x140, zero122 123# sepc124# name125# CHECK-INST: csrrs t1, sepc, zero126# CHECK-ENC: encoding: [0x73,0x23,0x10,0x14]127# CHECK-INST-ALIAS: csrr t1, sepc128# uimm12129# CHECK-INST: csrrs t2, sepc, zero130# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x14]131# CHECK-INST-ALIAS: csrr t2, sepc132# name133csrrs t1, sepc, zero134# uimm12135csrrs t2, 0x141, zero136 137# scause138# name139# CHECK-INST: csrrs t1, scause, zero140# CHECK-ENC: encoding: [0x73,0x23,0x20,0x14]141# CHECK-INST-ALIAS: csrr t1, scause142# uimm12143# CHECK-INST: csrrs t2, scause, zero144# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x14]145# CHECK-INST-ALIAS: csrr t2, scause146# name147csrrs t1, scause, zero148# uimm12149csrrs t2, 0x142, zero150 151# stval152# name153# CHECK-INST: csrrs t1, stval, zero154# CHECK-ENC: encoding: [0x73,0x23,0x30,0x14]155# CHECK-INST-ALIAS: csrr t1, stval156# uimm12157# CHECK-INST: csrrs t2, stval, zero158# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x14]159# CHECK-INST-ALIAS: csrr t2, stval160# aliases161# aliases with uimm12162# name163csrrs t1, stval, zero164# uimm12165csrrs t2, 0x143, zero166 167# sip168# name169# CHECK-INST: csrrs t1, sip, zero170# CHECK-ENC: encoding: [0x73,0x23,0x40,0x14]171# CHECK-INST-ALIAS: csrr t1, sip172# uimm12173# CHECK-INST: csrrs t2, sip, zero174# CHECK-ENC: encoding: [0xf3,0x23,0x40,0x14]175# CHECK-INST-ALIAS: csrr t2, sip176csrrs t1, sip, zero177# uimm12178csrrs t2, 0x144, zero179 180 181#########################################182# Supervisor Protection and Translation183#########################################184 185# satp186# name187# CHECK-INST: csrrs t1, satp, zero188# CHECK-ENC: encoding: [0x73,0x23,0x00,0x18]189# CHECK-INST-ALIAS: csrr t1, satp190# uimm12191# CHECK-INST: csrrs t2, satp, zero192# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x18]193# CHECK-INST-ALIAS: csrr t2, satp194# name195csrrs t1, satp, zero196# uimm12197csrrs t2, 0x180, zero198 199#########################################200# Quality-of-Service(QoS) Identifiers201#########################################202 203# srmcfg204# name205# CHECK-INST: csrrs t1, srmcfg, zero206# CHECK-ENC: encoding: [0x73,0x23,0x10,0x18]207# CHECK-INST-ALIAS: csrr t1, srmcfg208# uimm12209# CHECK-INST: csrrs t2, srmcfg, zero210# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x18]211# CHECK-INST-ALIAS: csrr t2, srmcfg212# name213csrrs t1, srmcfg, zero214# uimm12215csrrs t2, 0x181, zero216 217#########################################218# Debug/Trace Registers219#########################################220 221# scontext222# name223# CHECK-INST: csrrs t1, scontext, zero224# CHECK-ENC: encoding: [0x73,0x23,0x80,0x5a]225# CHECK-INST-ALIAS: csrr t1, scontext226# uimm12227# CHECK-INST: csrrs t2, scontext, zero228# CHECK-ENC: encoding: [0xf3,0x23,0x80,0x5a]229# CHECK-INST-ALIAS: csrr t2, scontext230# name231csrrs t1, scontext, zero232# uimm12233csrrs t2, 0x5A8, zero234 235#########################################236# Supervisor Count Overflow (Sscofpmf)237#########################################238 239# scountovf240# name241# CHECK-INST: csrrs t1, scountovf, zero242# CHECK-ENC: encoding: [0x73,0x23,0x00,0xda]243# CHECK-INST-ALIAS: csrr t1, scountovf244# uimm12245# CHECK-INST: csrrs t2, scountovf, zero246# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xda]247# CHECK-INST-ALIAS: csrr t2, scountovf248# name249csrrs t1, scountovf, zero250# uimm12251csrrs t2, 0xDA0, zero252 253#########################################254# State Enable Extension (Smstateen)255#########################################256 257# sstateen0258# name259# CHECK-INST: csrrs t1, sstateen0, zero260# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x10]261# CHECK-INST-ALIAS: csrr t1, sstateen0262# uimm12263# CHECK-INST: csrrs t2, sstateen0, zero264# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x10]265# CHECK-INST-ALIAS: csrr t2, sstateen0266# name267csrrs t1, sstateen0, zero268# uimm12269csrrs t2, 0x10C, zero270 271# sstateen1272# name273# CHECK-INST: csrrs t1, sstateen1, zero274# CHECK-ENC: encoding: [0x73,0x23,0xd0,0x10]275# CHECK-INST-ALIAS: csrr t1, sstateen1276# uimm12277# CHECK-INST: csrrs t2, sstateen1, zero278# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0x10]279# CHECK-INST-ALIAS: csrr t2, sstateen1280# name281csrrs t1, sstateen1, zero282# uimm12283csrrs t2, 0x10D, zero284 285# sstateen2286# name287# CHECK-INST: csrrs t1, sstateen2, zero288# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x10]289# CHECK-INST-ALIAS: csrr t1, sstateen2290# uimm12291# CHECK-INST: csrrs t2, sstateen2, zero292# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x10]293# CHECK-INST-ALIAS: csrr t2, sstateen2294# name295csrrs t1, sstateen2, zero296# uimm12297csrrs t2, 0x10E, zero298 299# sstateen3300# name301# CHECK-INST: csrrs t1, sstateen3, zero302# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x10]303# CHECK-INST-ALIAS: csrr t1, sstateen3304# uimm12305# CHECK-INST: csrrs t2, sstateen3, zero306# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x10]307# CHECK-INST-ALIAS: csrr t2, sstateen3308# name309csrrs t1, sstateen3, zero310# uimm12311csrrs t2, 0x10F, zero312 313#########################################314# Advanced Interrupt Architecture (Smaia and Ssaia)315#########################################316 317# siselect318# name319# CHECK-INST: csrrs t1, siselect, zero320# CHECK-ENC: encoding: [0x73,0x23,0x00,0x15]321# CHECK-INST-ALIAS: csrr t1, siselect322# uimm12323# CHECK-INST: csrrs t2, siselect, zero324# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x15]325# CHECK-INST-ALIAS: csrr t2, siselect326# name327csrrs t1, siselect, zero328# uimm12329csrrs t2, 0x150, zero330 331# sireg332# name333# CHECK-INST: csrrs t1, sireg, zero334# CHECK-ENC: encoding: [0x73,0x23,0x10,0x15]335# CHECK-INST-ALIAS: csrr t1, sireg336# uimm12337# CHECK-INST: csrrs t2, sireg, zero338# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x15]339# CHECK-INST-ALIAS: csrr t2, sireg340# name341csrrs t1, sireg, zero342# uimm12343csrrs t2, 0x151, zero344 345# sireg2346# name347# CHECK-INST: csrrs t1, sireg2, zero348# CHECK-ENC: encoding: [0x73,0x23,0x20,0x15]349# CHECK-INST-ALIAS: csrr t1, sireg2350# uimm12351# CHECK-INST: csrrs t2, sireg2, zero352# CHECK-ENC: encoding: [0xf3,0x23,0x20,0x15]353# CHECK-INST-ALIAS: csrr t2, sireg2354# name355csrrs t1, sireg2, zero356# uimm12357csrrs t2, 0x152, zero358 359# sireg3360# name361# CHECK-INST: csrrs t1, sireg3, zero362# CHECK-ENC: encoding: [0x73,0x23,0x30,0x15]363# CHECK-INST-ALIAS: csrr t1, sireg3364# uimm12365# CHECK-INST: csrrs t2, sireg3, zero366# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x15]367# CHECK-INST-ALIAS: csrr t2, sireg3368# name369csrrs t1, sireg3, zero370# uimm12371csrrs t2, 0x153, zero372 373# sireg4374# name375# CHECK-INST: csrrs t1, sireg4, zero376# CHECK-ENC: encoding: [0x73,0x23,0x50,0x15]377# CHECK-INST-ALIAS: csrr t1, sireg4378# uimm12379# CHECK-INST: csrrs t2, sireg4, zero380# CHECK-ENC: encoding: [0xf3,0x23,0x50,0x15]381# CHECK-INST-ALIAS: csrr t2, sireg4382# name383csrrs t1, sireg4, zero384# uimm12385csrrs t2, 0x155, zero386 387# sireg5388# name389# CHECK-INST: csrrs t1, sireg5, zero390# CHECK-ENC: encoding: [0x73,0x23,0x60,0x15]391# CHECK-INST-ALIAS: csrr t1, sireg5392# uimm12393# CHECK-INST: csrrs t2, sireg5, zero394# CHECK-ENC: encoding: [0xf3,0x23,0x60,0x15]395# CHECK-INST-ALIAS: csrr t2, sireg5396# name397csrrs t1, sireg5, zero398# uimm12399csrrs t2, 0x156, zero400 401# sireg6402# name403# CHECK-INST: csrrs t1, sireg6, zero404# CHECK-ENC: encoding: [0x73,0x23,0x70,0x15]405# CHECK-INST-ALIAS: csrr t1, sireg6406# uimm12407# CHECK-INST: csrrs t2, sireg6, zero408# CHECK-ENC: encoding: [0xf3,0x23,0x70,0x15]409# CHECK-INST-ALIAS: csrr t2, sireg6410# name411csrrs t1, sireg6, zero412# uimm12413csrrs t2, 0x157, zero414 415# stopei416# name417# CHECK-INST: csrrs t1, stopei, zero418# CHECK-ENC: encoding: [0x73,0x23,0xc0,0x15]419# CHECK-INST-ALIAS: csrr t1, stopei420# uimm12421# CHECK-INST: csrrs t2, stopei, zero422# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0x15]423# CHECK-INST-ALIAS: csrr t2, stopei424# name425csrrs t1, stopei, zero426# uimm12427csrrs t2, 0x15C, zero428 429# stopi430# name431# CHECK-INST: csrrs t1, stopi, zero432# CHECK-ENC: encoding: [0x73,0x23,0x00,0xdb]433# CHECK-INST-ALIAS: csrr t1, stopi434# uimm12435# CHECK-INST: csrrs t2, stopi, zero436# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xdb]437# CHECK-INST-ALIAS: csrr t2, stopi438# name439csrrs t1, stopi, zero440# uimm12441csrrs t2, 0xDB0, zero442 443#########################################444# Counter Configuration (Ssccfg)445#########################################446 447# scountinhibit448# name449# CHECK-INST: csrrs t1, scountinhibit, zero450# CHECK-ENC: encoding: [0x73,0x23,0x00,0x12]451# CHECK-INST-ALIAS: csrr t1, scountinhibit452# uimm12453# CHECK-INST: csrrs t2, scountinhibit, zero454# CHECK-ENC: encoding: [0xf3,0x23,0x00,0x12]455# CHECK-INST-ALIAS: csrr t2, scountinhibit456# name457csrrs t1, scountinhibit, zero458# uimm12459csrrs t2, 0x120, zero460 461##################################462# Control Transfer Records463##################################464 465# sctrctl466# name467# CHECK-INST: csrrs t1, sctrctl, zero468# CHECK-ENC: encoding: [0x73,0x23,0xe0,0x14]469# CHECK-INST-ALIAS: csrr t1, sctrctl470# uimm12471# CHECK-INST: csrrs t2, sctrctl, zero472# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0x14]473# CHECK-INST-ALIAS: csrr t2, sctrctl474csrrs t1, sctrctl, zero475# uimm12476csrrs t2, 0x14E, zero477 478# sctrstatus479# name480# CHECK-INST: csrrs t1, sctrstatus, zero481# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x14]482# CHECK-INST-ALIAS: csrr t1, sctrstatus483# uimm12484# CHECK-INST: csrrs t2, sctrstatus, zero485# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x14]486# CHECK-INST-ALIAS: csrr t2, sctrstatus487csrrs t1, sctrstatus, zero488# uimm12489csrrs t2, 0x14F, zero490 491# sctrdepth492# name493# CHECK-INST: csrrs t1, sctrdepth, zero494# CHECK-ENC: encoding: [0x73,0x23,0xf0,0x15]495# CHECK-INST-ALIAS: csrr t1, sctrdepth496# uimm12497# CHECK-INST: csrrs t2, sctrdepth, zero498# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0x15]499# CHECK-INST-ALIAS: csrr t2, sctrdepth500csrrs t1, sctrdepth, zero501# uimm12502csrrs t2, 0x15F, zero503