-Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated...
[oota-llvm.git] / test / MC / Mips / branch-pseudos.s
1 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 -show-encoding | FileCheck %s
2 # RUN: llvm-mc %s -arch=mips -mcpu=mips32 2>&1 | \
3 # RUN:   FileCheck %s --check-prefix=WARNING
4
5   .text
6 local_label:
7   blt $7, $8, local_label
8 # CHECK: slt  $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2a]
9 # CHECK: bnez $1, local_label  # encoding: [0x14,0x20,A,A]
10 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
11 # CHECK: nop
12   blt $7, $8, global_label
13 # CHECK: slt  $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2a]
14 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
15 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
16 # CHECK: nop
17   blt $7, $0, local_label
18 # CHECK: bltz $7, local_label  # encoding: [0x04,0xe0,A,A]
19 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
20 # CHECK: nop
21   blt $0, $8, local_label
22 # CHECK: bgtz $8, local_label  # encoding: [0x1d,0x00,A,A]
23 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
24 # CHECK: nop
25   blt $0, $0, local_label
26 # CHECK: bltz $zero, local_label # encoding: [0x04,0x00,A,A]
27 # CHECK:                         #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
28 # CHECK: nop
29
30   bltu $7, $8, local_label
31 # CHECK: sltu $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2b]
32 # CHECK: bnez $1, local_label  # encoding: [0x14,0x20,A,A]
33 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
34 # CHECK: nop
35   bltu $7, $8, global_label
36 # CHECK: sltu $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2b]
37 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
38 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
39 # CHECK: nop
40   bltu $7, $0, local_label
41 # CHECK: nop
42   bltu $0, $8, local_label
43 # CHECK: bnez $8, local_label  # encoding: [0x15,0x00,A,A]
44 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
45 # CHECK: nop
46   bltu $0, $0, local_label
47 # CHECK: nop
48
49   ble $7, $8, local_label
50 # CHECK: slt  $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2a]
51 # CHECK: beqz $1, local_label  # encoding: [0x10,0x20,A,A]
52 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
53 # CHECK: nop
54   ble $7, $8, global_label
55 # CHECK: slt  $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2a]
56 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
57 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
58 # CHECK: nop
59   ble $7, $0, local_label
60 # CHECK: blez $7, local_label  # encoding: [0x18,0xe0,A,A]
61 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
62 # CHECK: nop
63   ble $0, $8, local_label
64 # CHECK: bgez $8, local_label  # encoding: [0x05,0x01,A,A]
65 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
66 # CHECK: nop
67   ble $0, $0, local_label
68 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
69 # CHECK: blez $zero, local_label # encoding: [0x18,0x00,A,A]
70 # CHECK:                         #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
71 # CHECK: nop
72
73   bleu $7, $8, local_label
74 # CHECK: sltu $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2b]
75 # CHECK: beqz $1, local_label  # encoding: [0x10,0x20,A,A]
76 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
77 # CHECK: nop
78   bleu $7, $8, global_label
79 # CHECK: sltu $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2b]
80 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
81 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
82 # CHECK: nop
83   bleu $7, $0, local_label
84 # CHECK: beqz $7, local_label  # encoding: [0x10,0xe0,A,A]
85 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
86 # CHECK: nop
87   bleu $0, $8, local_label
88 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
89 # CHECK: b  local_label        # encoding: [0x10,0x00,A,A]
90 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
91 # CHECK: nop
92   bleu $0, $0, local_label
93 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
94 # CHECK: b  local_label        # encoding: [0x10,0x00,A,A]
95 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
96 # CHECK: nop
97
98   bge $7, $8, local_label
99 # CHECK: slt  $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2a]
100 # CHECK: beqz $1, local_label  # encoding: [0x10,0x20,A,A]
101 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
102 # CHECK: nop
103   bge $7, $8, global_label
104 # CHECK: slt  $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2a]
105 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
106 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
107 # CHECK: nop
108   bge $7, $0, local_label
109 # CHECK: bgez $7, local_label  # encoding: [0x04,0xe1,A,A]
110 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
111 # CHECK: nop
112   bge $0, $8, local_label
113 # CHECK: blez $8, local_label  # encoding: [0x19,0x00,A,A]
114 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
115 # CHECK: nop
116   bge $0, $0, local_label
117 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
118 # CHECK: bgez $zero, local_label # encoding: [0x04,0x01,A,A]
119 # CHECK:                         #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
120 # CHECK: nop
121
122   bgeu $7, $8, local_label
123 # CHECK: sltu $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2b]
124 # CHECK: beqz $1, local_label  # encoding: [0x10,0x20,A,A]
125 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
126 # CHECK: nop
127   bgeu $7, $8, global_label
128 # CHECK: sltu $1, $7, $8       # encoding: [0x00,0xe8,0x08,0x2b]
129 # CHECK: beqz $1, global_label # encoding: [0x10,0x20,A,A]
130 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
131 # CHECK: nop
132   bgeu $7, $0, local_label
133 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
134 # CHECK: b  local_label        # encoding: [0x10,0x00,A,A]
135 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
136 # CHECK: nop
137   bgeu $0, $8, local_label
138 # CHECK: beqz $8, local_label  # encoding: [0x11,0x00,A,A]
139 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
140 # CHECK: nop
141   bgeu $0, $0, local_label
142 # WARNING: :[[@LINE-1]]:3: warning: branch is always taken
143 # CHECK: b  local_label        # encoding: [0x10,0x00,A,A]
144 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
145 # CHECK: nop
146
147   bgt $7, $8, local_label
148 # CHECK: slt  $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2a]
149 # CHECK: bnez $1, local_label  # encoding: [0x14,0x20,A,A]
150 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
151 # CHECK: nop
152   bgt $7, $8, global_label
153 # CHECK: slt  $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2a]
154 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
155 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
156 # CHECK: nop
157   bgt $7, $0, local_label
158 # CHECK: bgtz $7, local_label  # encoding: [0x1c,0xe0,A,A]
159 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
160 # CHECK: nop
161   bgt $0, $8, local_label
162 # CHECK: bltz $8, local_label  # encoding: [0x05,0x00,A,A]
163 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
164 # CHECK: nop
165   bgt $0, $0, local_label
166 # CHECK: bgtz  $zero, local_label # encoding: [0x1c,0x00,A,A]
167 # CHECK:                          #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
168 # CHECK: nop
169
170   bgtu $7, $8, local_label
171 # CHECK: sltu $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2b]
172 # CHECK: bnez $1, local_label  # encoding: [0x14,0x20,A,A]
173 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
174 # CHECK: nop
175   bgtu $7, $8, global_label
176 # CHECK: sltu $1, $8, $7       # encoding: [0x01,0x07,0x08,0x2b]
177 # CHECK: bnez $1, global_label # encoding: [0x14,0x20,A,A]
178 # CHECK:                       #   fixup A - offset: 0, value: global_label-4, kind: fixup_Mips_PC16
179 # CHECK: nop
180   bgtu $7, $0, local_label
181 # CHECK: bnez $7, local_label  # encoding: [0x14,0xe0,A,A]
182 # CHECK:                       #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
183 # CHECK: nop
184   bgtu $0, $8, local_label
185 # CHECK: nop
186   bgtu $0, $0, local_label
187 # CHECK: bnez $zero, local_label # encoding: [0x14,0x00,A,A]
188 # CHECK:                         #   fixup A - offset: 0, value: local_label-4, kind: fixup_Mips_PC16
189 # CHECK: nop