Lines Matching refs:outs

17 def RDTSC : I<0x31, RawFrm, (outs), (ins), "rdtsc", []>, TB;
20 def RDTSCP : I<0x01, MRM_F9, (outs), (ins), "rdtscp", []>, TB;
25 def TRAP : I<0x0B, RawFrm, (outs), (ins), "ud2", [(trap)]>, TB;
27 def UD1Wm : I<0xB9, MRMSrcMem, (outs), (ins GR16:$src1, i16mem:$src2),
29 def UD1Lm : I<0xB9, MRMSrcMem, (outs), (ins GR32:$src1, i32mem:$src2),
31 def UD1Qm : RI<0xB9, MRMSrcMem, (outs), (ins GR64:$src1, i64mem:$src2),
34 def UD1Wr : I<0xB9, MRMSrcReg, (outs), (ins GR16:$src1, GR16:$src2),
36 def UD1Lr : I<0xB9, MRMSrcReg, (outs), (ins GR32:$src1, GR32:$src2),
38 def UD1Qr : RI<0xB9, MRMSrcReg, (outs), (ins GR64:$src1, GR64:$src2),
43 def HLT : I<0xF4, RawFrm, (outs), (ins), "hlt", []>;
44 def RSM : I<0xAA, RawFrm, (outs), (ins), "rsm", []>, TB;
48 def INTO : I<0xce, RawFrm, (outs), (ins), "into", []>, Requires<[Not64BitMode]>;
50 def INT3 : I<0xcc, RawFrm, (outs), (ins), "int3", [(int_x86_int (i8 3))]>;
52 def UBSAN_UD1 : PseudoI<(outs), (ins i32imm:$kind), [(ubsantrap (i32 timm:$kind))]>;
57 def INT : Ii8<0xcd, RawFrm, (outs), (ins u8imm:$trap), "int\t$trap",
61 def SYSCALL : I<0x05, RawFrm, (outs), (ins), "syscall", []>, TB;
62 def SYSRET : I<0x07, RawFrm, (outs), (ins), "sysret{l}", []>, TB;
63 def SYSRET64 :RI<0x07, RawFrm, (outs), (ins), "sysretq", []>, TB,
66 def SYSENTER : I<0x34, RawFrm, (outs), (ins), "sysenter", []>, TB;
68 def SYSEXIT : I<0x35, RawFrm, (outs), (ins), "sysexit{l}", []>, TB;
69 def SYSEXIT64 :RI<0x35, RawFrm, (outs), (ins), "sysexitq", []>, TB,
83 def IN8rr : I<0xEC, RawFrm, (outs), (ins), "in{b}\t{%dx, %al|al, dx}", []>;
85 def IN16rr : I<0xED, RawFrm, (outs), (ins), "in{w}\t{%dx, %ax|ax, dx}", []>,
88 def IN32rr : I<0xED, RawFrm, (outs), (ins), "in{l}\t{%dx, %eax|eax, dx}", []>,
92 def IN8ri : Ii8<0xE4, RawFrm, (outs), (ins u8imm:$port),
95 def IN16ri : Ii8<0xE5, RawFrm, (outs), (ins u8imm:$port),
98 def IN32ri : Ii8<0xE5, RawFrm, (outs), (ins u8imm:$port),
102 def OUT8rr : I<0xEE, RawFrm, (outs), (ins), "out{b}\t{%al, %dx|dx, al}", []>;
104 def OUT16rr : I<0xEF, RawFrm, (outs), (ins), "out{w}\t{%ax, %dx|dx, ax}", []>,
107 def OUT32rr : I<0xEF, RawFrm, (outs), (ins), "out{l}\t{%eax, %dx|dx, eax}", []>,
111 def OUT8ir : Ii8<0xE6, RawFrm, (outs), (ins u8imm:$port),
114 def OUT16ir : Ii8<0xE7, RawFrm, (outs), (ins u8imm:$port),
117 def OUT32ir : Ii8<0xE7, RawFrm, (outs), (ins u8imm:$port),
126 def MOV32rd : I<0x21, MRMDestReg, (outs GR32:$dst), (ins DEBUG_REG:$src),
129 def MOV64rd : I<0x21, MRMDestReg, (outs GR64:$dst), (ins DEBUG_REG:$src),
133 def MOV32dr : I<0x23, MRMSrcReg, (outs DEBUG_REG:$dst), (ins GR32:$src),
136 def MOV64dr : I<0x23, MRMSrcReg, (outs DEBUG_REG:$dst), (ins GR64:$src),
145 def MOV32rc : I<0x20, MRMDestReg, (outs GR32:$dst), (ins CONTROL_REG:$src),
148 def MOV64rc : I<0x20, MRMDestReg, (outs GR64:$dst), (ins CONTROL_REG:$src),
152 def MOV32cr : I<0x22, MRMSrcReg, (outs CONTROL_REG:$dst), (ins GR32:$src),
155 def MOV64cr : I<0x22, MRMSrcReg, (outs CONTROL_REG:$dst), (ins GR64:$src),
164 def CS_PREFIX : I<0x2E, PrefixByte, (outs), (ins), "cs", []>;
165 def SS_PREFIX : I<0x36, PrefixByte, (outs), (ins), "ss", []>;
166 def DS_PREFIX : I<0x3E, PrefixByte, (outs), (ins), "ds", []>;
167 def ES_PREFIX : I<0x26, PrefixByte, (outs), (ins), "es", []>;
168 def FS_PREFIX : I<0x64, PrefixByte, (outs), (ins), "fs", []>;
169 def GS_PREFIX : I<0x65, PrefixByte, (outs), (ins), "gs", []>;
177 def ADDR16_PREFIX : I<0x67, PrefixByte, (outs), (ins), "addr16", []>,
179 def ADDR32_PREFIX : I<0x67, PrefixByte, (outs), (ins), "addr32", []>,
188 def MOV16rs : I<0x8C, MRMDestReg, (outs GR16:$dst), (ins SEGMENT_REG:$src),
190 def MOV32rs : I<0x8C, MRMDestReg, (outs GR32:$dst), (ins SEGMENT_REG:$src),
192 def MOV64rs : RI<0x8C, MRMDestReg, (outs GR64:$dst), (ins SEGMENT_REG:$src),
195 def MOV16ms : I<0x8C, MRMDestMem, (outs), (ins i16mem:$dst, SEGMENT_REG:$src),
198 def MOV16sr : I<0x8E, MRMSrcReg, (outs SEGMENT_REG:$dst), (ins GR16:$src),
200 def MOV32sr : I<0x8E, MRMSrcReg, (outs SEGMENT_REG:$dst), (ins GR32:$src),
202 def MOV64sr : RI<0x8E, MRMSrcReg, (outs SEGMENT_REG:$dst), (ins GR64:$src),
205 def MOV16sm : I<0x8E, MRMSrcMem, (outs SEGMENT_REG:$dst), (ins i16mem:$src),
214 def SWAPGS : I<0x01, MRM_F8, (outs), (ins), "swapgs", []>, TB;
217 def LAR16rm : I<0x02, MRMSrcMem, (outs GR16:$dst), (ins i16mem:$src),
220 def LAR16rr : I<0x02, MRMSrcReg, (outs GR16:$dst), (ins GR16orGR32orGR64:$src),
225 def LAR32rm : I<0x02, MRMSrcMem, (outs GR32:$dst), (ins i16mem:$src),
228 def LAR32rr : I<0x02, MRMSrcReg, (outs GR32:$dst), (ins GR16orGR32orGR64:$src),
232 def LAR64rm : RI<0x02, MRMSrcMem, (outs GR64:$dst), (ins i16mem:$src),
234 def LAR64rr : RI<0x02, MRMSrcReg, (outs GR64:$dst), (ins GR16orGR32orGR64:$src),
238 def LSL16rm : I<0x03, MRMSrcMem, (outs GR16:$dst), (ins i16mem:$src),
241 def LSL16rr : I<0x03, MRMSrcReg, (outs GR16:$dst), (ins GR16orGR32orGR64:$src),
245 def LSL32rm : I<0x03, MRMSrcMem, (outs GR32:$dst), (ins i16mem:$src),
248 def LSL32rr : I<0x03, MRMSrcReg, (outs GR32:$dst), (ins GR16orGR32orGR64:$src),
252 def LSL64rm : RI<0x03, MRMSrcMem, (outs GR64:$dst), (ins i16mem:$src),
254 def LSL64rr : RI<0x03, MRMSrcReg, (outs GR64:$dst), (ins GR16orGR32orGR64:$src),
257 def INVLPG : I<0x01, MRM7m, (outs), (ins i8mem:$addr), "invlpg\t$addr", []>, TB;
259 def STR16r : I<0x00, MRM1r, (outs GR16:$dst), (ins),
261 def STR32r : I<0x00, MRM1r, (outs GR32:$dst), (ins),
263 def STR64r : RI<0x00, MRM1r, (outs GR64:$dst), (ins),
266 def STRm : I<0x00, MRM1m, (outs), (ins i16mem:$dst), "str{w}\t$dst", []>, TB;
268 def LTRr : I<0x00, MRM3r, (outs), (ins GR16:$src), "ltr{w}\t$src", []>, TB, NotMemoryFoldable;
270 def LTRm : I<0x00, MRM3m, (outs), (ins i16mem:$src), "ltr{w}\t$src", []>, TB, NotMemoryFoldable;
272 def PUSHCS16 : I<0x0E, RawFrm, (outs), (ins), "push{w}\t{%cs|cs}", []>,
274 def PUSHCS32 : I<0x0E, RawFrm, (outs), (ins), "push{l}\t{%cs|cs}", []>,
276 def PUSHSS16 : I<0x16, RawFrm, (outs), (ins), "push{w}\t{%ss|ss}", []>,
278 def PUSHSS32 : I<0x16, RawFrm, (outs), (ins), "push{l}\t{%ss|ss}", []>,
280 def PUSHDS16 : I<0x1E, RawFrm, (outs), (ins), "push{w}\t{%ds|ds}", []>,
282 def PUSHDS32 : I<0x1E, RawFrm, (outs), (ins), "push{l}\t{%ds|ds}", []>,
284 def PUSHES16 : I<0x06, RawFrm, (outs), (ins), "push{w}\t{%es|es}", []>,
286 def PUSHES32 : I<0x06, RawFrm, (outs), (ins), "push{l}\t{%es|es}", []>,
288 def PUSHFS16 : I<0xa0, RawFrm, (outs), (ins), "push{w}\t{%fs|fs}", []>,
290 def PUSHFS32 : I<0xa0, RawFrm, (outs), (ins), "push{l}\t{%fs|fs}", []>, TB,
292 def PUSHGS16 : I<0xa8, RawFrm, (outs), (ins), "push{w}\t{%gs|gs}", []>,
294 def PUSHGS32 : I<0xa8, RawFrm, (outs), (ins), "push{l}\t{%gs|gs}", []>, TB,
296 def PUSHFS64 : I<0xa0, RawFrm, (outs), (ins), "push{q}\t{%fs|fs}", []>, TB,
298 def PUSHGS64 : I<0xa8, RawFrm, (outs), (ins), "push{q}\t{%gs|gs}", []>, TB,
302 def POPSS16 : I<0x17, RawFrm, (outs), (ins), "pop{w}\t{%ss|ss}", []>,
304 def POPSS32 : I<0x17, RawFrm, (outs), (ins), "pop{l}\t{%ss|ss}", []>,
307 def POPDS16 : I<0x1F, RawFrm, (outs), (ins), "pop{w}\t{%ds|ds}", []>,
309 def POPDS32 : I<0x1F, RawFrm, (outs), (ins), "pop{l}\t{%ds|ds}", []>,
312 def POPES16 : I<0x07, RawFrm, (outs), (ins), "pop{w}\t{%es|es}", []>,
314 def POPES32 : I<0x07, RawFrm, (outs), (ins), "pop{l}\t{%es|es}", []>,
317 def POPFS16 : I<0xa1, RawFrm, (outs), (ins), "pop{w}\t{%fs|fs}", []>,
319 def POPFS32 : I<0xa1, RawFrm, (outs), (ins), "pop{l}\t{%fs|fs}", []>, TB,
321 def POPFS64 : I<0xa1, RawFrm, (outs), (ins), "pop{q}\t{%fs|fs}", []>, TB,
324 def POPGS16 : I<0xa9, RawFrm, (outs), (ins), "pop{w}\t{%gs|gs}", []>,
326 def POPGS32 : I<0xa9, RawFrm, (outs), (ins), "pop{l}\t{%gs|gs}", []>, TB,
328 def POPGS64 : I<0xa9, RawFrm, (outs), (ins), "pop{q}\t{%gs|gs}", []>, TB,
331 def LDS16rm : I<0xc5, MRMSrcMem, (outs GR16:$dst), (ins opaquemem:$src),
334 def LDS32rm : I<0xc5, MRMSrcMem, (outs GR32:$dst), (ins opaquemem:$src),
338 def LSS16rm : I<0xb2, MRMSrcMem, (outs GR16:$dst), (ins opaquemem:$src),
340 def LSS32rm : I<0xb2, MRMSrcMem, (outs GR32:$dst), (ins opaquemem:$src),
342 def LSS64rm : RI<0xb2, MRMSrcMem, (outs GR64:$dst), (ins opaquemem:$src),
345 def LES16rm : I<0xc4, MRMSrcMem, (outs GR16:$dst), (ins opaquemem:$src),
348 def LES32rm : I<0xc4, MRMSrcMem, (outs GR32:$dst), (ins opaquemem:$src),
352 def LFS16rm : I<0xb4, MRMSrcMem, (outs GR16:$dst), (ins opaquemem:$src),
354 def LFS32rm : I<0xb4, MRMSrcMem, (outs GR32:$dst), (ins opaquemem:$src),
356 def LFS64rm : RI<0xb4, MRMSrcMem, (outs GR64:$dst), (ins opaquemem:$src),
359 def LGS16rm : I<0xb5, MRMSrcMem, (outs GR16:$dst), (ins opaquemem:$src),
361 def LGS32rm : I<0xb5, MRMSrcMem, (outs GR32:$dst), (ins opaquemem:$src),
364 def LGS64rm : RI<0xb5, MRMSrcMem, (outs GR64:$dst), (ins opaquemem:$src),
367 def VERRr : I<0x00, MRM4r, (outs), (ins GR16:$seg), "verr\t$seg", []>, TB, NotMemoryFoldable;
368 def VERWr : I<0x00, MRM5r, (outs), (ins GR16:$seg), "verw\t$seg", []>, TB, NotMemoryFoldable;
370 def VERRm : I<0x00, MRM4m, (outs), (ins i16mem:$seg), "verr\t$seg", []>, TB, NotMemoryFoldable;
371 def VERWm : I<0x00, MRM5m, (outs), (ins i16mem:$seg), "verw\t$seg", []>, TB, NotMemoryFoldable;
379 def SGDT16m : I<0x01, MRM0m, (outs), (ins opaquemem:$dst),
381 def SGDT32m : I<0x01, MRM0m, (outs), (ins opaquemem:$dst),
383 def SGDT64m : I<0x01, MRM0m, (outs), (ins opaquemem:$dst),
385 def SIDT16m : I<0x01, MRM1m, (outs), (ins opaquemem:$dst),
387 def SIDT32m : I<0x01, MRM1m, (outs), (ins opaquemem:$dst),
389 def SIDT64m : I<0x01, MRM1m, (outs), (ins opaquemem:$dst),
391 def SLDT16r : I<0x00, MRM0r, (outs GR16:$dst), (ins),
394 def SLDT16m : I<0x00, MRM0m, (outs), (ins i16mem:$dst),
396 def SLDT32r : I<0x00, MRM0r, (outs GR32:$dst), (ins),
401 def SLDT64r : RI<0x00, MRM0r, (outs GR64:$dst), (ins),
404 def LGDT16m : I<0x01, MRM2m, (outs), (ins opaquemem:$src),
406 def LGDT32m : I<0x01, MRM2m, (outs), (ins opaquemem:$src),
408 def LGDT64m : I<0x01, MRM2m, (outs), (ins opaquemem:$src),
410 def LIDT16m : I<0x01, MRM3m, (outs), (ins opaquemem:$src),
412 def LIDT32m : I<0x01, MRM3m, (outs), (ins opaquemem:$src),
414 def LIDT64m : I<0x01, MRM3m, (outs), (ins opaquemem:$src),
416 def LLDT16r : I<0x00, MRM2r, (outs), (ins GR16:$src),
419 def LLDT16m : I<0x00, MRM2m, (outs), (ins i16mem:$src),
427 def WRMSR : I<0x30, RawFrm, (outs), (ins), "wrmsr", []>, TB;
429 def RDMSR : I<0x32, RawFrm, (outs), (ins), "rdmsr", []>, TB;
432 def RDPMC : I<0x33, RawFrm, (outs), (ins), "rdpmc", []>, TB;
434 def SMSW16r : I<0x01, MRM4r, (outs GR16:$dst), (ins),
436 def SMSW32r : I<0x01, MRM4r, (outs GR32:$dst), (ins),
439 def SMSW64r : RI<0x01, MRM4r, (outs GR64:$dst), (ins),
443 def SMSW16m : I<0x01, MRM4m, (outs), (ins i16mem:$dst),
446 def LMSW16r : I<0x01, MRM6r, (outs), (ins GR16:$src),
449 def LMSW16m : I<0x01, MRM6m, (outs), (ins i16mem:$src),
453 def CPUID : I<0xA2, RawFrm, (outs), (ins), "cpuid", []>, TB;
459 def INVD : I<0x08, RawFrm, (outs), (ins), "invd", []>, TB;
460 def WBINVD : I<0x09, RawFrm, (outs), (ins), "wbinvd", [(int_x86_wbinvd)]>, PS;
464 def WBNOINVD : I<0x09, RawFrm, (outs), (ins), "wbnoinvd",
475 def INCSSPD : I<0xAE, MRM5r, (outs), (ins GR32:$src), "incsspd\t$src",
477 def INCSSPQ : RI<0xAE, MRM5r, (outs), (ins GR64:$src), "incsspq\t$src",
482 def RDSSPD : I<0x1E, MRM1r, (outs GR32:$dst), (ins GR32:$src),
485 def RDSSPQ : RI<0x1E, MRM1r, (outs GR64:$dst), (ins GR64:$src),
491 def SAVEPREVSSP : I<0x01, MRM_EA, (outs), (ins), "saveprevssp",
493 def RSTORSSP : I<0x01, MRM5m, (outs), (ins i32mem:$src),
499 def WRSSD : I<0xF6, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
502 def WRSSQ : RI<0xF6, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src),
505 def WRUSSD : I<0xF5, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src),
508 def WRUSSQ : RI<0xF5, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src),
514 def SETSSBSY : I<0x01, MRM_E8, (outs), (ins), "setssbsy",
518 def CLRSSBSY : I<0xAE, MRM6m, (outs), (ins i32mem:$src),
525 def ENDBR64 : I<0x1E, MRM_FA, (outs), (ins), "endbr64", []>, XS;
526 def ENDBR32 : I<0x1E, MRM_FB, (outs), (ins), "endbr32", []>, XS;
536 def XGETBV : I<0x01, MRM_D0, (outs), (ins), "xgetbv", []>, PS;
539 def XSETBV : I<0x01, MRM_D1, (outs), (ins),
545 def XSAVE : I<0xAE, MRM4m, (outs), (ins opaquemem:$dst),
548 def XSAVE64 : RI<0xAE, MRM4m, (outs), (ins opaquemem:$dst),
551 def XRSTOR : I<0xAE, MRM5m, (outs), (ins opaquemem:$dst),
554 def XRSTOR64 : RI<0xAE, MRM5m, (outs), (ins opaquemem:$dst),
557 def XSAVEOPT : I<0xAE, MRM6m, (outs), (ins opaquemem:$dst),
560 def XSAVEOPT64 : RI<0xAE, MRM6m, (outs), (ins opaquemem:$dst),
563 def XSAVEC : I<0xC7, MRM4m, (outs), (ins opaquemem:$dst),
566 def XSAVEC64 : RI<0xC7, MRM4m, (outs), (ins opaquemem:$dst),
569 def XSAVES : I<0xC7, MRM5m, (outs), (ins opaquemem:$dst),
572 def XSAVES64 : RI<0xC7, MRM5m, (outs), (ins opaquemem:$dst),
575 def XRSTORS : I<0xC7, MRM3m, (outs), (ins opaquemem:$dst),
578 def XRSTORS64 : RI<0xC7, MRM3m, (outs), (ins opaquemem:$dst),
587 def XSTORE : I<0xa7, MRM_C0, (outs), (ins), "xstore", []>, TB;
593 def XCRYPTECB : I<0xa7, MRM_C8, (outs), (ins), "xcryptecb", []>, TB, REP;
594 def XCRYPTCBC : I<0xa7, MRM_D0, (outs), (ins), "xcryptcbc", []>, TB, REP;
595 def XCRYPTCTR : I<0xa7, MRM_D8, (outs), (ins), "xcryptctr", []>, TB, REP;
596 def XCRYPTCFB : I<0xa7, MRM_E0, (outs), (ins), "xcryptcfb", []>, TB, REP;
597 def XCRYPTOFB : I<0xa7, MRM_E8, (outs), (ins), "xcryptofb", []>, TB, REP;
601 def XSHA1 : I<0xa6, MRM_C8, (outs), (ins), "xsha1", []>, TB, REP;
602 def XSHA256 : I<0xa6, MRM_D0, (outs), (ins), "xsha256", []>, TB, REP;
605 def MONTMUL : I<0xa6, MRM_C0, (outs), (ins), "montmul", []>, TB, REP;
612 def RDPKRUr : I<0x01, MRM_EE, (outs), (ins), "rdpkru",
615 def WRPKRUr : I<0x01, MRM_EF, (outs), (ins), "wrpkru",
622 def RDFSBASE : I<0xAE, MRM0r, (outs GR32:$dst), (ins),
625 def RDFSBASE64 : RI<0xAE, MRM0r, (outs GR64:$dst), (ins),
628 def RDGSBASE : I<0xAE, MRM1r, (outs GR32:$dst), (ins),
631 def RDGSBASE64 : RI<0xAE, MRM1r, (outs GR64:$dst), (ins),
634 def WRFSBASE : I<0xAE, MRM2r, (outs), (ins GR32:$src),
637 def WRFSBASE64 : RI<0xAE, MRM2r, (outs), (ins GR64:$src),
640 def WRGSBASE : I<0xAE, MRM3r, (outs), (ins GR32:$src),
643 def WRGSBASE64 : RI<0xAE, MRM3r, (outs), (ins GR64:$src),
651 def INVPCID32 : I<0x82, MRMSrcMem, (outs), (ins GR32:$src1, i128mem:$src2),
655 def INVPCID64 : I<0x82, MRMSrcMem, (outs), (ins GR64:$src1, i128mem:$src2),
676 def CLAC : I<0x01, MRM_CA, (outs), (ins), "clac", []>, PS;
677 def STAC : I<0x01, MRM_CB, (outs), (ins), "stac", []>, PS;
684 def GETSEC : I<0x37, RawFrm, (outs), (ins), "getsec", []>, PS;
691 def CLTS : I<0x06, RawFrm, (outs), (ins), "clts", []>, TB;
697 def CLI : I<0xFA, RawFrm, (outs), (ins), "cli", []>;
698 def STI : I<0xFB, RawFrm, (outs), (ins), "sti", []>;
704 def RDPID32 : I<0xC7, MRM7r, (outs GR32:$dst), (ins),
707 def RDPID64 : I<0xC7, MRM7r, (outs GR64:$dst), (ins), "rdpid\t$dst", []>, XS,
722 def PTWRITEm: I<0xAE, MRM4m, (outs), (ins i32mem:$dst),
725 def PTWRITE64m : RI<0xAE, MRM4m, (outs), (ins i64mem:$dst),
729 def PTWRITEr : I<0xAE, MRM4r, (outs), (ins GR32:$dst),
732 def PTWRITE64r : RI<0xAE, MRM4r, (outs), (ins GR64:$dst),
742 def RDPRU : I<0x01, MRM_FD, (outs), (ins), "rdpru", []>, PS,
761 def PCONFIG : I<0x01, MRM_C5, (outs), (ins), "pconfig", []>, PS,