xref: /llvm-project/llvm/test/MC/Xtensa/Core/branch.s (revision ff25800d4ba0b577a44dc918da7a1fb3c29fdb13)
1# RUN: llvm-mc %s -triple=xtensa -show-encoding \
2# RUN:     | FileCheck -check-prefixes=CHECK,CHECK-INST %s
3
4
5.align	4
6LBL0:
7
8# Instruction format RRI8
9# CHECK-INST:  ball    a1, a3, LBL0
10# CHECK: encoding: [0x37,0x41,A]
11ball a1, a3, LBL0
12
13# Instruction format RRI8
14# CHECK-INST:  bany    a8, a13, LBL0
15# CHECK: encoding: [0xd7,0x88,A]
16bany a8, a13, LBL0
17
18# Instruction format RRI8
19# CHECK-INST:  bbc     a8, a7, LBL0
20# CHECK: encoding: [0x77,0x58,A]
21bbc a8, a7, LBL0
22
23# Instruction format RRI8
24# CHECK-INST:  bbci    a3, 16, LBL0
25# CHECK: encoding: [0x07,0x73,A]
26bbci a3, 16, LBL0
27
28# CHECK-INST:  bbci    a3, 16, LBL0
29# CHECK: encoding: [0x07,0x73,A]
30bbci a3, (16), LBL0
31
32# Instruction format RRI8
33# CHECK-INST:  bbs     a12, a5, LBL0
34# CHECK: encoding: [0x57,0xdc,A]
35bbs a12, a5, LBL0
36
37# Instruction format RRI8
38# CHECK-INST:  bbsi    a3, 16, LBL0
39# CHECK: encoding: [0x07,0xf3,A]
40bbsi a3, 16, LBL0
41
42# Instruction format RRI8
43# CHECK-INST:  bnall   a7, a3, LBL0
44# CHECK: encoding: [0x37,0xc7,A]
45bnall a7, a3, LBL0
46
47# Instruction format RRI8
48# CHECK-INST:  bnone   a2, a4, LBL0
49# CHECK: encoding: [0x47,0x02,A]
50bnone a2, a4, LBL0
51
52# Instruction format RRI8
53# CHECK-INST:  beq     a1, a2, LBL0
54# CHECK: encoding: [0x27,0x11,A]
55beq a1, a2, LBL0
56
57# CHECK-INST:  beq     a11, a5, LBL0
58# CHECK: encoding: [0x57,0x1b,A]
59beq a11, a5, LBL0
60
61# Instruction format BRI8
62# CHECK-INST:  beqi    a1, 256, LBL0
63# CHECK: encoding: [0x26,0xf1,A]
64beqi a1, 256, LBL0
65
66# CHECK-INST:  beqi    a11, -1, LBL0
67# CHECK: encoding: [0x26,0x0b,A]
68beqi a11, -1, LBL0
69
70# Instruction format BRI12
71# CHECK-INST:  beqz    a8, LBL0
72# CHECK: encoding: [0x16,0bAAAA1000,A]
73beqz a8, LBL0
74
75# Instruction format RRI8
76# CHECK-INST:  bge     a14, a2, LBL0
77# CHECK: encoding: [0x27,0xae,A]
78bge a14, a2, LBL0
79
80# Instruction format BRI8
81# CHECK-INST:  bgei    a11, -1, LBL0
82# CHECK: encoding: [0xe6,0x0b,A]
83bgei a11, -1, LBL0
84
85# CHECK-INST:  bgei    a11, 128, LBL0
86# CHECK: encoding: [0xe6,0xeb,A]
87bgei a11, 128, LBL0
88
89# Instruction format RRI8
90# CHECK-INST:  bgeu    a14, a2, LBL0
91# CHECK: encoding: [0x27,0xbe,A]
92bgeu a14, a2, LBL0
93
94# CHECK-INST:  bgeu    a13, a1, LBL0
95# CHECK: encoding: [0x17,0xbd,A]
96bgeu a13, a1, LBL0
97
98# Instruction format BRI8
99# CHECK-INST:  bgeui   a9, 32768, LBL0
100# CHECK: encoding: [0xf6,0x09,A]
101bgeui a9, 32768, LBL0
102
103# CHECK-INST:  bgeui   a7, 65536, LBL0
104# CHECK: encoding: [0xf6,0x17,A]
105bgeui a7, 65536, LBL0
106
107# CHECK-INST:  bgeui   a7, 64, LBL0
108# CHECK: encoding: [0xf6,0xd7,A]
109bgeui a7, 64, LBL0
110
111# Instruction format BRI12
112# CHECK-INST:  bgez    a8, LBL0
113# CHECK: encoding: [0xd6,0bAAAA1000,A]
114bgez a8, LBL0
115
116# Instruction format RRI8
117# CHECK-INST:  blt     a14, a2, LBL0
118# CHECK: encoding: [0x27,0x2e,A]
119blt a14, a2, LBL0
120
121# Instruction format BRI8
122# CHECK-INST:  blti    a12, -1, LBL0
123# CHECK: encoding: [0xa6,0x0c,A]
124blti a12, -1, LBL0
125
126# CHECK-INST:  blti    a0, 32, LBL0
127# CHECK: encoding: [0xa6,0xc0,A]
128blti a0, 32, LBL0
129
130# Instruction format BRI8
131# CHECK-INST:  bltui   a7, 16, LBL0
132# CHECK: encoding: [0xb6,0xb7,A]
133bltui a7, 16, LBL0
134
135# Instruction format BRI12
136# CHECK-INST:  bltz    a6, LBL0
137# CHECK: encoding: [0x96,0bAAAA0110,A]
138bltz a6, LBL0
139
140# Instruction format RRI8
141# CHECK-INST:  bne     a3, a4, LBL0
142# CHECK: encoding: [0x47,0x93,A]
143bne a3, a4, LBL0
144
145# Instruction format BRI8
146# CHECK-INST:  bnei    a5, 12, LBL0
147# CHECK: encoding: [0x66,0xa5,A]
148bnei a5, 12, LBL0
149
150# Instruction format BRI12
151# CHECK-INST:  bnez    a5, LBL0
152# CHECK: encoding: [0x56,0bAAAA0101,A]
153bnez a5, LBL0
154