1 | #line 1 "ad_x86_clone.cpp" |
2 | // |
3 | // Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. |
4 | // DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
5 | // |
6 | // This code is free software; you can redistribute it and/or modify it |
7 | // under the terms of the GNU General Public License version 2 only, as |
8 | // published by the Free Software Foundation. |
9 | // |
10 | // This code is distributed in the hope that it will be useful, but WITHOUT |
11 | // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
12 | // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
13 | // version 2 for more details (a copy is included in the LICENSE file that |
14 | // accompanied this code). |
15 | // |
16 | // You should have received a copy of the GNU General Public License version |
17 | // 2 along with this work; if not, write to the Free Software Foundation, |
18 | // Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | // |
20 | // Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
21 | // or visit www.oracle.com if you need additional information or have any |
22 | // questions. |
23 | // |
24 | // |
25 | |
26 | // Machine Generated File. Do Not Edit! |
27 | |
28 | #include "precompiled.hpp" |
29 | #include "adfiles/ad_x86.hpp" |
30 | MachOper *UniverseOper::clone() const { |
31 | return new UniverseOper(); |
32 | } |
33 | MachOper *sRegIOper::clone() const { |
34 | return new sRegIOper(); |
35 | } |
36 | MachOper *sRegPOper::clone() const { |
37 | return new sRegPOper(); |
38 | } |
39 | MachOper *sRegFOper::clone() const { |
40 | return new sRegFOper(); |
41 | } |
42 | MachOper *sRegDOper::clone() const { |
43 | return new sRegDOper(); |
44 | } |
45 | MachOper *sRegLOper::clone() const { |
46 | return new sRegLOper(); |
47 | } |
48 | MachOper *immIOper::clone() const { |
49 | return new immIOper(_c0); |
50 | } |
51 | MachOper *immI0Oper::clone() const { |
52 | return new immI0Oper(_c0); |
53 | } |
54 | MachOper *immI1Oper::clone() const { |
55 | return new immI1Oper(_c0); |
56 | } |
57 | MachOper *immI_M1Oper::clone() const { |
58 | return new immI_M1Oper(_c0); |
59 | } |
60 | MachOper *immI2Oper::clone() const { |
61 | return new immI2Oper(_c0); |
62 | } |
63 | MachOper *immI8Oper::clone() const { |
64 | return new immI8Oper(_c0); |
65 | } |
66 | MachOper *immU8Oper::clone() const { |
67 | return new immU8Oper(_c0); |
68 | } |
69 | MachOper *immI16Oper::clone() const { |
70 | return new immI16Oper(_c0); |
71 | } |
72 | MachOper *immU31Oper::clone() const { |
73 | return new immU31Oper(_c0); |
74 | } |
75 | MachOper *immI_32Oper::clone() const { |
76 | return new immI_32Oper(_c0); |
77 | } |
78 | MachOper *immI_64Oper::clone() const { |
79 | return new immI_64Oper(_c0); |
80 | } |
81 | MachOper *immPOper::clone() const { |
82 | return new immPOper(_c0); |
83 | } |
84 | MachOper *immP0Oper::clone() const { |
85 | return new immP0Oper(_c0); |
86 | } |
87 | MachOper *immNOper::clone() const { |
88 | return new immNOper(_c0); |
89 | } |
90 | MachOper *immNKlassOper::clone() const { |
91 | return new immNKlassOper(_c0); |
92 | } |
93 | MachOper *immN0Oper::clone() const { |
94 | return new immN0Oper(_c0); |
95 | } |
96 | MachOper *immP31Oper::clone() const { |
97 | return new immP31Oper(_c0); |
98 | } |
99 | MachOper *immLOper::clone() const { |
100 | return new immLOper(_c0); |
101 | } |
102 | MachOper *immL8Oper::clone() const { |
103 | return new immL8Oper(_c0); |
104 | } |
105 | MachOper *immUL32Oper::clone() const { |
106 | return new immUL32Oper(_c0); |
107 | } |
108 | MachOper *immL32Oper::clone() const { |
109 | return new immL32Oper(_c0); |
110 | } |
111 | MachOper *immL0Oper::clone() const { |
112 | return new immL0Oper(_c0); |
113 | } |
114 | MachOper *immL1Oper::clone() const { |
115 | return new immL1Oper(_c0); |
116 | } |
117 | MachOper *immL_M1Oper::clone() const { |
118 | return new immL_M1Oper(_c0); |
119 | } |
120 | MachOper *immL10Oper::clone() const { |
121 | return new immL10Oper(_c0); |
122 | } |
123 | MachOper *immL_127Oper::clone() const { |
124 | return new immL_127Oper(_c0); |
125 | } |
126 | MachOper *immL_32bitsOper::clone() const { |
127 | return new immL_32bitsOper(_c0); |
128 | } |
129 | MachOper *immF0Oper::clone() const { |
130 | return new immF0Oper(_c0); |
131 | } |
132 | MachOper *immFOper::clone() const { |
133 | return new immFOper(_c0); |
134 | } |
135 | MachOper *immD0Oper::clone() const { |
136 | return new immD0Oper(_c0); |
137 | } |
138 | MachOper *immDOper::clone() const { |
139 | return new immDOper(_c0); |
140 | } |
141 | MachOper *immI_16Oper::clone() const { |
142 | return new immI_16Oper(_c0); |
143 | } |
144 | MachOper *immI_24Oper::clone() const { |
145 | return new immI_24Oper(_c0); |
146 | } |
147 | MachOper *immI_255Oper::clone() const { |
148 | return new immI_255Oper(_c0); |
149 | } |
150 | MachOper *immI_65535Oper::clone() const { |
151 | return new immI_65535Oper(_c0); |
152 | } |
153 | MachOper *immL_255Oper::clone() const { |
154 | return new immL_255Oper(_c0); |
155 | } |
156 | MachOper *immL_65535Oper::clone() const { |
157 | return new immL_65535Oper(_c0); |
158 | } |
159 | MachOper *rRegIOper::clone() const { |
160 | return new rRegIOper(); |
161 | } |
162 | MachOper *rax_RegIOper::clone() const { |
163 | return new rax_RegIOper(); |
164 | } |
165 | MachOper *rbx_RegIOper::clone() const { |
166 | return new rbx_RegIOper(); |
167 | } |
168 | MachOper *rcx_RegIOper::clone() const { |
169 | return new rcx_RegIOper(); |
170 | } |
171 | MachOper *rdx_RegIOper::clone() const { |
172 | return new rdx_RegIOper(); |
173 | } |
174 | MachOper *rdi_RegIOper::clone() const { |
175 | return new rdi_RegIOper(); |
176 | } |
177 | MachOper *no_rcx_RegIOper::clone() const { |
178 | return new no_rcx_RegIOper(); |
179 | } |
180 | MachOper *no_rax_rdx_RegIOper::clone() const { |
181 | return new no_rax_rdx_RegIOper(); |
182 | } |
183 | MachOper *any_RegPOper::clone() const { |
184 | return new any_RegPOper(); |
185 | } |
186 | MachOper *rRegPOper::clone() const { |
187 | return new rRegPOper(); |
188 | } |
189 | MachOper *rRegNOper::clone() const { |
190 | return new rRegNOper(); |
191 | } |
192 | MachOper *no_rax_RegPOper::clone() const { |
193 | return new no_rax_RegPOper(); |
194 | } |
195 | MachOper *no_rbp_RegPOper::clone() const { |
196 | return new no_rbp_RegPOper(); |
197 | } |
198 | MachOper *no_rax_rbx_RegPOper::clone() const { |
199 | return new no_rax_rbx_RegPOper(); |
200 | } |
201 | MachOper *rax_RegPOper::clone() const { |
202 | return new rax_RegPOper(); |
203 | } |
204 | MachOper *rax_RegNOper::clone() const { |
205 | return new rax_RegNOper(); |
206 | } |
207 | MachOper *rbx_RegPOper::clone() const { |
208 | return new rbx_RegPOper(); |
209 | } |
210 | MachOper *rsi_RegPOper::clone() const { |
211 | return new rsi_RegPOper(); |
212 | } |
213 | MachOper *rdi_RegPOper::clone() const { |
214 | return new rdi_RegPOper(); |
215 | } |
216 | MachOper *r15_RegPOper::clone() const { |
217 | return new r15_RegPOper(); |
218 | } |
219 | MachOper *rRegLOper::clone() const { |
220 | return new rRegLOper(); |
221 | } |
222 | MachOper *no_rax_rdx_RegLOper::clone() const { |
223 | return new no_rax_rdx_RegLOper(); |
224 | } |
225 | MachOper *no_rax_RegLOper::clone() const { |
226 | return new no_rax_RegLOper(); |
227 | } |
228 | MachOper *no_rcx_RegLOper::clone() const { |
229 | return new no_rcx_RegLOper(); |
230 | } |
231 | MachOper *rax_RegLOper::clone() const { |
232 | return new rax_RegLOper(); |
233 | } |
234 | MachOper *rcx_RegLOper::clone() const { |
235 | return new rcx_RegLOper(); |
236 | } |
237 | MachOper *rdx_RegLOper::clone() const { |
238 | return new rdx_RegLOper(); |
239 | } |
240 | MachOper *rFlagsRegOper::clone() const { |
241 | return new rFlagsRegOper(); |
242 | } |
243 | MachOper *rFlagsRegUOper::clone() const { |
244 | return new rFlagsRegUOper(); |
245 | } |
246 | MachOper *rFlagsRegUCFOper::clone() const { |
247 | return new rFlagsRegUCFOper(); |
248 | } |
249 | MachOper *regFOper::clone() const { |
250 | return new regFOper(); |
251 | } |
252 | MachOper *legRegFOper::clone() const { |
253 | return new legRegFOper(); |
254 | } |
255 | MachOper *vlRegFOper::clone() const { |
256 | return new vlRegFOper(); |
257 | } |
258 | MachOper *regDOper::clone() const { |
259 | return new regDOper(); |
260 | } |
261 | MachOper *legRegDOper::clone() const { |
262 | return new legRegDOper(); |
263 | } |
264 | MachOper *vlRegDOper::clone() const { |
265 | return new vlRegDOper(); |
266 | } |
267 | MachOper *vecSOper::clone() const { |
268 | return new vecSOper(); |
269 | } |
270 | MachOper *legVecSOper::clone() const { |
271 | return new legVecSOper(); |
272 | } |
273 | MachOper *vecDOper::clone() const { |
274 | return new vecDOper(); |
275 | } |
276 | MachOper *legVecDOper::clone() const { |
277 | return new legVecDOper(); |
278 | } |
279 | MachOper *vecXOper::clone() const { |
280 | return new vecXOper(); |
281 | } |
282 | MachOper *legVecXOper::clone() const { |
283 | return new legVecXOper(); |
284 | } |
285 | MachOper *vecYOper::clone() const { |
286 | return new vecYOper(); |
287 | } |
288 | MachOper *legVecYOper::clone() const { |
289 | return new legVecYOper(); |
290 | } |
291 | MachOper *indirectOper::clone() const { |
292 | return new indirectOper(); |
293 | } |
294 | MachOper *indOffset8Oper::clone() const { |
295 | return new indOffset8Oper(_c0); |
296 | } |
297 | MachOper *indOffset32Oper::clone() const { |
298 | return new indOffset32Oper(_c0); |
299 | } |
300 | MachOper *indIndexOffsetOper::clone() const { |
301 | return new indIndexOffsetOper(_c0); |
302 | } |
303 | MachOper *indIndexOper::clone() const { |
304 | return new indIndexOper(); |
305 | } |
306 | MachOper *indIndexScaleOper::clone() const { |
307 | return new indIndexScaleOper(_c0); |
308 | } |
309 | MachOper *indPosIndexScaleOper::clone() const { |
310 | return new indPosIndexScaleOper(_c0); |
311 | } |
312 | MachOper *indIndexScaleOffsetOper::clone() const { |
313 | return new indIndexScaleOffsetOper(_c0, _c1); |
314 | } |
315 | MachOper *indPosIndexOffsetOper::clone() const { |
316 | return new indPosIndexOffsetOper(_c0); |
317 | } |
318 | MachOper *indPosIndexScaleOffsetOper::clone() const { |
319 | return new indPosIndexScaleOffsetOper(_c0, _c1); |
320 | } |
321 | MachOper *indCompressedOopOffsetOper::clone() const { |
322 | return new indCompressedOopOffsetOper(_c0); |
323 | } |
324 | MachOper *indirectNarrowOper::clone() const { |
325 | return new indirectNarrowOper(); |
326 | } |
327 | MachOper *indOffset8NarrowOper::clone() const { |
328 | return new indOffset8NarrowOper(_c0); |
329 | } |
330 | MachOper *indOffset32NarrowOper::clone() const { |
331 | return new indOffset32NarrowOper(_c0); |
332 | } |
333 | MachOper *indIndexOffsetNarrowOper::clone() const { |
334 | return new indIndexOffsetNarrowOper(_c0); |
335 | } |
336 | MachOper *indIndexNarrowOper::clone() const { |
337 | return new indIndexNarrowOper(); |
338 | } |
339 | MachOper *indIndexScaleNarrowOper::clone() const { |
340 | return new indIndexScaleNarrowOper(_c0); |
341 | } |
342 | MachOper *indIndexScaleOffsetNarrowOper::clone() const { |
343 | return new indIndexScaleOffsetNarrowOper(_c0, _c1); |
344 | } |
345 | MachOper *indPosIndexOffsetNarrowOper::clone() const { |
346 | return new indPosIndexOffsetNarrowOper(_c0); |
347 | } |
348 | MachOper *indPosIndexScaleOffsetNarrowOper::clone() const { |
349 | return new indPosIndexScaleOffsetNarrowOper(_c0, _c1); |
350 | } |
351 | MachOper *stackSlotPOper::clone() const { |
352 | return new stackSlotPOper(); |
353 | } |
354 | MachOper *stackSlotIOper::clone() const { |
355 | return new stackSlotIOper(); |
356 | } |
357 | MachOper *stackSlotFOper::clone() const { |
358 | return new stackSlotFOper(); |
359 | } |
360 | MachOper *stackSlotDOper::clone() const { |
361 | return new stackSlotDOper(); |
362 | } |
363 | MachOper *stackSlotLOper::clone() const { |
364 | return new stackSlotLOper(); |
365 | } |
366 | MachOper *cmpOpOper::clone() const { |
367 | return new cmpOpOper(_c0); |
368 | } |
369 | MachOper *cmpOpUOper::clone() const { |
370 | return new cmpOpUOper(_c0); |
371 | } |
372 | MachOper *cmpOpUCFOper::clone() const { |
373 | return new cmpOpUCFOper(_c0); |
374 | } |
375 | MachOper *cmpOpUCF2Oper::clone() const { |
376 | return new cmpOpUCF2Oper(_c0); |
377 | } |
378 | MachOper *rxmm0Oper::clone() const { |
379 | return new rxmm0Oper(); |
380 | } |
381 | MachOper *rxmm1Oper::clone() const { |
382 | return new rxmm1Oper(); |
383 | } |
384 | MachOper *rxmm2Oper::clone() const { |
385 | return new rxmm2Oper(); |
386 | } |
387 | MachOper *rxmm3Oper::clone() const { |
388 | return new rxmm3Oper(); |
389 | } |
390 | MachOper *rxmm4Oper::clone() const { |
391 | return new rxmm4Oper(); |
392 | } |
393 | MachOper *rxmm5Oper::clone() const { |
394 | return new rxmm5Oper(); |
395 | } |
396 | MachOper *rxmm6Oper::clone() const { |
397 | return new rxmm6Oper(); |
398 | } |
399 | MachOper *rxmm7Oper::clone() const { |
400 | return new rxmm7Oper(); |
401 | } |
402 | MachOper *rxmm8Oper::clone() const { |
403 | return new rxmm8Oper(); |
404 | } |
405 | MachOper *rxmm9Oper::clone() const { |
406 | return new rxmm9Oper(); |
407 | } |
408 | MachOper *rxmm10Oper::clone() const { |
409 | return new rxmm10Oper(); |
410 | } |
411 | MachOper *rxmm11Oper::clone() const { |
412 | return new rxmm11Oper(); |
413 | } |
414 | MachOper *rxmm12Oper::clone() const { |
415 | return new rxmm12Oper(); |
416 | } |
417 | MachOper *rxmm13Oper::clone() const { |
418 | return new rxmm13Oper(); |
419 | } |
420 | MachOper *rxmm14Oper::clone() const { |
421 | return new rxmm14Oper(); |
422 | } |
423 | MachOper *rxmm15Oper::clone() const { |
424 | return new rxmm15Oper(); |
425 | } |
426 | MachOper *rxmm16Oper::clone() const { |
427 | return new rxmm16Oper(); |
428 | } |
429 | MachOper *rxmm17Oper::clone() const { |
430 | return new rxmm17Oper(); |
431 | } |
432 | MachOper *rxmm18Oper::clone() const { |
433 | return new rxmm18Oper(); |
434 | } |
435 | MachOper *rxmm19Oper::clone() const { |
436 | return new rxmm19Oper(); |
437 | } |
438 | MachOper *rxmm20Oper::clone() const { |
439 | return new rxmm20Oper(); |
440 | } |
441 | MachOper *rxmm21Oper::clone() const { |
442 | return new rxmm21Oper(); |
443 | } |
444 | MachOper *rxmm22Oper::clone() const { |
445 | return new rxmm22Oper(); |
446 | } |
447 | MachOper *rxmm23Oper::clone() const { |
448 | return new rxmm23Oper(); |
449 | } |
450 | MachOper *rxmm24Oper::clone() const { |
451 | return new rxmm24Oper(); |
452 | } |
453 | MachOper *rxmm25Oper::clone() const { |
454 | return new rxmm25Oper(); |
455 | } |
456 | MachOper *rxmm26Oper::clone() const { |
457 | return new rxmm26Oper(); |
458 | } |
459 | MachOper *rxmm27Oper::clone() const { |
460 | return new rxmm27Oper(); |
461 | } |
462 | MachOper *rxmm28Oper::clone() const { |
463 | return new rxmm28Oper(); |
464 | } |
465 | MachOper *rxmm29Oper::clone() const { |
466 | return new rxmm29Oper(); |
467 | } |
468 | MachOper *rxmm30Oper::clone() const { |
469 | return new rxmm30Oper(); |
470 | } |
471 | MachOper *rxmm31Oper::clone() const { |
472 | return new rxmm31Oper(); |
473 | } |
474 | MachOper *vecZOper::clone() const { |
475 | return new vecZOper(); |
476 | } |
477 | MachOper *legVecZOper::clone() const { |
478 | return new legVecZOper(); |
479 | } |
480 | MachOper *cmpOp_vcmppdOper::clone() const { |
481 | return new cmpOp_vcmppdOper(_c0); |
482 | } |
483 | // Check consistency of C++ compilation with ADLC options: |
484 | // Check adlc -DLINUX=1 |
485 | #ifndef LINUX |
486 | # error "LINUX must be defined" |
487 | #endif // LINUX |
488 | // Check adlc -D_GNU_SOURCE=1 |
489 | #ifndef _GNU_SOURCE |
490 | # error "_GNU_SOURCE must be defined" |
491 | #endif // _GNU_SOURCE |
492 | // Check adlc -DAMD64=1 |
493 | #ifndef AMD64 |
494 | # error "AMD64 must be defined" |
495 | #endif // AMD64 |
496 | // Check adlc -D_LP64=1 |
497 | #ifndef _LP64 |
498 | # error "_LP64 must be defined" |
499 | #endif // _LP64 |
500 | |