Lines Matching defs:imm12
257 uint32_t imm12 = (instruction >> 8) & 0xfff;
259 args << '#' << ((imm12 << 4) | imm4);
364 int32_t ThumbExpand(int32_t imm12) {
365 if ((imm12 & 0xC00) == 0) {
366 switch ((imm12 >> 8) & 3) {
368 return imm12 & 0xFF;
370 return ((imm12 & 0xFF) << 16) | (imm12 & 0xFF);
372 return ((imm12 & 0xFF) << 24) | ((imm12 & 0xFF) << 8);
374 return ((imm12 & 0xFF) << 24) | ((imm12 & 0xFF) << 16) | ((imm12 & 0xFF) << 8) |
375 (imm12 & 0xFF);
378 uint32_t val = 0x80 | (imm12 & 0x7F);
379 int32_t rotate = (imm12 >> 7) & 0x1F;
1097 // ADD/SUB.W Rd, Rn #imm12 - 111 10 i1 0101 0 nnnn 0 iii dddd iiiiiiii
1103 uint32_t imm12 = (i << 11) | (imm3 << 8) | imm8;
1106 args << Rd << ", " << Rn << ", #" << imm12;
1110 DumpBranchTarget(args, instr_ptr + 4, (op3 == 0) ? imm12 : -imm12);
1280 // {ST,LD}RB Rt,[Rn,#+/-imm12] - 111 11 00 0 1 00 0 nnnn tttt 1 PUWii ii iiii
1287 uint32_t imm12 = instr & 0xFFF;
1288 args << Rt << ", [" << Rn << ",#" << imm12 << "]";
1304 // STRH Rt,[Rn,#+/-imm12] - 111 11 00 0 1 01 0 nnnn tttt 1 PUWii ii iiii
1311 uint32_t imm12 = instr & 0xFFF;
1312 args << Rt << ", [" << Rn << ",#" << imm12 << "]";
1373 // STR.W Rt, [Rn, #imm12] - 111 11 000 110 0 nnnn tttt iiiiiiiiiiii
1374 uint32_t imm12 = instr & 0xFFF;
1376 args << Rt << ", [" << Rn << ", #" << imm12 << "]";
1393 // |111|11| op2 | | | imm12 |
1399 // LDRH.W Rt, [Rn, #imm12] - 111 11 00 01 011 nnnn tttt iiiiiiiiiiii
1400 uint32_t imm12 = instr & 0xFFF;
1402 args << Rt << ", [" << Rn << ", #" << imm12 << "]";
1405 Thread::DumpThreadOffset<4>(args, imm12);
1408 lit_adr = RoundDown(lit_adr, 4) + 4 + imm12;
1412 // LDRSH.W Rt, [Rn, #imm12] - 111 11 00 11 011 nnnn tttt iiiiiiiiiiii
1413 // LDRSB.W Rt, [Rn, #imm12] - 111 11 00 11 001 nnnn tttt iiiiiiiiiiii
1414 uint32_t imm12 = instr & 0xFFF;
1416 args << Rt << ", [" << Rn << ", #" << imm12 << "]";
1419 Thread::DumpThreadOffset<4>(args, imm12);
1422 lit_adr = RoundDown(lit_adr, 4) + 4 + imm12;
1463 // |111|11| op2 | | | imm12 |
1469 // LDR.W Rt, [Rn, #imm12] - 111 11 00 00 101 nnnn tttt iiiiiiiiiiii
1470 // LDR.W Rt, [PC, #imm12] - 111 11 00 0x 101 1111 tttt iiiiiiiiiiii
1471 uint32_t imm12 = instr & 0xFFF;
1473 args << Rt << ", [" << Rn << ", #" << imm12 << "]";
1476 Thread::DumpThreadOffset<4>(args, imm12);
1479 lit_adr = RoundDown(lit_adr, 4) + 4 + imm12;