Lines Matching defs:source
2 // Use of this source code is governed by a BSD-style license that can be
1136 MemOperand source = rs;
1139 AdjustBaseAndOffset(&source, scratch_base, OffsetAccessType::TWO_ACCESSES,
1142 // Since source.rm() is scratch_base, assume rd != source.rm()
1143 DCHECK(rd != source.rm());
1145 LoadNBytes<NBYTES, IS_SIGNED>(rd, source, scratch_other);
1165 MemOperand source = rs;
1169 AdjustBaseAndOffset(&source, scratch_base, OffsetAccessType::TWO_ACCESSES,
1177 LoadNBytes<NBYTES, true>(scratch, source, scratch_other);
1189 MemOperand source = rs;
1195 AdjustBaseAndOffset(&source, scratch_base, OffsetAccessType::TWO_ACCESSES,
1210 scratch_other != source.rm());
1212 sb(rd, source.rm(), source.offset());
1215 sb(scratch_other, source.rm(), source.offset() + i);
1239 MemOperand source = rs;
1242 if (NeedAdjustBaseAndOffset(source)) {
1245 AdjustBaseAndOffset(&source, scratch);
1247 generator(target, source);
1253 MemOperand source = rs;
1256 if (NeedAdjustBaseAndOffset(source)) {
1262 AdjustBaseAndOffset(&source, scratch);
1264 generator(value, source);
1345 auto fn = [this](Register target, const MemOperand& source) {
1346 this->lb(target, source.rm(), source.offset());
1352 auto fn = [this](Register target, const MemOperand& source) {
1353 this->lbu(target, source.rm(), source.offset());
1359 auto fn = [this](Register value, const MemOperand& source) {
1360 this->sb(value, source.rm(), source.offset());
1366 auto fn = [this](Register target, const MemOperand& source) {
1367 this->lh(target, source.rm(), source.offset());
1373 auto fn = [this](Register target, const MemOperand& source) {
1374 this->lhu(target, source.rm(), source.offset());
1380 auto fn = [this](Register value, const MemOperand& source) {
1381 this->sh(value, source.rm(), source.offset());
1387 auto fn = [this](Register target, const MemOperand& source) {
1389 ((source.rm().code() & 0b11000) == 0b01000) &&
1390 is_uint7(source.offset()) && ((source.offset() & 0x3) == 0)) {
1391 this->c_lw(target, source.rm(), source.offset());
1393 is_uint8(source.offset()) && (source.rm() == sp) &&
1394 ((source.offset() & 0x3) == 0)) {
1395 this->c_lwsp(target, source.offset());
1397 this->lw(target, source.rm(), source.offset());
1404 auto fn = [this](Register target, const MemOperand& source) {
1405 this->lwu(target, source.rm(), source.offset());
1411 auto fn = [this](Register value, const MemOperand& source) {
1413 ((source.rm().code() & 0b11000) == 0b01000) &&
1414 is_uint7(source.offset()) && ((source.offset() & 0x3) == 0)) {
1415 this->c_sw(value, source.rm(), source.offset());
1416 } else if (FLAG_riscv_c_extension && (source.rm() == sp) &&
1417 is_uint8(source.offset()) && (((source.offset() & 0x3) == 0))) {
1418 this->c_swsp(value, source.offset());
1420 this->sw(value, source.rm(), source.offset());
1427 auto fn = [this](Register target, const MemOperand& source) {
1429 ((source.rm().code() & 0b11000) == 0b01000) &&
1430 is_uint8(source.offset()) && ((source.offset() & 0x7) == 0)) {
1431 this->c_ld(target, source.rm(), source.offset());
1433 is_uint9(source.offset()) && (source.rm() == sp) &&
1434 ((source.offset() & 0x7) == 0)) {
1435 this->c_ldsp(target, source.offset());
1437 this->ld(target, source.rm(), source.offset());
1444 auto fn = [this](Register value, const MemOperand& source) {
1446 ((source.rm().code() & 0b11000) == 0b01000) &&
1447 is_uint8(source.offset()) && ((source.offset() & 0x7) == 0)) {
1448 this->c_sd(value, source.rm(), source.offset());
1449 } else if (FLAG_riscv_c_extension && (source.rm() == sp) &&
1450 is_uint9(source.offset()) && ((source.offset() & 0x7) == 0)) {
1451 this->c_sdsp(value, source.offset());
1453 this->sd(value, source.rm(), source.offset());
1460 auto fn = [this](FPURegister target, const MemOperand& source) {
1461 this->flw(target, source.rm(), source.offset());
1467 auto fn = [this](FPURegister value, const MemOperand& source) {
1468 this->fsw(value, source.rm(), source.offset());
1474 auto fn = [this](FPURegister target, const MemOperand& source) {
1476 ((source.rm().code() & 0b11000) == 0b01000) &&
1477 is_uint8(source.offset()) && ((source.offset() & 0x7) == 0)) {
1478 this->c_fld(target, source.rm(), source.offset());
1479 } else if (FLAG_riscv_c_extension && (source.rm() == sp) &&
1480 is_uint9(source.offset()) && ((source.offset() & 0x7) == 0)) {
1481 this->c_fldsp(target, source.offset());
1483 this->fld(target, source.rm(), source.offset());
1490 auto fn = [this](FPURegister value, const MemOperand& source) {
1492 ((source.rm().code() & 0b11000) == 0b01000) &&
1493 is_uint8(source.offset()) && ((source.offset() & 0x7) == 0)) {
1494 this->c_fsd(value, source.rm(), source.offset());
1495 } else if (FLAG_riscv_c_extension && (source.rm() == sp) &&
1496 is_uint9(source.offset()) && ((source.offset() & 0x7) == 0)) {
1497 this->c_fsdsp(value, source.offset());
1499 this->fsd(value, source.rm(), source.offset());
1782 void TurboAssembler::InsertBits(Register dest, Register source, Register pos,
1793 and_(source_, mask, source);
1798 // cut area for insertion of source.
1800 // insert source
2009 // extract exponent value of the source floating-point to scratch
4924 // We don't unset the PC; the FP is the source of truth.
5114 const Register& source) {
5116 And(destination, source, Operand(0xFFFFFFFF));