Lines Matching refs:X86
242 if (Reg != X86::AL && Reg != X86::AX && Reg != X86::EAX && Reg != X86::RAX) in SimplifyShortImmForm()
275 if (Reg != X86::AL && Reg != X86::AX && Reg != X86::EAX && Reg != X86::RAX) in SimplifyShortMoveForm()
351 case X86::LEA64_32r: // Handle 'subreg rewriting' for the lea64_32mem operand. in Lower()
354 case X86::LEA64r: in Lower()
355 case X86::LEA16r: in Lower()
356 case X86::LEA32r: in Lower()
358 assert(OutMI.getNumOperands() == 1+X86::AddrNumOperands && in Lower()
360 assert(OutMI.getOperand(1+X86::AddrSegmentReg).getReg() == 0 && in Lower()
363 case X86::MOVZX64rr32: LowerSubReg32_Op0(OutMI, X86::MOV32rr); break; in Lower()
364 case X86::MOVZX64rm32: LowerSubReg32_Op0(OutMI, X86::MOV32rm); break; in Lower()
365 case X86::MOV64ri64i32: LowerSubReg32_Op0(OutMI, X86::MOV32ri); break; in Lower()
366 case X86::MOVZX64rr8: LowerSubReg32_Op0(OutMI, X86::MOVZX32rr8); break; in Lower()
367 case X86::MOVZX64rm8: LowerSubReg32_Op0(OutMI, X86::MOVZX32rm8); break; in Lower()
368 case X86::MOVZX64rr16: LowerSubReg32_Op0(OutMI, X86::MOVZX32rr16); break; in Lower()
369 case X86::MOVZX64rm16: LowerSubReg32_Op0(OutMI, X86::MOVZX32rm16); break; in Lower()
370 case X86::SETB_C8r: LowerUnaryToTwoAddr(OutMI, X86::SBB8rr); break; in Lower()
371 case X86::SETB_C16r: LowerUnaryToTwoAddr(OutMI, X86::SBB16rr); break; in Lower()
372 case X86::SETB_C32r: LowerUnaryToTwoAddr(OutMI, X86::SBB32rr); break; in Lower()
373 case X86::SETB_C64r: LowerUnaryToTwoAddr(OutMI, X86::SBB64rr); break; in Lower()
374 case X86::MOV8r0: LowerUnaryToTwoAddr(OutMI, X86::XOR8rr); break; in Lower()
375 case X86::MOV32r0: LowerUnaryToTwoAddr(OutMI, X86::XOR32rr); break; in Lower()
376 case X86::V_SETALLONES: LowerUnaryToTwoAddr(OutMI, X86::PCMPEQDrr); break; in Lower()
377 case X86::AVX_SET0PSY: LowerUnaryToTwoAddr(OutMI, X86::VXORPSYrr); break; in Lower()
378 case X86::AVX_SET0PDY: LowerUnaryToTwoAddr(OutMI, X86::VXORPDYrr); break; in Lower()
379 case X86::AVX_SETALLONES: LowerUnaryToTwoAddr(OutMI, X86::VPCMPEQDrr); break; in Lower()
380 case X86::AVX2_SETALLONES: LowerUnaryToTwoAddr(OutMI, X86::VPCMPEQDYrr);break; in Lower()
381 case X86::AVX2_SET0: LowerUnaryToTwoAddr(OutMI, X86::VPXORYrr); break; in Lower()
383 case X86::MOV16r0: in Lower()
384 LowerSubReg32_Op0(OutMI, X86::MOV32r0); // MOV16r0 -> MOV32r0 in Lower()
385 LowerUnaryToTwoAddr(OutMI, X86::XOR32rr); // MOV32r0 -> XOR32rr in Lower()
387 case X86::MOV64r0: in Lower()
388 LowerSubReg32_Op0(OutMI, X86::MOV32r0); // MOV64r0 -> MOV32r0 in Lower()
389 LowerUnaryToTwoAddr(OutMI, X86::XOR32rr); // MOV32r0 -> XOR32rr in Lower()
395 case X86::TAILJMPr64: in Lower()
396 case X86::CALL64r: in Lower()
397 case X86::CALL64pcrel32: { in Lower()
406 case X86::EH_RETURN: in Lower()
407 case X86::EH_RETURN64: { in Lower()
409 OutMI.setOpcode(X86::RET); in Lower()
414 case X86::TAILJMPr: in Lower()
415 case X86::TAILJMPd: in Lower()
416 case X86::TAILJMPd64: { in Lower()
420 case X86::TAILJMPr: Opcode = X86::JMP32r; break; in Lower()
421 case X86::TAILJMPd: in Lower()
422 case X86::TAILJMPd64: Opcode = X86::JMP_1; break; in Lower()
435 case X86::ADD16rr_DB: OutMI.setOpcode(X86::OR16rr); goto ReSimplify; in Lower()
436 case X86::ADD32rr_DB: OutMI.setOpcode(X86::OR32rr); goto ReSimplify; in Lower()
437 case X86::ADD64rr_DB: OutMI.setOpcode(X86::OR64rr); goto ReSimplify; in Lower()
438 case X86::ADD16ri_DB: OutMI.setOpcode(X86::OR16ri); goto ReSimplify; in Lower()
439 case X86::ADD32ri_DB: OutMI.setOpcode(X86::OR32ri); goto ReSimplify; in Lower()
440 case X86::ADD64ri32_DB: OutMI.setOpcode(X86::OR64ri32); goto ReSimplify; in Lower()
441 case X86::ADD16ri8_DB: OutMI.setOpcode(X86::OR16ri8); goto ReSimplify; in Lower()
442 case X86::ADD32ri8_DB: OutMI.setOpcode(X86::OR32ri8); goto ReSimplify; in Lower()
443 case X86::ADD64ri8_DB: OutMI.setOpcode(X86::OR64ri8); goto ReSimplify; in Lower()
449 case X86::JMP_4: OutMI.setOpcode(X86::JMP_1); break; in Lower()
450 case X86::JO_4: OutMI.setOpcode(X86::JO_1); break; in Lower()
451 case X86::JNO_4: OutMI.setOpcode(X86::JNO_1); break; in Lower()
452 case X86::JB_4: OutMI.setOpcode(X86::JB_1); break; in Lower()
453 case X86::JAE_4: OutMI.setOpcode(X86::JAE_1); break; in Lower()
454 case X86::JE_4: OutMI.setOpcode(X86::JE_1); break; in Lower()
455 case X86::JNE_4: OutMI.setOpcode(X86::JNE_1); break; in Lower()
456 case X86::JBE_4: OutMI.setOpcode(X86::JBE_1); break; in Lower()
457 case X86::JA_4: OutMI.setOpcode(X86::JA_1); break; in Lower()
458 case X86::JS_4: OutMI.setOpcode(X86::JS_1); break; in Lower()
459 case X86::JNS_4: OutMI.setOpcode(X86::JNS_1); break; in Lower()
460 case X86::JP_4: OutMI.setOpcode(X86::JP_1); break; in Lower()
461 case X86::JNP_4: OutMI.setOpcode(X86::JNP_1); break; in Lower()
462 case X86::JL_4: OutMI.setOpcode(X86::JL_1); break; in Lower()
463 case X86::JGE_4: OutMI.setOpcode(X86::JGE_1); break; in Lower()
464 case X86::JLE_4: OutMI.setOpcode(X86::JLE_1); break; in Lower()
465 case X86::JG_4: OutMI.setOpcode(X86::JG_1); break; in Lower()
470 case X86::ACQUIRE_MOV8rm: OutMI.setOpcode(X86::MOV8rm); goto ReSimplify; in Lower()
471 case X86::ACQUIRE_MOV16rm: OutMI.setOpcode(X86::MOV16rm); goto ReSimplify; in Lower()
472 case X86::ACQUIRE_MOV32rm: OutMI.setOpcode(X86::MOV32rm); goto ReSimplify; in Lower()
473 case X86::ACQUIRE_MOV64rm: OutMI.setOpcode(X86::MOV64rm); goto ReSimplify; in Lower()
474 case X86::RELEASE_MOV8mr: OutMI.setOpcode(X86::MOV8mr); goto ReSimplify; in Lower()
475 case X86::RELEASE_MOV16mr: OutMI.setOpcode(X86::MOV16mr); goto ReSimplify; in Lower()
476 case X86::RELEASE_MOV32mr: OutMI.setOpcode(X86::MOV32mr); goto ReSimplify; in Lower()
477 case X86::RELEASE_MOV64mr: OutMI.setOpcode(X86::MOV64mr); goto ReSimplify; in Lower()
486 case X86::MOV8mr_NOREX: in Lower()
487 case X86::MOV8mr: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV8ao8); break; in Lower()
488 case X86::MOV8rm_NOREX: in Lower()
489 case X86::MOV8rm: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV8o8a); break; in Lower()
490 case X86::MOV16mr: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV16ao16); break; in Lower()
491 case X86::MOV16rm: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV16o16a); break; in Lower()
492 case X86::MOV32mr: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV32ao32); break; in Lower()
493 case X86::MOV32rm: SimplifyShortMoveForm(AsmPrinter, OutMI, X86::MOV32o32a); break; in Lower()
495 case X86::ADC8ri: SimplifyShortImmForm(OutMI, X86::ADC8i8); break; in Lower()
496 case X86::ADC16ri: SimplifyShortImmForm(OutMI, X86::ADC16i16); break; in Lower()
497 case X86::ADC32ri: SimplifyShortImmForm(OutMI, X86::ADC32i32); break; in Lower()
498 case X86::ADC64ri32: SimplifyShortImmForm(OutMI, X86::ADC64i32); break; in Lower()
499 case X86::ADD8ri: SimplifyShortImmForm(OutMI, X86::ADD8i8); break; in Lower()
500 case X86::ADD16ri: SimplifyShortImmForm(OutMI, X86::ADD16i16); break; in Lower()
501 case X86::ADD32ri: SimplifyShortImmForm(OutMI, X86::ADD32i32); break; in Lower()
502 case X86::ADD64ri32: SimplifyShortImmForm(OutMI, X86::ADD64i32); break; in Lower()
503 case X86::AND8ri: SimplifyShortImmForm(OutMI, X86::AND8i8); break; in Lower()
504 case X86::AND16ri: SimplifyShortImmForm(OutMI, X86::AND16i16); break; in Lower()
505 case X86::AND32ri: SimplifyShortImmForm(OutMI, X86::AND32i32); break; in Lower()
506 case X86::AND64ri32: SimplifyShortImmForm(OutMI, X86::AND64i32); break; in Lower()
507 case X86::CMP8ri: SimplifyShortImmForm(OutMI, X86::CMP8i8); break; in Lower()
508 case X86::CMP16ri: SimplifyShortImmForm(OutMI, X86::CMP16i16); break; in Lower()
509 case X86::CMP32ri: SimplifyShortImmForm(OutMI, X86::CMP32i32); break; in Lower()
510 case X86::CMP64ri32: SimplifyShortImmForm(OutMI, X86::CMP64i32); break; in Lower()
511 case X86::OR8ri: SimplifyShortImmForm(OutMI, X86::OR8i8); break; in Lower()
512 case X86::OR16ri: SimplifyShortImmForm(OutMI, X86::OR16i16); break; in Lower()
513 case X86::OR32ri: SimplifyShortImmForm(OutMI, X86::OR32i32); break; in Lower()
514 case X86::OR64ri32: SimplifyShortImmForm(OutMI, X86::OR64i32); break; in Lower()
515 case X86::SBB8ri: SimplifyShortImmForm(OutMI, X86::SBB8i8); break; in Lower()
516 case X86::SBB16ri: SimplifyShortImmForm(OutMI, X86::SBB16i16); break; in Lower()
517 case X86::SBB32ri: SimplifyShortImmForm(OutMI, X86::SBB32i32); break; in Lower()
518 case X86::SBB64ri32: SimplifyShortImmForm(OutMI, X86::SBB64i32); break; in Lower()
519 case X86::SUB8ri: SimplifyShortImmForm(OutMI, X86::SUB8i8); break; in Lower()
520 case X86::SUB16ri: SimplifyShortImmForm(OutMI, X86::SUB16i16); break; in Lower()
521 case X86::SUB32ri: SimplifyShortImmForm(OutMI, X86::SUB32i32); break; in Lower()
522 case X86::SUB64ri32: SimplifyShortImmForm(OutMI, X86::SUB64i32); break; in Lower()
523 case X86::TEST8ri: SimplifyShortImmForm(OutMI, X86::TEST8i8); break; in Lower()
524 case X86::TEST16ri: SimplifyShortImmForm(OutMI, X86::TEST16i16); break; in Lower()
525 case X86::TEST32ri: SimplifyShortImmForm(OutMI, X86::TEST32i32); break; in Lower()
526 case X86::TEST64ri32: SimplifyShortImmForm(OutMI, X86::TEST64i32); break; in Lower()
527 case X86::XOR8ri: SimplifyShortImmForm(OutMI, X86::XOR8i8); break; in Lower()
528 case X86::XOR16ri: SimplifyShortImmForm(OutMI, X86::XOR16i16); break; in Lower()
529 case X86::XOR32ri: SimplifyShortImmForm(OutMI, X86::XOR32i32); break; in Lower()
530 case X86::XOR64ri32: SimplifyShortImmForm(OutMI, X86::XOR64i32); break; in Lower()
532 case X86::MORESTACK_RET: in Lower()
533 OutMI.setOpcode(X86::RET); in Lower()
536 case X86::MORESTACK_RET_RESTORE_R10: { in Lower()
539 OutMI.setOpcode(X86::MOV64rr); in Lower()
540 OutMI.addOperand(MCOperand::CreateReg(X86::R10)); in Lower()
541 OutMI.addOperand(MCOperand::CreateReg(X86::RAX)); in Lower()
543 retInst.setOpcode(X86::RET); in Lower()
553 bool is64Bits = MI.getOpcode() == X86::TLS_addr64; in LowerTlsAddr()
558 prefix.setOpcode(X86::DATA16_PREFIX); in LowerTlsAddr()
567 LEA.setOpcode(X86::LEA64r); in LowerTlsAddr()
568 LEA.addOperand(MCOperand::CreateReg(X86::RDI)); // dest in LowerTlsAddr()
569 LEA.addOperand(MCOperand::CreateReg(X86::RIP)); // base in LowerTlsAddr()
575 LEA.setOpcode(X86::LEA32r); in LowerTlsAddr()
576 LEA.addOperand(MCOperand::CreateReg(X86::EAX)); // dest in LowerTlsAddr()
579 LEA.addOperand(MCOperand::CreateReg(X86::EBX)); // index in LowerTlsAddr()
587 prefix.setOpcode(X86::DATA16_PREFIX); in LowerTlsAddr()
589 prefix.setOpcode(X86::DATA16_PREFIX); in LowerTlsAddr()
591 prefix.setOpcode(X86::REX64_PREFIX); in LowerTlsAddr()
597 call.setOpcode(X86::CALL64pcrel32); in LowerTlsAddr()
599 call.setOpcode(X86::CALLpcrel32); in LowerTlsAddr()
626 case X86::Int_MemBarrier: in EmitInstruction()
632 case X86::EH_RETURN: in EmitInstruction()
633 case X86::EH_RETURN64: { in EmitInstruction()
640 case X86::TAILJMPr: in EmitInstruction()
641 case X86::TAILJMPd: in EmitInstruction()
642 case X86::TAILJMPd64: in EmitInstruction()
647 case X86::TLS_addr32: in EmitInstruction()
648 case X86::TLS_addr64: in EmitInstruction()
651 case X86::MOVPC32r: { in EmitInstruction()
661 TmpInst.setOpcode(X86::CALLpcrel32); in EmitInstruction()
672 TmpInst.setOpcode(X86::POP32r); in EmitInstruction()
678 case X86::ADD32ri: { in EmitInstruction()
705 TmpInst.setOpcode(X86::ADD32ri); in EmitInstruction()