Home | History | Annotate | Download | only in arm

Lines Matching defs:Instr

116 // General constants are in an anonymous enum in class Instr.
181 // Instr is merely used by the Assembler to distinguish 32bit integers
185 typedef int32_t Instr;
446 extern const Instr kPopInstruction;
450 extern const Instr kPushRegPattern;
454 extern const Instr kPopRegPattern;
457 extern const Instr kMovLrPc;
459 extern const Instr kLdrPCMask;
460 extern const Instr kLdrPCPattern;
462 extern const Instr kBlxRegMask;
464 extern const Instr kBlxRegPattern;
466 extern const Instr kMovMvnMask;
467 extern const Instr kMovMvnPattern;
468 extern const Instr kMovMvnFlip;
469 extern const Instr kMovLeaveCCMask;
470 extern const Instr kMovLeaveCCPattern;
471 extern const Instr kMovwMask;
472 extern const Instr kMovwPattern;
473 extern const Instr kMovwLeaveCCFlip;
474 extern const Instr kCmpCmnMask;
475 extern const Instr kCmpCmnPattern;
476 extern const Instr kCmpCmnFlip;
477 extern const Instr kAddSubFlip;
478 extern const Instr kAndBicFlip;
481 extern const Instr kLdrRegFpOffsetPattern;
483 extern const Instr kStrRegFpOffsetPattern;
485 extern const Instr kLdrRegFpNegOffsetPattern;
487 extern const Instr kStrRegFpNegOffsetPattern;
489 extern const Instr kLdrStrInstrTypeMask;
490 extern const Instr kLdrStrInstrArgumentMask;
491 extern const Instr kLdrStrOffsetMask;
499 // Note that the Assembler uses typedef int32_t Instr.
505 // Instruction* instr = Instruction::At(ptr);
506 // int type = instr->TypeValue();
507 // return ((type == 0) || (type == 1)) && instr->HasS();
521 static inline return_type Name(Instr instr) { \
522 char* temp = reinterpret_cast<char*>(&instr); \
529 inline Instr InstructionBits() const {
530 return *reinterpret_cast<const Instr*>(this);
534 inline void SetInstructionBits(Instr value) {
535 *reinterpret_cast<Instr*>(this) = value;
556 static inline int Bit(Instr instr, int nr) {
557 return (instr >> nr) & 1;
561 static inline int Bits(Instr instr, int hi, int lo) {
562 return (instr >> lo) & ((2 << (hi - lo)) - 1);
567 static inline int BitField(Instr instr, int hi, int lo) {
568 return instr & (((2 << (hi - lo)) - 1) << lo);
578 // e.g. if instr is the 'addgt r0, r1, r2' instruction, encoded as
579 // 0xC0810002 ConditionField(instr) will return 0xC0000000.
581 // e.g. if instr is the 'addgt r0, r1, r2' instruction, encoded as
582 // 0xC0810002 ConditionField(instr) will return 0xC.