~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/MC/Mips/mips-jump-instructions.s

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \
 
2
# RUN: FileCheck -check-prefix=CHECK32  %s
 
3
# RUN: llvm-mc %s -triple=mips64el-unknown-linux -show-encoding -mcpu=mips64r2 | \
 
4
# RUN: FileCheck -check-prefix=CHECK64  %s
 
5
 
 
6
# Check that the assembler can handle the documented syntax
 
7
# for jumps and branches.
 
8
#------------------------------------------------------------------------------
 
9
# Branch instructions
 
10
#------------------------------------------------------------------------------
 
11
# CHECK32:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]
 
12
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
13
# CHECK32:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]
 
14
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
15
# CHECK32:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]
 
16
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
17
# CHECK32:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]
 
18
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
19
# CHECK32:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]
 
20
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
21
# CHECK32:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]
 
22
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
23
# CHECK32:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]
 
24
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
25
# CHECK32:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]
 
26
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
27
# CHECK32:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]
 
28
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
29
# CHECK32:   bal  1332              # encoding: [0x4d,0x01,0x11,0x04]
 
30
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
31
# CHECK32:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]
 
32
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
33
# CHECK32:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]
 
34
# CHECK32:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
35
 
 
36
# CHECK64:   b 1332                 # encoding: [0x4d,0x01,0x00,0x10]
 
37
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
38
# CHECK64:   bc1f 1332              # encoding: [0x4d,0x01,0x00,0x45]
 
39
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
40
# CHECK64:   bc1t 1332              # encoding: [0x4d,0x01,0x01,0x45]
 
41
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
42
# CHECK64:   beq $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x11]
 
43
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
44
# CHECK64:   bgez $6, 1332          # encoding: [0x4d,0x01,0xc1,0x04]
 
45
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
46
# CHECK64:   bgezal $6, 1332        # encoding: [0x4d,0x01,0xd1,0x04]
 
47
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
48
# CHECK64:   bgtz $6, 1332          # encoding: [0x4d,0x01,0xc0,0x1c]
 
49
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
50
# CHECK64:   blez $6, 1332          # encoding: [0x4d,0x01,0xc0,0x18]
 
51
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
52
# CHECK64:   bne $9, $6, 1332       # encoding: [0x4d,0x01,0x26,0x15]
 
53
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
54
# CHECK64:   bal     1332           # encoding: [0x4d,0x01,0x11,0x04]
 
55
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
56
# CHECK64:   bnez $11, 1332         # encoding: [0x4d,0x01,0x60,0x15]
 
57
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
58
# CHECK64:   beqz $11, 1332         # encoding: [0x4d,0x01,0x60,0x11]
 
59
# CHECK64:   nop                    # encoding: [0x00,0x00,0x00,0x00]
 
60
 
 
61
.set noreorder
 
62
 
 
63
         b 1332
 
64
         nop
 
65
         bc1f 1332
 
66
         nop
 
67
         bc1t 1332
 
68
         nop
 
69
         beq $9,$6,1332
 
70
         nop
 
71
         bgez $6,1332
 
72
         nop
 
73
         bgezal $6,1332
 
74
         nop
 
75
         bgtz $6,1332
 
76
         nop
 
77
         blez $6,1332
 
78
         nop
 
79
         bne $9,$6,1332
 
80
         nop
 
81
         bal 1332
 
82
         nop
 
83
         bnez $11,1332
 
84
         nop
 
85
         beqz $11,1332
 
86
         nop
 
87
 
 
88
end_of_code:
 
89
#------------------------------------------------------------------------------
 
90
# Jump instructions
 
91
#------------------------------------------------------------------------------
 
92
# CHECK32:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]
 
93
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
94
# CHECK32:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]
 
95
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
96
# CHECK32:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]
 
97
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
98
# CHECK32:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]
 
99
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
100
# CHECK32:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]
 
101
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
102
# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
 
103
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
104
# CHECK32:lab:
 
105
# CHECK32:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
 
106
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
107
# CHECK32:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]
 
108
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
109
# CHECK32:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]
 
110
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
111
# CHECK32:   jalx    lab          # encoding: [A,A,A,0b011101AA]
 
112
# CHECK32:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26
 
113
# CHECK32:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
114
 
 
115
# CHECK64:   j 1328               # encoding: [0x4c,0x01,0x00,0x08]
 
116
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
117
# CHECK64:   jal 1328             # encoding: [0x4c,0x01,0x00,0x0c]
 
118
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
119
# CHECK64:   jalr $6              # encoding: [0x09,0xf8,0xc0,0x00]
 
120
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
121
# CHECK64:   jalr $25             # encoding: [0x09,0xf8,0x20,0x03]
 
122
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
123
# CHECK64:   jalr $10, $11        # encoding: [0x09,0x50,0x60,0x01]
 
124
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
125
# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
 
126
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
127
# CHECK64:lab:
 
128
# CHECK64:   jr $7                # encoding: [0x08,0x00,0xe0,0x00]
 
129
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
130
# CHECK64:   jalr  $25            # encoding: [0x09,0xf8,0x20,0x03]
 
131
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
132
# CHECK64:   jalr  $4, $25        # encoding: [0x09,0x20,0x20,0x03]
 
133
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
134
# CHECK64:   jalx    lab          # encoding: [A,A,A,0b011101AA]
 
135
# CHECK64:                        #   fixup A - offset: 0, value: lab, kind: fixup_Mips_26
 
136
# CHECK64:   nop                  # encoding: [0x00,0x00,0x00,0x00]
 
137
 
 
138
   j 1328
 
139
   nop
 
140
   jal 1328
 
141
   nop
 
142
   jalr $6
 
143
   nop
 
144
   jalr $31, $25
 
145
   nop
 
146
   jalr $10, $11
 
147
   nop
 
148
   jr $7
 
149
   nop
 
150
lab:
 
151
   j $7
 
152
   nop
 
153
   jal  $25
 
154
   nop
 
155
   jal  $4,$25
 
156
   nop
 
157
   jalx lab
 
158
   nop