Lines Matching refs:r_dest

123 LIR* X86Mir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) {
125 if (r_dest.IsPair()) {
126 r_dest = r_dest.GetLow();
131 if (r_dest.IsFloat() || r_src.IsFloat())
132 return OpFpRegCopy(r_dest, r_src);
133 LIR* res = RawLIR(current_dalvik_offset_, r_dest.Is64Bit() ? kX86Mov64RR : kX86Mov32RR,
134 r_dest.GetReg(), r_src.GetReg());
135 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) {
141 void X86Mir2Lir::OpRegCopy(RegStorage r_dest, RegStorage r_src) {
142 if (r_dest != r_src) {
143 LIR *res = OpRegCopyNoInsert(r_dest, r_src);
148 void X86Mir2Lir::OpRegCopyWide(RegStorage r_dest, RegStorage r_src) {
149 if (r_dest != r_src) {
150 bool dest_fp = r_dest.IsFloat();
154 OpRegCopy(r_dest, r_src);
159 DCHECK(!r_dest.IsPair());
160 NewLIR2(kX86MovqxrRR, r_dest.GetReg(), r_src.GetReg());
162 NewLIR2(kX86MovdxrRR, r_dest.GetReg(), r_src.GetLowReg());
165 NewLIR2(kX86PunpckldqRR, r_dest.GetReg(), r_tmp.GetReg());
171 if (!r_dest.IsPair()) {
173 NewLIR2(kX86MovqrxRR, r_dest.GetReg(), r_src.GetReg());
175 NewLIR2(kX86MovdrxRR, r_dest.GetLowReg(), r_src.GetReg());
179 NewLIR2(kX86MovdrxRR, r_dest.GetHighReg(), temp_reg.GetReg());
182 DCHECK_EQ(r_dest.IsPair(), r_src.IsPair());
185 OpRegCopy(r_dest, r_src);
188 if (r_src.GetHighReg() == r_dest.GetLowReg() &&
189 r_src.GetLowReg() == r_dest.GetHighReg()) {
192 OpRegCopy(temp_reg, r_dest.GetHigh());
193 OpRegCopy(r_dest.GetHigh(), r_dest.GetLow());
194 OpRegCopy(r_dest.GetLow(), temp_reg);
196 } else if (r_src.GetHighReg() == r_dest.GetLowReg()) {
197 OpRegCopy(r_dest.GetHigh(), r_src.GetHigh());
198 OpRegCopy(r_dest.GetLow(), r_src.GetLow());
200 OpRegCopy(r_dest.GetLow(), r_src.GetLow());
201 OpRegCopy(r_dest.GetHigh(), r_src.GetHigh());
2020 void X86Mir2Lir::OpRegThreadMem(OpKind op, RegStorage r_dest, ThreadOffset<4> thread_offset) {
2030 NewLIR2(opcode, r_dest.GetReg(), thread_offset.Int32Value());
2033 void X86Mir2Lir::OpRegThreadMem(OpKind op, RegStorage r_dest, ThreadOffset<8> thread_offset) {
2036 if (cu_->target64 && r_dest.Is64BitSolo()) {
2053 NewLIR2(opcode, r_dest.GetReg(), thread_offset.Int32Value());