Lines Matching defs:registers
4775 RegisterList registers) {
4779 // LDM{<c>}{<q>} <Rn>{!}, <registers> ; T1
4781 (((registers.GetList() & (1 << rn.GetCode())) == 0) ==
4783 ((registers.GetList() & ~0xff) == 0)) {
4785 GetRegisterListEncoding(registers, 0, 8));
4789 // LDM{<c>}{<q>} SP!, <registers> ; T1
4791 registers.IsR0toR7orPC()) {
4792 EmitT32_16(0xbc00 | (GetRegisterListEncoding(registers, 15, 1) << 8) |
4793 GetRegisterListEncoding(registers, 0, 8));
4797 // LDM{<c>}{<q>} <Rn>{!}, <registers> ; T2
4798 if (!size.IsNarrow() && ((registers.GetList() & ~0xdfff) == 0) &&
4802 (GetRegisterListEncoding(registers, 15, 1) << 15) |
4803 (GetRegisterListEncoding(registers, 14, 1) << 14) |
4804 GetRegisterListEncoding(registers, 0, 13));
4809 // LDM{<c>}{<q>} <Rn>{!}, <registers> ; A1
4813 GetRegisterListEncoding(registers, 0, 16));
4817 Delegate(kLdm, &Assembler::ldm, cond, size, rn, write_back, registers);
4823 RegisterList registers) {
4827 // LDMDA{<c>}{<q>} <Rn>{!}, <registers> ; A1
4831 GetRegisterListEncoding(registers, 0, 16));
4835 Delegate(kLdmda, &Assembler::ldmda, cond, rn, write_back, registers);
4841 RegisterList registers) {
4845 // LDMDB{<c>}{<q>} <Rn>{!}, <registers> ; T1
4846 if (((registers.GetList() & ~0xdfff) == 0) &&
4850 (GetRegisterListEncoding(registers, 15, 1) << 15) |
4851 (GetRegisterListEncoding(registers, 14, 1) << 14) |
4852 GetRegisterListEncoding(registers, 0, 13));
4857 // LDMDB{<c>}{<q>} <Rn>{!}, <registers> ; A1
4861 GetRegisterListEncoding(registers, 0, 16));
4865 Delegate(kLdmdb, &Assembler::ldmdb, cond, rn, write_back, registers);
4871 RegisterList registers) {
4875 // LDMEA{<c>}{<q>} <Rn>{!}, <registers> ; T1
4876 if (((registers.GetList() & ~0xdfff) == 0) &&
4880 (GetRegisterListEncoding(registers, 15, 1) << 15) |
4881 (GetRegisterListEncoding(registers, 14, 1) << 14) |
4882 GetRegisterListEncoding(registers, 0, 13));
4887 // LDMEA{<c>}{<q>} <Rn>{!}, <registers> ; A1
4891 GetRegisterListEncoding(registers, 0, 16));
4895 Delegate(kLdmea, &Assembler::ldmea, cond, rn, write_back, registers);
4901 RegisterList registers) {
4905 // LDMED{<c>}{<q>} <Rn>{!}, <registers> ; A1
4909 GetRegisterListEncoding(registers, 0, 16));
4913 Delegate(kLdmed, &Assembler::ldmed, cond, rn, write_back, registers);
4919 RegisterList registers) {
4923 // LDMFA{<c>}{<q>} <Rn>{!}, <registers> ; A1
4927 GetRegisterListEncoding(registers, 0, 16));
4931 Delegate(kLdmfa, &Assembler::ldmfa, cond, rn, write_back, registers);
4938 RegisterList registers) {
4942 // LDMFD{<c>}{<q>} <Rn>{!}, <registers> ; T1
4944 (((registers.GetList() & (1 << rn.GetCode())) == 0) ==
4946 ((registers.GetList() & ~0xff) == 0)) {
4948 GetRegisterListEncoding(registers, 0, 8));
4952 // LDMFD{<c>}{<q>} <Rn>{!}, <registers> ; T2
4953 if (!size.IsNarrow() && ((registers.GetList() & ~0xdfff) == 0) &&
4957 (GetRegisterListEncoding(registers, 15, 1) << 15) |
4958 (GetRegisterListEncoding(registers, 14, 1) << 14) |
4959 GetRegisterListEncoding(registers, 0, 13));
4964 // LDMFD{<c>}{<q>} <Rn>{!}, <registers> ; A1
4968 GetRegisterListEncoding(registers, 0, 16));
4972 Delegate(kLdmfd, &Assembler::ldmfd, cond, size, rn, write_back, registers);
4978 RegisterList registers) {
4982 // LDMIB{<c>}{<q>} <Rn>{!}, <registers> ; A1
4986 GetRegisterListEncoding(registers, 0, 16));
4990 Delegate(kLdmib, &Assembler::ldmib, cond, rn, write_back, registers);
8480 void Assembler::pop(Condition cond, EncodingSize size, RegisterList registers) {
8483 if (!registers.IsEmpty() || AllowUnpredictable()) {
8487 if (!registers.Includes(pc) || OutsideITBlockAndAlOrLast(cond) ||
8489 // POP{<c>}{<q>} <registers> ; T1
8490 if (!size.IsWide() && registers.IsR0toR7orPC()) {
8491 EmitT32_16(0xbc00 | (GetRegisterListEncoding(registers, 15, 1) << 8) |
8492 GetRegisterListEncoding(registers, 0, 8));
8496 // POP{<c>}{<q>} <registers> ; T2
8497 // Alias of: LDM{<c>}{<q>} SP!, <registers> ; T2
8499 ((!registers.Includes(sp) && (registers.GetCount() > 1) &&
8500 !(registers.Includes(pc) && registers.Includes(lr))) ||
8502 EmitT32_32(0xe8bd0000U | GetRegisterListEncoding(registers, 0, 16));
8508 // POP{<c>}{<q>} <registers> ; A1
8509 // Alias of: LDM{<c>}{<q>} SP!, <registers> ; A1
8511 (!registers.Includes(sp) || AllowUnpredictable())) {
8513 GetRegisterListEncoding(registers, 0, 16));
8518 Delegate(kPop, &Assembler::pop, cond, size, registers);
8549 RegisterList registers) {
8552 if (!registers.IsEmpty() || AllowUnpredictable()) {
8554 // PUSH{<c>}{<q>} <registers> ; T1
8555 if (!size.IsWide() && registers.IsR0toR7orLR()) {
8556 EmitT32_16(0xb400 | (GetRegisterListEncoding(registers, 14, 1) << 8) |
8557 GetRegisterListEncoding(registers, 0, 8));
8561 // PUSH{<c>}{<q>} <registers> ; T1
8562 // Alias of: STMDB SP!, <registers> ; T1
8563 if (!size.IsNarrow() && !registers.Includes(pc) &&
8564 ((!registers.Includes(sp) && (registers.GetCount() > 1)) ||
8566 EmitT32_32(0xe92d0000U | GetRegisterListEncoding(registers, 0, 15));
8571 // PUSH{<c>}{<q>} <registers> ; A1
8572 // Alias of: STMDB SP!, <registers> ; A1
8576 (!registers.Includes(sp) ||
8577 registers.GetFirstAvailableRegister().IsSP() ||
8580 GetRegisterListEncoding(registers, 0, 16));
8585 Delegate(kPush, &Assembler::push, cond, size, registers);
11154 RegisterList registers) {
11158 // STM{<c>}{<q>} <Rn>!, <registers> ; T1
11160 ((registers.GetList() & ~0xff) == 0)) {
11162 GetRegisterListEncoding(registers, 0, 8));
11166 // STM{<c>}{<q>} <Rn>{!}, <registers> ; T2
11167 if (!size.IsNarrow() && ((registers.GetList() & ~0x5fff) == 0) &&
11171 (GetRegisterListEncoding(registers, 14, 1) << 14) |
11172 GetRegisterListEncoding(registers, 0, 13));
11177 // STM{<c>}{<q>} <Rn>{!}, <registers> ; A1
11181 GetRegisterListEncoding(registers, 0, 16));
11185 Delegate(kStm, &Assembler::stm, cond, size, rn, write_back, registers);
11191 RegisterList registers) {
11195 // STMDA{<c>}{<q>} <Rn>{!}, <registers> ; A1
11199 GetRegisterListEncoding(registers, 0, 16));
11203 Delegate(kStmda, &Assembler::stmda, cond, rn, write_back, registers);
11210 RegisterList registers) {
11214 // STMDB{<c>}{<q>} SP!, <registers> ; T1
11216 registers.IsR0toR7orLR()) {
11217 EmitT32_16(0xb400 | (GetRegisterListEncoding(registers, 14, 1) << 8) |
11218 GetRegisterListEncoding(registers, 0, 8));
11222 // STMDB{<c>}{<q>} <Rn>{!}, <registers> ; T1
11223 if (!size.IsNarrow() && ((registers.GetList() & ~0x5fff) == 0) &&
11227 (GetRegisterListEncoding(registers, 14, 1) << 14) |
11228 GetRegisterListEncoding(registers, 0, 13));
11233 // STMDB{<c>}{<q>} <Rn>{!}, <registers> ; A1
11237 GetRegisterListEncoding(registers, 0, 16));
11241 Delegate(kStmdb, &Assembler::stmdb, cond, size, rn, write_back, registers);
11248 RegisterList registers) {
11252 // STMEA{<c>}{<q>} <Rn>!, <registers> ; T1
11254 ((registers.GetList() & ~0xff) == 0)) {
11256 GetRegisterListEncoding(registers, 0, 8));
11260 // STMEA{<c>}.W <Rn>{!}, <registers> ; T2
11261 if (!size.IsNarrow() && ((registers.GetList() & ~0x5fff) == 0) &&
11265 (GetRegisterListEncoding(registers, 14, 1) << 14) |
11266 GetRegisterListEncoding(registers, 0, 13));
11270 // STMEA{<c>}{<q>} <Rn>{!}, <registers> ; T2
11271 if (!size.IsNarrow() && ((registers.GetList() & ~0x5fff) == 0) &&
11275 (GetRegisterListEncoding(registers, 14, 1) << 14) |
11276 GetRegisterListEncoding(registers, 0, 13));
11281 // STMEA{<c>}{<q>} <Rn>{!}, <registers> ; A1
11285 GetRegisterListEncoding(registers, 0, 16));
11289 Delegate(kStmea, &Assembler::stmea, cond, size, rn, write_back, registers);
11295 RegisterList registers) {
11299 // STMED{<c>}{<q>} <Rn>{!}, <registers> ; A1
11303 GetRegisterListEncoding(registers, 0, 16));
11307 Delegate(kStmed, &Assembler::stmed, cond, rn, write_back, registers);
11313 RegisterList registers) {
11317 // STMFA{<c>}{<q>} <Rn>{!}, <registers> ; A1
11321 GetRegisterListEncoding(registers, 0, 16));
11325 Delegate(kStmfa, &Assembler::stmfa, cond, rn, write_back, registers);
11331 RegisterList registers) {
11335 // STMFD{<c>}{<q>} <Rn>{!}, <registers> ; T1
11336 if (((registers.GetList() & ~0x5fff) == 0) &&
11340 (GetRegisterListEncoding(registers, 14, 1) << 14) |
11341 GetRegisterListEncoding(registers, 0, 13));
11346 // STMFD{<c>}{<q>} <Rn>{!}, <registers> ; A1
11350 GetRegisterListEncoding(registers, 0, 16));
11354 Delegate(kStmfd, &Assembler::stmfd, cond, rn, write_back, registers);
11360 RegisterList registers) {
11364 // STMIB{<c>}{<q>} <Rn>{!}, <registers> ; A1
11368 GetRegisterListEncoding(registers, 0, 16));
11372 Delegate(kStmib, &Assembler::stmib, cond, rn, write_back, registers);