Lines Matching refs:Memory
814 struct MemoryOp Memory; member
986 if(!Memory.OffsetImm || Memory.OffsetRegNum) return false; in isThumbMemPC()
987 if(Memory.BaseRegNum != ARM::PC) return false; in isThumbMemPC()
988 Val = Memory.OffsetImm->getValue(); in isThumbMemPC()
1179 if (Memory.BaseRegNum && in isMem()
1180 !ARMMCRegisterClasses[ARM::GPRRegClassID].contains(Memory.BaseRegNum)) in isMem()
1182 if (Memory.OffsetRegNum && in isMem()
1183 !ARMMCRegisterClasses[ARM::GPRRegClassID].contains(Memory.OffsetRegNum)) in isMem()
1249 return Memory.OffsetRegNum == 0 && Memory.OffsetImm == nullptr && in isMemNoOffset()
1250 (alignOK || Memory.Alignment == Alignment); in isMemNoOffset()
1253 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemPCRelImm12()
1256 if (Memory.BaseRegNum != ARM::PC) in isMemPCRelImm12()
1259 if (!Memory.OffsetImm) return true; in isMemPCRelImm12()
1260 int64_t Val = Memory.OffsetImm->getValue(); in isMemPCRelImm12()
1340 if (!isMem() || Memory.Alignment != 0) return false; in isAddrMode2()
1342 if (Memory.OffsetRegNum) return true; in isAddrMode2()
1344 if (!Memory.OffsetImm) return true; in isAddrMode2()
1345 int64_t Val = Memory.OffsetImm->getValue(); in isAddrMode2()
1365 if (!isMem() || Memory.Alignment != 0) return false; in isAddrMode3()
1367 if (Memory.ShiftType != ARM_AM::no_shift) return false; in isAddrMode3()
1369 if (Memory.OffsetRegNum) return true; in isAddrMode3()
1371 if (!Memory.OffsetImm) return true; in isAddrMode3()
1372 int64_t Val = Memory.OffsetImm->getValue(); in isAddrMode3()
1399 if (!isMem() || Memory.Alignment != 0) return false; in isAddrMode5()
1401 if (Memory.OffsetRegNum) return false; in isAddrMode5()
1403 if (!Memory.OffsetImm) return true; in isAddrMode5()
1404 int64_t Val = Memory.OffsetImm->getValue(); in isAddrMode5()
1415 if (!isMem() || Memory.Alignment != 0) return false; in isAddrMode5FP16()
1417 if (Memory.OffsetRegNum) return false; in isAddrMode5FP16()
1419 if (!Memory.OffsetImm) return true; in isAddrMode5FP16()
1420 int64_t Val = Memory.OffsetImm->getValue(); in isAddrMode5FP16()
1426 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative || in isMemTBB()
1427 Memory.ShiftType != ARM_AM::no_shift || Memory.Alignment != 0) in isMemTBB()
1433 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative || in isMemTBH()
1434 Memory.ShiftType != ARM_AM::lsl || Memory.ShiftImm != 1 || in isMemTBH()
1435 Memory.Alignment != 0 ) in isMemTBH()
1441 if (!isMem() || !Memory.OffsetRegNum || Memory.Alignment != 0) in isMemRegOffset()
1447 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative || in isT2MemRegOffset()
1448 Memory.Alignment != 0 || Memory.BaseRegNum == ARM::PC) in isT2MemRegOffset()
1451 if (Memory.ShiftType == ARM_AM::no_shift) in isT2MemRegOffset()
1453 if (Memory.ShiftType != ARM_AM::lsl || Memory.ShiftImm > 3) in isT2MemRegOffset()
1461 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative || in isMemThumbRR()
1462 Memory.ShiftType != ARM_AM::no_shift || Memory.Alignment != 0) in isMemThumbRR()
1464 return isARMLowRegister(Memory.BaseRegNum) && in isMemThumbRR()
1465 (!Memory.OffsetRegNum || isARMLowRegister(Memory.OffsetRegNum)); in isMemThumbRR()
1469 if (!isMem() || Memory.OffsetRegNum != 0 || in isMemThumbRIs4()
1470 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0) in isMemThumbRIs4()
1473 if (!Memory.OffsetImm) return true; in isMemThumbRIs4()
1474 int64_t Val = Memory.OffsetImm->getValue(); in isMemThumbRIs4()
1479 if (!isMem() || Memory.OffsetRegNum != 0 || in isMemThumbRIs2()
1480 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0) in isMemThumbRIs2()
1483 if (!Memory.OffsetImm) return true; in isMemThumbRIs2()
1484 int64_t Val = Memory.OffsetImm->getValue(); in isMemThumbRIs2()
1489 if (!isMem() || Memory.OffsetRegNum != 0 || in isMemThumbRIs1()
1490 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0) in isMemThumbRIs1()
1493 if (!Memory.OffsetImm) return true; in isMemThumbRIs1()
1494 int64_t Val = Memory.OffsetImm->getValue(); in isMemThumbRIs1()
1499 if (!isMem() || Memory.OffsetRegNum != 0 || in isMemThumbSPI()
1500 Memory.BaseRegNum != ARM::SP || Memory.Alignment != 0) in isMemThumbSPI()
1503 if (!Memory.OffsetImm) return true; in isMemThumbSPI()
1504 int64_t Val = Memory.OffsetImm->getValue(); in isMemThumbSPI()
1514 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemImm8s4Offset()
1517 if (!Memory.OffsetImm) return true; in isMemImm8s4Offset()
1518 int64_t Val = Memory.OffsetImm->getValue(); in isMemImm8s4Offset()
1525 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemImm0_1020s4Offset()
1528 if (!Memory.OffsetImm) return true; in isMemImm0_1020s4Offset()
1529 int64_t Val = Memory.OffsetImm->getValue(); in isMemImm0_1020s4Offset()
1534 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemImm8Offset()
1537 if (Memory.BaseRegNum == ARM::PC) return false; in isMemImm8Offset()
1539 if (!Memory.OffsetImm) return true; in isMemImm8Offset()
1540 int64_t Val = Memory.OffsetImm->getValue(); in isMemImm8Offset()
1546 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemPosImm8Offset()
1549 if (!Memory.OffsetImm) return true; in isMemPosImm8Offset()
1550 int64_t Val = Memory.OffsetImm->getValue(); in isMemPosImm8Offset()
1555 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemNegImm8Offset()
1558 if (Memory.BaseRegNum == ARM::PC) return false; in isMemNegImm8Offset()
1560 if (!Memory.OffsetImm) return false; in isMemNegImm8Offset()
1561 int64_t Val = Memory.OffsetImm->getValue(); in isMemNegImm8Offset()
1567 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemUImm12Offset()
1570 if (!Memory.OffsetImm) return true; in isMemUImm12Offset()
1571 int64_t Val = Memory.OffsetImm->getValue(); in isMemUImm12Offset()
1583 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0) in isMemImm12Offset()
1586 if (!Memory.OffsetImm) return true; in isMemImm12Offset()
1587 int64_t Val = Memory.OffsetImm->getValue(); in isMemImm12Offset()
2297 assert(isa<MCConstantExpr>(Memory.OffsetImm) && "Unknown value type!"); in addThumbMemPCOperands()
2298 Inst.addOperand(MCOperand::createImm(Memory.OffsetImm->getValue())); in addThumbMemPCOperands()
2318 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemNoOffsetOperands()
2323 int32_t Imm = Memory.OffsetImm->getValue(); in addMemPCRelImm12Operands()
2345 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addAlignedMemoryOperands()
2346 Inst.addOperand(MCOperand::createImm(Memory.Alignment)); in addAlignedMemoryOperands()
2395 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addAddrMode2Operands()
2396 if (!Memory.OffsetRegNum) { in addAddrMode2Operands()
2405 Val = ARM_AM::getAM2Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add, in addAddrMode2Operands()
2406 Memory.ShiftImm, Memory.ShiftType); in addAddrMode2Operands()
2408 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addAddrMode2Operands()
2409 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addAddrMode2Operands()
2439 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addAddrMode3Operands()
2440 if (!Memory.OffsetRegNum) { in addAddrMode3Operands()
2449 Val = ARM_AM::getAM3Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add, 0); in addAddrMode3Operands()
2451 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addAddrMode3Operands()
2452 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addAddrMode3Operands()
2490 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() / 4 : 0; in addAddrMode5Operands()
2496 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addAddrMode5Operands()
2512 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() / 2 : 0; in addAddrMode5FP16Operands()
2518 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addAddrMode5FP16Operands()
2533 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addMemImm8s4OffsetOperands()
2534 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemImm8s4OffsetOperands()
2541 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() / 4 : 0; in addMemImm0_1020s4OffsetOperands()
2542 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemImm0_1020s4OffsetOperands()
2548 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addMemImm8OffsetOperands()
2549 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemImm8OffsetOperands()
2571 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addMemUImm12OffsetOperands()
2572 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemUImm12OffsetOperands()
2586 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0; in addMemImm12OffsetOperands()
2587 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemImm12OffsetOperands()
2601 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemTBBOperands()
2602 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addMemTBBOperands()
2607 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemTBHOperands()
2608 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addMemTBHOperands()
2614 ARM_AM::getAM2Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add, in addMemRegOffsetOperands()
2615 Memory.ShiftImm, Memory.ShiftType); in addMemRegOffsetOperands()
2616 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemRegOffsetOperands()
2617 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addMemRegOffsetOperands()
2623 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addT2MemRegOffsetOperands()
2624 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addT2MemRegOffsetOperands()
2625 Inst.addOperand(MCOperand::createImm(Memory.ShiftImm)); in addT2MemRegOffsetOperands()
2630 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemThumbRROperands()
2631 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum)); in addMemThumbRROperands()
2636 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 4) : 0; in addMemThumbRIs4Operands()
2637 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemThumbRIs4Operands()
2643 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 2) : 0; in addMemThumbRIs2Operands()
2644 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemThumbRIs2Operands()
2650 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue()) : 0; in addMemThumbRIs1Operands()
2651 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemThumbRIs1Operands()
2657 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 4) : 0; in addMemThumbSPIOperands()
2658 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum)); in addMemThumbSPIOperands()
3127 Op->Memory.BaseRegNum = BaseRegNum; in CreateMem()
3128 Op->Memory.OffsetImm = OffsetImm; in CreateMem()
3129 Op->Memory.OffsetRegNum = OffsetRegNum; in CreateMem()
3130 Op->Memory.ShiftType = ShiftType; in CreateMem()
3131 Op->Memory.ShiftImm = ShiftImm; in CreateMem()
3132 Op->Memory.Alignment = Alignment; in CreateMem()
3133 Op->Memory.isNegative = isNegative; in CreateMem()
3263 if (Memory.BaseRegNum) in print()
3264 OS << " base:" << RegName(Memory.BaseRegNum); in print()
3265 if (Memory.OffsetImm) in print()
3266 OS << " offset-imm:" << *Memory.OffsetImm; in print()
3267 if (Memory.OffsetRegNum) in print()
3268 OS << " offset-reg:" << (Memory.isNegative ? "-" : "") in print()
3269 << RegName(Memory.OffsetRegNum); in print()
3270 if (Memory.ShiftType != ARM_AM::no_shift) { in print()
3271 OS << " shift-type:" << ARM_AM::getShiftOpcStr(Memory.ShiftType); in print()
3272 OS << " shift-imm:" << Memory.ShiftImm; in print()
3274 if (Memory.Alignment) in print()
3275 OS << " alignment:" << Memory.Alignment; in print()