summaryrefslogtreecommitdiff
path: root/test/lwp.asm
blob: f097b63bf12ecb3b44caa385e0231a9abfcbd5b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
; LWP testcases from 2010/03/22 binutils change: no more 16-bit variants
;------------------------------------------------------------------------

%define testcase3(x) x
%define testcase3(x,y) y,x
%define testcase3(x,y,z) z,y,x

%macro testcase 3.nolist	; uncomment one of the two, and compare the -f bin and -l output between them
;    db %1
;    %2 testcase3(%3)
%endmacro

bits 32

testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc0									  }, { llwpcb }, { eax }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc1									  }, { llwpcb }, { ecx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc2									  }, { llwpcb }, { edx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc3									  }, { llwpcb }, { ebx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc4									  }, { llwpcb }, { esp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc5									  }, { llwpcb }, { ebp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc6									  }, { llwpcb }, { esi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc7									  }, { llwpcb }, { edi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcf									  }, { slwpcb }, { edi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xce									  }, { slwpcb }, { esi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcd									  }, { slwpcb }, { ebp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcc									  }, { slwpcb }, { esp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcb									  }, { slwpcb }, { ebx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xca									  }, { slwpcb }, { edx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc9									  }, { slwpcb }, { ecx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc8									  }, { slwpcb }, { eax }
testcase { 0x8f, 0xea, 0x78, 0x12, 0xc7, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,edi,eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0xc6, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,esi,ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0xc5, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ebp,edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0xc4, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,esp,ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0xc3, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ebx,esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0xc2, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,edx,ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0xc1, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ecx,esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0xc0, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,eax,edi }
testcase { 0x8f, 0xea, 0x78, 0x12, 0xcf, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,edi,eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0xce, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,esi,ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0xcd, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ebp,edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0xcc, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,esp,ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0xcb, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ebx,esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0xca, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,edx,ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0xc9, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ecx,esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0xc8, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,eax,edi }
testcase { 0x8f, 0xea, 0x78, 0x12, 0x07, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[edi],eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0x06, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[esi],ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0x45, 0x00, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[ebp],edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0x04, 0x24, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[esp],ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0x03, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[ebx],esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0x02, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[edx],ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0x01, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[ecx],esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0x00, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,[eax],edi }
testcase { 0x8f, 0xea, 0x78, 0x12, 0x0f, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[edi],eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0x0e, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[esi],ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0x4d, 0x00, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[ebp],edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0x0c, 0x24, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[esp],ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0x0b, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[ebx],esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0x0a, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[edx],ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0x09, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[ecx],esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0x08, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,[eax],edi }
testcase { 0x8f, 0xea, 0x78, 0x12, 0x87, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+edi],eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0x86, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+esi],ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0x85, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+ebp],edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0x84, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+esp],ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0x83, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+ebx],esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0x82, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+edx],ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0x81, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+ecx],esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0x80, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpins }, { 0x12345678,[0xcafe+eax],edi }
testcase { 0x8f, 0xea, 0x78, 0x12, 0x8f, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+edi],eax }
testcase { 0x8f, 0xea, 0x70, 0x12, 0x8e, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+esi],ecx }
testcase { 0x8f, 0xea, 0x68, 0x12, 0x8d, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+ebp],edx }
testcase { 0x8f, 0xea, 0x60, 0x12, 0x8c, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+esp],ebx }
testcase { 0x8f, 0xea, 0x58, 0x12, 0x8b, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+ebx],esp }
testcase { 0x8f, 0xea, 0x50, 0x12, 0x8a, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+edx],ebp }
testcase { 0x8f, 0xea, 0x48, 0x12, 0x89, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+ecx],esi }
testcase { 0x8f, 0xea, 0x40, 0x12, 0x88, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12			  }, { lwpval }, { 0x12345678,[0xcafe+eax],edi }

bits 64

testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc0									  }, { llwpcb }, { eax }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc1									  }, { llwpcb }, { ecx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc2									  }, { llwpcb }, { edx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc3									  }, { llwpcb }, { ebx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc4									  }, { llwpcb }, { esp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc5									  }, { llwpcb }, { ebp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc6									  }, { llwpcb }, { esi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc7									  }, { llwpcb }, { edi }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc0									  }, { llwpcb }, { r8d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc1									  }, { llwpcb }, { r9d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc2									  }, { llwpcb }, { r10d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc3									  }, { llwpcb }, { r11d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc4									  }, { llwpcb }, { r12d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc5									  }, { llwpcb }, { r13d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc6									  }, { llwpcb }, { r14d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc7									  }, { llwpcb }, { r15d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xcf									  }, { slwpcb }, { r15d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xce									  }, { slwpcb }, { r14d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xcd									  }, { slwpcb }, { r13d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xcc									  }, { slwpcb }, { r12d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xcb									  }, { slwpcb }, { r11d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xca									  }, { slwpcb }, { r10d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc9									  }, { slwpcb }, { r9d }
testcase { 0x8f, 0xc9, 0x78, 0x12, 0xc8									  }, { slwpcb }, { r8d }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcf									  }, { slwpcb }, { edi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xce									  }, { slwpcb }, { esi }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcd									  }, { slwpcb }, { ebp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcc									  }, { slwpcb }, { esp }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xcb									  }, { slwpcb }, { ebx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xca									  }, { slwpcb }, { edx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc9									  }, { slwpcb }, { ecx }
testcase { 0x8f, 0xe9, 0x78, 0x12, 0xc8									  }, { slwpcb }, { eax }
testcase { 0x8f, 0xca, 0x78, 0x12, 0xc7, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r15d,eax }
testcase { 0x8f, 0xca, 0x70, 0x12, 0xc6, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r14d,ecx }
testcase { 0x8f, 0xca, 0x68, 0x12, 0xc5, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r13d,edx }
testcase { 0x8f, 0xca, 0x60, 0x12, 0xc4, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r12d,ebx }
testcase { 0x8f, 0xca, 0x58, 0x12, 0xc3, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r11d,esp }
testcase { 0x8f, 0xca, 0x50, 0x12, 0xc2, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r10d,ebp }
testcase { 0x8f, 0xca, 0x48, 0x12, 0xc1, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r9d,esi }
testcase { 0x8f, 0xca, 0x40, 0x12, 0xc0, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,r8d,edi }
testcase { 0x8f, 0xea, 0x38, 0x12, 0xc7, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,edi,r8d }
testcase { 0x8f, 0xea, 0x30, 0x12, 0xc6, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,esi,r9d }
testcase { 0x8f, 0xea, 0x28, 0x12, 0xc5, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ebp,r10d }
testcase { 0x8f, 0xea, 0x20, 0x12, 0xc4, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,esp,r11d }
testcase { 0x8f, 0xea, 0x18, 0x12, 0xc3, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ebx,r12d }
testcase { 0x8f, 0xea, 0x10, 0x12, 0xc2, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,edx,r13d }
testcase { 0x8f, 0xea, 0x08, 0x12, 0xc1, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,ecx,r14d }
testcase { 0x8f, 0xea, 0x00, 0x12, 0xc0, 0x78, 0x56, 0x34, 0x12						  }, { lwpins }, { 0x12345678,eax,r15d }
testcase { 0x8f, 0xca, 0x78, 0x12, 0xcf, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r15d,eax }
testcase { 0x8f, 0xca, 0x70, 0x12, 0xce, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r14d,ecx }
testcase { 0x8f, 0xca, 0x68, 0x12, 0xcd, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r13d,edx }
testcase { 0x8f, 0xca, 0x60, 0x12, 0xcc, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r12d,ebx }
testcase { 0x8f, 0xca, 0x58, 0x12, 0xcb, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r11d,esp }
testcase { 0x8f, 0xca, 0x50, 0x12, 0xca, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r10d,ebp }
testcase { 0x8f, 0xca, 0x48, 0x12, 0xc9, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r9d,esi }
testcase { 0x8f, 0xca, 0x40, 0x12, 0xc8, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,r8d,edi }
testcase { 0x8f, 0xea, 0x38, 0x12, 0xcf, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,edi,r8d }
testcase { 0x8f, 0xea, 0x30, 0x12, 0xce, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,esi,r9d }
testcase { 0x8f, 0xea, 0x28, 0x12, 0xcd, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ebp,r10d }
testcase { 0x8f, 0xea, 0x20, 0x12, 0xcc, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,esp,r11d }
testcase { 0x8f, 0xea, 0x18, 0x12, 0xcb, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ebx,r12d }
testcase { 0x8f, 0xea, 0x10, 0x12, 0xca, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,edx,r13d }
testcase { 0x8f, 0xea, 0x08, 0x12, 0xc9, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,ecx,r14d }
testcase { 0x8f, 0xea, 0x00, 0x12, 0xc8, 0x78, 0x56, 0x34, 0x12						  }, { lwpval }, { 0x12345678,eax,r15d }
testcase { 0x67, 0x8f, 0xca, 0x78, 0x12, 0x07, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r15d],eax }
testcase { 0x67, 0x8f, 0xca, 0x70, 0x12, 0x06, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r14d],ecx }
testcase { 0x67, 0x8f, 0xca, 0x68, 0x12, 0x45, 0x00, 0x78, 0x56, 0x34, 0x12				  }, { lwpins }, { 0x12345678,[r13d],edx }
testcase { 0x67, 0x8f, 0xca, 0x60, 0x12, 0x04, 0x24, 0x78, 0x56, 0x34, 0x12				  }, { lwpins }, { 0x12345678,[r12d],ebx }
testcase { 0x67, 0x8f, 0xca, 0x58, 0x12, 0x03, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r11d],esp }
testcase { 0x67, 0x8f, 0xca, 0x50, 0x12, 0x02, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r10d],ebp }
testcase { 0x67, 0x8f, 0xca, 0x48, 0x12, 0x01, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r9d],esi }
testcase { 0x67, 0x8f, 0xca, 0x40, 0x12, 0x00, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[r8d],edi }
testcase { 0x67, 0x8f, 0xea, 0x38, 0x12, 0x07, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[edi],r8d }
testcase { 0x67, 0x8f, 0xea, 0x30, 0x12, 0x06, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[esi],r9d }
testcase { 0x67, 0x8f, 0xea, 0x28, 0x12, 0x45, 0x00, 0x78, 0x56, 0x34, 0x12				  }, { lwpins }, { 0x12345678,[ebp],r10d }
testcase { 0x67, 0x8f, 0xea, 0x20, 0x12, 0x04, 0x24, 0x78, 0x56, 0x34, 0x12				  }, { lwpins }, { 0x12345678,[esp],r11d }
testcase { 0x67, 0x8f, 0xea, 0x18, 0x12, 0x03, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[ebx],r12d }
testcase { 0x67, 0x8f, 0xea, 0x10, 0x12, 0x02, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[edx],r13d }
testcase { 0x67, 0x8f, 0xea, 0x08, 0x12, 0x01, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[ecx],r14d }
testcase { 0x67, 0x8f, 0xea, 0x00, 0x12, 0x00, 0x78, 0x56, 0x34, 0x12					  }, { lwpins }, { 0x12345678,[eax],r15d }
testcase { 0x67, 0x8f, 0xca, 0x78, 0x12, 0x0f, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r15d],eax }
testcase { 0x67, 0x8f, 0xca, 0x70, 0x12, 0x0e, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r14d],ecx }
testcase { 0x67, 0x8f, 0xca, 0x68, 0x12, 0x4d, 0x00, 0x78, 0x56, 0x34, 0x12				  }, { lwpval }, { 0x12345678,[r13d],edx }
testcase { 0x67, 0x8f, 0xca, 0x60, 0x12, 0x0c, 0x24, 0x78, 0x56, 0x34, 0x12				  }, { lwpval }, { 0x12345678,[r12d],ebx }
testcase { 0x67, 0x8f, 0xca, 0x58, 0x12, 0x0b, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r11d],esp }
testcase { 0x67, 0x8f, 0xca, 0x50, 0x12, 0x0a, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r10d],ebp }
testcase { 0x67, 0x8f, 0xca, 0x48, 0x12, 0x09, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r9d],esi }
testcase { 0x67, 0x8f, 0xca, 0x40, 0x12, 0x08, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[r8d],edi }
testcase { 0x67, 0x8f, 0xea, 0x38, 0x12, 0x0f, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[edi],r8d }
testcase { 0x67, 0x8f, 0xea, 0x30, 0x12, 0x0e, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[esi],r9d }
testcase { 0x67, 0x8f, 0xea, 0x28, 0x12, 0x4d, 0x00, 0x78, 0x56, 0x34, 0x12				  }, { lwpval }, { 0x12345678,[ebp],r10d }
testcase { 0x67, 0x8f, 0xea, 0x20, 0x12, 0x0c, 0x24, 0x78, 0x56, 0x34, 0x12				  }, { lwpval }, { 0x12345678,[esp],r11d }
testcase { 0x67, 0x8f, 0xea, 0x18, 0x12, 0x0b, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[ebx],r12d }
testcase { 0x67, 0x8f, 0xea, 0x10, 0x12, 0x0a, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[edx],r13d }
testcase { 0x67, 0x8f, 0xea, 0x08, 0x12, 0x09, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[ecx],r14d }
testcase { 0x67, 0x8f, 0xea, 0x00, 0x12, 0x08, 0x78, 0x56, 0x34, 0x12					  }, { lwpval }, { 0x12345678,[eax],r15d }
testcase { 0x67, 0x8f, 0xca, 0x78, 0x12, 0x87, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r15d],eax }
testcase { 0x67, 0x8f, 0xca, 0x70, 0x12, 0x86, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r14d],ecx }
testcase { 0x67, 0x8f, 0xca, 0x68, 0x12, 0x85, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r13d],edx }
testcase { 0x67, 0x8f, 0xca, 0x60, 0x12, 0x84, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12	  }, { lwpins }, { 0x12345678,[0xcafe+r12d],ebx }
testcase { 0x67, 0x8f, 0xca, 0x58, 0x12, 0x83, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r11d],esp }
testcase { 0x67, 0x8f, 0xca, 0x50, 0x12, 0x82, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r10d],ebp }
testcase { 0x67, 0x8f, 0xca, 0x48, 0x12, 0x81, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r9d],esi }
testcase { 0x67, 0x8f, 0xca, 0x40, 0x12, 0x80, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+r8d],edi }
testcase { 0x67, 0x8f, 0xea, 0x38, 0x12, 0x87, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+edi],r8d }
testcase { 0x67, 0x8f, 0xea, 0x30, 0x12, 0x86, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+esi],r9d }
testcase { 0x67, 0x8f, 0xea, 0x28, 0x12, 0x85, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+ebp],r10d }
testcase { 0x67, 0x8f, 0xea, 0x20, 0x12, 0x84, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12	  }, { lwpins }, { 0x12345678,[0xcafe+esp],r11d }
testcase { 0x67, 0x8f, 0xea, 0x18, 0x12, 0x83, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+ebx],r12d }
testcase { 0x67, 0x8f, 0xea, 0x10, 0x12, 0x82, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+edx],r13d }
testcase { 0x67, 0x8f, 0xea, 0x08, 0x12, 0x81, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+ecx],r14d }
testcase { 0x67, 0x8f, 0xea, 0x00, 0x12, 0x80, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpins }, { 0x12345678,[0xcafe+eax],r15d }
testcase { 0x67, 0x8f, 0xca, 0x78, 0x12, 0x8f, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r15d],eax }
testcase { 0x67, 0x8f, 0xca, 0x70, 0x12, 0x8e, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r14d],ecx }
testcase { 0x67, 0x8f, 0xca, 0x68, 0x12, 0x8d, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r13d],edx }
testcase { 0x67, 0x8f, 0xca, 0x60, 0x12, 0x8c, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12	  }, { lwpval }, { 0x12345678,[0xcafe+r12d],ebx }
testcase { 0x67, 0x8f, 0xca, 0x58, 0x12, 0x8b, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r11d],esp }
testcase { 0x67, 0x8f, 0xca, 0x50, 0x12, 0x8a, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r10d],ebp }
testcase { 0x67, 0x8f, 0xca, 0x48, 0x12, 0x89, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r9d],esi }
testcase { 0x67, 0x8f, 0xca, 0x40, 0x12, 0x88, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+r8d],edi }
testcase { 0x67, 0x8f, 0xea, 0x38, 0x12, 0x8f, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+edi],r8d }
testcase { 0x67, 0x8f, 0xea, 0x30, 0x12, 0x8e, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+esi],r9d }
testcase { 0x67, 0x8f, 0xea, 0x28, 0x12, 0x8d, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+ebp],r10d }
testcase { 0x67, 0x8f, 0xea, 0x20, 0x12, 0x8c, 0x24, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12	  }, { lwpval }, { 0x12345678,[0xcafe+esp],r11d }
testcase { 0x67, 0x8f, 0xea, 0x18, 0x12, 0x8b, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+ebx],r12d }
testcase { 0x67, 0x8f, 0xea, 0x10, 0x12, 0x8a, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+edx],r13d }
testcase { 0x67, 0x8f, 0xea, 0x08, 0x12, 0x89, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+ecx],r14d }
testcase { 0x67, 0x8f, 0xea, 0x00, 0x12, 0x88, 0xfe, 0xca, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12		  }, { lwpval }, { 0x12345678,[0xcafe+eax],r15d }

; EOF