Home | History | Annotate | Download | only in x86

Lines Matching refs:r_src

123 LIR* X86Mir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) {
128 if (r_src.IsPair()) {
129 r_src = r_src.GetLow();
131 if (r_dest.IsFloat() || r_src.IsFloat())
132 return OpFpRegCopy(r_dest, r_src);
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) {
151 bool src_fp = r_src.IsFloat();
154 OpRegCopy(r_dest, r_src);
158 if (!r_src.IsPair()) {
160 NewLIR2(kX86MovqxrRR, r_dest.GetReg(), r_src.GetReg());
162 NewLIR2(kX86MovdxrRR, r_dest.GetReg(), r_src.GetLowReg());
164 NewLIR2(kX86MovdxrRR, r_tmp.GetReg(), r_src.GetHighReg());
172 DCHECK(!r_src.IsPair());
173 NewLIR2(kX86MovqrxRR, r_dest.GetReg(), r_src.GetReg());
175 NewLIR2(kX86MovdrxRR, r_dest.GetLowReg(), r_src.GetReg());
177 NewLIR2(kX86MovsdRR, temp_reg.GetReg(), r_src.GetReg());
182 DCHECK_EQ(r_dest.IsPair(), r_src.IsPair());
183 if (!r_src.IsPair()) {
185 OpRegCopy(r_dest, r_src);
188 if (r_src.GetHighReg() == r_dest.GetLowReg() &&
189 r_src.GetLowReg() == r_dest.GetHighReg()) {
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());