179 lines · plain
1# RUN: llvm-mc -filetype=obj --mattr=+experimental-xqcibi -triple=riscv32 %s \2# RUN: | llvm-objdump --mattr=+experimental-xqcibi -d -M no-aliases - \3# RUN: | FileCheck --check-prefix=CHECK-INST %s4# RUN: llvm-mc -filetype=obj -triple=riscv32 -mattr=+relax,+experimental-xqcibi %s \5# RUN: | llvm-objdump --mattr=+experimental-xqcibi -dr -M no-aliases - \6# RUN: | FileCheck --check-prefix=CHECK-INST-RELAX %s7 8 .text9 .type test,@function10 11test:12 13# CHECK-INST: qc.beqi a0, 0xa, 0x814# CHECK-INST-NEXT: jal zero, 0x145815# CHECK-INST-RELAX: qc.beqi a0, 0xa, 0x816# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}17 qc.bnei a0, 10, .L118.fill 1300, 4, 019.L1:20 ret21 22# CHECK-INST: qc.bnei a0, 0x6, 0x146223# CHECK-INST-NEXT: jal zero, 0x28b224# CHECK-INST-RELAX: qc.bnei a0, 0x6, 0x146225# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}26 qc.beqi a0, 6, .L227.fill 1300, 4, 028.L2:29 ret30 31# CHECK-INST: qc.bgei a0, 0xd, 0x28bc32# CHECK-INST-NEXT: jal zero, 0x3d0c33# CHECK-INST-RELAX: qc.bgei a0, 0xd, 0x28bc34# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}35 qc.blti a0, 13, .L336.fill 1300, 4, 037.L3:38 ret39 40# CHECK-INST: qc.blti a0, 0x1, 0x3d1641# CHECK-INST-NEXT: jal zero, 0x516642# CHECK-INST-RELAX: qc.blti a0, 0x1, 0x3d1643# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}44 qc.bgei a0, 1, .L445.fill 1300, 4, 046.L4:47 ret48 49# CHECK-INST: qc.bgeui a0, 0x5, 0x517050# CHECK-INST-NEXT: jal zero, 0x65c051# CHECK-INST-RELAX: qc.bgeui a0, 0x5, 0x517052# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}53 qc.bltui a0, 5, .L554.fill 1300, 4, 055.L5:56 ret57 58# CHECK-INST: qc.bltui a0, 0xc, 0x65ca59# CHECK-INST-NEXT: jal zero, 0x7a1a60# CHECK-INST-RELAX: qc.bltui a0, 0xc, 0x65ca61# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}62 qc.bgeui a0, 12, .L663.fill 1300, 4, 064.L6:65 ret66 67# CHECK-INST: qc.e.beqi a0, 0x51, 0x7a2668# CHECK-INST-NEXT: jal zero, 0x8e7669# CHECK-INST-RELAX: qc.e.beqi a0, 0x51, 0x7a2670# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}71 qc.e.bnei a0, 81, .L772.fill 1300, 4, 073.L7:74 ret75 76# CHECK-INST: qc.e.bnei a0, 0x3e, 0x8e8277# CHECK-INST-NEXT: jal zero, 0xa2d278# CHECK-INST-RELAX: qc.e.bnei a0, 0x3e, 0x8e8279# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}80 qc.e.beqi a0, 62, .L881.fill 1300, 4, 082.L8:83 ret84 85# CHECK-INST: qc.e.bgei a0, 0x5d, 0xa2de86# CHECK-INST-NEXT: jal zero, 0xb72e87# CHECK-INST-RELAX: qc.e.bgei a0, 0x5d, 0xa2de88# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}89 qc.e.blti a0, 93, .L990.fill 1300, 4, 091.L9:92 ret93 94# CHECK-INST: qc.e.blti a0, 0x2c, 0xb73a95# CHECK-INST-NEXT: jal zero, 0xcb8a96# CHECK-INST-RELAX: qc.e.blti a0, 0x2c, 0xb73a97# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}98 qc.e.bgei a0, 44, .L1099.fill 1300, 4, 0100.L10:101 ret102 103# CHECK-INST: qc.e.bgeui a0, 0x37, 0xcb96104# CHECK-INST-NEXT: jal zero, 0xdfe6105# CHECK-INST-RELAX: qc.e.bgeui a0, 0x37, 0xcb96106# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}107 qc.e.bltui a0, 55, .L11108.fill 1300, 4, 0109.L11:110 ret111 112# CHECK-INST: qc.e.bltui a0, 0x24, 0xdff2113# CHECK-INST-NEXT: jal zero, 0xf442114# CHECK-INST-RELAX: qc.e.bltui a0, 0x24, 0xdff2115# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}116 qc.e.bgeui a0, 36, .L12117.fill 1300, 4, 0118.L12:119 ret120 121# Check that instructions are first compressed and then relaxed122 123# CHECK-INST: qc.beqi a0, 0xa, 0xf44c124# CHECK-INST-NEXT: jal zero, 0x1089c125# CHECK-INST-RELAX: qc.beqi a0, 0xa, 0xf44c126# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}127 qc.e.bnei a0, 10, .L13128.fill 1300, 4, 0129.L13:130 ret131 132# CHECK-INST: qc.bnei a0, 0xa, 0x108a6133# CHECK-INST-NEXT: jal zero, 0x11cf6134# CHECK-INST-RELAX: qc.bnei a0, 0xa, 0x108a6135# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}136 qc.e.beqi a0, 10, .L14137.fill 1300, 4, 0138.L14:139 ret140 141# CHECK-INST: qc.bgei a0, 0xa, 0x11d00142# CHECK-INST-NEXT: jal zero, 0x13150143# CHECK-INST-RELAX: qc.bgei a0, 0xa, 0x11d00144# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}145 qc.e.blti a0, 10, .L15146.fill 1300, 4, 0147.L15:148 ret149 150# CHECK-INST: qc.blti a0, 0xa, 0x1315a151# CHECK-INST-NEXT: jal zero, 0x145aa152# CHECK-INST-RELAX: qc.blti a0, 0xa, 0x1315a153# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}154 qc.e.bgei a0, 10, .L16155.fill 1300, 4, 0156.L16:157 ret158 159# CHECK-INST: qc.bgeui a0, 0xa, 0x145b4160# CHECK-INST-NEXT: jal zero, 0x15a04161# CHECK-INST-RELAX: qc.bgeui a0, 0xa, 0x145b4162# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}163 qc.e.bltui a0, 10, .L17164.fill 1300, 4, 0165.L17:166 ret167 168# CHECK-INST: qc.bltui a0, 0xa, 0x15a0e169# CHECK-INST-NEXT: jal zero, 0x16e5e170# CHECK-INST-RELAX: qc.bltui a0, 0xa, 0x15a0e171# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}172 qc.e.bgeui a0, 10, .L18173.fill 1300, 4, 0174.L18:175 ret176 177.Lfunc_end0:178 .size test, .Lfunc_end0-test179