247 lines · plain
1# RUN: llvm-mc %s -triple=riscv64 -M no-aliases -show-encoding \2# RUN: | FileCheck -check-prefixes=CHECK-INST,CHECK-ENC %s3# RUN: llvm-mc -filetype=obj -triple riscv64 < %s \4# RUN: | llvm-objdump --no-print-imm-hex -d - \5# RUN: | FileCheck -check-prefix=CHECK-INST-ALIAS %s6 7# These machine mode CSR register names are RV32 only, but RV648# can encode and disassemble these registers if given their value.9 10######################################11# Machine Protection and Translation12######################################13 14# pmpcfg115# uimm1216# CHECK-INST: csrrs t2, 929, zero17# CHECK-ENC: encoding: [0xf3,0x23,0x10,0x3a]18# CHECK-INST-ALIAS: csrr t2, 92919csrrs t2, 0x3A1, zero20 21# pmpcfg322# uimm1223# CHECK-INST: csrrs t2, 931, zero24# CHECK-ENC: encoding: [0xf3,0x23,0x30,0x3a]25# CHECK-INST-ALIAS: csrr t2, 93126csrrs t2, 0x3A3, zero27 28######################################29# Machine Counter and Timers30######################################31# mcycleh32# uimm1233# CHECK-INST: csrrs t2, 2944, zero34# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb8]35# CHECK-INST-ALIAS: csrr t2, 294436csrrs t2, 0xB80, zero37 38# minstreth39# uimm1240# CHECK-INST: csrrs t2, 2946, zero41# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb8]42# CHECK-INST-ALIAS: csrr t2, 294643csrrs t2, 0xB82, zero44 45# mhpmcounter3h46# uimm1247# CHECK-INST: csrrs t2, 2947, zero48# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb8]49# CHECK-INST-ALIAS: csrr t2, 294750csrrs t2, 0xB83, zero51 52# mhpmcounter4h53# uimm1254# CHECK-INST: csrrs t2, 2948, zero55# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb8]56# CHECK-INST-ALIAS: csrr t2, 294857csrrs t2, 0xB84, zero58 59# mhpmcounter5h60# uimm1261# CHECK-INST: csrrs t2, 2949, zero62# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb8]63# CHECK-INST-ALIAS: csrr t2, 294964csrrs t2, 0xB85, zero65 66# mhpmcounter6h67# uimm1268# CHECK-INST: csrrs t2, 2950, zero69# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb8]70# CHECK-INST-ALIAS: csrr t2, 295071csrrs t2, 0xB86, zero72 73# mhpmcounter7h74# uimm1275# CHECK-INST: csrrs t2, 2951, zero76# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb8]77# CHECK-INST-ALIAS: csrr t2, 295178csrrs t2, 0xB87, zero79 80# mhpmcounter8h81# uimm1282# CHECK-INST: csrrs t2, 2952, zero83# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb8]84# CHECK-INST-ALIAS: csrr t2, 295285csrrs t2, 0xB88, zero86 87# mhpmcounter9h88# uimm1289# CHECK-INST: csrrs t2, 2953, zero90# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb8]91# CHECK-INST-ALIAS: csrr t2, 295392csrrs t2, 0xB89, zero93 94# mhpmcounter10h95# uimm1296# CHECK-INST: csrrs t2, 2954, zero97# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb8]98# CHECK-INST-ALIAS: csrr t2, 295499csrrs t2, 0xB8A, zero100 101# mhpmcounter11h102# uimm12103# CHECK-INST: csrrs t2, 2955, zero104# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb8]105# CHECK-INST-ALIAS: csrr t2, 2955106csrrs t2, 0xB8B, zero107 108# mhpmcounter12h109# uimm12110# CHECK-INST: csrrs t2, 2956, zero111# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb8]112# CHECK-INST-ALIAS: csrr t2, 2956113csrrs t2, 0xB8C, zero114 115# mhpmcounter13h116# uimm12117# CHECK-INST: csrrs t2, 2957, zero118# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb8]119# CHECK-INST-ALIAS: csrr t2, 2957120csrrs t2, 0xB8D, zero121 122# mhpmcounter14h123# uimm12124# CHECK-INST: csrrs t2, 2958, zero125# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb8]126# CHECK-INST-ALIAS: csrr t2, 2958127csrrs t2, 0xB8E, zero128 129# mhpmcounter15h130# uimm12131# CHECK-INST: csrrs t2, 2959, zero132# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb8]133# CHECK-INST-ALIAS: csrr t2, 2959134csrrs t2, 0xB8F, zero135 136# mhpmcounter16h137# uimm12138# CHECK-INST: csrrs t2, 2960, zero139# CHECK-ENC: encoding: [0xf3,0x23,0x00,0xb9]140# CHECK-INST-ALIAS: csrr t2, 2960141csrrs t2, 0xB90, zero142 143# mhpmcounter17h144# uimm12145# CHECK-INST: csrrs t2, 2961, zero146# CHECK-ENC: encoding: [0xf3,0x23,0x10,0xb9]147# CHECK-INST-ALIAS: csrr t2, 2961148csrrs t2, 0xB91, zero149 150# mhpmcounter18h151# uimm12152# CHECK-INST: csrrs t2, 2962, zero153# CHECK-ENC: encoding: [0xf3,0x23,0x20,0xb9]154# CHECK-INST-ALIAS: csrr t2, 2962155csrrs t2, 0xB92, zero156 157# mhpmcounter19h158# uimm12159# CHECK-INST: csrrs t2, 2963, zero160# CHECK-ENC: encoding: [0xf3,0x23,0x30,0xb9]161# CHECK-INST-ALIAS: csrr t2, 2963162csrrs t2, 0xB93, zero163 164# mhpmcounter20h165# uimm12166# CHECK-INST: csrrs t2, 2964, zero167# CHECK-ENC: encoding: [0xf3,0x23,0x40,0xb9]168# CHECK-INST-ALIAS: csrr t2, 2964169csrrs t2, 0xB94, zero170 171# mhpmcounter21h172# uimm12173# CHECK-INST: csrrs t2, 2965, zero174# CHECK-ENC: encoding: [0xf3,0x23,0x50,0xb9]175# CHECK-INST-ALIAS: csrr t2, 2965176csrrs t2, 0xB95, zero177 178# mhpmcounter22h179# uimm12180# CHECK-INST: csrrs t2, 2966, zero181# CHECK-ENC: encoding: [0xf3,0x23,0x60,0xb9]182# CHECK-INST-ALIAS: csrr t2, 2966183csrrs t2, 0xB96, zero184 185# mhpmcounter23h186# uimm12187# CHECK-INST: csrrs t2, 2967, zero188# CHECK-ENC: encoding: [0xf3,0x23,0x70,0xb9]189# CHECK-INST-ALIAS: csrr t2, 2967190csrrs t2, 0xB97, zero191 192# mhpmcounter24h193# uimm12194# CHECK-INST: csrrs t2, 2968, zero195# CHECK-ENC: encoding: [0xf3,0x23,0x80,0xb9]196# CHECK-INST-ALIAS: csrr t2, 2968197csrrs t2, 0xB98, zero198 199# mhpmcounter25h200# uimm12201# CHECK-INST: csrrs t2, 2969, zero202# CHECK-ENC: encoding: [0xf3,0x23,0x90,0xb9]203# CHECK-INST-ALIAS: csrr t2, 2969204csrrs t2, 0xB99, zero205 206# mhpmcounter26h207# uimm12208# CHECK-INST: csrrs t2, 2970, zero209# CHECK-ENC: encoding: [0xf3,0x23,0xa0,0xb9]210# CHECK-INST-ALIAS: csrr t2, 2970211csrrs t2, 0xB9A, zero212 213# mhpmcounter27h214# uimm12215# CHECK-INST: csrrs t2, 2971, zero216# CHECK-ENC: encoding: [0xf3,0x23,0xb0,0xb9]217# CHECK-INST-ALIAS: csrr t2, 2971218csrrs t2, 0xB9B, zero219 220# mhpmcounter28h221# uimm12222# CHECK-INST: csrrs t2, 2972, zero223# CHECK-ENC: encoding: [0xf3,0x23,0xc0,0xb9]224# CHECK-INST-ALIAS: csrr t2, 2972225csrrs t2, 0xB9C, zero226 227# mhpmcounter29h228# uimm12229# CHECK-INST: csrrs t2, 2973, zero230# CHECK-ENC: encoding: [0xf3,0x23,0xd0,0xb9]231# CHECK-INST-ALIAS: csrr t2, 2973232csrrs t2, 0xB9D, zero233 234# mhpmcounter30h235# uimm12236# CHECK-INST: csrrs t2, 2974, zero237# CHECK-ENC: encoding: [0xf3,0x23,0xe0,0xb9]238# CHECK-INST-ALIAS: csrr t2, 2974239csrrs t2, 0xB9E, zero240 241# mhpmcounter31h242# uimm12243# CHECK-INST: csrrs t2, 2975, zero244# CHECK-ENC: encoding: [0xf3,0x23,0xf0,0xb9]245# CHECK-INST-ALIAS: csrr t2, 2975246csrrs t2, 0xB9F, zero247