xref: /llvm-project/llvm/test/tools/llvm-objdump/ELF/LoongArch/branches.s (revision 1c68c4c57a65a67963264878bc4646be8b58854c)
1# RUN: llvm-mc --triple=loongarch32 --filetype=obj < %s | \
2# RUN:   llvm-objdump -d --no-show-raw-insn - | FileCheck %s
3# RUN: llvm-mc --triple=loongarch64 --filetype=obj < %s | \
4# RUN:   llvm-objdump -d --no-show-raw-insn - | FileCheck %s
5
6# CHECK-LABEL: <foo>:
7foo:
8# CHECK: beq $a0, $a1, 108 <foo+0x6c>
9beq $a0, $a1, .Llocal
10# CHECK: bne $a0, $a1, 104 <foo+0x6c>
11bne $a0, $a1, .Llocal
12# CHECK: blt $a0, $a1, 100 <foo+0x6c>
13blt $a0, $a1, .Llocal
14# CHECK: bltu $a0, $a1, 96 <foo+0x6c>
15bltu $a0, $a1, .Llocal
16# CHECK: bge $a0, $a1, 92 <foo+0x6c>
17bge $a0, $a1, .Llocal
18# CHECK: bgeu $a0, $a1, 88 <foo+0x6c>
19bgeu $a0, $a1, .Llocal
20# CHECK: beqz $a0, 84 <foo+0x6c>
21beqz $a0, .Llocal
22# CHECK: bnez $a0, 80 <foo+0x6c>
23bnez $a0, .Llocal
24# CHECK: bceqz $fcc6, 76 <foo+0x6c>
25bceqz $fcc6, .Llocal
26# CHECK: bcnez $fcc6, 72 <foo+0x6c>
27bcnez $fcc6, .Llocal
28
29# CHECK: beq $a0, $a1, 76 <bar>
30beq $a0, $a1, bar
31# CHECK: bne $a0, $a1, 72 <bar>
32bne $a0, $a1, bar
33# CHECK: blt $a0, $a1, 68 <bar>
34blt $a0, $a1, bar
35# CHECK: bltu $a0, $a1, 64 <bar>
36bltu $a0, $a1, bar
37# CHECK: bge $a0, $a1, 60 <bar>
38bge $a0, $a1, bar
39# CHECK: bgeu $a0, $a1, 56 <bar>
40bgeu $a0, $a1, bar
41# CHECK: beqz $a0, 52 <bar>
42beqz $a0, bar
43# CHECK: bnez $a0, 48 <bar>
44bnez $a0, bar
45# CHECK: bceqz $fcc6, 44 <bar>
46bceqz $fcc6, bar
47# CHECK: bcnez $fcc6, 40 <bar>
48bcnez $fcc6, bar
49
50# CHECK: b 28 <foo+0x6c>
51b .Llocal
52# CHECK: b 32 <bar>
53b bar
54
55# CHECK: bl 20 <foo+0x6c>
56bl .Llocal
57# CHECK: bl 24 <bar>
58bl bar
59
60# CHECK: jirl $zero, $a0, 4{{$}}
61jirl $zero, $a0, 4
62# CHECK: jirl $ra, $a0, 4{{$}}
63jirl $ra, $a0, 4
64# CHECK: ret
65ret
66
67.Llocal:
68# CHECK: 6c: nop
69# CHECK: nop
70nop
71nop
72
73# CHECK-LABEL: <bar>:
74bar:
75# CHECK: 74: nop
76nop
77