brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.8 KiB · d144c6f Raw
290 lines · plain
1# RUN: llvm-mc %s -triple=riscv32 -mattr=zcmp -M no-aliases -show-encoding \2# RUN:     | FileCheck -check-prefixes=CHECK-ASM,CHECK-ASM-AND-OBJ %s3# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=zcmp < %s \4# RUN:     | llvm-objdump --mattr=-c,zcmp -M no-aliases -d -r - \5# RUN:     | FileCheck --check-prefixes=CHECK-ASM-AND-OBJ %s6 7# CHECK-ASM-AND-OBJ: cm.mvsa01 s1, s08# CHECK-ASM: encoding: [0xa2,0xac]9cm.mvsa01 s1, s010 11# CHECK-ASM-AND-OBJ: cm.mva01s s1, s012# CHECK-ASM: encoding: [0xe2,0xac]13cm.mva01s s1, s014 15# CHECK-ASM-AND-OBJ: cm.mva01s s0, s016# CHECK-ASM: encoding: [0x62,0xac] 17cm.mva01s s0, s018 19# CHECK-ASM-AND-OBJ: cm.popret   {ra}, 1620# CHECK-ASM: encoding: [0x42,0xbe]21cm.popret {ra}, 1622 23# CHECK-ASM-AND-OBJ: cm.popret   {ra}, 1624# CHECK-ASM: encoding: [0x42,0xbe]25cm.popret {x1}, 1626 27# CHECK-ASM-AND-OBJ: cm.popret   {ra}, 3228# CHECK-ASM: encoding: [0x46,0xbe]29cm.popret {ra}, 3230 31# CHECK-ASM-AND-OBJ: cm.popret   {ra}, 3232# CHECK-ASM: encoding: [0x46,0xbe]33cm.popret {x1}, 3234 35# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0}, 6436# CHECK-ASM: encoding: [0x5e,0xbe]37cm.popret {ra, s0}, 6438 39# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0}, 6440# CHECK-ASM: encoding: [0x5e,0xbe]41cm.popret {x1, x8}, 6442 43# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s1}, 1644# CHECK-ASM: encoding: [0x62,0xbe]45cm.popret {ra,s0-s1}, 1646 47# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s1}, 1648# CHECK-ASM: encoding: [0x62,0xbe]49cm.popret {x1, x8-x9}, 1650 51# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s2}, 3252# CHECK-ASM: encoding: [0x76,0xbe]53cm.popret {ra, s0-s2}, 3254 55# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s2}, 3256# CHECK-ASM: encoding: [0x76,0xbe]57cm.popret {x1, x8-x9, x18}, 3258 59# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s3}, 3260# CHECK-ASM: encoding: [0x82,0xbe]61cm.popret {ra, s0-s3}, 3262 63# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s3}, 3264# CHECK-ASM: encoding: [0x82,0xbe]65cm.popret {x1, x8-x9, x18-x19}, 3266 67# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s5}, 3268# CHECK-ASM: encoding: [0xa2,0xbe]69cm.popret {ra, s0-s5}, 3270 71# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s5}, 3272# CHECK-ASM: encoding: [0xa2,0xbe]73cm.popret {x1, x8-x9, x18-x21}, 3274 75# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s7}, 4876# CHECK-ASM: encoding: [0xc2,0xbe]77cm.popret {ra, s0-s7}, 4878 79# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s7}, 4880# CHECK-ASM: encoding: [0xc2,0xbe]81cm.popret {x1, x8-x9, x18-x23}, 4882 83# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s11}, 11284# CHECK-ASM: encoding: [0xfe,0xbe]85cm.popret {ra, s0-s11}, 11286 87# CHECK-ASM-AND-OBJ: cm.popret   {ra, s0-s11}, 11288# CHECK-ASM: encoding: [0xfe,0xbe]89cm.popret {x1, x8-x9, x18-x27}, 11290 91# CHECK-ASM-AND-OBJ: cm.popretz   {ra}, 1692# CHECK-ASM: encoding: [0x42,0xbc]93cm.popretz {ra}, 1694 95# CHECK-ASM-AND-OBJ: cm.popretz   {ra}, 1696# CHECK-ASM: encoding: [0x42,0xbc]97cm.popretz {x1}, 1698 99# CHECK-ASM-AND-OBJ: cm.popretz   {ra}, 32100# CHECK-ASM: encoding: [0x46,0xbc]101cm.popretz {ra}, 32102 103# CHECK-ASM-AND-OBJ: cm.popretz   {ra}, 32104# CHECK-ASM: encoding: [0x46,0xbc]105cm.popretz {x1}, 32106 107# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0}, 64108# CHECK-ASM: encoding: [0x5e,0xbc]109cm.popretz {ra, s0}, 64110 111# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0}, 64112# CHECK-ASM: encoding: [0x5e,0xbc]113cm.popretz {x1, x8}, 64114 115# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s1}, 16116# CHECK-ASM: encoding: [0x62,0xbc]117cm.popretz {ra, s0-s1}, 16118 119# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s1}, 16120# CHECK-ASM: encoding: [0x62,0xbc]121cm.popretz {x1, x8-x9}, 16122 123# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s2}, 32124# CHECK-ASM: encoding: [0x76,0xbc]125cm.popretz {ra, s0-s2}, 32126 127# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s2}, 32128# CHECK-ASM: encoding: [0x76,0xbc]129cm.popretz {x1, x8-x9, x18}, 32130 131# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s3}, 32132# CHECK-ASM: encoding: [0x82,0xbc]133cm.popretz {ra, s0-s3}, 32134 135# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s3}, 32136# CHECK-ASM: encoding: [0x82,0xbc]137cm.popretz {x1, x8-x9, x18-x19}, 32138 139# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s5}, 32140# CHECK-ASM: encoding: [0xa2,0xbc]141cm.popretz {ra, s0-s5}, 32142 143# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s5}, 32144# CHECK-ASM: encoding: [0xa2,0xbc]145cm.popretz {x1, x8-x9, x18-x21}, 32146 147# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s7}, 48148# CHECK-ASM: encoding: [0xc2,0xbc]149cm.popretz {ra, s0-s7}, 48150 151# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s7}, 48152# CHECK-ASM: encoding: [0xc2,0xbc]153cm.popretz {x1, x8-x9, x18-x23}, 48154 155# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s11}, 112156# CHECK-ASM: encoding: [0xfe,0xbc]157cm.popretz {ra, s0-s11}, 112158 159# CHECK-ASM-AND-OBJ: cm.popretz   {ra, s0-s11}, 112160# CHECK-ASM: encoding: [0xfe,0xbc]161cm.popretz {x1, x8-x9, x18-x27}, 112162 163# CHECK-ASM-AND-OBJ: cm.pop  {ra}, 16164# CHECK-ASM: encoding: [0x42,0xba]165cm.pop {ra}, 16166 167# CHECK-ASM-AND-OBJ: cm.pop  {ra}, 16168# CHECK-ASM: encoding: [0x42,0xba]169cm.pop {x1}, 16170 171# CHECK-ASM-AND-OBJ: cm.pop  {ra}, 32172# CHECK-ASM: encoding: [0x46,0xba]173cm.pop {ra}, 32174 175# CHECK-ASM-AND-OBJ: cm.pop  {ra}, 32176# CHECK-ASM: encoding: [0x46,0xba]177cm.pop {x1}, 32178 179# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0}, 16180# CHECK-ASM: encoding: [0x52,0xba]181cm.pop {ra, s0}, 16182 183# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0}, 16184# CHECK-ASM: encoding: [0x52,0xba]185cm.pop {x1, x8}, 16186 187# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s1}, 32188# CHECK-ASM: encoding: [0x66,0xba]189cm.pop {ra, s0-s1}, 32190 191# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s1}, 32192# CHECK-ASM: encoding: [0x66,0xba]193cm.pop {x1, x8-x9}, 32194 195# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s2}, 32196# CHECK-ASM: encoding: [0x76,0xba]197cm.pop {ra, s0-s2}, 32198 199# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s2}, 32200# CHECK-ASM: encoding: [0x76,0xba]201cm.pop {x1, x8-x9, x18}, 32202 203# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s5}, 32204# CHECK-ASM: encoding: [0xa2,0xba]205cm.pop {ra, s0-s5}, 32206 207# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s5}, 32208# CHECK-ASM: encoding: [0xa2,0xba]209cm.pop {x1, x8-x9, x18-x21}, 32210 211# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s7}, 48212# CHECK-ASM: encoding: [0xc2,0xba]213cm.pop {ra, s0-s7}, 48214 215# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s7}, 48216# CHECK-ASM: encoding: [0xc2,0xba]217cm.pop {x1, x8-x9, x18-x23}, 48218 219# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s11}, 64220# CHECK-ASM: encoding: [0xf2,0xba]221cm.pop {ra, s0-s11}, 64222 223# CHECK-ASM-AND-OBJ: cm.pop  {ra, s0-s11}, 64224# CHECK-ASM: encoding: [0xf2,0xba]225cm.pop {x1, x8-x9, x18-x27}, 64226 227# CHECK-ASM-AND-OBJ: cm.push {ra}, -16228# CHECK-ASM: encoding: [0x42,0xb8]229cm.push {ra}, -16230 231# CHECK-ASM-AND-OBJ: cm.push {ra}, -16232# CHECK-ASM: encoding: [0x42,0xb8]233cm.push {x1}, -16234 235# CHECK-ASM-AND-OBJ: cm.push {ra, s0}, -32236# CHECK-ASM: encoding: [0x56,0xb8]237cm.push {ra, s0}, -32238 239# CHECK-ASM-AND-OBJ: cm.push {ra, s0}, -32240# CHECK-ASM: encoding: [0x56,0xb8]241cm.push {x1, x8}, -32242 243# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s1}, -16244# CHECK-ASM: encoding: [0x62,0xb8]245cm.push {ra, s0-s1}, -16246 247# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s1}, -16248# CHECK-ASM: encoding: [0x62,0xb8]249cm.push {x1, x8-x9}, -16250 251# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s3}, -32252# CHECK-ASM: encoding: [0x82,0xb8]253cm.push {ra, s0-s3}, -32254 255# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s3}, -32256# CHECK-ASM: encoding: [0x82,0xb8]257cm.push {x1, x8-x9, x18-x19}, -32258 259# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s7}, -48260# CHECK-ASM: encoding: [0xc2,0xb8]261cm.push {ra, s0-s7}, -48262 263# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s7}, -48264# CHECK-ASM: encoding: [0xc2,0xb8]265cm.push {x1, x8-x9, x18-x23}, -48266 267# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s7}, -64268# CHECK-ASM: encoding: [0xc6,0xb8]269cm.push {ra, s0-s7}, -64270 271# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s7}, -64272# CHECK-ASM: encoding: [0xc6,0xb8]273cm.push {x1, x8-x9, x18-x23}, -64274 275# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s11}, -80276# CHECK-ASM: encoding: [0xf6,0xb8]277cm.push {ra, s0-s11}, -80278 279# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s11}, -80280# CHECK-ASM: encoding: [0xf6,0xb8]281cm.push {x1, x8-x9, x18-x27}, -80282 283# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s11}, -112284# CHECK-ASM: encoding: [0xfe,0xb8]285cm.push {ra, s0-s11}, -112286 287# CHECK-ASM-AND-OBJ: cm.push {ra, s0-s11}, -112288# CHECK-ASM: encoding: [0xfe,0xb8]289cm.push {x1, x8-x9, x18-x27}, -112290