| # RUN: llc %s -mtriple=loongarch64 -start-after=prologepilog -O0 -filetype=obj -o - \ |
| # RUN: | extract-section .text \ |
| # RUN: | FileCheck %s -check-prefix=CHECK-ENC |
| # RUN: llc %s -mtriple=loongarch64 -start-after=prologepilog -O0 -filetype=asm -o - \ |
| # RUN: | FileCheck %s -check-prefix=CHECK-ASM |
| |
| # ------------------------------------------------------------------------------------------------- |
| # Encoding format: 1RI20 |
| # ------------------------------------------------------------------------------------------------- |
| # ---------------------+-----------------------------------------------------------+--------------- |
| # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 |
| # ---------------------+-----------------------------------------------------------+--------------- |
| # opcode | imm20 | rd |
| # ---------------------+-----------------------------------------------------------+--------------- |
| |
| --- |
| # CHECK-LABEL: test_LU12I_W: |
| # CHECK-ENC: 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 |
| # CHECK-ASM: lu12i.w $a0, 49 |
| name: test_LU12I_W |
| body: | |
| bb.0: |
| $r4 = LU12I_W 49 |
| ... |
| --- |
| # CHECK-LABEL: test_LU32I_D: |
| # CHECK-ENC: 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 |
| # CHECK-ASM: lu32i.d $a0, 196 |
| name: test_LU32I_D |
| body: | |
| bb.0: |
| $r4 = LU32I_D $r4, 196 |
| ... |
| --- |
| # CHECK-LABEL: test_PCADDI: |
| # CHECK-ENC: 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 |
| # CHECK-ASM: pcaddi $a0, 187 |
| name: test_PCADDI |
| body: | |
| bb.0: |
| $r4 = PCADDI 187 |
| ... |
| --- |
| # CHECK-LABEL: test_PCALAU12I: |
| # CHECK-ENC: 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 0 0 |
| # CHECK-ASM: pcalau12i $a0, 89 |
| name: test_PCALAU12I |
| body: | |
| bb.0: |
| $r4 = PCALAU12I 89 |
| ... |
| --- |
| # CHECK-LABEL: test_PCADDU12I: |
| # CHECK-ENC: 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 |
| # CHECK-ASM: pcaddu12i $a0, 37 |
| name: test_PCADDU12I |
| body: | |
| bb.0: |
| $r4 = PCADDU12I 37 |
| ... |
| --- |
| # CHECK-LABEL: test_PCADDU18I: |
| # CHECK-ENC: 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 |
| # CHECK-ASM: pcaddu18i $a0, 26 |
| name: test_PCADDU18I |
| body: | |
| bb.0: |
| $r4 = PCADDU18I 26 |
| ... |
| |
| # ------------------------------------------------------------------------------------------------- |
| # Encoding format: 1RI21 |
| # ------------------------------------------------------------------------------------------------- |
| # ------------------+-----------------------------------------------+--------------+--------------- |
| # 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 |
| # ------------------+-----------------------------------------------+--------------+--------------- |
| # opcode | imm21{15-0} | rj | imm21{20-16} |
| # ------------------+-----------------------------------------------+--------------+--------------- |
| |
| --- |
| # CHECK-LABEL: test_BEQZ: |
| # CHECK-ENC: 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 0 |
| # CHECK-ASM: beqz $a0, 92 |
| name: test_BEQZ |
| body: | |
| bb.0: |
| BEQZ $r4, 92 |
| ... |
| --- |
| # CHECK-LABEL: test_BNEZ: |
| # CHECK-ENC: 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 |
| # CHECK-ASM: bnez $a0, 84 |
| name: test_BNEZ |
| body: | |
| bb.0: |
| BNEZ $r4, 84 |