brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.4 KiB · 1c26c06 Raw
337 lines · plain
1# Xqcilo - Qualcomm uC Large Offset Load Store extension2# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcilo -M no-aliases -show-encoding \3# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-NOALIAS %s4# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcilo < %s \5# RUN:     | llvm-objdump --mattr=+experimental-xqcilo -M no-aliases --no-print-imm-hex -d - \6# RUN:     | FileCheck -check-prefix=CHECK-INST %s7# RUN: llvm-mc %s -triple=riscv32 -mattr=+experimental-xqcilo -show-encoding \8# RUN:     | FileCheck -check-prefixes=CHECK-ENC,CHECK-INST,CHECK-ALIAS %s9# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+experimental-xqcilo < %s \10# RUN:     | llvm-objdump --mattr=+experimental-xqcilo --no-print-imm-hex -d - \11# RUN:     | FileCheck -check-prefix=CHECK-INST %s12 13# RUN: llvm-mc %s -triple=riscv32 -mattr=+zcb,+experimental-xqcilo -M no-aliases -show-encoding \14# RUN:     | FileCheck -check-prefixes=CHECK-ENC-ZCB,CHECK-INST-ZCB,CHECK-NOALIAS-ZCB %s15# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+zcb,+experimental-xqcilo < %s \16# RUN:     | llvm-objdump --mattr=+zcb,+experimental-xqcilo -M no-aliases --no-print-imm-hex -d - \17# RUN:     | FileCheck -check-prefix=CHECK-INST-ZCB %s18# RUN: llvm-mc %s -triple=riscv32 -mattr=+zcb,+experimental-xqcilo -show-encoding \19# RUN:     | FileCheck -check-prefixes=CHECK-ENC-ZCB,CHECK-INST-ZCB,CHECK-ALIAS-ZCB %s20# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+zcb,+experimental-xqcilo < %s \21# RUN:     | llvm-objdump --mattr=+experimental-xqcilo --no-print-imm-hex -d - \22# RUN:     | FileCheck -check-prefix=CHECK-INST-ZCB %s23 24# CHECK-INST: qc.e.lb a1, 3000(a0)25# CHECK-ENC: encoding: [0x9f,0x55,0x85,0x3b,0x02,0x00]26 27# CHECK-INST-ZCB: qc.e.lb a1, 3000(a0)28# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0x3b,0x02,0x00]29qc.e.lb x11, 3000(x10)30 31# CHECK-INST: qc.e.lb a1, -33554432(a0)32# CHECK-ENC: encoding: [0x9f,0x55,0x05,0x00,0x00,0x80]33 34# CHECK-INST-ZCB: qc.e.lb a1, -33554432(a0)35# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x00,0x00,0x80]36qc.e.lb x11, -33554432(x10)37 38# CHECK-INST: qc.e.lb a1, 33554431(a0)39# CHECK-ENC: encoding: [0x9f,0x55,0xf5,0x3f,0xff,0x7f]40 41# CHECK-INST-ZCB: qc.e.lb a1, 33554431(a0)42# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0x3f,0xff,0x7f]43qc.e.lb x11, 33554431(x10)44 45 46# CHECK-INST: qc.e.lbu        a1, 3000(a0)47# CHECK-ENC: encoding: [0x9f,0x55,0x85,0x7b,0x02,0x00]48 49# CHECK-INST-ZCB: qc.e.lbu        a1, 3000(a0)50# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0x7b,0x02,0x00]51qc.e.lbu x11, 3000(x10)52 53# CHECK-INST: qc.e.lbu        a1, -33554432(a0)54# CHECK-ENC: encoding: [0x9f,0x55,0x05,0x40,0x00,0x80]55 56# CHECK-INST-ZCB: qc.e.lbu        a1, -33554432(a0)57# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x40,0x00,0x80]58qc.e.lbu x11, -33554432(x10)59 60# CHECK-INST: qc.e.lbu        a1, 33554431(a0)61# CHECK-ENC: encoding: [0x9f,0x55,0xf5,0x7f,0xff,0x7f]62 63# CHECK-INST-ZCB: qc.e.lbu        a1, 33554431(a0)64# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0x7f,0xff,0x7f]65qc.e.lbu x11, 33554431(x10)66 67 68# CHECK-INST: qc.e.lh a1, 3000(a0)69# CHECK-ENC: encoding: [0x9f,0x55,0x85,0xbb,0x02,0x00]70 71# CHECK-INST-ZCB: qc.e.lh a1, 3000(a0)72# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0xbb,0x02,0x00]73qc.e.lh x11, 3000(x10)74 75# CHECK-INST: qc.e.lh a1, -33554432(a0)76# CHECK-ENC: encoding: [0x9f,0x55,0x05,0x80,0x00,0x80]77 78# CHECK-INST-ZCB: qc.e.lh a1, -33554432(a0)79# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x80,0x00,0x80]80qc.e.lh x11, -33554432(x10)81 82# CHECK-INST: qc.e.lh a1, 33554431(a0)83# CHECK-ENC: encoding: [0x9f,0x55,0xf5,0xbf,0xff,0x7f]84 85# CHECK-INST-ZCB: qc.e.lh a1, 33554431(a0)86# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0xbf,0xff,0x7f]87qc.e.lh x11, 33554431(x10)88 89 90# CHECK-INST: qc.e.lhu        a1, 3000(a0)91# CHECK-ENC: encoding: [0x9f,0x55,0x85,0xfb,0x02,0x00]92 93# CHECK-INST-ZCB: qc.e.lhu        a1, 3000(a0)94# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0xfb,0x02,0x00]95qc.e.lhu x11, 3000(x10)96 97# CHECK-INST: qc.e.lhu        a1, -33554432(a0)98# CHECK-ENC: encoding: [0x9f,0x55,0x05,0xc0,0x00,0x80]99 100# CHECK-INST-ZCB: qc.e.lhu        a1, -33554432(a0)101# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0xc0,0x00,0x80]102qc.e.lhu x11, -33554432(x10)103 104# CHECK-INST: qc.e.lhu        a1, 33554431(a0)105# CHECK-ENC: encoding: [0x9f,0x55,0xf5,0xff,0xff,0x7f]106 107# CHECK-INST-ZCB: qc.e.lhu        a1, 33554431(a0)108# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0xff,0xff,0x7f]109qc.e.lhu x11, 33554431(x10)110 111 112# CHECK-INST: qc.e.lw a1, 3000(a0)113# CHECK-ENC: encoding: [0x9f,0x65,0x85,0x3b,0x02,0x00]114 115# CHECK-INST-ZCB: qc.e.lw a1, 3000(a0)116# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0x85,0x3b,0x02,0x00]117qc.e.lw x11, 3000(x10)118 119# CHECK-INST: qc.e.lw a1, -33554432(a0)120# CHECK-ENC: encoding: [0x9f,0x65,0x05,0x00,0x00,0x80]121 122# CHECK-INST-ZCB: qc.e.lw a1, -33554432(a0)123# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0x05,0x00,0x00,0x80]124qc.e.lw x11, -33554432(x10)125 126# CHECK-INST: qc.e.lw a1, 33554431(a0)127# CHECK-ENC: encoding: [0x9f,0x65,0xf5,0x3f,0xff,0x7f]128 129# CHECK-INST-ZCB: qc.e.lw a1, 33554431(a0)130# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0xf5,0x3f,0xff,0x7f]131qc.e.lw x11, 33554431(x10)132 133 134# CHECK-INST: qc.e.sb a1, 3000(a0)135# CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0x7a,0x02,0x00]136 137# CHECK-INST-ZCB: qc.e.sb a1, 3000(a0)138# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0x7a,0x02,0x00]139qc.e.sb x11, 3000(x10)140 141# CHECK-INST: qc.e.sb a1, -33554432(a0)142# CHECK-ENC: encoding: [0x1f,0x60,0xb5,0x40,0x00,0x80]143 144# CHECK-INST-ZCB: qc.e.sb a1, -33554432(a0)145# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0x40,0x00,0x80]146qc.e.sb x11, -33554432(x10)147 148# CHECK-INST: qc.e.sb a1, 33554431(a0)149# CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0x7e,0xff,0x7f]150 151# CHECK-INST-ZCB: qc.e.sb a1, 33554431(a0)152# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0x7e,0xff,0x7f]153qc.e.sb x11, 33554431(x10)154 155 156# CHECK-INST: qc.e.sh a1, 3000(a0)157# CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0xba,0x02,0x00]158 159# CHECK-INST-ZCB: qc.e.sh a1, 3000(a0)160# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0xba,0x02,0x00]161qc.e.sh x11, 3000(x10)162 163# CHECK-INST: qc.e.sh a1, -33554432(a0)164# CHECK-ENC: encoding: [0x1f,0x60,0xb5,0x80,0x00,0x80]165 166# CHECK-INST-ZCB: qc.e.sh a1, -33554432(a0)167# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0x80,0x00,0x80]168qc.e.sh x11, -33554432(x10)169 170# CHECK-INST: qc.e.sh a1, 33554431(a0)171# CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0xbe,0xff,0x7f]172 173# CHECK-INST-ZCB: qc.e.sh a1, 33554431(a0)174# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0xbe,0xff,0x7f]175qc.e.sh x11, 33554431(x10)176 177 178# CHECK-INST: qc.e.sw a1, 3000(a0)179# CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0xfa,0x02,0x00]180 181# CHECK-INST-ZCB: qc.e.sw a1, 3000(a0)182# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0xfa,0x02,0x00]183qc.e.sw x11, 3000(x10)184 185# CHECK-INST: qc.e.sw a1, -33554432(a0)186# CHECK-ENC: encoding: [0x1f,0x60,0xb5,0xc0,0x00,0x80]187 188# CHECK-INST-ZCB: qc.e.sw a1, -33554432(a0)189# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0xc0,0x00,0x80]190qc.e.sw x11, -33554432(x10)191 192# CHECK-INST: qc.e.sw a1, 33554431(a0)193# CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0xfe,0xff,0x7f]194 195# CHECK-INST-ZCB: qc.e.sw a1, 33554431(a0)196# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0xfe,0xff,0x7f]197qc.e.sw x11, 33554431(x10)198 199# Check that compressed patterns work200 201# CHECK-INST: lb a1, 100(a0)202# CHECK-ENC: encoding: [0x83,0x05,0x45,0x06]203 204# CHECK-INST-ZCB: lb a1, 100(a0)205# CHECK-ENC-ZCB: encoding: [0x83,0x05,0x45,0x06]206qc.e.lb x11, 100(x10)207 208# CHECK-INST: lbu a1, 200(a0)209# CHECK-ENC: encoding: [0x83,0x45,0x85,0x0c]210 211# CHECK-INST-ZCB: lbu a1, 200(a0)212# CHECK-ENC-ZCB: encoding: [0x83,0x45,0x85,0x0c]213qc.e.lbu x11, 200(x10)214 215# CHECK-INST: lh a1, 300(a0)216# CHECK-ENC: encoding: [0x83,0x15,0xc5,0x12]217 218# CHECK-INST-ZCB: lh a1, 300(a0)219# CHECK-ENC-ZCB: encoding: [0x83,0x15,0xc5,0x12]220qc.e.lh x11, 300(x10)221 222# CHECK-INST: lhu a1, 400(a0)223# CHECK-ENC: encoding: [0x83,0x55,0x05,0x19]224 225# CHECK-INST-ZCB: lhu a1, 400(a0)226# CHECK-ENC-ZCB: encoding: [0x83,0x55,0x05,0x19]227qc.e.lhu x11, 400(x10)228 229# CHECK-INST: lw a1, 500(a0)230# CHECK-ENC: encoding: [0x83,0x25,0x45,0x1f]231 232# CHECK-INST-ZCB: lw a1, 500(a0)233# CHECK-ENC-ZCB: encoding: [0x83,0x25,0x45,0x1f]234qc.e.lw x11, 500(x10)235 236# CHECK-INST: sb a1, 600(a0)237# CHECK-ENC: encoding: [0x23,0x0c,0xb5,0x24]238 239# CHECK-INST-ZCB: sb a1, 600(a0)240# CHECK-ENC-ZCB: encoding: [0x23,0x0c,0xb5,0x24]241qc.e.sb x11, 600(x10)242 243# CHECK-INST: sh a1, 700(a0)244# CHECK-ENC: encoding: [0x23,0x1e,0xb5,0x2a]245 246# CHECK-INST-ZCB: sh a1, 700(a0)247# CHECK-ENC-ZCB: encoding: [0x23,0x1e,0xb5,0x2a]248qc.e.sh x11, 700(x10)249 250# CHECK-INST: sw a1, 800(a0)251# CHECK-ENC: encoding: [0x23,0x20,0xb5,0x32]252 253# CHECK-INST-ZCB: sw a1, 800(a0)254# CHECK-ENC-ZCB: encoding: [0x23,0x20,0xb5,0x32]255qc.e.sw x11, 800(x10)256 257# CHECK-ALIAS: lw a1, 32(a0)258# CHECK-NOALIAS: c.lw a1, 32(a0)259# CHECK-ENC: encoding: [0x0c,0x51]260 261# CHECK-ALIAS-ZCB: lw a1, 32(a0)262# CHECK-NOALIAS-ZCB: c.lw a1, 32(a0)263# CHECK-ENC-ZCB: encoding: [0x0c,0x51]264qc.e.lw x11, 32(x10)265 266# CHECK-ALIAS: sw a1, 124(a0)267# CHECK-NOALIAS: c.sw a1, 124(a0)268# CHECK-ENC: encoding: [0x6c,0xdd]269 270# CHECK-ALIAS-ZCB: sw a1, 124(a0)271# CHECK-NOALIAS-ZCB: c.sw a1, 124(a0)272# CHECK-ENC-ZCB: encoding: [0x6c,0xdd]273qc.e.sw x11, 124(x10)274 275# CHECK-ALIAS: lw ra, 64(sp)276# CHECK-NOALIAS: c.lwsp ra, 64(sp)277# CHECK-ENC: encoding: [0x86,0x40]278 279# CHECK-ALIAS-ZCB: lw ra, 64(sp)280# CHECK-NOALIAS-ZCB: c.lwsp ra, 64(sp)281# CHECK-ENC-ZCB: encoding: [0x86,0x40]282qc.e.lw x1, 64(x2)283 284# CHECK-ALIAS: sw a1, 252(sp)285# CHECK-NOALIAS: c.swsp a1, 252(sp)286# CHECK-ENC: encoding: [0xae,0xdf]287 288# CHECK-ALIAS-ZCB: sw a1, 252(sp)289# CHECK-NOALIAS-ZCB: c.swsp a1, 252(sp)290# CHECK-ENC-ZCB: encoding: [0xae,0xdf]291qc.e.sw x11, 252(x2)292 293# CHECK-ALIAS: lbu a1, 3(a0)294# CHECK-NOALIAS: lbu a1, 3(a0)295# CHECK-ENC: encoding: [0x83,0x45,0x35,0x00]296 297# CHECK-ALIAS-ZCB: lbu a1, 3(a0)298# CHECK-NOALIAS-ZCB: c.lbu a1, 3(a0)299# CHECK-ENC-ZCB: encoding: [0x6c,0x81]300qc.e.lbu x11, 3(x10)301 302# CHECK-ALIAS: lhu a1, 2(a0)303# CHECK-NOALIAS: lhu a1, 2(a0)304# CHECK-ENC: encoding: [0x83,0x55,0x25,0x00]305 306# CHECK-ALIAS-ZCB: lhu a1, 2(a0)307# CHECK-NOALIAS-ZCB: c.lhu a1, 2(a0)308# CHECK-ENC-ZCB: encoding: [0x2c,0x85]309qc.e.lhu x11, 2(x10)310 311# CHECK-ALIAS: lh a1, 0(a0)312# CHECK-NOALIAS: lh a1, 0(a0)313# CHECK-ENC: encoding: [0x83,0x15,0x05,0x00]314 315# CHECK-ALIAS-ZCB: lh a1, 0(a0)316# CHECK-NOALIAS-ZCB: c.lh a1, 0(a0)317# CHECK-ENC-ZCB: encoding: [0x4c,0x85]318qc.e.lh x11, 0(x10)319 320# CHECK-ALIAS: sb a1, 1(a0)321# CHECK-NOALIAS: sb a1, 1(a0)322# CHECK-ENC: encoding: [0xa3,0x00,0xb5,0x00]323 324# CHECK-ALIAS-ZCB: sb a1, 1(a0)325# CHECK-NOALIAS-ZCB: c.sb a1, 1(a0)326# CHECK-ENC-ZCB: encoding: [0x4c,0x89]327qc.e.sb x11, 1(x10)328 329# CHECK-ALIAS: sh a1, 2(a0)330# CHECK-NOALIAS: sh a1, 2(a0)331# CHECK-ENC: encoding: [0x23,0x11,0xb5,0x00]332 333# CHECK-ALIAS-ZCB: sh a1, 2(a0)334# CHECK-NOALIAS-ZCB: c.sh a1, 2(a0)335# CHECK-ENC-ZCB: encoding: [0x2c,0x8d]336qc.e.sh x11, 2(x10)337