Home | History | Annotate | Download | only in arm

Lines Matching defs:Instr

25 inline int DecodeConstantPoolLength(int instr) {
26 ASSERT((instr & kConstantPoolMarkerMask) == kConstantPoolMarker);
27 return ((instr >> 4) & 0xfff0) | (instr & 0xf);
55 // General constants are in an anonymous enum in class Instr.
120 // Instr is merely used by the Assembler to distinguish 32bit integers
124 typedef int32_t Instr;
415 extern const Instr kPopInstruction;
419 extern const Instr kPushRegPattern;
423 extern const Instr kPopRegPattern;
426 extern const Instr kMovLrPc;
428 extern const Instr kLdrPCMask;
429 extern const Instr kLdrPCPattern;
431 extern const Instr kVldrDPCMask;
432 extern const Instr kVldrDPCPattern;
434 extern const Instr kBlxRegMask;
436 extern const Instr kBlxRegPattern;
438 extern const Instr kMovMvnMask;
439 extern const Instr kMovMvnPattern;
440 extern const Instr kMovMvnFlip;
441 extern const Instr kMovLeaveCCMask;
442 extern const Instr kMovLeaveCCPattern;
443 extern const Instr kMovwMask;
444 extern const Instr kMovwPattern;
445 extern const Instr kMovwLeaveCCFlip;
446 extern const Instr kCmpCmnMask;
447 extern const Instr kCmpCmnPattern;
448 extern const Instr kCmpCmnFlip;
449 extern const Instr kAddSubFlip;
450 extern const Instr kAndBicFlip;
453 extern const Instr kLdrRegFpOffsetPattern;
455 extern const Instr kStrRegFpOffsetPattern;
457 extern const Instr kLdrRegFpNegOffsetPattern;
459 extern const Instr kStrRegFpNegOffsetPattern;
461 extern const Instr kLdrStrInstrTypeMask;
462 extern const Instr kLdrStrInstrArgumentMask;
463 extern const Instr kLdrStrOffsetMask;
471 // Note that the Assembler uses typedef int32_t Instr.
477 // Instruction* instr = Instruction::At(ptr);
478 // int type = instr->TypeValue();
479 // return ((type == 0) || (type == 1)) && instr->HasS();
493 static inline return_type Name(Instr instr) { \
494 char* temp = reinterpret_cast<char*>(&instr); \
501 inline Instr InstructionBits() const {
502 return *reinterpret_cast<const Instr*>(this);
506 inline void SetInstructionBits(Instr value) {
507 *reinterpret_cast<Instr*>(this) = value;
528 static inline int Bit(Instr instr, int nr) {
529 return (instr >> nr) & 1;
533 static inline int Bits(Instrinstr, int hi, int lo) {
534 return (instr >> lo) & ((2 << (hi - lo)) - 1);
539 static inline int BitField(Instr instr, int hi, int lo) {
540 return instr & (((2 << (hi - lo)) - 1) << lo);
550 // e.g. if instr is the 'addgt r0, r1, r2' instruction, encoded as
551 // 0xC0810002 ConditionField(instr) will return 0xC0000000.
553 // e.g. if instr is the 'addgt r0, r1, r2' instruction, encoded as
554 // 0xC0810002 ConditionField(instr) will return 0xC.