1# Check 64bit LWP instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7	llwpcb %eax
8	llwpcb %ecx
9	llwpcb %edx
10	llwpcb %ebx
11	llwpcb %esp
12	llwpcb %ebp
13	llwpcb %esi
14	llwpcb %edi
15	llwpcb %r8d
16	llwpcb %r9d
17	llwpcb %r10d
18	llwpcb %r11d
19	llwpcb %r12d
20	llwpcb %r13d
21	llwpcb %r14d
22	llwpcb %r15d
23	llwpcb %rax
24	llwpcb %rcx
25	llwpcb %rdx
26	llwpcb %rbx
27	llwpcb %rsp
28	llwpcb %rbp
29	llwpcb %rsi
30	llwpcb %rdi
31	llwpcb %r8
32	llwpcb %r9
33	llwpcb %r10
34	llwpcb %r11
35	llwpcb %r12
36	llwpcb %r13
37	llwpcb %r14
38	llwpcb %r15
39
40	slwpcb %r15
41	slwpcb %r14
42	slwpcb %r13
43	slwpcb %r12
44	slwpcb %r11
45	slwpcb %r10
46	slwpcb %r9
47	slwpcb %r8
48	slwpcb %rdi
49	slwpcb %rsi
50	slwpcb %rbp
51	slwpcb %rsp
52	slwpcb %rbx
53	slwpcb %rdx
54	slwpcb %rcx
55	slwpcb %rax
56	slwpcb %r15d
57	slwpcb %r14d
58	slwpcb %r13d
59	slwpcb %r12d
60	slwpcb %r11d
61	slwpcb %r10d
62	slwpcb %r9d
63	slwpcb %r8d
64	slwpcb %edi
65	slwpcb %esi
66	slwpcb %ebp
67	slwpcb %esp
68	slwpcb %ebx
69	slwpcb %edx
70	slwpcb %ecx
71	slwpcb %eax
72
73	lwpins $0x12345678, %r15d, %eax
74	lwpins $0x12345678, %r14d, %ecx
75	lwpins $0x12345678, %r13d, %edx
76	lwpins $0x12345678, %r12d, %ebx
77	lwpins $0x12345678, %r11d, %esp
78	lwpins $0x12345678, %r10d, %ebp
79	lwpins $0x12345678, %r9d, %esi
80	lwpins $0x12345678, %r8d, %edi
81	lwpins $0x12345678, %edi, %r8d
82	lwpins $0x12345678, %esi, %r9d
83	lwpins $0x12345678, %ebp, %r10d
84	lwpins $0x12345678, %esp, %r11d
85	lwpins $0x12345678, %ebx, %r12d
86	lwpins $0x12345678, %edx, %r13d
87	lwpins $0x12345678, %ecx, %r14d
88	lwpins $0x12345678, %eax, %r15d
89	lwpins $0x12345678, %r15d, %rax
90	lwpins $0x12345678, %r14d, %rcx
91	lwpins $0x12345678, %r13d, %rdx
92	lwpins $0x12345678, %r12d, %rbx
93	lwpins $0x12345678, %r11d, %rsp
94	lwpins $0x12345678, %r10d, %rbp
95	lwpins $0x12345678, %r9d, %rsi
96	lwpins $0x12345678, %r8d, %rdi
97	lwpins $0x12345678, %eax, %r8
98	lwpins $0x12345678, %ecx, %r9
99	lwpins $0x12345678, %edx, %r10
100	lwpins $0x12345678, %ebx, %r11
101	lwpins $0x12345678, %esp, %r12
102	lwpins $0x12345678, %ebp, %r13
103	lwpins $0x12345678, %esi, %r14
104	lwpins $0x12345678, %edi, %r15
105
106	lwpval $0x12345678, %r15d, %eax
107	lwpval $0x12345678, %r14d, %ecx
108	lwpval $0x12345678, %r13d, %edx
109	lwpval $0x12345678, %r12d, %ebx
110	lwpval $0x12345678, %r11d, %esp
111	lwpval $0x12345678, %r10d, %ebp
112	lwpval $0x12345678, %r9d, %esi
113	lwpval $0x12345678, %r8d, %edi
114	lwpval $0x12345678, %edi, %r8d
115	lwpval $0x12345678, %esi, %r9d
116	lwpval $0x12345678, %ebp, %r10d
117	lwpval $0x12345678, %esp, %r11d
118	lwpval $0x12345678, %ebx, %r12d
119	lwpval $0x12345678, %edx, %r13d
120	lwpval $0x12345678, %ecx, %r14d
121	lwpval $0x12345678, %eax, %r15d
122	lwpval $0x12345678, %r15d, %rax
123	lwpval $0x12345678, %r14d, %rcx
124	lwpval $0x12345678, %r13d, %rdx
125	lwpval $0x12345678, %r12d, %rbx
126	lwpval $0x12345678, %r11d, %rsp
127	lwpval $0x12345678, %r10d, %rbp
128	lwpval $0x12345678, %r9d, %rsi
129	lwpval $0x12345678, %r8d, %rdi
130	lwpval $0x12345678, %eax, %r8
131	lwpval $0x12345678, %ecx, %r9
132	lwpval $0x12345678, %edx, %r10
133	lwpval $0x12345678, %ebx, %r11
134	lwpval $0x12345678, %esp, %r12
135	lwpval $0x12345678, %ebp, %r13
136	lwpval $0x12345678, %esi, %r14
137	lwpval $0x12345678, %edi, %r15
138
139	lwpins $0x12345678, (%r15d), %eax
140	lwpins $0x12345678, (%r14d), %ecx
141	lwpins $0x12345678, (%r13d), %edx
142	lwpins $0x12345678, (%r12d), %ebx
143	lwpins $0x12345678, (%r11d), %esp
144	lwpins $0x12345678, (%r10d), %ebp
145	lwpins $0x12345678, (%r9d), %esi
146	lwpins $0x12345678, (%r8d), %edi
147	lwpins $0x12345678, (%edi), %r8d
148	lwpins $0x12345678, (%esi), %r9d
149	lwpins $0x12345678, (%ebp), %r10d
150	lwpins $0x12345678, (%esp), %r11d
151	lwpins $0x12345678, (%ebx), %r12d
152	lwpins $0x12345678, (%edx), %r13d
153	lwpins $0x12345678, (%ecx), %r14d
154	lwpins $0x12345678, (%eax), %r15d
155	lwpins $0x12345678, (%r15d), %rax
156	lwpins $0x12345678, (%r14d), %rcx
157	lwpins $0x12345678, (%r13d), %rdx
158	lwpins $0x12345678, (%r12d), %rbx
159	lwpins $0x12345678, (%r11d), %rsp
160	lwpins $0x12345678, (%r10d), %rbp
161	lwpins $0x12345678, (%r9d), %rsi
162	lwpins $0x12345678, (%r8d), %rdi
163	lwpins $0x12345678, (%eax), %r8
164	lwpins $0x12345678, (%ecx), %r9
165	lwpins $0x12345678, (%edx), %r10
166	lwpins $0x12345678, (%ebx), %r11
167	lwpins $0x12345678, (%esp), %r12
168	lwpins $0x12345678, (%ebp), %r13
169	lwpins $0x12345678, (%esi), %r14
170	lwpins $0x12345678, (%edi), %r15
171
172	lwpval $0x12345678, (%r15d), %eax
173	lwpval $0x12345678, (%r14d), %ecx
174	lwpval $0x12345678, (%r13d), %edx
175	lwpval $0x12345678, (%r12d), %ebx
176	lwpval $0x12345678, (%r11d), %esp
177	lwpval $0x12345678, (%r10d), %ebp
178	lwpval $0x12345678, (%r9d), %esi
179	lwpval $0x12345678, (%r8d), %edi
180	lwpval $0x12345678, (%edi), %r8d
181	lwpval $0x12345678, (%esi), %r9d
182	lwpval $0x12345678, (%ebp), %r10d
183	lwpval $0x12345678, (%esp), %r11d
184	lwpval $0x12345678, (%ebx), %r12d
185	lwpval $0x12345678, (%edx), %r13d
186	lwpval $0x12345678, (%ecx), %r14d
187	lwpval $0x12345678, (%eax), %r15d
188	lwpval $0x12345678, (%r15d), %rax
189	lwpval $0x12345678, (%r14d), %rcx
190	lwpval $0x12345678, (%r13d), %rdx
191	lwpval $0x12345678, (%r12d), %rbx
192	lwpval $0x12345678, (%r11d), %rsp
193	lwpval $0x12345678, (%r10d), %rbp
194	lwpval $0x12345678, (%r9d), %rsi
195	lwpval $0x12345678, (%r8d), %rdi
196	lwpval $0x12345678, (%eax), %r8
197	lwpval $0x12345678, (%ecx), %r9
198	lwpval $0x12345678, (%edx), %r10
199	lwpval $0x12345678, (%ebx), %r11
200	lwpval $0x12345678, (%esp), %r12
201	lwpval $0x12345678, (%ebp), %r13
202	lwpval $0x12345678, (%esi), %r14
203	lwpval $0x12345678, (%edi), %r15
204
205	lwpins $0x12345678, 0xcafe(%r15d), %eax
206	lwpins $0x12345678, 0xcafe(%r14d), %ecx
207	lwpins $0x12345678, 0xcafe(%r13d), %edx
208	lwpins $0x12345678, 0xcafe(%r12d), %ebx
209	lwpins $0x12345678, 0xcafe(%r11d), %esp
210	lwpins $0x12345678, 0xcafe(%r10d), %ebp
211	lwpins $0x12345678, 0xcafe(%r9d), %esi
212	lwpins $0x12345678, 0xcafe(%r8d), %edi
213	lwpins $0x12345678, 0xcafe(%edi), %r8d
214	lwpins $0x12345678, 0xcafe(%esi), %r9d
215	lwpins $0x12345678, 0xcafe(%ebp), %r10d
216	lwpins $0x12345678, 0xcafe(%esp), %r11d
217	lwpins $0x12345678, 0xcafe(%ebx), %r12d
218	lwpins $0x12345678, 0xcafe(%edx), %r13d
219	lwpins $0x12345678, 0xcafe(%ecx), %r14d
220	lwpins $0x12345678, 0xcafe(%eax), %r15d
221	lwpins $0x12345678, 0xcafe(%r15d), %rax
222	lwpins $0x12345678, 0xcafe(%r14d), %rcx
223	lwpins $0x12345678, 0xcafe(%r13d), %rdx
224	lwpins $0x12345678, 0xcafe(%r12d), %rbx
225	lwpins $0x12345678, 0xcafe(%r11d), %rsp
226	lwpins $0x12345678, 0xcafe(%r10d), %rbp
227	lwpins $0x12345678, 0xcafe(%r9d), %rsi
228	lwpins $0x12345678, 0xcafe(%r8d), %rdi
229	lwpins $0x12345678, 0xcafe(%eax), %r8
230	lwpins $0x12345678, 0xcafe(%ecx), %r9
231	lwpins $0x12345678, 0xcafe(%edx), %r10
232	lwpins $0x12345678, 0xcafe(%ebx), %r11
233	lwpins $0x12345678, 0xcafe(%esp), %r12
234	lwpins $0x12345678, 0xcafe(%ebp), %r13
235	lwpins $0x12345678, 0xcafe(%esi), %r14
236	lwpins $0x12345678, 0xcafe(%edi), %r15
237
238	lwpval $0x12345678, 0xcafe(%r15d), %eax
239	lwpval $0x12345678, 0xcafe(%r14d), %ecx
240	lwpval $0x12345678, 0xcafe(%r13d), %edx
241	lwpval $0x12345678, 0xcafe(%r12d), %ebx
242	lwpval $0x12345678, 0xcafe(%r11d), %esp
243	lwpval $0x12345678, 0xcafe(%r10d), %ebp
244	lwpval $0x12345678, 0xcafe(%r9d), %esi
245	lwpval $0x12345678, 0xcafe(%r8d), %edi
246	lwpval $0x12345678, 0xcafe(%edi), %r8d
247	lwpval $0x12345678, 0xcafe(%esi), %r9d
248	lwpval $0x12345678, 0xcafe(%ebp), %r10d
249	lwpval $0x12345678, 0xcafe(%esp), %r11d
250	lwpval $0x12345678, 0xcafe(%ebx), %r12d
251	lwpval $0x12345678, 0xcafe(%edx), %r13d
252	lwpval $0x12345678, 0xcafe(%ecx), %r14d
253	lwpval $0x12345678, 0xcafe(%eax), %r15d
254	lwpval $0x12345678, 0xcafe(%r15d), %rax
255	lwpval $0x12345678, 0xcafe(%r14d), %rcx
256	lwpval $0x12345678, 0xcafe(%r13d), %rdx
257	lwpval $0x12345678, 0xcafe(%r12d), %rbx
258	lwpval $0x12345678, 0xcafe(%r11d), %rsp
259	lwpval $0x12345678, 0xcafe(%r10d), %rbp
260	lwpval $0x12345678, 0xcafe(%r9d), %rsi
261	lwpval $0x12345678, 0xcafe(%r8d), %rdi
262	lwpval $0x12345678, 0xcafe(%eax), %r8
263	lwpval $0x12345678, 0xcafe(%ecx), %r9
264	lwpval $0x12345678, 0xcafe(%edx), %r10
265	lwpval $0x12345678, 0xcafe(%ebx), %r11
266	lwpval $0x12345678, 0xcafe(%esp), %r12
267	lwpval $0x12345678, 0xcafe(%ebp), %r13
268	lwpval $0x12345678, 0xcafe(%esi), %r14
269	lwpval $0x12345678, 0xcafe(%edi), %r15
270