Lines Matching refs:opcode
91 bool opcode_is_wide = IS_WIDE(lir->opcode); in GetLoadStoreSize()
92 ArmOpcode opcode = UNWIDE(lir->opcode); in GetLoadStoreSize() local
93 DCHECK(!IsPseudoLirOp(opcode)); in GetLoadStoreSize()
94 const ArmEncodingMap *encoder = &EncodingMap[opcode]; in GetLoadStoreSize()
101 uint64_t check_flags = GetTargetInstFlags(lir->opcode); in GetInstructionOffset()
334 bool Arm64Mir2Lir::InexpensiveConstantInt(int32_t value, Instruction::Code opcode) { in InexpensiveConstantInt() argument
335 switch (opcode) { in InexpensiveConstantInt()
418 ArmOpcode opcode = LIKELY(low_bits == 0) ? kA64Mov2rr : kA64Mvn2rr; in LoadConstantNoClobber() local
419 res = NewLIR2(opcode, r_dest.GetReg(), rwzr); in LoadConstantNoClobber()
469 ArmOpcode opcode = LIKELY(value == 0) ? WIDE(kA64Mov2rr) : WIDE(kA64Mvn2rr); in LoadConstantWide() local
470 return NewLIR2(opcode, r_dest.GetReg(), rxzr); in LoadConstantWide()
551 ArmOpcode opcode = kA64Brk1d; in OpReg() local
554 opcode = kA64Blr1x; in OpReg()
563 return NewLIR1(opcode, r_dest_src.GetReg()); in OpReg()
569 ArmOpcode opcode = kA64Brk1d; in OpRegRegShift() local
573 opcode = kA64Cmn3rro; in OpRegRegShift()
576 opcode = kA64Cmp3rro; in OpRegRegShift()
579 opcode = kA64Mov2rr; in OpRegRegShift()
582 opcode = kA64Mvn2rr; in OpRegRegShift()
585 opcode = kA64Neg3rro; in OpRegRegShift()
588 opcode = kA64Tst3rro; in OpRegRegShift()
619 DCHECK(!IsPseudoLirOp(opcode)); in OpRegRegShift()
620 if (EncodingMap[opcode].flags & IS_BINARY_OP) { in OpRegRegShift()
622 return NewLIR2(opcode | wide, r_dest_src1.GetReg(), r_src2.GetReg()); in OpRegRegShift()
623 } else if (EncodingMap[opcode].flags & IS_TERTIARY_OP) { in OpRegRegShift()
624 ArmEncodingKind kind = EncodingMap[opcode].field_loc[2].kind; in OpRegRegShift()
626 return NewLIR3(opcode | wide, r_dest_src1.GetReg(), r_src2.GetReg(), shift); in OpRegRegShift()
637 ArmOpcode opcode = kA64Brk1d; in OpRegRegExtend() local
641 opcode = kA64Cmn3Rre; in OpRegRegExtend()
644 opcode = kA64Cmp3Rre; in OpRegRegExtend()
652 LOG(FATAL) << "Bad Opcode: " << opcode; in OpRegRegExtend()
656 DCHECK(!IsPseudoLirOp(opcode)); in OpRegRegExtend()
657 if (EncodingMap[opcode].flags & IS_TERTIARY_OP) { in OpRegRegExtend()
658 ArmEncodingKind kind = EncodingMap[opcode].field_loc[2].kind; in OpRegRegExtend()
660 return NewLIR3(opcode | wide, r_dest_src1.GetReg(), r_src2.GetReg(), in OpRegRegExtend()
697 ArmOpcode opcode = kA64Brk1d; in OpRegRegRegShift() local
701 opcode = kA64Add4rrro; in OpRegRegRegShift()
704 opcode = kA64Sub4rrro; in OpRegRegRegShift()
710 opcode = kA64Adc3rrr; in OpRegRegRegShift()
713 opcode = kA64And4rrro; in OpRegRegRegShift()
716 opcode = kA64Eor4rrro; in OpRegRegRegShift()
719 opcode = kA64Mul3rrr; in OpRegRegRegShift()
722 opcode = kA64Sdiv3rrr; in OpRegRegRegShift()
725 opcode = kA64Orr4rrro; in OpRegRegRegShift()
728 opcode = kA64Sbc3rrr; in OpRegRegRegShift()
731 opcode = kA64Lsl3rrr; in OpRegRegRegShift()
734 opcode = kA64Lsr3rrr; in OpRegRegRegShift()
737 opcode = kA64Asr3rrr; in OpRegRegRegShift()
740 opcode = kA64Ror3rrr; in OpRegRegRegShift()
750 ArmOpcode widened_opcode = r_dest.Is64Bit() ? WIDE(opcode) : opcode; in OpRegRegRegShift()
753 if (EncodingMap[opcode].flags & IS_QUAD_OP) { in OpRegRegRegShift()
757 DCHECK(EncodingMap[opcode].flags & IS_TERTIARY_OP); in OpRegRegRegShift()
765 ArmOpcode opcode = kA64Brk1d; in OpRegRegRegExtend() local
769 opcode = kA64Add4RRre; in OpRegRegRegExtend()
772 opcode = kA64Sub4RRre; in OpRegRegRegExtend()
778 ArmOpcode widened_opcode = r_dest.Is64Bit() ? WIDE(opcode) : opcode; in OpRegRegRegExtend()
813 ArmOpcode opcode = kA64Brk1d; in OpRegRegImm64() local
844 opcode = (neg) ? kA64Add4RRdT : kA64Sub4RRdT; in OpRegRegImm64()
845 return NewLIR4(opcode | wide, r_dest.GetReg(), r_src1.GetReg(), abs_value, 0); in OpRegRegImm64()
847 opcode = (neg) ? kA64Add4RRdT : kA64Sub4RRdT; in OpRegRegImm64()
848 return NewLIR4(opcode | wide, r_dest.GetReg(), r_src1.GetReg(), abs_value >> 12, 1); in OpRegRegImm64()
862 opcode = kA64Orr3Rrl; in OpRegRegImm64()
867 opcode = kA64And3Rrl; in OpRegRegImm64()
872 opcode = kA64Eor3Rrl; in OpRegRegImm64()
886 return NewLIR3(opcode | wide, r_dest.GetReg(), r_src1.GetReg(), log_imm); in OpRegRegImm64()
941 ArmOpcode opcode = kA64Brk1d; in OpRegImm64() local
983 opcode = kA64Add4RRdT; in OpRegImm64()
987 opcode = kA64Sub4RRdT; in OpRegImm64()
991 opcode = kA64Cmp3RdT; in OpRegImm64()
999 opcode = neg_opcode; in OpRegImm64()
1001 if (EncodingMap[opcode].flags & IS_QUAD_OP) in OpRegImm64()
1002 return NewLIR4(opcode | wide, r_dest_src1.GetReg(), r_dest_src1.GetReg(), abs_value, in OpRegImm64()
1005 return NewLIR3(opcode | wide, r_dest_src1.GetReg(), abs_value, (shift) ? 1 : 0); in OpRegImm64()
1028 ArmOpcode opcode = kA64Brk1d; in LoadBaseIndexed() local
1043 opcode = FWIDE(kA64Ldr4fXxG); in LoadBaseIndexed()
1048 opcode = kA64Ldr4fXxG; in LoadBaseIndexed()
1052 return NewLIR4(opcode, r_dest.GetReg(), r_base.GetReg(), r_index.GetReg(), in LoadBaseIndexed()
1061 opcode = WIDE(kA64Ldr4rXxG); in LoadBaseIndexed()
1068 opcode = kA64Ldr4rXxG; in LoadBaseIndexed()
1073 opcode = kA64Ldrh4wXxd; in LoadBaseIndexed()
1078 opcode = kA64Ldrsh4rXxd; in LoadBaseIndexed()
1083 opcode = kA64Ldrb3wXx; in LoadBaseIndexed()
1087 opcode = kA64Ldrsb3rXx; in LoadBaseIndexed()
1095 DCHECK_NE(EncodingMap[UNWIDE(opcode)].flags & IS_TERTIARY_OP, 0U); in LoadBaseIndexed()
1097 load = NewLIR3(opcode, r_dest.GetReg(), r_base.GetReg(), r_index.GetReg()); in LoadBaseIndexed()
1100 load = NewLIR4(opcode, r_dest.GetReg(), r_base.GetReg(), r_index.GetReg(), in LoadBaseIndexed()
1116 ArmOpcode opcode = kA64Brk1d; in StoreBaseIndexed() local
1131 opcode = FWIDE(kA64Str4fXxG); in StoreBaseIndexed()
1136 opcode = kA64Str4fXxG; in StoreBaseIndexed()
1140 return NewLIR4(opcode, r_src.GetReg(), r_base.GetReg(), r_index.GetReg(), in StoreBaseIndexed()
1149 opcode = WIDE(kA64Str4rXxG); in StoreBaseIndexed()
1156 opcode = kA64Str4rXxG; in StoreBaseIndexed()
1162 opcode = kA64Strh4wXxd; in StoreBaseIndexed()
1168 opcode = kA64Strb3wXx; in StoreBaseIndexed()
1176 DCHECK_NE(EncodingMap[UNWIDE(opcode)].flags & IS_TERTIARY_OP, 0U); in StoreBaseIndexed()
1178 store = NewLIR3(opcode, r_src.GetReg(), r_base.GetReg(), r_index.GetReg()); in StoreBaseIndexed()
1180 store = NewLIR4(opcode, r_src.GetReg(), r_base.GetReg(), r_index.GetReg(), in StoreBaseIndexed()
1200 ArmOpcode opcode = kA64Brk1d; in LoadBaseDispBody() local
1212 opcode = FWIDE(kA64Ldr3fXD); in LoadBaseDispBody()
1215 opcode = WIDE(kA64Ldr3rXD); in LoadBaseDispBody()
1226 opcode = kA64Ldr3fXD; in LoadBaseDispBody()
1228 opcode = kA64Ldr3rXD; in LoadBaseDispBody()
1233 opcode = kA64Ldrh3wXF; in LoadBaseDispBody()
1237 opcode = kA64Ldrsh3rXF; in LoadBaseDispBody()
1240 opcode = kA64Ldrb3wXd; in LoadBaseDispBody()
1243 opcode = kA64Ldrsb3rXd; in LoadBaseDispBody()
1253 load = NewLIR3(opcode, r_dest.GetReg(), r_base.GetReg(), scaled_disp); in LoadBaseDispBody()
1297 ArmOpcode opcode = kA64Brk1d; in StoreBaseDispBody() local
1309 opcode = FWIDE(kA64Str3fXD); in StoreBaseDispBody()
1312 opcode = FWIDE(kA64Str3rXD); in StoreBaseDispBody()
1323 opcode = kA64Str3fXD; in StoreBaseDispBody()
1325 opcode = kA64Str3rXD; in StoreBaseDispBody()
1331 opcode = kA64Strh3wXF; in StoreBaseDispBody()
1335 opcode = kA64Strb3wXd; in StoreBaseDispBody()
1345 store = NewLIR3(opcode, r_src.GetReg(), r_base.GetReg(), scaled_disp); in StoreBaseDispBody()