1# For zEC12 and above.
2# RUN: llvm-mc -triple s390x-linux-gnu -mcpu=zEC12 -show-encoding %s | FileCheck %s
3# RUN: llvm-mc -triple s390x-linux-gnu -mcpu=arch10 -show-encoding %s | FileCheck %s
4
5#CHECK: bpp	0, .[[LAB:L.*]]-65536, 0   # encoding: [0xc7,0x00,0x00,0x00,A,A]
6#CHECK: fixup A - offset: 4, value: (.[[LAB]]-65536)+4, kind: FK_390_PC16DBL
7        bpp	0, -0x10000, 0
8#CHECK: bpp     0, .[[LAB:L.*]]-2, 0       # encoding: [0xc7,0x00,0x00,0x00,A,A]
9#CHECK: fixup A - offset: 4, value: (.[[LAB]]-2)+4, kind: FK_390_PC16DBL
10        bpp	0, -2, 0
11#CHECK: bpp	0, .[[LAB:L.*]], 0         # encoding: [0xc7,0x00,0x00,0x00,A,A]
12#CHECK: fixup A - offset: 4, value: .[[LAB]]+4, kind: FK_390_PC16DBL
13        bpp    0, 0, 0
14#CHECK: bpp  	0, .[[LAB:L.*]]+65534, 0   # encoding: [0xc7,0x00,0x00,0x00,A,A]
15#CHECK: fixup A - offset: 4, value: (.[[LAB]]+65534)+4, kind: FK_390_PC16DBL
16        bpp    	0, 0xfffe, 0
17
18#CHECK: bpp	0, foo, 4095(%r3)          # encoding: [0xc7,0x00,0x3f,0xff,A,A]
19#CHECK: fixup A - offset: 4, value: foo+4, kind: FK_390_PC16DBL
20#CHECK: bpp	15, foo, 1(%r11)           # encoding: [0xc7,0xf0,0xb0,0x01,A,A]
21#CHECK: fixup A - offset: 4, value: foo+4, kind: FK_390_PC16DBL
22
23	bpp	0, foo, 4095(%r3)
24	bpp	15, foo, 1(%r11)
25
26#CHECK: bpp	3, bar+100, 4095           # encoding: [0xc7,0x30,0x0f,0xff,A,A]
27#CHECK: fixup A - offset: 4, value: (bar+100)+4, kind: FK_390_PC16DBL
28#CHECK: bpp	4, bar+100, 1              # encoding: [0xc7,0x40,0x00,0x01,A,A]
29#CHECK: fixup A - offset: 4, value: (bar+100)+4, kind: FK_390_PC16DBL
30
31	bpp	3, bar+100, 4095
32	bpp	4, bar+100, 1
33
34#CHECK: bpp	7, frob@PLT, 0              # encoding: [0xc7,0x70,0x00,0x00,A,A]
35#CHECK: fixup A - offset: 4, value: frob@PLT+4, kind: FK_390_PC16DBL
36#CHECK: bpp	8, frob@PLT, 0              # encoding: [0xc7,0x80,0x00,0x00,A,A]
37#CHECK: fixup A - offset: 4, value: frob@PLT+4, kind: FK_390_PC16DBL
38
39	bpp	7, frob@PLT, 0
40	bpp	8, frob@PLT, 0
41
42#CHECK: bprp   	0, .[[LABA:L.*]]-4096, .[[LABB:L.*]]      # encoding: [0xc5,0b0000AAAA,A,B,B,B]
43#CHECK: fixup A - offset: 1, value: (.[[LABA]]-4096)+1, kind: FK_390_PC12DBL
44#CHECK: fixup B - offset: 3, value: .[[LABB]]+3, kind: FK_390_PC24DBL
45        bprp   	0, -0x1000, 0
46#CHECK: bprp   	0, .[[LABA:L.*]]-2, .[[LABB:L.*]]         # encoding: [0xc5,0b0000AAAA,A,B,B,B]
47#CHECK: fixup A - offset: 1, value: (.[[LABA]]-2)+1, kind: FK_390_PC12DBL
48#CHECK: fixup B - offset: 3, value: .[[LABB]]+3, kind: FK_390_PC24DBL
49        bprp   	0, -2, 0
50#CHECK: bprp   	0, .[[LABA:L.*]], .[[LABB:L.*]]           # encoding: [0xc5,0b0000AAAA,A,B,B,B]
51#CHECK: fixup A - offset: 1, value: .[[LABA]]+1, kind: FK_390_PC12DBL
52#CHECK: fixup B - offset: 3, value: .[[LABB]]+3, kind: FK_390_PC24DBL
53        bprp   	0, 0, 0
54#CHECK: bprp   	0, .[[LABA:L.*]]+4094, .[[LABB:L.*]]      # encoding: [0xc5,0b0000AAAA,A,B,B,B]
55#CHECK: fixup A - offset: 1, value: (.[[LABA]]+4094)+1, kind: FK_390_PC12DBL
56#CHECK: fixup B - offset: 3, value: .[[LABB]]+3, kind: FK_390_PC24DBL
57        bprp   	0, 0xffe, 0
58#CHECK: bprp   	15, .[[LABA:L.*]], .[[LABB:L.*]]-16777216 # encoding: [0xc5,0b1111AAAA,A,B,B,B]
59#CHECK: fixup A - offset: 1, value: .[[LABA]]+1, kind: FK_390_PC12DBL
60#CHECK: fixup B - offset: 3, value: (.[[LABB]]-16777216)+3, kind: FK_390_PC24DBL
61        bprp   	15, 0, -0x1000000
62#CHECK: bprp   	15, .[[LABA:L.*]], .[[LABB:L.*]]-2        # encoding: [0xc5,0b1111AAAA,A,B,B,B]
63#CHECK: fixup A - offset: 1, value: .[[LABA]]+1, kind: FK_390_PC12DBL
64#CHECK: fixup B - offset: 3, value: (.[[LABB]]-2)+3, kind: FK_390_PC24DBL
65        bprp   	15, 0, -2
66#CHECK: bprp   	15, .[[LABA:L.*]], .[[LABB:L.*]]          # encoding: [0xc5,0b1111AAAA,A,B,B,B]
67#CHECK: fixup A - offset: 1, value: .[[LABA]]+1, kind: FK_390_PC12DBL
68#CHECK: fixup B - offset: 3, value: .[[LABB]]+3, kind: FK_390_PC24DBL
69        bprp   	15, 0, 0
70#CHECK: bprp   	15, .[[LABA:L.*]], .[[LABB:L.*]]+16777214 # encoding: [0xc5,0b1111AAAA,A,B,B,B]
71#CHECK: fixup A - offset: 1, value: .[[LABA]]+1, kind: FK_390_PC12DBL
72#CHECK: fixup B - offset: 3, value: (.[[LABB]]+16777214)+3, kind: FK_390_PC24DBL
73        bprp   	15, 0, 0xfffffe
74
75#CHECK: bprp	1, branch, target           # encoding: [0xc5,0b0001AAAA,A,B,B,B]
76#CHECK: fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
77#CHECK: fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
78#CHECK: bprp	2, branch, target           # encoding: [0xc5,0b0010AAAA,A,B,B,B]
79#CHECK: fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
80#CHECK: fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
81#CHECK: bprp	3, branch, target           # encoding: [0xc5,0b0011AAAA,A,B,B,B]
82#CHECK: fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
83#CHECK: fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
84
85	bprp	1, branch, target
86	bprp	2, branch, target
87	bprp	3, branch, target
88
89#CHECK: bprp	4, branch+100, target       # encoding: [0xc5,0b0100AAAA,A,B,B,B]
90#CHECK: fixup A - offset: 1, value: (branch+100)+1, kind: FK_390_PC12DBL
91#CHECK: fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
92#CHECK: bprp	5, branch, target+100       # encoding: [0xc5,0b0101AAAA,A,B,B,B]
93#CHECK: fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
94#CHECK: fixup B - offset: 3, value: (target+100)+3, kind: FK_390_PC24DBL
95#CHECK: bprp	6, branch+100, target+100   # encoding: [0xc5,0b0110AAAA,A,B,B,B]
96#CHECK: fixup A - offset: 1, value: (branch+100)+1, kind: FK_390_PC12DBL
97#CHECK: fixup B - offset: 3, value: (target+100)+3, kind: FK_390_PC24DBL
98
99	bprp	4, branch+100, target
100	bprp	5, branch, target+100
101	bprp	6, branch+100, target+100
102
103#CHECK: bprp	7, branch@PLT, target       # encoding: [0xc5,0b0111AAAA,A,B,B,B]
104#CHECK: fixup A - offset: 1, value: branch@PLT+1, kind: FK_390_PC12DBL
105#CHECK: fixup B - offset: 3, value: target+3, kind: FK_390_PC24DBL
106#CHECK: bprp	8, branch, target@PLT       # encoding: [0xc5,0b1000AAAA,A,B,B,B]
107#CHECK: fixup A - offset: 1, value: branch+1, kind: FK_390_PC12DBL
108#CHECK: fixup B - offset: 3, value: target@PLT+3, kind: FK_390_PC24DBL
109#CHECK: bprp	9, branch@PLT, target@PLT   # encoding: [0xc5,0b1001AAAA,A,B,B,B]
110#CHECK: fixup A - offset: 1, value: branch@PLT+1, kind: FK_390_PC12DBL
111#CHECK: fixup B - offset: 3, value: target@PLT+3, kind: FK_390_PC24DBL
112
113	bprp	7, branch@plt, target
114	bprp	8, branch, target@plt
115	bprp	9, branch@plt, target@plt
116
117#CHECK: cdzt	%f0, 0(1), 0                # encoding: [0xed,0x00,0x00,0x00,0x00,0xaa]
118#CHECK: cdzt	%f15, 0(1), 0               # encoding: [0xed,0x00,0x00,0x00,0xf0,0xaa]
119#CHECK: cdzt	%f0, 0(1), 15               # encoding: [0xed,0x00,0x00,0x00,0x0f,0xaa]
120#CHECK: cdzt	%f0, 0(1,%r1), 0            # encoding: [0xed,0x00,0x10,0x00,0x00,0xaa]
121#CHECK: cdzt	%f0, 0(1,%r15), 0           # encoding: [0xed,0x00,0xf0,0x00,0x00,0xaa]
122#CHECK: cdzt	%f0, 4095(1,%r1), 0         # encoding: [0xed,0x00,0x1f,0xff,0x00,0xaa]
123#CHECK: cdzt	%f0, 4095(1,%r15), 0        # encoding: [0xed,0x00,0xff,0xff,0x00,0xaa]
124#CHECK: cdzt	%f0, 0(256,%r1), 0          # encoding: [0xed,0xff,0x10,0x00,0x00,0xaa]
125#CHECK: cdzt	%f0, 0(256,%r15), 0         # encoding: [0xed,0xff,0xf0,0x00,0x00,0xaa]
126
127	cdzt	%f0, 0(1), 0
128	cdzt	%f15, 0(1), 0
129	cdzt	%f0, 0(1), 15
130	cdzt	%f0, 0(1,%r1), 0
131	cdzt	%f0, 0(1,%r15), 0
132	cdzt	%f0, 4095(1,%r1), 0
133	cdzt	%f0, 4095(1,%r15), 0
134	cdzt	%f0, 0(256,%r1), 0
135	cdzt	%f0, 0(256,%r15), 0
136
137#CHECK: clt	%r0, 12, -524288            # encoding: [0xeb,0x0c,0x00,0x00,0x80,0x23]
138#CHECK: clt	%r0, 12, -1                 # encoding: [0xeb,0x0c,0x0f,0xff,0xff,0x23]
139#CHECK: clt	%r0, 12, 0                  # encoding: [0xeb,0x0c,0x00,0x00,0x00,0x23]
140#CHECK: clt	%r0, 12, 1                  # encoding: [0xeb,0x0c,0x00,0x01,0x00,0x23]
141#CHECK: clt	%r0, 12, 524287             # encoding: [0xeb,0x0c,0x0f,0xff,0x7f,0x23]
142#CHECK: clt	%r0, 12, 0(%r1)             # encoding: [0xeb,0x0c,0x10,0x00,0x00,0x23]
143#CHECK: clt	%r0, 12, 0(%r15)            # encoding: [0xeb,0x0c,0xf0,0x00,0x00,0x23]
144#CHECK: clt	%r0, 12, 12345(%r6)         # encoding: [0xeb,0x0c,0x60,0x39,0x03,0x23]
145#CHECK: clt	%r15, 12, 0                 # encoding: [0xeb,0xfc,0x00,0x00,0x00,0x23]
146#CHECK: clth	%r0, 0(%r15)                # encoding: [0xeb,0x02,0xf0,0x00,0x00,0x23]
147#CHECK: cltl	%r0, 0(%r15)                # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x23]
148#CHECK: clte	%r0, 0(%r15)                # encoding: [0xeb,0x08,0xf0,0x00,0x00,0x23]
149#CHECK: cltne	%r0, 0(%r15)                # encoding: [0xeb,0x06,0xf0,0x00,0x00,0x23]
150#CHECK: cltnl	%r0, 0(%r15)                # encoding: [0xeb,0x0a,0xf0,0x00,0x00,0x23]
151#CHECK: cltnh	%r0, 0(%r15)                # encoding: [0xeb,0x0c,0xf0,0x00,0x00,0x23]
152
153	clt	%r0, 12, -524288
154	clt	%r0, 12, -1
155	clt	%r0, 12, 0
156	clt	%r0, 12, 1
157	clt	%r0, 12, 524287
158	clt	%r0, 12, 0(%r1)
159	clt	%r0, 12, 0(%r15)
160	clt	%r0, 12, 12345(%r6)
161	clt	%r15, 12, 0
162	clth	%r0, 0(%r15)
163	cltl	%r0, 0(%r15)
164	clte	%r0, 0(%r15)
165	cltne	%r0, 0(%r15)
166	cltnl	%r0, 0(%r15)
167	cltnh	%r0, 0(%r15)
168
169#CHECK: clgt	%r0, 12, -524288            # encoding: [0xeb,0x0c,0x00,0x00,0x80,0x2b]
170#CHECK: clgt	%r0, 12, -1                 # encoding: [0xeb,0x0c,0x0f,0xff,0xff,0x2b]
171#CHECK: clgt	%r0, 12, 0                  # encoding: [0xeb,0x0c,0x00,0x00,0x00,0x2b]
172#CHECK: clgt	%r0, 12, 1                  # encoding: [0xeb,0x0c,0x00,0x01,0x00,0x2b]
173#CHECK: clgt	%r0, 12, 524287             # encoding: [0xeb,0x0c,0x0f,0xff,0x7f,0x2b]
174#CHECK: clgt	%r0, 12, 0(%r1)             # encoding: [0xeb,0x0c,0x10,0x00,0x00,0x2b]
175#CHECK: clgt	%r0, 12, 0(%r15)            # encoding: [0xeb,0x0c,0xf0,0x00,0x00,0x2b]
176#CHECK: clgt	%r0, 12, 12345(%r6)         # encoding: [0xeb,0x0c,0x60,0x39,0x03,0x2b]
177#CHECK: clgt	%r15, 12, 0                 # encoding: [0xeb,0xfc,0x00,0x00,0x00,0x2b]
178#CHECK: clgth	%r0, 0(%r15)                # encoding: [0xeb,0x02,0xf0,0x00,0x00,0x2b]
179#CHECK: clgtl	%r0, 0(%r15)                # encoding: [0xeb,0x04,0xf0,0x00,0x00,0x2b]
180#CHECK: clgte	%r0, 0(%r15)                # encoding: [0xeb,0x08,0xf0,0x00,0x00,0x2b]
181#CHECK: clgtne	%r0, 0(%r15)                # encoding: [0xeb,0x06,0xf0,0x00,0x00,0x2b]
182#CHECK: clgtnl	%r0, 0(%r15)                # encoding: [0xeb,0x0a,0xf0,0x00,0x00,0x2b]
183#CHECK: clgtnh	%r0, 0(%r15)                # encoding: [0xeb,0x0c,0xf0,0x00,0x00,0x2b]
184
185	clgt	%r0, 12, -524288
186	clgt	%r0, 12, -1
187	clgt	%r0, 12, 0
188	clgt	%r0, 12, 1
189	clgt	%r0, 12, 524287
190	clgt	%r0, 12, 0(%r1)
191	clgt	%r0, 12, 0(%r15)
192	clgt	%r0, 12, 12345(%r6)
193	clgt	%r15, 12, 0
194	clgth	%r0, 0(%r15)
195	clgtl	%r0, 0(%r15)
196	clgte	%r0, 0(%r15)
197	clgtne	%r0, 0(%r15)
198	clgtnl	%r0, 0(%r15)
199	clgtnh	%r0, 0(%r15)
200
201#CHECK: crdte	%r0, %r0, %r0               # encoding: [0xb9,0x8f,0x00,0x00]
202#CHECK: crdte	%r0, %r0, %r14              # encoding: [0xb9,0x8f,0x00,0x0e]
203#CHECK: crdte	%r0, %r15, %r0              # encoding: [0xb9,0x8f,0xf0,0x00]
204#CHECK: crdte	%r14, %r0, %r0              # encoding: [0xb9,0x8f,0x00,0xe0]
205#CHECK: crdte	%r0, %r0, %r0, 15           # encoding: [0xb9,0x8f,0x0f,0x00]
206#CHECK: crdte	%r4, %r5, %r6, 7            # encoding: [0xb9,0x8f,0x57,0x46]
207
208	crdte	%r0, %r0, %r0
209	crdte	%r0, %r0, %r14
210	crdte	%r0, %r15, %r0
211	crdte	%r14, %r0, %r0
212	crdte	%r0, %r0, %r0, 15
213	crdte	%r4, %r5, %r6, 7
214
215#CHECK: cxzt	%f0, 0(1), 0                # encoding: [0xed,0x00,0x00,0x00,0x00,0xab]
216#CHECK: cxzt	%f13, 0(1), 0               # encoding: [0xed,0x00,0x00,0x00,0xd0,0xab]
217#CHECK: cxzt	%f0, 0(1), 15               # encoding: [0xed,0x00,0x00,0x00,0x0f,0xab]
218#CHECK: cxzt	%f0, 0(1,%r1), 0            # encoding: [0xed,0x00,0x10,0x00,0x00,0xab]
219#CHECK: cxzt	%f0, 0(1,%r15), 0           # encoding: [0xed,0x00,0xf0,0x00,0x00,0xab]
220#CHECK: cxzt	%f0, 4095(1,%r1), 0         # encoding: [0xed,0x00,0x1f,0xff,0x00,0xab]
221#CHECK: cxzt	%f0, 4095(1,%r15), 0        # encoding: [0xed,0x00,0xff,0xff,0x00,0xab]
222#CHECK: cxzt	%f0, 0(256,%r1), 0          # encoding: [0xed,0xff,0x10,0x00,0x00,0xab]
223#CHECK: cxzt	%f0, 0(256,%r15), 0         # encoding: [0xed,0xff,0xf0,0x00,0x00,0xab]
224
225	cxzt	%f0, 0(1), 0
226	cxzt	%f13, 0(1), 0
227	cxzt	%f0, 0(1), 15
228	cxzt	%f0, 0(1,%r1), 0
229	cxzt	%f0, 0(1,%r15), 0
230	cxzt	%f0, 4095(1,%r1), 0
231	cxzt	%f0, 4095(1,%r15), 0
232	cxzt	%f0, 0(256,%r1), 0
233	cxzt	%f0, 0(256,%r15), 0
234
235#CHECK: czdt	%f0, 0(1), 0                # encoding: [0xed,0x00,0x00,0x00,0x00,0xa8]
236#CHECK: czdt	%f15, 0(1), 0               # encoding: [0xed,0x00,0x00,0x00,0xf0,0xa8]
237#CHECK: czdt	%f0, 0(1), 15               # encoding: [0xed,0x00,0x00,0x00,0x0f,0xa8]
238#CHECK: czdt	%f0, 0(1,%r1), 0            # encoding: [0xed,0x00,0x10,0x00,0x00,0xa8]
239#CHECK: czdt	%f0, 0(1,%r15), 0           # encoding: [0xed,0x00,0xf0,0x00,0x00,0xa8]
240#CHECK: czdt	%f0, 4095(1,%r1), 0         # encoding: [0xed,0x00,0x1f,0xff,0x00,0xa8]
241#CHECK: czdt	%f0, 4095(1,%r15), 0        # encoding: [0xed,0x00,0xff,0xff,0x00,0xa8]
242#CHECK: czdt	%f0, 0(256,%r1), 0          # encoding: [0xed,0xff,0x10,0x00,0x00,0xa8]
243#CHECK: czdt	%f0, 0(256,%r15), 0         # encoding: [0xed,0xff,0xf0,0x00,0x00,0xa8]
244
245	czdt	%f0, 0(1), 0
246	czdt	%f15, 0(1), 0
247	czdt	%f0, 0(1), 15
248	czdt	%f0, 0(1,%r1), 0
249	czdt	%f0, 0(1,%r15), 0
250	czdt	%f0, 4095(1,%r1), 0
251	czdt	%f0, 4095(1,%r15), 0
252	czdt	%f0, 0(256,%r1), 0
253	czdt	%f0, 0(256,%r15), 0
254
255#CHECK: czxt	%f0, 0(1), 0                # encoding: [0xed,0x00,0x00,0x00,0x00,0xa9]
256#CHECK: czxt	%f13, 0(1), 0               # encoding: [0xed,0x00,0x00,0x00,0xd0,0xa9]
257#CHECK: czxt	%f0, 0(1), 15               # encoding: [0xed,0x00,0x00,0x00,0x0f,0xa9]
258#CHECK: czxt	%f0, 0(1,%r1), 0            # encoding: [0xed,0x00,0x10,0x00,0x00,0xa9]
259#CHECK: czxt	%f0, 0(1,%r15), 0           # encoding: [0xed,0x00,0xf0,0x00,0x00,0xa9]
260#CHECK: czxt	%f0, 4095(1,%r1), 0         # encoding: [0xed,0x00,0x1f,0xff,0x00,0xa9]
261#CHECK: czxt	%f0, 4095(1,%r15), 0        # encoding: [0xed,0x00,0xff,0xff,0x00,0xa9]
262#CHECK: czxt	%f0, 0(256,%r1), 0          # encoding: [0xed,0xff,0x10,0x00,0x00,0xa9]
263#CHECK: czxt	%f0, 0(256,%r15), 0         # encoding: [0xed,0xff,0xf0,0x00,0x00,0xa9]
264
265	czxt	%f0, 0(1), 0
266	czxt	%f13, 0(1), 0
267	czxt	%f0, 0(1), 15
268	czxt	%f0, 0(1,%r1), 0
269	czxt	%f0, 0(1,%r15), 0
270	czxt	%f0, 4095(1,%r1), 0
271	czxt	%f0, 4095(1,%r15), 0
272	czxt	%f0, 0(256,%r1), 0
273	czxt	%f0, 0(256,%r15), 0
274
275#CHECK: etnd	%r0                     # encoding: [0xb2,0xec,0x00,0x00]
276#CHECK: etnd	%r15                    # encoding: [0xb2,0xec,0x00,0xf0]
277#CHECK: etnd	%r7                     # encoding: [0xb2,0xec,0x00,0x70]
278
279	etnd	%r0
280	etnd	%r15
281	etnd	%r7
282
283#CHECK: lat	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x9f]
284#CHECK: lat	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x9f]
285#CHECK: lat	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x9f]
286#CHECK: lat	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x9f]
287#CHECK: lat	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x9f]
288#CHECK: lat	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x9f]
289#CHECK: lat	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x9f]
290#CHECK: lat	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x9f]
291#CHECK: lat	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x9f]
292#CHECK: lat	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x9f]
293
294	lat	%r0, -524288
295	lat	%r0, -1
296	lat	%r0, 0
297	lat	%r0, 1
298	lat	%r0, 524287
299	lat	%r0, 0(%r1)
300	lat	%r0, 0(%r15)
301	lat	%r0, 524287(%r1,%r15)
302	lat	%r0, 524287(%r15,%r1)
303	lat	%r15, 0
304
305#CHECK: lfhat	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0xc8]
306#CHECK: lfhat	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0xc8]
307#CHECK: lfhat	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0xc8]
308#CHECK: lfhat	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0xc8]
309#CHECK: lfhat	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0xc8]
310#CHECK: lfhat	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0xc8]
311#CHECK: lfhat	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0xc8]
312#CHECK: lfhat	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0xc8]
313#CHECK: lfhat	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0xc8]
314#CHECK: lfhat	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0xc8]
315
316	lfhat	%r0, -524288
317	lfhat	%r0, -1
318	lfhat	%r0, 0
319	lfhat	%r0, 1
320	lfhat	%r0, 524287
321	lfhat	%r0, 0(%r1)
322	lfhat	%r0, 0(%r15)
323	lfhat	%r0, 524287(%r1,%r15)
324	lfhat	%r0, 524287(%r15,%r1)
325	lfhat	%r15, 0
326
327#CHECK: lgat	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x85]
328#CHECK: lgat	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x85]
329#CHECK: lgat	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x85]
330#CHECK: lgat	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x85]
331#CHECK: lgat	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x85]
332#CHECK: lgat	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x85]
333#CHECK: lgat	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x85]
334#CHECK: lgat	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x85]
335#CHECK: lgat	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x85]
336#CHECK: lgat	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x85]
337
338	lgat	%r0, -524288
339	lgat	%r0, -1
340	lgat	%r0, 0
341	lgat	%r0, 1
342	lgat	%r0, 524287
343	lgat	%r0, 0(%r1)
344	lgat	%r0, 0(%r15)
345	lgat	%r0, 524287(%r1,%r15)
346	lgat	%r0, 524287(%r15,%r1)
347	lgat	%r15, 0
348
349#CHECK: llgfat	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x9d]
350#CHECK: llgfat	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x9d]
351#CHECK: llgfat	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x9d]
352#CHECK: llgfat	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x9d]
353#CHECK: llgfat	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x9d]
354#CHECK: llgfat	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x9d]
355#CHECK: llgfat	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x9d]
356#CHECK: llgfat	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x9d]
357#CHECK: llgfat	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x9d]
358#CHECK: llgfat	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x9d]
359
360	llgfat	%r0, -524288
361	llgfat	%r0, -1
362	llgfat	%r0, 0
363	llgfat	%r0, 1
364	llgfat	%r0, 524287
365	llgfat	%r0, 0(%r1)
366	llgfat	%r0, 0(%r15)
367	llgfat	%r0, 524287(%r1,%r15)
368	llgfat	%r0, 524287(%r15,%r1)
369	llgfat	%r15, 0
370
371#CHECK: llgtat	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x9c]
372#CHECK: llgtat	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x9c]
373#CHECK: llgtat	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x9c]
374#CHECK: llgtat	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x9c]
375#CHECK: llgtat	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x9c]
376#CHECK: llgtat	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x9c]
377#CHECK: llgtat	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x9c]
378#CHECK: llgtat	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x9c]
379#CHECK: llgtat	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x9c]
380#CHECK: llgtat	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x9c]
381
382	llgtat	%r0, -524288
383	llgtat	%r0, -1
384	llgtat	%r0, 0
385	llgtat	%r0, 1
386	llgtat	%r0, 524287
387	llgtat	%r0, 0(%r1)
388	llgtat	%r0, 0(%r15)
389	llgtat	%r0, 524287(%r1,%r15)
390	llgtat	%r0, 524287(%r15,%r1)
391	llgtat	%r15, 0
392
393#CHECK: niai	0, 0                    # encoding: [0xb2,0xfa,0x00,0x00]
394#CHECK: niai	15, 0                   # encoding: [0xb2,0xfa,0x00,0xf0]
395#CHECK: niai	0, 15                   # encoding: [0xb2,0xfa,0x00,0x0f]
396#CHECK: niai	15, 15                  # encoding: [0xb2,0xfa,0x00,0xff]
397
398	niai	0, 0
399	niai	15, 0
400	niai	0, 15
401	niai	15, 15
402
403#CHECK: ntstg	%r0, -524288            # encoding: [0xe3,0x00,0x00,0x00,0x80,0x25]
404#CHECK: ntstg	%r0, -1                 # encoding: [0xe3,0x00,0x0f,0xff,0xff,0x25]
405#CHECK: ntstg	%r0, 0                  # encoding: [0xe3,0x00,0x00,0x00,0x00,0x25]
406#CHECK: ntstg	%r0, 1                  # encoding: [0xe3,0x00,0x00,0x01,0x00,0x25]
407#CHECK: ntstg	%r0, 524287             # encoding: [0xe3,0x00,0x0f,0xff,0x7f,0x25]
408#CHECK: ntstg	%r0, 0(%r1)             # encoding: [0xe3,0x00,0x10,0x00,0x00,0x25]
409#CHECK: ntstg	%r0, 0(%r15)            # encoding: [0xe3,0x00,0xf0,0x00,0x00,0x25]
410#CHECK: ntstg	%r0, 524287(%r1,%r15)   # encoding: [0xe3,0x01,0xff,0xff,0x7f,0x25]
411#CHECK: ntstg	%r0, 524287(%r15,%r1)   # encoding: [0xe3,0x0f,0x1f,0xff,0x7f,0x25]
412#CHECK: ntstg	%r15, 0                 # encoding: [0xe3,0xf0,0x00,0x00,0x00,0x25]
413
414	ntstg	%r0, -524288
415	ntstg	%r0, -1
416	ntstg	%r0, 0
417	ntstg	%r0, 1
418	ntstg	%r0, 524287
419	ntstg	%r0, 0(%r1)
420	ntstg	%r0, 0(%r15)
421	ntstg	%r0, 524287(%r1,%r15)
422	ntstg	%r0, 524287(%r15,%r1)
423	ntstg	%r15, 0
424
425#CHECK: ppa	%r0, %r0, 0             # encoding: [0xb2,0xe8,0x00,0x00]
426#CHECK: ppa	%r0, %r0, 15            # encoding: [0xb2,0xe8,0xf0,0x00]
427#CHECK: ppa	%r0, %r15, 0            # encoding: [0xb2,0xe8,0x00,0x0f]
428#CHECK: ppa	%r4, %r6, 7             # encoding: [0xb2,0xe8,0x70,0x46]
429#CHECK: ppa	%r15, %r0, 0            # encoding: [0xb2,0xe8,0x00,0xf0]
430
431	ppa	%r0, %r0, 0
432	ppa	%r0, %r0, 15
433	ppa	%r0, %r15, 0
434	ppa	%r4, %r6, 7
435	ppa	%r15, %r0, 0
436
437#CHECK: risbgn	%r0, %r0, 0, 0, 0       # encoding: [0xec,0x00,0x00,0x00,0x00,0x59]
438#CHECK: risbgn	%r0, %r0, 0, 0, 63      # encoding: [0xec,0x00,0x00,0x00,0x3f,0x59]
439#CHECK: risbgn	%r0, %r0, 0, 255, 0     # encoding: [0xec,0x00,0x00,0xff,0x00,0x59]
440#CHECK: risbgn	%r0, %r0, 255, 0, 0     # encoding: [0xec,0x00,0xff,0x00,0x00,0x59]
441#CHECK: risbgn	%r0, %r15, 0, 0, 0      # encoding: [0xec,0x0f,0x00,0x00,0x00,0x59]
442#CHECK: risbgn	%r15, %r0, 0, 0, 0      # encoding: [0xec,0xf0,0x00,0x00,0x00,0x59]
443#CHECK: risbgn	%r4, %r5, 6, 7, 8       # encoding: [0xec,0x45,0x06,0x07,0x08,0x59]
444
445	risbgn	%r0,%r0,0,0,0
446	risbgn	%r0,%r0,0,0,63
447	risbgn	%r0,%r0,0,255,0
448	risbgn	%r0,%r0,255,0,0
449	risbgn	%r0,%r15,0,0,0
450	risbgn	%r15,%r0,0,0,0
451	risbgn	%r4,%r5,6,7,8
452
453#CHECK: tabort	0                       # encoding: [0xb2,0xfc,0x00,0x00]
454#CHECK: tabort	0(%r1)                  # encoding: [0xb2,0xfc,0x10,0x00]
455#CHECK: tabort	0(%r15)                 # encoding: [0xb2,0xfc,0xf0,0x00]
456#CHECK: tabort	4095                    # encoding: [0xb2,0xfc,0x0f,0xff]
457#CHECK: tabort	4095(%r1)               # encoding: [0xb2,0xfc,0x1f,0xff]
458#CHECK: tabort	4095(%r15)              # encoding: [0xb2,0xfc,0xff,0xff]
459
460	tabort	0
461	tabort	0(%r1)
462	tabort	0(%r15)
463	tabort	4095
464	tabort	4095(%r1)
465	tabort	4095(%r15)
466
467#CHECK: tbegin	0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
468#CHECK: tbegin	4095, 0                 # encoding: [0xe5,0x60,0x0f,0xff,0x00,0x00]
469#CHECK: tbegin	0, 0                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x00]
470#CHECK: tbegin	0, 1                    # encoding: [0xe5,0x60,0x00,0x00,0x00,0x01]
471#CHECK: tbegin	0, 32767                # encoding: [0xe5,0x60,0x00,0x00,0x7f,0xff]
472#CHECK: tbegin	0, 32768                # encoding: [0xe5,0x60,0x00,0x00,0x80,0x00]
473#CHECK: tbegin	0, 65535                # encoding: [0xe5,0x60,0x00,0x00,0xff,0xff]
474#CHECK: tbegin	0(%r1), 42              # encoding: [0xe5,0x60,0x10,0x00,0x00,0x2a]
475#CHECK: tbegin	0(%r15), 42             # encoding: [0xe5,0x60,0xf0,0x00,0x00,0x2a]
476#CHECK: tbegin	4095(%r1), 42           # encoding: [0xe5,0x60,0x1f,0xff,0x00,0x2a]
477#CHECK: tbegin	4095(%r15), 42          # encoding: [0xe5,0x60,0xff,0xff,0x00,0x2a]
478
479	tbegin	0, 0
480	tbegin	4095, 0
481	tbegin	0, 0
482	tbegin	0, 1
483	tbegin	0, 32767
484	tbegin	0, 32768
485	tbegin	0, 65535
486	tbegin	0(%r1), 42
487	tbegin	0(%r15), 42
488	tbegin	4095(%r1), 42
489	tbegin	4095(%r15), 42
490
491#CHECK: tbeginc	0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
492#CHECK: tbeginc	4095, 0                 # encoding: [0xe5,0x61,0x0f,0xff,0x00,0x00]
493#CHECK: tbeginc	0, 0                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x00]
494#CHECK: tbeginc	0, 1                    # encoding: [0xe5,0x61,0x00,0x00,0x00,0x01]
495#CHECK: tbeginc	0, 32767                # encoding: [0xe5,0x61,0x00,0x00,0x7f,0xff]
496#CHECK: tbeginc	0, 32768                # encoding: [0xe5,0x61,0x00,0x00,0x80,0x00]
497#CHECK: tbeginc	0, 65535                # encoding: [0xe5,0x61,0x00,0x00,0xff,0xff]
498#CHECK: tbeginc	0(%r1), 42              # encoding: [0xe5,0x61,0x10,0x00,0x00,0x2a]
499#CHECK: tbeginc	0(%r15), 42             # encoding: [0xe5,0x61,0xf0,0x00,0x00,0x2a]
500#CHECK: tbeginc	4095(%r1), 42           # encoding: [0xe5,0x61,0x1f,0xff,0x00,0x2a]
501#CHECK: tbeginc	4095(%r15), 42          # encoding: [0xe5,0x61,0xff,0xff,0x00,0x2a]
502
503	tbeginc	0, 0
504	tbeginc	4095, 0
505	tbeginc	0, 0
506	tbeginc	0, 1
507	tbeginc	0, 32767
508	tbeginc	0, 32768
509	tbeginc	0, 65535
510	tbeginc	0(%r1), 42
511	tbeginc	0(%r15), 42
512	tbeginc	4095(%r1), 42
513	tbeginc	4095(%r15), 42
514
515#CHECK: tend                            # encoding: [0xb2,0xf8,0x00,0x00]
516
517	tend
518