@@ -93,6 +93,8 @@ Inductive OpCode :=
93
93
| clc
94
94
| cmovb
95
95
| cmovc
96
+ | cmove (* Conditional move if equal *)
97
+ | cmovne (* Conditional move if not equal *)
96
98
| cmovnz
97
99
| cmovo
98
100
| cmp
@@ -106,21 +108,51 @@ Inductive OpCode :=
106
108
| je
107
109
| jmp
108
110
| lea
111
+ | leave (* Function epilogue instruction *)
109
112
| mov
113
+ | movabs (* Move absolute value into register *)
114
+ | movdqa (* Move aligned packed data *)
115
+ | movdqu (* Move unaligned packed data *)
116
+ | movq (* Move quadword *)
117
+ | movd (* Move doubleword *)
118
+ | movsx (* Move with sign extension *)
119
+ | movups (* Move unaligned packed single-precision floating-point values *)
110
120
| movzx
111
121
| mul
112
122
| mulx
123
+ | neg (* Two's complement negation *)
124
+ | nop (* No operation *)
125
+ | not (* Bitwise NOT *)
113
126
| or
127
+ | paddq (* Add packed quadword integers *)
114
128
| pop
129
+ | psubq (* Subtract packed quadword integers *)
130
+ | pshufd (* Shuffle packed doublewords *)
131
+ | pshufw (* Shuffle packed words *)
132
+ | punpcklqdq (* Unpack and interleave low quadwords *)
133
+ | punpckhqdq (* Unpack and interleave high quadwords *)
134
+ | pslld (* Shift packed single-precision floating-point values left *)
135
+ | psrld (* Shift packed single-precision floating-point values right *)
136
+ | pand (* Bitwise AND *)
137
+ | pandn (* Bitwise AND NOT *)
138
+ | por (* Bitwise OR *)
139
+ | pxor (* Bitwise XOR *)
140
+ | psrad (* Shift packed signed integers right arithmetic *)
115
141
| push
116
142
| rcr
117
143
| ret
144
+ | rol (* Rotate left *)
145
+ | ror (* Rotate right *)
146
+ | sal (* Shift arithmetic left (functionally equivalent to shl) *)
118
147
| sar
119
148
| sbb
120
149
| setc
150
+ | sete (* Set byte if equal *)
151
+ | setne (* Set byte if not equal *)
121
152
| seto
122
153
| shl
123
154
| shlx
155
+ | shld
124
156
| shr
125
157
| shrx
126
158
| shrd
@@ -154,6 +186,8 @@ Definition accesssize_of_declaration (opc : OpCode) : option AccessSize :=
154
186
| clc
155
187
| cmovb
156
188
| cmovc
189
+ | cmove
190
+ | cmovne
157
191
| cmovnz
158
192
| cmovo
159
193
| cmp
@@ -163,21 +197,51 @@ Definition accesssize_of_declaration (opc : OpCode) : option AccessSize :=
163
197
| je
164
198
| jmp
165
199
| lea
200
+ | leave
166
201
| mov
202
+ | movabs
203
+ | movdqa
204
+ | movdqu
205
+ | movq
206
+ | movd
207
+ | movsx
208
+ | movups
167
209
| movzx
168
210
| mul
169
211
| mulx
212
+ | neg
213
+ | nop
214
+ | not
170
215
| or
216
+ | paddq
171
217
| pop
218
+ | psubq
219
+ | pshufd
220
+ | pshufw
221
+ | punpcklqdq
222
+ | punpckhqdq
223
+ | pslld
224
+ | psrld
225
+ | pand
226
+ | pandn
227
+ | por
228
+ | pxor
229
+ | psrad
172
230
| push
173
231
| rcr
174
232
| ret
233
+ | rol
234
+ | ror
235
+ | sal
175
236
| sar
176
237
| sbb
177
238
| setc
239
+ | sete
240
+ | setne
178
241
| seto
179
242
| shl
180
243
| shlx
244
+ | shld
181
245
| shr
182
246
| shrx
183
247
| shrd
0 commit comments