Lines Matching refs:ins
19 def FP32_TO_INT16_IN_MEM : PseudoI<(outs), (ins i16mem:$dst, RFP32:$src),
21 def FP32_TO_INT32_IN_MEM : PseudoI<(outs), (ins i32mem:$dst, RFP32:$src),
23 def FP32_TO_INT64_IN_MEM : PseudoI<(outs), (ins i64mem:$dst, RFP32:$src),
25 def FP64_TO_INT16_IN_MEM : PseudoI<(outs), (ins i16mem:$dst, RFP64:$src),
27 def FP64_TO_INT32_IN_MEM : PseudoI<(outs), (ins i32mem:$dst, RFP64:$src),
29 def FP64_TO_INT64_IN_MEM : PseudoI<(outs), (ins i64mem:$dst, RFP64:$src),
31 def FP80_TO_INT16_IN_MEM : PseudoI<(outs), (ins i16mem:$dst, RFP80:$src),
33 def FP80_TO_INT32_IN_MEM : PseudoI<(outs), (ins i32mem:$dst, RFP80:$src),
35 def FP80_TO_INT64_IN_MEM : PseudoI<(outs), (ins i64mem:$dst, RFP80:$src),
38 def FP80_ADDr : PseudoI<(outs RFP80:$dst), (ins RFP80:$src1, RFP80:$src2),
41 def FP80_ADDm32 : PseudoI<(outs RFP80:$dst), (ins RFP80:$src1, f32mem:$src2),
70 class FpIf32<dag outs, dag ins, FPFormat fp, list<dag> pattern> :
71 FpI_<outs, ins, fp, pattern>, Requires<[FPStackf32]>;
72 class FpIf64<dag outs, dag ins, FPFormat fp, list<dag> pattern> :
73 FpI_<outs, ins, fp, pattern>, Requires<[FPStackf64]>;
79 def _Fp32 : FpIf32<(outs RFP32:$dst), (ins RFP32:$src1, RFP32:$src2), TwoArgFP,
81 def _Fp64 : FpIf64<(outs RFP64:$dst), (ins RFP64:$src1, RFP64:$src2), TwoArgFP,
83 def _Fp80 : FpI_<(outs RFP80:$dst), (ins RFP80:$src1, RFP80:$src2), TwoArgFP,
93 (ins RFP32:$src1, f32mem:$src2), OneArgFPRW,
100 (ins RFP64:$src1, f64mem:$src2), OneArgFPRW,
107 (ins RFP64:$src1, f32mem:$src2), OneArgFPRW,
114 (ins RFP80:$src1, f32mem:$src2), OneArgFPRW,
121 (ins RFP80:$src1, f64mem:$src2), OneArgFPRW,
128 def _F32m : FPI<0xD8, fp, (outs), (ins f32mem:$src),
131 def _F64m : FPI<0xDC, fp, (outs), (ins f64mem:$src),
134 def _FpI16m32 : FpIf32<(outs RFP32:$dst), (ins RFP32:$src1, i16mem:$src2),
141 def _FpI32m32 : FpIf32<(outs RFP32:$dst), (ins RFP32:$src1, i32mem:$src2),
148 def _FpI16m64 : FpIf64<(outs RFP64:$dst), (ins RFP64:$src1, i16mem:$src2),
155 def _FpI32m64 : FpIf64<(outs RFP64:$dst), (ins RFP64:$src1, i32mem:$src2),
162 def _FpI16m80 : FpI_<(outs RFP80:$dst), (ins RFP80:$src1, i16mem:$src2),
169 def _FpI32m80 : FpI_<(outs RFP80:$dst), (ins RFP80:$src1, i32mem:$src2),
177 def _FI16m : FPI<0xDE, fp, (outs), (ins i16mem:$src),
180 def _FI32m : FPI<0xDA, fp, (outs), (ins i32mem:$src),
212 : FPI<0xD8, fp, (outs), (ins RSTi:$op), asm>;
214 : FPI<0xDC, fp, (outs), (ins RSTi:$op), asm>;
216 : FPI<0xDE, fp, (outs), (ins RSTi:$op), asm>;
252 def _Fp32 : FpIf32<(outs RFP32:$dst), (ins RFP32:$src), OneArgFPRW,
254 def _Fp64 : FpIf64<(outs RFP64:$dst), (ins RFP64:$src), OneArgFPRW,
256 def _Fp80 : FpI_<(outs RFP80:$dst), (ins RFP80:$src), OneArgFPRW,
258 def _F : FPI<0xD9, fp, (outs), (ins), asmstring>;
272 def TST_Fp32 : FpIf32<(outs), (ins RFP32:$src), OneArgFP, []>;
273 def TST_Fp64 : FpIf64<(outs), (ins RFP64:$src), OneArgFP, []>;
274 def TST_Fp80 : FpI_<(outs), (ins RFP80:$src), OneArgFP, []>;
277 def TST_F : FPI<0xD9, MRM_E4, (outs), (ins), "ftst">;
282 def XAM_Fp32 : FpIf32<(outs), (ins RFP32:$src), OneArgFP, []>;
283 def XAM_Fp64 : FpIf64<(outs), (ins RFP64:$src), OneArgFP, []>;
284 def XAM_Fp80 : FpI_<(outs), (ins RFP80:$src), OneArgFP, []>;
285 def XAM_F : FPI<0xD9, MRM_E5, (outs), (ins), "fxam">;
292 def FCOM32m : FPI<0xD8, MRM2m, (outs), (ins f32mem:$src), "fcom{s}\t$src">;
293 def FCOMP32m : FPI<0xD8, MRM3m, (outs), (ins f32mem:$src), "fcomp{s}\t$src">;
295 def FCOM64m : FPI<0xDC, MRM2m, (outs), (ins f64mem:$src), "fcom{l}\t$src">;
296 def FCOMP64m : FPI<0xDC, MRM3m, (outs), (ins f64mem:$src), "fcomp{l}\t$src">;
298 def FICOM16m : FPI<0xDE, MRM2m, (outs), (ins i16mem:$src), "ficom{s}\t$src">;
299 def FICOMP16m: FPI<0xDE, MRM3m, (outs), (ins i16mem:$src), "ficomp{s}\t$src">;
301 def FICOM32m : FPI<0xDA, MRM2m, (outs), (ins i32mem:$src), "ficom{l}\t$src">;
302 def FICOMP32m: FPI<0xDA, MRM3m, (outs), (ins i32mem:$src), "ficomp{l}\t$src">;
307 def FRSTORm : FPI<0xDD, MRM4m, (outs), (ins anymem:$src), "frstor\t$src">;
309 def FLDENVm : I<0xD9, MRM4m, (outs), (ins anymem:$src), "fldenv\t$src",
314 def FSAVEm : FPI<0xDD, MRM6m, (outs), (ins anymem:$dst), "fnsave\t$dst">;
316 def FSTENVm : I<0xD9, MRM6m, (outs), (ins anymem:$dst), "fnstenv\t$dst",
321 def FNSTSWm : FPI<0xDD, MRM7m, (outs), (ins i16mem:$dst), "fnstsw\t$dst">;
324 def FBLDm : FPI<0xDF, MRM4m, (outs), (ins f80mem:$src), "fbld\t$src">;
326 def FBSTPm : FPI<0xDF, MRM6m, (outs), (ins f80mem:$dst), "fbstp\t$dst">;
330 class FpIf32CMov<dag outs, dag ins, FPFormat fp, list<dag> pattern> :
331 FpI_<outs, ins, fp, pattern>, Requires<[FPStackf32, HasCMOV]>;
332 class FpIf64CMov<dag outs, dag ins, FPFormat fp, list<dag> pattern> :
333 FpI_<outs, ins, fp, pattern>, Requires<[FPStackf64, HasCMOV]>;
336 def _Fp32 : FpIf32CMov<(outs RFP32:$dst), (ins RFP32:$src1, RFP32:$src2),
340 def _Fp64 : FpIf64CMov<(outs RFP64:$dst), (ins RFP64:$src1, RFP64:$src2),
344 def _Fp80 : FpI_<(outs RFP80:$dst), (ins RFP80:$src1, RFP80:$src2),
365 def CMOVB_F : FPI<0xDA, MRM0r, (outs), (ins RSTi:$op),
367 def CMOVBE_F : FPI<0xDA, MRM2r, (outs), (ins RSTi:$op),
369 def CMOVE_F : FPI<0xDA, MRM1r, (outs), (ins RSTi:$op),
371 def CMOVP_F : FPI<0xDA, MRM3r, (outs), (ins RSTi:$op),
373 def CMOVNB_F : FPI<0xDB, MRM0r, (outs), (ins RSTi:$op),
375 def CMOVNBE_F: FPI<0xDB, MRM2r, (outs), (ins RSTi:$op),
377 def CMOVNE_F : FPI<0xDB, MRM1r, (outs), (ins RSTi:$op),
379 def CMOVNP_F : FPI<0xDB, MRM3r, (outs), (ins RSTi:$op),
388 def LD_Fp32m : FpIf32<(outs RFP32:$dst), (ins f32mem:$src), ZeroArgFP,
390 def LD_Fp64m : FpIf64<(outs RFP64:$dst), (ins f64mem:$src), ZeroArgFP,
392 def LD_Fp80m : FpI_<(outs RFP80:$dst), (ins f80mem:$src), ZeroArgFP,
395 def LD_Fp32m64 : FpIf64<(outs RFP64:$dst), (ins f32mem:$src), ZeroArgFP,
397 def LD_Fp64m80 : FpI_<(outs RFP80:$dst), (ins f64mem:$src), ZeroArgFP,
399 def LD_Fp32m80 : FpI_<(outs RFP80:$dst), (ins f32mem:$src), ZeroArgFP,
402 def ILD_Fp16m32: FpIf32<(outs RFP32:$dst), (ins i16mem:$src), ZeroArgFP,
404 def ILD_Fp32m32: FpIf32<(outs RFP32:$dst), (ins i32mem:$src), ZeroArgFP,
406 def ILD_Fp64m32: FpIf32<(outs RFP32:$dst), (ins i64mem:$src), ZeroArgFP,
408 def ILD_Fp16m64: FpIf64<(outs RFP64:$dst), (ins i16mem:$src), ZeroArgFP,
410 def ILD_Fp32m64: FpIf64<(outs RFP64:$dst), (ins i32mem:$src), ZeroArgFP,
412 def ILD_Fp64m64: FpIf64<(outs RFP64:$dst), (ins i64mem:$src), ZeroArgFP,
414 def ILD_Fp16m80: FpI_<(outs RFP80:$dst), (ins i16mem:$src), ZeroArgFP,
416 def ILD_Fp32m80: FpI_<(outs RFP80:$dst), (ins i32mem:$src), ZeroArgFP,
418 def ILD_Fp64m80: FpI_<(outs RFP80:$dst), (ins i64mem:$src), ZeroArgFP,
424 def ST_Fp32m : FpIf32<(outs), (ins f32mem:$op, RFP32:$src), OneArgFP,
426 def ST_Fp64m32 : FpIf64<(outs), (ins f32mem:$op, RFP64:$src), OneArgFP,
428 def ST_Fp64m : FpIf64<(outs), (ins f64mem:$op, RFP64:$src), OneArgFP,
430 def ST_Fp80m32 : FpI_<(outs), (ins f32mem:$op, RFP80:$src), OneArgFP,
432 def ST_Fp80m64 : FpI_<(outs), (ins f64mem:$op, RFP80:$src), OneArgFP,
437 def ST_FpP32m : FpIf32<(outs), (ins f32mem:$op, RFP32:$src), OneArgFP, []>;
438 def ST_FpP64m32 : FpIf64<(outs), (ins f32mem:$op, RFP64:$src), OneArgFP, []>;
439 def ST_FpP64m : FpIf64<(outs), (ins f64mem:$op, RFP64:$src), OneArgFP, []>;
440 def ST_FpP80m32 : FpI_<(outs), (ins f32mem:$op, RFP80:$src), OneArgFP, []>;
441 def ST_FpP80m64 : FpI_<(outs), (ins f64mem:$op, RFP80:$src), OneArgFP, []>;
444 def ST_FpP80m : FpI_<(outs), (ins f80mem:$op, RFP80:$src), OneArgFP,
448 def IST_Fp16m32 : FpIf32<(outs), (ins i16mem:$op, RFP32:$src), OneArgFP, []>;
449 def IST_Fp32m32 : FpIf32<(outs), (ins i32mem:$op, RFP32:$src), OneArgFP,
451 def IST_Fp64m32 : FpIf32<(outs), (ins i64mem:$op, RFP32:$src), OneArgFP,
453 def IST_Fp16m64 : FpIf64<(outs), (ins i16mem:$op, RFP64:$src), OneArgFP, []>;
454 def IST_Fp32m64 : FpIf64<(outs), (ins i32mem:$op, RFP64:$src), OneArgFP,
456 def IST_Fp64m64 : FpIf64<(outs), (ins i64mem:$op, RFP64:$src), OneArgFP,
458 def IST_Fp16m80 : FpI_<(outs), (ins i16mem:$op, RFP80:$src), OneArgFP, []>;
459 def IST_Fp32m80 : FpI_<(outs), (ins i32mem:$op, RFP80:$src), OneArgFP,
461 def IST_Fp64m80 : FpI_<(outs), (ins i64mem:$op, RFP80:$src), OneArgFP,
467 def LD_F32m : FPI<0xD9, MRM0m, (outs), (ins f32mem:$src), "fld{s}\t$src">;
468 def LD_F64m : FPI<0xDD, MRM0m, (outs), (ins f64mem:$src), "fld{l}\t$src">;
469 def LD_F80m : FPI<0xDB, MRM5m, (outs), (ins f80mem:$src), "fld{t}\t$src">;
471 def ILD_F16m : FPI<0xDF, MRM0m, (outs), (ins i16mem:$src), "fild{s}\t$src">;
472 def ILD_F32m : FPI<0xDB, MRM0m, (outs), (ins i32mem:$src), "fild{l}\t$src">;
473 def ILD_F64m : FPI<0xDF, MRM5m, (outs), (ins i64mem:$src), "fild{ll}\t$src">;
477 def ST_F32m : FPI<0xD9, MRM2m, (outs), (ins f32mem:$dst), "fst{s}\t$dst">;
478 def ST_F64m : FPI<0xDD, MRM2m, (outs), (ins f64mem:$dst), "fst{l}\t$dst">;
479 def ST_FP32m : FPI<0xD9, MRM3m, (outs), (ins f32mem:$dst), "fstp{s}\t$dst">;
480 def ST_FP64m : FPI<0xDD, MRM3m, (outs), (ins f64mem:$dst), "fstp{l}\t$dst">;
481 def ST_FP80m : FPI<0xDB, MRM7m, (outs), (ins f80mem:$dst), "fstp{t}\t$dst">;
482 def IST_F16m : FPI<0xDF, MRM2m, (outs), (ins i16mem:$dst), "fist{s}\t$dst">;
483 def IST_F32m : FPI<0xDB, MRM2m, (outs), (ins i32mem:$dst), "fist{l}\t$dst">;
484 def IST_FP16m : FPI<0xDF, MRM3m, (outs), (ins i16mem:$dst), "fistp{s}\t$dst">;
485 def IST_FP32m : FPI<0xDB, MRM3m, (outs), (ins i32mem:$dst), "fistp{l}\t$dst">;
486 def IST_FP64m : FPI<0xDF, MRM7m, (outs), (ins i64mem:$dst), "fistp{ll}\t$dst">;
491 def ISTT_Fp16m32 : FpI_<(outs), (ins i16mem:$op, RFP32:$src), OneArgFP,
493 def ISTT_Fp32m32 : FpI_<(outs), (ins i32mem:$op, RFP32:$src), OneArgFP,
495 def ISTT_Fp64m32 : FpI_<(outs), (ins i64mem:$op, RFP32:$src), OneArgFP,
497 def ISTT_Fp16m64 : FpI_<(outs), (ins i16mem:$op, RFP64:$src), OneArgFP,
499 def ISTT_Fp32m64 : FpI_<(outs), (ins i32mem:$op, RFP64:$src), OneArgFP,
501 def ISTT_Fp64m64 : FpI_<(outs), (ins i64mem:$op, RFP64:$src), OneArgFP,
503 def ISTT_Fp16m80 : FpI_<(outs), (ins i16mem:$op, RFP80:$src), OneArgFP,
505 def ISTT_Fp32m80 : FpI_<(outs), (ins i32mem:$op, RFP80:$src), OneArgFP,
507 def ISTT_Fp64m80 : FpI_<(outs), (ins i64mem:$op, RFP80:$src), OneArgFP,
512 def ISTT_FP16m : FPI<0xDF, MRM1m, (outs), (ins i16mem:$dst), "fisttp{s}\t$dst">;
513 def ISTT_FP32m : FPI<0xDB, MRM1m, (outs), (ins i32mem:$dst), "fisttp{l}\t$dst">;
514 def ISTT_FP64m : FPI<0xDD, MRM1m, (outs), (ins i64mem:$dst), "fisttp{ll}\t$dst">;
519 def LD_Frr : FPI<0xD9, MRM0r, (outs), (ins RSTi:$op), "fld\t$op">;
520 def ST_Frr : FPI<0xDD, MRM2r, (outs), (ins RSTi:$op), "fst\t$op">;
521 def ST_FPrr : FPI<0xDD, MRM3r, (outs), (ins RSTi:$op), "fstp\t$op">;
523 def XCH_F : FPI<0xD9, MRM1r, (outs), (ins RSTi:$op), "fxch\t$op">;
528 def LD_Fp032 : FpIf32<(outs RFP32:$dst), (ins), ZeroArgFP,
530 def LD_Fp132 : FpIf32<(outs RFP32:$dst), (ins), ZeroArgFP,
532 def LD_Fp064 : FpIf64<(outs RFP64:$dst), (ins), ZeroArgFP,
534 def LD_Fp164 : FpIf64<(outs RFP64:$dst), (ins), ZeroArgFP,
536 def LD_Fp080 : FpI_<(outs RFP80:$dst), (ins), ZeroArgFP,
538 def LD_Fp180 : FpI_<(outs RFP80:$dst), (ins), ZeroArgFP,
543 def LD_F0 : FPI<0xD9, MRM_EE, (outs), (ins), "fldz">;
546 def LD_F1 : FPI<0xD9, MRM_E8, (outs), (ins), "fld1">;
549 def FLDL2T : I<0xD9, MRM_E9, (outs), (ins), "fldl2t", []>;
550 def FLDL2E : I<0xD9, MRM_EA, (outs), (ins), "fldl2e", []>;
551 def FLDPI : I<0xD9, MRM_EB, (outs), (ins), "fldpi", []>;
552 def FLDLG2 : I<0xD9, MRM_EC, (outs), (ins), "fldlg2", []>;
553 def FLDLN2 : I<0xD9, MRM_ED, (outs), (ins), "fldln2", []>;
558 def UCOM_Fpr32 : FpIf32<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP, []>;
559 def UCOM_Fpr64 : FpIf64<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP, []>;
560 def UCOM_Fpr80 : FpI_ <(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, []>;
561 def COM_Fpr32 : FpIf32<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP, []>;
562 def COM_Fpr64 : FpIf64<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP, []>;
563 def COM_Fpr80 : FpI_ <(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP, []>;
570 def UCOM_FpIr32: FpI_<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
573 def UCOM_FpIr64: FpI_<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP,
576 def UCOM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP,
579 def COM_FpIr32: FpI_<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
582 def COM_FpIr64: FpI_<(outs), (ins RFP64:$lhs, RFP64:$rhs), CompareFP,
585 def COM_FpIr80: FpI_<(outs), (ins RFP80:$lhs, RFP80:$rhs), CompareFP,
592 (outs), (ins RSTi:$reg), "fucom\t$reg">;
594 (outs), (ins RSTi:$reg), "fucomp\t$reg">;
596 (outs), (ins), "fucompp">;
601 (outs), (ins RSTi:$reg), "fucomi\t{$reg, %st|st, $reg}">;
603 (outs), (ins RSTi:$reg), "fucompi\t{$reg, %st|st, $reg}">;
605 def COM_FIr : FPI<0xDB, MRM6r, (outs), (ins RSTi:$reg),
607 def COM_FIPr : FPI<0xDF, MRM6r, (outs), (ins RSTi:$reg),
616 (outs), (ins), "fnstsw\t{%ax|ax}", []>;
619 (outs), (ins i16mem:$dst), "fnstcw\t$dst",
624 (outs), (ins i16mem:$dst), "fldcw\t$dst",
630 def FFREE : FPI<0xDD, MRM0r, (outs), (ins RSTi:$reg), "ffree\t$reg">;
631 def FFREEP : FPI<0xDF, MRM0r, (outs), (ins RSTi:$reg), "ffreep\t$reg">;
634 def FNINIT : I<0xDB, MRM_E3, (outs), (ins), "fninit", []>;
637 def FNCLEX : I<0xDB, MRM_E2, (outs), (ins), "fnclex", []>;
642 def FNOP : I<0xD9, MRM_D0, (outs), (ins), "fnop", []>, Sched<[WriteNop]>;
646 def WAIT : I<0x9B, RawFrm, (outs), (ins), "wait", []>;
647 def FDECSTP : I<0xD9, MRM_F6, (outs), (ins), "fdecstp", []>;
648 def FINCSTP : I<0xD9, MRM_F7, (outs), (ins), "fincstp", []>;
650 def F2XM1 : I<0xD9, MRM_F0, (outs), (ins), "f2xm1", []>;
651 def FYL2X : I<0xD9, MRM_F1, (outs), (ins), "fyl2x", []>;
652 def FPTAN : I<0xD9, MRM_F2, (outs), (ins), "fptan", []>;
653 def FPATAN : I<0xD9, MRM_F3, (outs), (ins), "fpatan", []>;
654 def FXTRACT : I<0xD9, MRM_F4, (outs), (ins), "fxtract", []>;
655 def FPREM1 : I<0xD9, MRM_F5, (outs), (ins), "fprem1", []>;
656 def FPREM : I<0xD9, MRM_F8, (outs), (ins), "fprem", []>;
657 def FYL2XP1 : I<0xD9, MRM_F9, (outs), (ins), "fyl2xp1", []>;
658 def FSIN : I<0xD9, MRM_FE, (outs), (ins), "fsin", []>;
659 def FCOS : I<0xD9, MRM_FF, (outs), (ins), "fcos", []>;
660 def FSINCOS : I<0xD9, MRM_FB, (outs), (ins), "fsincos", []>;
661 def FRNDINT : I<0xD9, MRM_FC, (outs), (ins), "frndint", []>;
662 def FSCALE : I<0xD9, MRM_FD, (outs), (ins), "fscale", []>;
663 def FCOMPP : I<0xDE, MRM_D9, (outs), (ins), "fcompp", []>;
668 def FXSAVE : I<0xAE, MRM0m, (outs), (ins opaquemem:$dst),
671 def FXSAVE64 : RI<0xAE, MRM0m, (outs), (ins opaquemem:$dst),
677 def FXRSTOR : I<0xAE, MRM1m, (outs), (ins opaquemem:$src),
680 def FXRSTOR64 : RI<0xAE, MRM1m, (outs), (ins opaquemem:$src),