summaryrefslogtreecommitdiffstats
path: root/test/MC/Mips/instr-analysis.s
blob: 58abfd0f4723944f4359ecac6624198f934d54a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o - \
# RUN:   | llvm-objdump -d - | FileCheck %s

# CHECK:      foo:
# CHECK-NEXT:        0:       0c 00 00 02     jal     8 <loc1>
# CHECK-NEXT:        4:       00 00 00 00     nop
#
# CHECK:      loc1:
# CHECK-NEXT:        8:       0c 00 00 06     jal     24 <loc3>
# CHECK-NEXT:        c:       00 00 00 00     nop
#
# CHECK:      loc2:
# CHECK-NEXT:       10:       10 00 ff fd     b       -8 <loc1>
# CHECK-NEXT:       14:       00 00 00 00     nop
#
# CHECK:      loc3:
# CHECK-NEXT:       18:       10 43 ff fd     beq     $2, $3, -8 <loc2>
# CHECK-NEXT:       1c:       00 00 00 00     nop
# CHECK-NEXT:       20:       04 11 ff f9     bal     -24 <loc1>
# CHECK-NEXT:       24:       00 00 00 00     nop
# CHECK-NEXT:       28:       08 00 00 04     j       16 <loc2>

  .text
  .globl foo
  .ent foo
foo:
  jal loc1
loc1:
  jal loc3
loc2:
  b   loc1
loc3:
  beq $2, $3, loc2
  bal loc1
  j   loc2
  .end foo