109 lines · plain
1# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+c < %s \2# RUN: | llvm-objdump -d -M no-aliases - | FileCheck --check-prefix=INSTR %s3# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+c,+relax < %s \4# RUN: | llvm-objdump -d -M no-aliases - | FileCheck --check-prefix=RELAX-INSTR %s5# RUN: llvm-mc -filetype=obj -triple riscv64 -mattr=+c,+relax < %s \6# RUN: | llvm-readobj -r - | FileCheck -check-prefix=RELAX-RELOC %s7 8FAR_JUMP_NEGATIVE:9 c.nop10.space 200011 12FAR_BRANCH_NEGATIVE:13 c.nop14.space 25615 16NEAR_NEGATIVE:17 c.nop18 19 call relax20 21start:22 c.bnez a0, NEAR23#INSTR: c.bnez a0, 0x92e24#RELAX-INSTR: c.bnez a0, 025#RELAX-RELOC: R_RISCV_RVC_BRANCH26 c.bnez a0, NEAR_NEGATIVE27#INSTR: c.bnez a0, 0x8d428#RELAX-INSTR: c.bnez a0, 029#RELAX-RELOC: R_RISCV_RVC_BRANCH30 c.bnez a0, FAR_BRANCH31#INSTR-NEXT: bne a0, zero, 0xa3032#RELAX-INSTR-NEXT: bne a0, zero, 033#RELAX-RELOC: R_RISCV_BRANCH34 c.bnez a0, FAR_BRANCH_NEGATIVE35#INSTR-NEXT: bne a0, zero, 0x7d236#RELAX-INSTR-NEXT: bne a0, zero, 037#RELAX-RELOC: R_RISCV_BRANCH38 c.bnez a0, FAR_JUMP39#INSTR-NEXT: bne a0, zero, 0x120240#RELAX-INSTR-NEXT: bne a0, zero, 041#RELAX-RELOC: R_RISCV_BRANCH42 c.bnez a0, FAR_JUMP_NEGATIVE43#INSTR-NEXT: bne a0, zero, 0x044#RELAX-INSTR-NEXT: bne a0, zero, 045#RELAX-RELOC: R_RISCV_BRANCH46 47 c.beqz a0, NEAR48#INSTR-NEXT: c.beqz a0, 0x92e49#RELAX-INSTR-NEXT: c.beqz a0, 050#RELAX-RELOC: R_RISCV_RVC_BRANCH51 c.beqz a0, NEAR_NEGATIVE52#INSTR-NEXT: c.beqz a0, 0x8d453#RELAX-INSTR-NEXT: c.beqz a0, 054#RELAX-RELOC: R_RISCV_RVC_BRANCH55 c.beqz a0, FAR_BRANCH56#INSTR-NEXT: beq a0, zero, 0xa3057#RELAX-INSTR-NEXT: beq a0, zero, 058#RELAX-RELOC: R_RISCV_BRANCH59 c.beqz a0, FAR_BRANCH_NEGATIVE60#INSTR-NEXT: beq a0, zero, 0x7d261#RELAX-INSTR-NEXT: beq a0, zero, 062#RELAX-RELOC: R_RISCV_BRANCH63 c.beqz a0, FAR_JUMP64#INSTR-NEXT: beq a0, zero, 0x120265#RELAX-INSTR-NEXT: beq a0, zero, 066#RELAX-RELOC: R_RISCV_BRANCH67 c.beqz a0, FAR_JUMP_NEGATIVE68#INSTR-NEXT: beq a0, zero, 0x069#RELAX-INSTR-NEXT: beq a0, zero, 070#RELAX-RELOC: R_RISCV_BRANCH71 72 c.j NEAR73#INSTR-NEXT: c.j 0x92e74#RELAX-INSTR-NEXT: c.j 075#RELAX-RELOC: R_RISCV_RVC_JUMP76 c.j NEAR_NEGATIVE77#INSTR-NEXT: c.j 0x8d478#RELAX-INSTR-NEXT: c.j 079#RELAX-RELOC: R_RISCV_RVC_JUMP80 c.j FAR_BRANCH81#INSTR-NEXT: c.j 0xa3082#RELAX-INSTR-NEXT: c.j 083#RELAX-RELOC: R_RISCV_RVC_JUMP84 c.j FAR_BRANCH_NEGATIVE85#INSTR-NEXT: c.j 0x7d286#RELAX-INSTR-NEXT: c.j 087#RELAX-RELOC: R_RISCV_RVC_JUMP88 c.j FAR_JUMP89#INSTR-NEXT: jal zero, 0x120290#RELAX-INSTR-NEXT: jal zero, 091#RELAX-RELOC: R_RISCV_JAL92 c.j FAR_JUMP_NEGATIVE93#INSTR-NEXT: jal zero, 0x094#RELAX-INSTR-NEXT: jal zero, 095#RELAX-RELOC: R_RISCV_JAL96 97 .space 1698 call relax99NEAR:100 c.nop101 102.space 256103FAR_BRANCH:104 c.nop105 106.space 2000107FAR_JUMP:108 c.nop109