158 lines
5.7 KiB
ArmAsm
158 lines
5.7 KiB
ArmAsm
# RUN: llvm-mc -filetype=obj -triple=riscv64 %s \
|
|
# RUN: | llvm-objdump -d -M no-aliases - \
|
|
# RUN: | FileCheck --check-prefix=CHECK-INST %s
|
|
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c %s \
|
|
# RUN: | llvm-objdump -d -M no-aliases - \
|
|
# RUN: | FileCheck --check-prefix=CHECK-INST-C %s
|
|
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+relax %s \
|
|
# RUN: | llvm-objdump -dr -M no-aliases - \
|
|
# RUN: | FileCheck --check-prefix=CHECK-INST-RELAX %s
|
|
# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c,+relax %s \
|
|
# RUN: | llvm-objdump -dr -M no-aliases - \
|
|
# RUN: | FileCheck --check-prefix=CHECK-INST-C-RELAX %s
|
|
|
|
.text
|
|
.type test,@function
|
|
test:
|
|
# CHECK-INST: beq a0, a1, 0x8
|
|
# CHECK-INST-NEXT: jal zero, 0x1458
|
|
# CHECK-INST-C: beq a0, a1, 0x8
|
|
# CHECK-INST-C-NEXT: jal zero, 0x1458
|
|
# CHECK-INST-RELAX: beq a0, a1, 0x8
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L1
|
|
# CHECK-INST-C-RELAX: beq a0, a1, 0x8
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L1
|
|
bne a0, a1, .L1
|
|
.fill 1300, 4, 0
|
|
.L1:
|
|
ret
|
|
# CHECK-INST: bne a0, a1, 0x1464
|
|
# CHECK-INST-NEXT: jal zero, 0x28b4
|
|
# CHECK-INST-C: bne a0, a1, 0x1462
|
|
# CHECK-INST-C-NEXT: jal zero, 0x28b2
|
|
# CHECK-INST-RELAX: bne a0, a1, 0x1464
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L2
|
|
# CHECK-INST-C-RELAX: bne a0, a1, 0x1462
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L2
|
|
beq a0, a1, .L2
|
|
.fill 1300, 4, 0
|
|
.L2:
|
|
ret
|
|
# CHECK-INST: bge a0, a1, 0x28c0
|
|
# CHECK-INST-NEXT: jal zero, 0x3d10
|
|
# CHECK-INST-C: bge a0, a1, 0x28bc
|
|
# CHECK-INST-C-NEXT: jal zero, 0x3d0c
|
|
# CHECK-INST-RELAX: bge a0, a1, 0x28c0
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L3
|
|
# CHECK-INST-C-RELAX: bge a0, a1, 0x28bc
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L3
|
|
blt a0, a1, .L3
|
|
.fill 1300, 4, 0
|
|
.L3:
|
|
ret
|
|
# CHECK-INST: blt a0, a1, 0x3d1c
|
|
# CHECK-INST-NEXT: jal zero, 0x516c
|
|
# CHECK-INST-C: blt a0, a1, 0x3d16
|
|
# CHECK-INST-C-NEXT: jal zero, 0x5166
|
|
# CHECK-INST-RELAX: blt a0, a1, 0x3d1c
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L4
|
|
# CHECK-INST-C-RELAX: blt a0, a1, 0x3d16
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L4
|
|
bge a0, a1, .L4
|
|
.fill 1300, 4, 0
|
|
.L4:
|
|
ret
|
|
# CHECK-INST: bgeu a0, a1, 0x5178
|
|
# CHECK-INST-NEXT: jal zero, 0x65c8
|
|
# CHECK-INST-C: bgeu a0, a1, 0x5170
|
|
# CHECK-INST-C-NEXT: jal zero, 0x65c0
|
|
# CHECK-INST-RELAX: bgeu a0, a1, 0x5178
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L5
|
|
# CHECK-INST-C-RELAX: bgeu a0, a1, 0x5170
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L5
|
|
bltu a0, a1, .L5
|
|
.fill 1300, 4, 0
|
|
.L5:
|
|
ret
|
|
# CHECK-INST: bltu a0, a1, 0x65d4
|
|
# CHECK-INST-NEXT: jal zero, 0x7a24
|
|
# CHECK-INST-C: bltu a0, a1, 0x65ca
|
|
# CHECK-INST-C-NEXT: jal zero, 0x7a1a
|
|
# CHECK-INST-RELAX: bltu a0, a1, 0x65d4
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L6
|
|
# CHECK-INST-C-RELAX: bltu a0, a1, 0x65ca
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L6
|
|
bgeu a0, a1, .L6
|
|
.fill 1300, 4, 0
|
|
.L6:
|
|
ret
|
|
# CHECK-INST: bne a0, zero, 0x7a30
|
|
# CHECK-INST-NEXT: jal zero, 0x8e80
|
|
# CHECK-INST-C: c.bnez a0, 0x7a22
|
|
# CHECK-INST-C-NEXT: jal zero, 0x8e72
|
|
# CHECK-INST-RELAX: bne a0, zero, 0x7a30
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L7
|
|
# CHECK-INST-C-RELAX: c.bnez a0, 0x7a22
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L7
|
|
beqz a0, .L7
|
|
.fill 1300, 4, 0
|
|
.L7:
|
|
ret
|
|
# CHECK-INST: bne zero, a0, 0x8e8c
|
|
# CHECK-INST-NEXT: jal zero, 0xa2dc
|
|
# CHECK-INST-C: c.bnez a0, 0x8e7a
|
|
# CHECK-INST-C-NEXT: jal zero, 0xa2ca
|
|
# CHECK-INST-RELAX: bne zero, a0, 0x8e8c
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L8
|
|
# CHECK-INST-C-RELAX: c.bnez a0, 0x8e7a
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L8
|
|
beq x0, a0, .L8
|
|
.fill 1300, 4, 0
|
|
.L8:
|
|
ret
|
|
# CHECK-INST: beq a0, zero, 0xa2e8
|
|
# CHECK-INST-NEXT: jal zero, 0xb738
|
|
# CHECK-INST-C: c.beqz a0, 0xa2d2
|
|
# CHECK-INST-C-NEXT: jal zero, 0xb722
|
|
# CHECK-INST-RELAX: beq a0, zero, 0xa2e8
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L9
|
|
# CHECK-INST-C-RELAX: c.beqz a0, 0xa2d2
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L9
|
|
bnez a0, .L9
|
|
.fill 1300, 4, 0
|
|
.L9:
|
|
ret
|
|
# CHECK-INST: beq a6, zero, 0xb744
|
|
# CHECK-INST-NEXT: jal zero, 0xcb94
|
|
# CHECK-INST-C: beq a6, zero, 0xb72c
|
|
# CHECK-INST-C-NEXT: jal zero, 0xcb7c
|
|
# CHECK-INST-RELAX: beq a6, zero, 0xb744
|
|
# CHECK-INST-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-RELAX-NEXT: R_RISCV_JAL .L10
|
|
# CHECK-INST-C-RELAX: beq a6, zero, 0xb72c
|
|
# CHECK-INST-C-RELAX-NEXT: jal zero, {{.*}}
|
|
# CHECK-INST-C-RELAX-NEXT: R_RISCV_JAL .L10
|
|
bnez x16, .L10
|
|
.fill 1300, 4, 0
|
|
.L10:
|
|
ret
|
|
.Lfunc_end0:
|
|
.size test, .Lfunc_end0-test
|