Lines Matching defs:Memory
556 struct MemoryOp Memory;
682 // checks whether this operand is a memory operand computed as an offset
695 if(!Memory.OffsetImm || Memory.OffsetRegNum) return false;
696 if(Memory.BaseRegNum != ARM::PC) return false;
697 Val = Memory.OffsetImm->getValue();
1048 return Memory.OffsetRegNum == 0 && Memory.OffsetImm == nullptr &&
1049 (alignOK || Memory.Alignment == Alignment);
1052 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1055 if (Memory.BaseRegNum != ARM::PC)
1058 if (!Memory.OffsetImm) return true;
1059 int64_t Val = Memory.OffsetImm->getValue();
1125 if (!isMem() || Memory.Alignment != 0) return false;
1127 if (Memory.OffsetRegNum) return true;
1129 if (!Memory.OffsetImm) return true;
1130 int64_t Val = Memory.OffsetImm->getValue();
1147 if (!isMem() || Memory.Alignment != 0) return false;
1149 if (Memory.ShiftType != ARM_AM::no_shift) return false;
1151 if (Memory.OffsetRegNum) return true;
1153 if (!Memory.OffsetImm) return true;
1154 int64_t Val = Memory.OffsetImm->getValue();
1177 if (!isMem() || Memory.Alignment != 0) return false;
1179 if (Memory.OffsetRegNum) return false;
1181 if (!Memory.OffsetImm) return true;
1182 int64_t Val = Memory.OffsetImm->getValue();
1187 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative ||
1188 Memory.ShiftType != ARM_AM::no_shift || Memory.Alignment != 0)
1193 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative ||
1194 Memory.ShiftType != ARM_AM::lsl || Memory.ShiftImm != 1 ||
1195 Memory.Alignment != 0 )
1200 if (!isMem() || !Memory.OffsetRegNum || Memory.Alignment != 0)
1205 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative ||
1206 Memory.Alignment != 0)
1209 if (Memory.ShiftType == ARM_AM::no_shift)
1211 if (Memory.ShiftType != ARM_AM::lsl || Memory.ShiftImm > 3)
1218 if (!isMem() || !Memory.OffsetRegNum || Memory.isNegative ||
1219 Memory.ShiftType != ARM_AM::no_shift || Memory.Alignment != 0)
1221 return isARMLowRegister(Memory.BaseRegNum) &&
1222 (!Memory.OffsetRegNum || isARMLowRegister(Memory.OffsetRegNum));
1225 if (!isMem() || Memory.OffsetRegNum != 0 ||
1226 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0)
1229 if (!Memory.OffsetImm) return true;
1230 int64_t Val = Memory.OffsetImm->getValue();
1234 if (!isMem() || Memory.OffsetRegNum != 0 ||
1235 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0)
1238 if (!Memory.OffsetImm) return true;
1239 int64_t Val = Memory.OffsetImm->getValue();
1243 if (!isMem() || Memory.OffsetRegNum != 0 ||
1244 !isARMLowRegister(Memory.BaseRegNum) || Memory.Alignment != 0)
1247 if (!Memory.OffsetImm) return true;
1248 int64_t Val = Memory.OffsetImm->getValue();
1252 if (!isMem() || Memory.OffsetRegNum != 0 ||
1253 Memory.BaseRegNum != ARM::SP || Memory.Alignment != 0)
1256 if (!Memory.OffsetImm) return true;
1257 int64_t Val = Memory.OffsetImm->getValue();
1266 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1269 if (!Memory.OffsetImm) return true;
1270 int64_t Val = Memory.OffsetImm->getValue();
1275 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1278 if (!Memory.OffsetImm) return true;
1279 int64_t Val = Memory.OffsetImm->getValue();
1283 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1286 if (Memory.BaseRegNum == ARM::PC) return false;
1288 if (!Memory.OffsetImm) return true;
1289 int64_t Val = Memory.OffsetImm->getValue();
1293 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1296 if (!Memory.OffsetImm) return true;
1297 int64_t Val = Memory.OffsetImm->getValue();
1301 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1304 if (Memory.BaseRegNum == ARM::PC) return false;
1306 if (!Memory.OffsetImm) return false;
1307 int64_t Val = Memory.OffsetImm->getValue();
1311 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1314 if (!Memory.OffsetImm) return true;
1315 int64_t Val = Memory.OffsetImm->getValue();
1325 if (!isMem() || Memory.OffsetRegNum != 0 || Memory.Alignment != 0)
1328 if (!Memory.OffsetImm) return true;
1329 int64_t Val = Memory.OffsetImm->getValue();
1950 assert(isa<MCConstantExpr>(Memory.OffsetImm) && "Unknown value type!");
1951 Inst.addOperand(MCOperand::createImm(Memory.OffsetImm->getValue()));
1966 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
1971 int32_t Imm = Memory.OffsetImm->getValue();
1993 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
1994 Inst.addOperand(MCOperand::createImm(Memory.Alignment));
2043 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2044 if (!Memory.OffsetRegNum) {
2053 Val = ARM_AM::getAM2Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add,
2054 Memory.ShiftImm, Memory.ShiftType);
2056 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2057 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2087 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2088 if (!Memory.OffsetRegNum) {
2097 Val = ARM_AM::getAM3Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add, 0);
2099 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2100 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2138 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() / 4 : 0;
2144 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2159 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2160 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2167 int32_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() / 4 : 0;
2168 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2174 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2175 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2196 // Otherwise, it's a normal memory reg+offset.
2197 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2198 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2211 // Otherwise, it's a normal memory reg+offset.
2212 int64_t Val = Memory.OffsetImm ? Memory.OffsetImm->getValue() : 0;
2213 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2219 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2220 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2225 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2226 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2232 ARM_AM::getAM2Opc(Memory.isNegative ? ARM_AM::sub : ARM_AM::add,
2233 Memory.ShiftImm, Memory.ShiftType);
2234 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2235 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2241 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2242 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2243 Inst.addOperand(MCOperand::createImm(Memory.ShiftImm));
2248 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2249 Inst.addOperand(MCOperand::createReg(Memory.OffsetRegNum));
2254 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 4) : 0;
2255 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2261 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 2) : 0;
2262 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2268 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue()) : 0;
2269 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2275 int64_t Val = Memory.OffsetImm ? (Memory.OffsetImm->getValue() / 4) : 0;
2276 Inst.addOperand(MCOperand::createReg(Memory.BaseRegNum));
2692 Op->Memory.BaseRegNum = BaseRegNum;
2693 Op->Memory.OffsetImm = OffsetImm;
2694 Op->Memory.OffsetRegNum = OffsetRegNum;
2695 Op->Memory.ShiftType = ShiftType;
2696 Op->Memory.ShiftImm = ShiftImm;
2697 Op->Memory.Alignment = Alignment;
2698 Op->Memory.isNegative = isNegative;
2806 OS << "<memory "
2807 << " base:" << Memory.BaseRegNum;
4692 /// Parse an ARM memory expression, return false if successful else return true
4711 return Error(Tok.getLoc(), "malformed memory operand");
4732 "Lost colon or comma in memory operand?!");
4747 // The expression has to be a constant. Memory references with relocations
4803 // The expression has to be a constant. Memory references with relocations